2015-08-14 16:30:03 +00:00
( function webpackUniversalModuleDefinition ( root , factory ) {
if ( typeof exports === 'object' && typeof module === 'object' )
module . exports = factory ( ) ;
else if ( typeof define === 'function' && define . amd )
2016-08-17 18:29:53 +00:00
define ( [ ] , factory ) ;
2015-08-14 16:30:03 +00:00
else if ( typeof exports === 'object' )
exports [ "dat" ] = factory ( ) ;
else
root [ "dat" ] = factory ( ) ;
} ) ( this , function ( ) {
return /******/ ( function ( modules ) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = { } ;
/******/
/******/ // The require function
/******/ function _ _webpack _require _ _ ( moduleId ) {
/******/
/******/ // Check if module is in cache
/******/ if ( installedModules [ moduleId ] )
/******/ return installedModules [ moduleId ] . exports ;
/******/
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules [ moduleId ] = {
/******/ exports : { } ,
/******/ id : moduleId ,
/******/ loaded : false
/******/ } ;
/******/
/******/ // Execute the module function
/******/ modules [ moduleId ] . call ( module . exports , module , module . exports , _ _webpack _require _ _ ) ;
/******/
/******/ // Flag the module as loaded
/******/ module . loaded = true ;
/******/
/******/ // Return the exports of the module
/******/ return module . exports ;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ _ _webpack _require _ _ . m = modules ;
/******/
/******/ // expose the module cache
/******/ _ _webpack _require _ _ . c = installedModules ;
/******/
/******/ // __webpack_public_path__
/******/ _ _webpack _require _ _ . p = "" ;
/******/
/******/ // Load entry module and return exports
/******/ return _ _webpack _require _ _ ( 0 ) ;
/******/ } )
/************************************************************************/
/******/ ( [
/* 0 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2015-08-15 01:28:21 +00:00
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
'use strict' ;
exports . _ _esModule = true ;
_ _webpack _require _ _ ( 1 ) ;
2016-08-17 18:29:53 +00:00
exports [ 'default' ] = _ _webpack _require _ _ ( 193 ) ;
2015-08-15 01:28:21 +00:00
module . exports = exports [ 'default' ] ;
/***/ } ,
/* 1 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
module . exports = _ _webpack _require _ _ ( 2 ) ;
/***/ } ,
/* 2 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
module . exports = _ _webpack _require _ _ ( 3 ) ;
/***/ } ,
/* 3 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
/* WEBPACK VAR INJECTION */ ( function ( global ) { "use strict" ;
_ _webpack _require _ _ ( 4 ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 191 ) ;
2015-08-15 01:28:21 +00:00
if ( global . _babelPolyfill ) {
throw new Error ( "only one instance of babel/polyfill is allowed" ) ;
}
global . _babelPolyfill = true ;
/* WEBPACK VAR INJECTION */ } . call ( exports , ( function ( ) { return this ; } ( ) ) ) )
/***/ } ,
/* 4 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
_ _webpack _require _ _ ( 5 ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 38 ) ;
2015-08-15 01:28:21 +00:00
_ _webpack _require _ _ ( 44 ) ;
_ _webpack _require _ _ ( 46 ) ;
_ _webpack _require _ _ ( 48 ) ;
_ _webpack _require _ _ ( 50 ) ;
_ _webpack _require _ _ ( 52 ) ;
_ _webpack _require _ _ ( 54 ) ;
_ _webpack _require _ _ ( 55 ) ;
_ _webpack _require _ _ ( 56 ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 57 ) ;
2015-08-15 01:28:21 +00:00
_ _webpack _require _ _ ( 58 ) ;
_ _webpack _require _ _ ( 59 ) ;
_ _webpack _require _ _ ( 60 ) ;
_ _webpack _require _ _ ( 61 ) ;
_ _webpack _require _ _ ( 62 ) ;
_ _webpack _require _ _ ( 63 ) ;
_ _webpack _require _ _ ( 64 ) ;
_ _webpack _require _ _ ( 65 ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 68 ) ;
2015-08-15 01:28:21 +00:00
_ _webpack _require _ _ ( 69 ) ;
_ _webpack _require _ _ ( 70 ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 72 ) ;
2015-08-15 01:28:21 +00:00
_ _webpack _require _ _ ( 73 ) ;
_ _webpack _require _ _ ( 74 ) ;
_ _webpack _require _ _ ( 75 ) ;
_ _webpack _require _ _ ( 76 ) ;
_ _webpack _require _ _ ( 77 ) ;
_ _webpack _require _ _ ( 78 ) ;
_ _webpack _require _ _ ( 80 ) ;
_ _webpack _require _ _ ( 81 ) ;
_ _webpack _require _ _ ( 82 ) ;
_ _webpack _require _ _ ( 84 ) ;
_ _webpack _require _ _ ( 85 ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 86 ) ;
_ _webpack _require _ _ ( 88 ) ;
_ _webpack _require _ _ ( 89 ) ;
_ _webpack _require _ _ ( 90 ) ;
2015-08-15 01:28:21 +00:00
_ _webpack _require _ _ ( 91 ) ;
_ _webpack _require _ _ ( 92 ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 93 ) ;
2015-08-15 01:28:21 +00:00
_ _webpack _require _ _ ( 94 ) ;
_ _webpack _require _ _ ( 95 ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 96 ) ;
2015-08-15 01:28:21 +00:00
_ _webpack _require _ _ ( 97 ) ;
_ _webpack _require _ _ ( 98 ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 99 ) ;
_ _webpack _require _ _ ( 100 ) ;
_ _webpack _require _ _ ( 101 ) ;
_ _webpack _require _ _ ( 106 ) ;
2015-08-15 01:28:21 +00:00
_ _webpack _require _ _ ( 107 ) ;
_ _webpack _require _ _ ( 111 ) ;
_ _webpack _require _ _ ( 112 ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 114 ) ;
2015-08-15 01:28:21 +00:00
_ _webpack _require _ _ ( 115 ) ;
_ _webpack _require _ _ ( 120 ) ;
_ _webpack _require _ _ ( 121 ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 124 ) ;
2015-08-15 01:28:21 +00:00
_ _webpack _require _ _ ( 126 ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 128 ) ;
2015-08-15 01:28:21 +00:00
_ _webpack _require _ _ ( 130 ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 131 ) ;
2015-08-15 01:28:21 +00:00
_ _webpack _require _ _ ( 132 ) ;
_ _webpack _require _ _ ( 134 ) ;
_ _webpack _require _ _ ( 135 ) ;
_ _webpack _require _ _ ( 137 ) ;
_ _webpack _require _ _ ( 138 ) ;
_ _webpack _require _ _ ( 139 ) ;
_ _webpack _require _ _ ( 140 ) ;
_ _webpack _require _ _ ( 147 ) ;
_ _webpack _require _ _ ( 150 ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 151 ) ;
2015-08-15 01:28:21 +00:00
_ _webpack _require _ _ ( 153 ) ;
_ _webpack _require _ _ ( 154 ) ;
_ _webpack _require _ _ ( 155 ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 156 ) ;
2015-08-15 01:28:21 +00:00
_ _webpack _require _ _ ( 157 ) ;
_ _webpack _require _ _ ( 158 ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 159 ) ;
2015-08-15 01:28:21 +00:00
_ _webpack _require _ _ ( 160 ) ;
_ _webpack _require _ _ ( 161 ) ;
_ _webpack _require _ _ ( 162 ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 163 ) ;
_ _webpack _require _ _ ( 164 ) ;
2015-08-15 01:28:21 +00:00
_ _webpack _require _ _ ( 166 ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 167 ) ;
_ _webpack _require _ _ ( 168 ) ;
_ _webpack _require _ _ ( 169 ) ;
_ _webpack _require _ _ ( 170 ) ;
_ _webpack _require _ _ ( 171 ) ;
_ _webpack _require _ _ ( 173 ) ;
_ _webpack _require _ _ ( 174 ) ;
_ _webpack _require _ _ ( 175 ) ;
_ _webpack _require _ _ ( 176 ) ;
_ _webpack _require _ _ ( 178 ) ;
_ _webpack _require _ _ ( 179 ) ;
_ _webpack _require _ _ ( 181 ) ;
_ _webpack _require _ _ ( 182 ) ;
_ _webpack _require _ _ ( 184 ) ;
_ _webpack _require _ _ ( 185 ) ;
_ _webpack _require _ _ ( 186 ) ;
_ _webpack _require _ _ ( 189 ) ;
_ _webpack _require _ _ ( 190 ) ;
module . exports = _ _webpack _require _ _ ( 9 ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
/* 5 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
'use strict' ;
var $ = _ _webpack _require _ _ ( 6 )
, $export = _ _webpack _require _ _ ( 7 )
, DESCRIPTORS = _ _webpack _require _ _ ( 12 )
, createDesc = _ _webpack _require _ _ ( 11 )
, html = _ _webpack _require _ _ ( 18 )
, cel = _ _webpack _require _ _ ( 19 )
, has = _ _webpack _require _ _ ( 21 )
, cof = _ _webpack _require _ _ ( 22 )
, invoke = _ _webpack _require _ _ ( 23 )
, fails = _ _webpack _require _ _ ( 13 )
, anObject = _ _webpack _require _ _ ( 24 )
, aFunction = _ _webpack _require _ _ ( 17 )
, isObject = _ _webpack _require _ _ ( 20 )
, toObject = _ _webpack _require _ _ ( 25 )
, toIObject = _ _webpack _require _ _ ( 27 )
, toInteger = _ _webpack _require _ _ ( 29 )
, toIndex = _ _webpack _require _ _ ( 30 )
, toLength = _ _webpack _require _ _ ( 31 )
, IObject = _ _webpack _require _ _ ( 28 )
, IE _PROTO = _ _webpack _require _ _ ( 15 ) ( '__proto__' )
, createArrayMethod = _ _webpack _require _ _ ( 32 )
, arrayIndexOf = _ _webpack _require _ _ ( 37 ) ( false )
, ObjectProto = Object . prototype
, ArrayProto = Array . prototype
, arraySlice = ArrayProto . slice
, arrayJoin = ArrayProto . join
, defineProperty = $ . setDesc
, getOwnDescriptor = $ . getDesc
, defineProperties = $ . setDescs
, factories = { }
, IE8 _DOM _DEFINE ;
if ( ! DESCRIPTORS ) {
IE8 _DOM _DEFINE = ! fails ( function ( ) {
return defineProperty ( cel ( 'div' ) , 'a' , { get : function ( ) { return 7 ; } } ) . a != 7 ;
} ) ;
2015-08-15 01:28:21 +00:00
$ . setDesc = function ( O , P , Attributes ) {
if ( IE8 _DOM _DEFINE ) try {
return defineProperty ( O , P , Attributes ) ;
} catch ( e ) { /* empty */ }
if ( 'get' in Attributes || 'set' in Attributes ) throw TypeError ( 'Accessors not supported!' ) ;
if ( 'value' in Attributes ) anObject ( O ) [ P ] = Attributes . value ;
return O ;
} ;
$ . getDesc = function ( O , P ) {
if ( IE8 _DOM _DEFINE ) try {
return getOwnDescriptor ( O , P ) ;
} catch ( e ) { /* empty */ }
if ( has ( O , P ) ) return createDesc ( ! ObjectProto . propertyIsEnumerable . call ( O , P ) , O [ P ] ) ;
} ;
$ . setDescs = defineProperties = function ( O , Properties ) {
anObject ( O ) ;
var keys = $ . getKeys ( Properties )
, length = keys . length
, i = 0
, P ;
while ( length > i ) $ . setDesc ( O , P = keys [ i ++ ] , Properties [ P ] ) ;
return O ;
} ;
}
2016-08-17 18:29:53 +00:00
$export ( $export . S + $export . F * ! DESCRIPTORS , 'Object' , {
2015-08-15 01:28:21 +00:00
// 19.1.2.6 / 15.2.3.3 Object.getOwnPropertyDescriptor(O, P)
getOwnPropertyDescriptor : $ . getDesc ,
// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
defineProperty : $ . setDesc ,
// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
defineProperties : defineProperties
} ) ;
// IE 8- don't enum bug keys
var keys1 = ( 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,' +
'toLocaleString,toString,valueOf' ) . split ( ',' )
// Additional keys for getOwnPropertyNames
, keys2 = keys1 . concat ( 'length' , 'prototype' )
, keysLen1 = keys1 . length ;
// Create object with `null` prototype: use iframe Object with cleared prototype
var createDict = function ( ) {
// Thrash, waste and sodomy: IE GC bug
var iframe = cel ( 'iframe' )
, i = keysLen1
, gt = '>'
, iframeDocument ;
iframe . style . display = 'none' ;
html . appendChild ( iframe ) ;
iframe . src = 'javascript:' ; // eslint-disable-line no-script-url
// createDict = iframe.contentWindow.Object;
// html.removeChild(iframe);
iframeDocument = iframe . contentWindow . document ;
iframeDocument . open ( ) ;
iframeDocument . write ( '<script>document.F=Object</script' + gt ) ;
iframeDocument . close ( ) ;
createDict = iframeDocument . F ;
while ( i -- ) delete createDict . prototype [ keys1 [ i ] ] ;
return createDict ( ) ;
} ;
2016-08-17 18:29:53 +00:00
var createGetKeys = function ( names , length ) {
2015-08-15 01:28:21 +00:00
return function ( object ) {
2016-08-17 18:29:53 +00:00
var O = toIObject ( object )
2015-08-15 01:28:21 +00:00
, i = 0
, result = [ ]
, key ;
for ( key in O ) if ( key != IE _PROTO ) has ( O , key ) && result . push ( key ) ;
// Don't enum bug & hidden keys
while ( length > i ) if ( has ( O , key = names [ i ++ ] ) ) {
2016-08-17 18:29:53 +00:00
~ arrayIndexOf ( result , key ) || result . push ( key ) ;
2015-08-15 01:28:21 +00:00
}
return result ;
} ;
2016-08-17 18:29:53 +00:00
} ;
var Empty = function ( ) { } ;
$export ( $export . S , 'Object' , {
2015-08-15 01:28:21 +00:00
// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
getPrototypeOf : $ . getProto = $ . getProto || function ( O ) {
2016-08-17 18:29:53 +00:00
O = toObject ( O ) ;
2015-08-15 01:28:21 +00:00
if ( has ( O , IE _PROTO ) ) return O [ IE _PROTO ] ;
if ( typeof O . constructor == 'function' && O instanceof O . constructor ) {
return O . constructor . prototype ;
} return O instanceof Object ? ObjectProto : null ;
} ,
// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
getOwnPropertyNames : $ . getNames = $ . getNames || createGetKeys ( keys2 , keys2 . length , true ) ,
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
create : $ . create = $ . create || function ( O , /*?*/ Properties ) {
var result ;
if ( O !== null ) {
Empty . prototype = anObject ( O ) ;
result = new Empty ( ) ;
Empty . prototype = null ;
// add "__proto__" for Object.getPrototypeOf shim
result [ IE _PROTO ] = O ;
} else result = createDict ( ) ;
return Properties === undefined ? result : defineProperties ( result , Properties ) ;
} ,
// 19.1.2.14 / 15.2.3.14 Object.keys(O)
2016-08-17 18:29:53 +00:00
keys : $ . getKeys = $ . getKeys || createGetKeys ( keys1 , keysLen1 , false )
2015-08-15 01:28:21 +00:00
} ) ;
2016-08-17 18:29:53 +00:00
var construct = function ( F , len , args ) {
2015-08-15 01:28:21 +00:00
if ( ! ( len in factories ) ) {
for ( var n = [ ] , i = 0 ; i < len ; i ++ ) n [ i ] = 'a[' + i + ']' ;
factories [ len ] = Function ( 'F,a' , 'return new F(' + n . join ( ',' ) + ')' ) ;
}
return factories [ len ] ( F , args ) ;
2016-08-17 18:29:53 +00:00
} ;
2015-08-15 01:28:21 +00:00
// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
2016-08-17 18:29:53 +00:00
$export ( $export . P , 'Function' , {
bind : function bind ( that /*, args... */ ) {
2015-08-15 01:28:21 +00:00
var fn = aFunction ( this )
2016-08-17 18:29:53 +00:00
, partArgs = arraySlice . call ( arguments , 1 ) ;
var bound = function ( /* args... */ ) {
var args = partArgs . concat ( arraySlice . call ( arguments ) ) ;
2015-08-15 01:28:21 +00:00
return this instanceof bound ? construct ( fn , args . length , args ) : invoke ( fn , args , that ) ;
2016-08-17 18:29:53 +00:00
} ;
2015-08-15 01:28:21 +00:00
if ( isObject ( fn . prototype ) ) bound . prototype = fn . prototype ;
return bound ;
}
} ) ;
// fallback for not array-like ES3 strings and DOM objects
2016-08-17 18:29:53 +00:00
$export ( $export . P + $export . F * fails ( function ( ) {
if ( html ) arraySlice . call ( html ) ;
} ) , 'Array' , {
slice : function ( begin , end ) {
2015-08-15 01:28:21 +00:00
var len = toLength ( this . length )
, klass = cof ( this ) ;
end = end === undefined ? len : end ;
2016-08-17 18:29:53 +00:00
if ( klass == 'Array' ) return arraySlice . call ( this , begin , end ) ;
2015-08-15 01:28:21 +00:00
var start = toIndex ( begin , len )
, upTo = toIndex ( end , len )
, size = toLength ( upTo - start )
, cloned = Array ( size )
, i = 0 ;
for ( ; i < size ; i ++ ) cloned [ i ] = klass == 'String'
? this . charAt ( start + i )
: this [ start + i ] ;
return cloned ;
}
} ) ;
2016-08-17 18:29:53 +00:00
$export ( $export . P + $export . F * ( IObject != Object ) , 'Array' , {
join : function join ( separator ) {
return arrayJoin . call ( IObject ( this ) , separator === undefined ? ',' : separator ) ;
2015-08-15 01:28:21 +00:00
}
} ) ;
// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Array' , { isArray : _ _webpack _require _ _ ( 34 ) } ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
var createArrayReduce = function ( isRight ) {
2015-08-15 01:28:21 +00:00
return function ( callbackfn , memo ) {
aFunction ( callbackfn ) ;
2016-08-17 18:29:53 +00:00
var O = IObject ( this )
2015-08-15 01:28:21 +00:00
, length = toLength ( O . length )
, index = isRight ? length - 1 : 0
, i = isRight ? - 1 : 1 ;
if ( arguments . length < 2 ) for ( ; ; ) {
if ( index in O ) {
memo = O [ index ] ;
index += i ;
break ;
}
index += i ;
if ( isRight ? index < 0 : length <= index ) {
throw TypeError ( 'Reduce of empty array with no initial value' ) ;
}
}
for ( ; isRight ? index >= 0 : length > index ; index += i ) if ( index in O ) {
memo = callbackfn ( memo , O [ index ] , index , this ) ;
}
return memo ;
} ;
2016-08-17 18:29:53 +00:00
} ;
var methodize = function ( $fn ) {
return function ( arg1 /*, arg2 = undefined */ ) {
return $fn ( this , arg1 , arguments [ 1 ] ) ;
} ;
} ;
$export ( $export . P , 'Array' , {
2015-08-15 01:28:21 +00:00
// 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
2016-08-17 18:29:53 +00:00
forEach : $ . each = $ . each || methodize ( createArrayMethod ( 0 ) ) ,
2015-08-15 01:28:21 +00:00
// 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
2016-08-17 18:29:53 +00:00
map : methodize ( createArrayMethod ( 1 ) ) ,
2015-08-15 01:28:21 +00:00
// 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
2016-08-17 18:29:53 +00:00
filter : methodize ( createArrayMethod ( 2 ) ) ,
2015-08-15 01:28:21 +00:00
// 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
2016-08-17 18:29:53 +00:00
some : methodize ( createArrayMethod ( 3 ) ) ,
2015-08-15 01:28:21 +00:00
// 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
2016-08-17 18:29:53 +00:00
every : methodize ( createArrayMethod ( 4 ) ) ,
2015-08-15 01:28:21 +00:00
// 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
reduce : createArrayReduce ( false ) ,
// 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
reduceRight : createArrayReduce ( true ) ,
// 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
2016-08-17 18:29:53 +00:00
indexOf : methodize ( arrayIndexOf ) ,
2015-08-15 01:28:21 +00:00
// 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
2016-08-17 18:29:53 +00:00
lastIndexOf : function ( el , fromIndex /* = @[*-1] */ ) {
var O = toIObject ( this )
2015-08-15 01:28:21 +00:00
, length = toLength ( O . length )
, index = length - 1 ;
if ( arguments . length > 1 ) index = Math . min ( index , toInteger ( fromIndex ) ) ;
if ( index < 0 ) index = toLength ( length + index ) ;
for ( ; index >= 0 ; index -- ) if ( index in O ) if ( O [ index ] === el ) return index ;
return - 1 ;
}
} ) ;
// 20.3.3.1 / 15.9.4.4 Date.now()
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Date' , { now : function ( ) { return + new Date ; } } ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
var lz = function ( num ) {
2015-08-15 01:28:21 +00:00
return num > 9 ? num : '0' + num ;
2016-08-17 18:29:53 +00:00
} ;
2015-08-15 01:28:21 +00:00
// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
2016-08-17 18:29:53 +00:00
// PhantomJS / old WebKit has a broken implementations
$export ( $export . P + $export . F * ( fails ( function ( ) {
return new Date ( - 5e13 - 1 ) . toISOString ( ) != '0385-07-25T07:06:39.999Z' ;
} ) || ! fails ( function ( ) {
new Date ( NaN ) . toISOString ( ) ;
} ) ) , 'Date' , {
2015-08-15 01:28:21 +00:00
toISOString : function toISOString ( ) {
if ( ! isFinite ( this ) ) throw RangeError ( 'Invalid time value' ) ;
var d = this
, y = d . getUTCFullYear ( )
, m = d . getUTCMilliseconds ( )
, s = y < 0 ? '-' : y > 9999 ? '+' : '' ;
return s + ( '00000' + Math . abs ( y ) ) . slice ( s ? - 6 : - 4 ) +
'-' + lz ( d . getUTCMonth ( ) + 1 ) + '-' + lz ( d . getUTCDate ( ) ) +
'T' + lz ( d . getUTCHours ( ) ) + ':' + lz ( d . getUTCMinutes ( ) ) +
':' + lz ( d . getUTCSeconds ( ) ) + '.' + ( m > 99 ? m : '0' + lz ( m ) ) + 'Z' ;
}
} ) ;
/***/ } ,
/* 6 */
/***/ function ( module , exports ) {
var $Object = Object ;
module . exports = {
create : $Object . create ,
getProto : $Object . getPrototypeOf ,
isEnum : { } . propertyIsEnumerable ,
getDesc : $Object . getOwnPropertyDescriptor ,
setDesc : $Object . defineProperty ,
setDescs : $Object . defineProperties ,
getKeys : $Object . keys ,
getNames : $Object . getOwnPropertyNames ,
getSymbols : $Object . getOwnPropertySymbols ,
each : [ ] . forEach
} ;
/***/ } ,
/* 7 */
2016-08-17 18:29:53 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
var global = _ _webpack _require _ _ ( 8 )
, core = _ _webpack _require _ _ ( 9 )
, hide = _ _webpack _require _ _ ( 10 )
, redefine = _ _webpack _require _ _ ( 14 )
, ctx = _ _webpack _require _ _ ( 16 )
, PROTOTYPE = 'prototype' ;
var $export = function ( type , name , source ) {
var IS _FORCED = type & $export . F
, IS _GLOBAL = type & $export . G
, IS _STATIC = type & $export . S
, IS _PROTO = type & $export . P
, IS _BIND = type & $export . B
, target = IS _GLOBAL ? global : IS _STATIC ? global [ name ] || ( global [ name ] = { } ) : ( global [ name ] || { } ) [ PROTOTYPE ]
, exports = IS _GLOBAL ? core : core [ name ] || ( core [ name ] = { } )
, expProto = exports [ PROTOTYPE ] || ( exports [ PROTOTYPE ] = { } )
, key , own , out , exp ;
if ( IS _GLOBAL ) source = name ;
for ( key in source ) {
// contains in native
own = ! IS _FORCED && target && key in target ;
// export native or passed
out = ( own ? target : source ) [ key ] ;
// bind timers to global for call from export context
exp = IS _BIND && own ? ctx ( out , global ) : IS _PROTO && typeof out == 'function' ? ctx ( Function . call , out ) : out ;
// extend global
if ( target && ! own ) redefine ( target , key , out ) ;
// export
if ( exports [ key ] != out ) hide ( exports , key , exp ) ;
if ( IS _PROTO && expProto [ key ] != out ) expProto [ key ] = out ;
}
} ;
global . core = core ;
// type bitmap
$export . F = 1 ; // forced
$export . G = 2 ; // global
$export . S = 4 ; // static
$export . P = 8 ; // proto
$export . B = 16 ; // bind
$export . W = 32 ; // wrap
module . exports = $export ;
2015-08-15 01:28:21 +00:00
/***/ } ,
/* 8 */
2016-08-17 18:29:53 +00:00
/***/ function ( module , exports ) {
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
var global = module . exports = typeof window != 'undefined' && window . Math == Math
? window : typeof self != 'undefined' && self . Math == Math ? self : Function ( 'return this' ) ( ) ;
if ( typeof _ _g == 'number' ) _ _g = global ; // eslint-disable-line no-undef
/***/ } ,
/* 9 */
/***/ function ( module , exports ) {
var core = module . exports = { version : '1.2.6' } ;
if ( typeof _ _e == 'number' ) _ _e = core ; // eslint-disable-line no-undef
/***/ } ,
/* 10 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
var $ = _ _webpack _require _ _ ( 6 )
, createDesc = _ _webpack _require _ _ ( 11 ) ;
module . exports = _ _webpack _require _ _ ( 12 ) ? function ( object , key , value ) {
return $ . setDesc ( object , key , createDesc ( 1 , value ) ) ;
} : function ( object , key , value ) {
object [ key ] = value ;
return object ;
} ;
/***/ } ,
/* 11 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports ) {
module . exports = function ( bitmap , value ) {
return {
enumerable : ! ( bitmap & 1 ) ,
configurable : ! ( bitmap & 2 ) ,
writable : ! ( bitmap & 4 ) ,
value : value
} ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 12 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// Thank's IE8 for his funny defineProperty
module . exports = ! _ _webpack _require _ _ ( 13 ) ( function ( ) {
return Object . defineProperty ( { } , 'a' , { get : function ( ) { return 7 ; } } ) . a != 7 ;
} ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 13 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports ) {
2016-08-17 18:29:53 +00:00
module . exports = function ( exec ) {
try {
return ! ! exec ( ) ;
} catch ( e ) {
return true ;
}
} ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 14 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// add fake Function#toString
// for correct work wrapped methods / constructors with methods like LoDash isNative
var global = _ _webpack _require _ _ ( 8 )
, hide = _ _webpack _require _ _ ( 10 )
, SRC = _ _webpack _require _ _ ( 15 ) ( 'src' )
, TO _STRING = 'toString'
, $toString = Function [ TO _STRING ]
, TPL = ( '' + $toString ) . split ( TO _STRING ) ;
_ _webpack _require _ _ ( 9 ) . inspectSource = function ( it ) {
return $toString . call ( it ) ;
2015-08-15 01:28:21 +00:00
} ;
2016-08-17 18:29:53 +00:00
( module . exports = function ( O , key , val , safe ) {
if ( typeof val == 'function' ) {
val . hasOwnProperty ( SRC ) || hide ( val , SRC , O [ key ] ? '' + O [ key ] : TPL . join ( String ( key ) ) ) ;
val . hasOwnProperty ( 'name' ) || hide ( val , 'name' , key ) ;
}
if ( O === global ) {
O [ key ] = val ;
} else {
if ( ! safe ) delete O [ key ] ;
hide ( O , key , val ) ;
}
} ) ( Function . prototype , TO _STRING , function toString ( ) {
return typeof this == 'function' && this [ SRC ] || $toString . call ( this ) ;
} ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 15 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports ) {
2016-08-17 18:29:53 +00:00
var id = 0
, px = Math . random ( ) ;
module . exports = function ( key ) {
return 'Symbol(' . concat ( key === undefined ? '' : key , ')_' , ( ++ id + px ) . toString ( 36 ) ) ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 16 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
// optional / simple context binding
var aFunction = _ _webpack _require _ _ ( 17 ) ;
module . exports = function ( fn , that , length ) {
aFunction ( fn ) ;
if ( that === undefined ) return fn ;
switch ( length ) {
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 ( /* ...args */ ) {
return fn . apply ( that , arguments ) ;
} ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 17 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports ) {
module . exports = function ( it ) {
2016-08-17 18:29:53 +00:00
if ( typeof it != 'function' ) throw TypeError ( it + ' is not a function!' ) ;
return it ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 18 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
module . exports = _ _webpack _require _ _ ( 8 ) . document && document . documentElement ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 19 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
var isObject = _ _webpack _require _ _ ( 20 )
, document = _ _webpack _require _ _ ( 8 ) . document
// in old IE typeof document.createElement is 'object'
, is = isObject ( document ) && isObject ( document . createElement ) ;
module . exports = function ( it ) {
return is ? document . createElement ( it ) : { } ;
} ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 20 */
/***/ function ( module , exports ) {
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
module . exports = function ( it ) {
return typeof it === 'object' ? it !== null : typeof it === 'function' ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 21 */
/***/ function ( module , exports ) {
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
var hasOwnProperty = { } . hasOwnProperty ;
module . exports = function ( it , key ) {
return hasOwnProperty . call ( it , key ) ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 22 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports ) {
2016-08-17 18:29:53 +00:00
var toString = { } . toString ;
module . exports = function ( it ) {
return toString . call ( it ) . slice ( 8 , - 1 ) ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 23 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports ) {
2016-08-17 18:29:53 +00:00
// fast apply, http://jsperf.lnkit.com/fast-apply/5
2015-08-15 01:28:21 +00:00
module . exports = function ( fn , args , that ) {
var un = that === undefined ;
switch ( args . length ) {
case 0 : return un ? fn ( )
: fn . call ( that ) ;
case 1 : return un ? fn ( args [ 0 ] )
: fn . call ( that , args [ 0 ] ) ;
case 2 : return un ? fn ( args [ 0 ] , args [ 1 ] )
: fn . call ( that , args [ 0 ] , args [ 1 ] ) ;
case 3 : return un ? fn ( args [ 0 ] , args [ 1 ] , args [ 2 ] )
: fn . call ( that , args [ 0 ] , args [ 1 ] , args [ 2 ] ) ;
case 4 : return un ? fn ( args [ 0 ] , args [ 1 ] , args [ 2 ] , args [ 3 ] )
: fn . call ( that , args [ 0 ] , args [ 1 ] , args [ 2 ] , args [ 3 ] ) ;
} return fn . apply ( that , args ) ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 24 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
var isObject = _ _webpack _require _ _ ( 20 ) ;
module . exports = function ( it ) {
if ( ! isObject ( it ) ) throw TypeError ( it + ' is not an object!' ) ;
return it ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 25 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// 7.1.13 ToObject(argument)
var defined = _ _webpack _require _ _ ( 26 ) ;
module . exports = function ( it ) {
return Object ( defined ( it ) ) ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 26 */
/***/ function ( module , exports ) {
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
// 7.2.1 RequireObjectCoercible(argument)
module . exports = function ( it ) {
if ( it == undefined ) throw TypeError ( "Can't call method on " + it ) ;
return it ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 27 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
// to indexed object, toObject with fallback for non-array-like ES3 strings
var IObject = _ _webpack _require _ _ ( 28 )
, defined = _ _webpack _require _ _ ( 26 ) ;
2015-08-15 01:28:21 +00:00
module . exports = function ( it ) {
2016-08-17 18:29:53 +00:00
return IObject ( defined ( it ) ) ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 28 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// fallback for non-array-like ES3 and non-enumerable old V8 strings
var cof = _ _webpack _require _ _ ( 22 ) ;
module . exports = Object ( 'z' ) . propertyIsEnumerable ( 0 ) ? Object : function ( it ) {
return cof ( it ) == 'String' ? it . split ( '' ) : Object ( it ) ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 29 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports ) {
2016-08-17 18:29:53 +00:00
// 7.1.4 ToInteger
var ceil = Math . ceil
, floor = Math . floor ;
2015-08-15 01:28:21 +00:00
module . exports = function ( it ) {
2016-08-17 18:29:53 +00:00
return isNaN ( it = + it ) ? 0 : ( it > 0 ? floor : ceil ) ( it ) ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 30 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
var toInteger = _ _webpack _require _ _ ( 29 )
, max = Math . max
, min = Math . min ;
module . exports = function ( index , length ) {
index = toInteger ( index ) ;
return index < 0 ? max ( index + length , 0 ) : min ( index , length ) ;
} ;
/***/ } ,
/* 31 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 7.1.15 ToLength
2016-08-17 18:29:53 +00:00
var toInteger = _ _webpack _require _ _ ( 29 )
2015-08-15 01:28:21 +00:00
, min = Math . min ;
module . exports = function ( it ) {
return it > 0 ? min ( toInteger ( it ) , 0x1fffffffffffff ) : 0 ; // pow(2, 53) - 1 == 9007199254740991
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 32 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
// 0 -> Array#forEach
// 1 -> Array#map
// 2 -> Array#filter
// 3 -> Array#some
// 4 -> Array#every
// 5 -> Array#find
// 6 -> Array#findIndex
var ctx = _ _webpack _require _ _ ( 16 )
, IObject = _ _webpack _require _ _ ( 28 )
, toObject = _ _webpack _require _ _ ( 25 )
, toLength = _ _webpack _require _ _ ( 31 )
, asc = _ _webpack _require _ _ ( 33 ) ;
module . exports = function ( TYPE ) {
var IS _MAP = TYPE == 1
, IS _FILTER = TYPE == 2
, IS _SOME = TYPE == 3
, IS _EVERY = TYPE == 4
, IS _FIND _INDEX = TYPE == 6
, NO _HOLES = TYPE == 5 || IS _FIND _INDEX ;
return function ( $this , callbackfn , that ) {
var O = toObject ( $this )
, self = IObject ( O )
, f = ctx ( callbackfn , that , 3 )
, length = toLength ( self . length )
, index = 0
, result = IS _MAP ? asc ( $this , length ) : IS _FILTER ? asc ( $this , 0 ) : undefined
, val , res ;
for ( ; length > index ; index ++ ) if ( NO _HOLES || index in self ) {
val = self [ index ] ;
res = f ( val , index , O ) ;
if ( TYPE ) {
if ( IS _MAP ) result [ index ] = res ; // map
else if ( res ) switch ( TYPE ) {
case 3 : return true ; // some
case 5 : return val ; // find
case 6 : return index ; // findIndex
case 2 : result . push ( val ) ; // filter
} else if ( IS _EVERY ) return false ; // every
}
}
return IS _FIND _INDEX ? - 1 : IS _SOME || IS _EVERY ? IS _EVERY : result ;
} ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 33 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
var isObject = _ _webpack _require _ _ ( 20 )
, isArray = _ _webpack _require _ _ ( 34 )
, SPECIES = _ _webpack _require _ _ ( 35 ) ( 'species' ) ;
module . exports = function ( original , length ) {
var C ;
if ( isArray ( original ) ) {
C = original . constructor ;
// cross-realm fallback
if ( typeof C == 'function' && ( C === Array || isArray ( C . prototype ) ) ) C = undefined ;
if ( isObject ( C ) ) {
C = C [ SPECIES ] ;
if ( C === null ) C = undefined ;
}
} return new ( C === undefined ? Array : C ) ( length ) ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 34 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// 7.2.2 IsArray(argument)
var cof = _ _webpack _require _ _ ( 22 ) ;
module . exports = Array . isArray || function ( arg ) {
return cof ( arg ) == 'Array' ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 35 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
var store = _ _webpack _require _ _ ( 36 ) ( 'wks' )
, uid = _ _webpack _require _ _ ( 15 )
, Symbol = _ _webpack _require _ _ ( 8 ) . Symbol ;
module . exports = function ( name ) {
return store [ name ] || ( store [ name ] =
Symbol && Symbol [ name ] || ( Symbol || uid ) ( 'Symbol.' + name ) ) ;
} ;
/***/ } ,
/* 36 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
var global = _ _webpack _require _ _ ( 8 )
, SHARED = '__core-js_shared__'
, store = global [ SHARED ] || ( global [ SHARED ] = { } ) ;
module . exports = function ( key ) {
return store [ key ] || ( store [ key ] = { } ) ;
} ;
/***/ } ,
/* 37 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// false -> Array#indexOf
// true -> Array#includes
2016-08-17 18:29:53 +00:00
var toIObject = _ _webpack _require _ _ ( 27 )
, toLength = _ _webpack _require _ _ ( 31 )
, toIndex = _ _webpack _require _ _ ( 30 ) ;
2015-08-15 01:28:21 +00:00
module . exports = function ( IS _INCLUDES ) {
return function ( $this , el , fromIndex ) {
2016-08-17 18:29:53 +00:00
var O = toIObject ( $this )
2015-08-15 01:28:21 +00:00
, length = toLength ( O . length )
, index = toIndex ( fromIndex , length )
, value ;
2016-08-17 18:29:53 +00:00
// Array#includes uses SameValueZero equality algorithm
2015-08-15 01:28:21 +00:00
if ( IS _INCLUDES && el != el ) while ( length > index ) {
value = O [ index ++ ] ;
if ( value != value ) return true ;
2016-08-17 18:29:53 +00:00
// Array#toIndex ignores holes, Array#includes - not
2015-08-15 01:28:21 +00:00
} else for ( ; length > index ; index ++ ) if ( IS _INCLUDES || index in O ) {
if ( O [ index ] === el ) return IS _INCLUDES || index ;
} return ! IS _INCLUDES && - 1 ;
} ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 38 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
// ECMAScript 6 symbols shim
var $ = _ _webpack _require _ _ ( 6 )
2016-08-17 18:29:53 +00:00
, global = _ _webpack _require _ _ ( 8 )
, has = _ _webpack _require _ _ ( 21 )
, DESCRIPTORS = _ _webpack _require _ _ ( 12 )
, $export = _ _webpack _require _ _ ( 7 )
, redefine = _ _webpack _require _ _ ( 14 )
, $fails = _ _webpack _require _ _ ( 13 )
, shared = _ _webpack _require _ _ ( 36 )
, setToStringTag = _ _webpack _require _ _ ( 39 )
, uid = _ _webpack _require _ _ ( 15 )
, wks = _ _webpack _require _ _ ( 35 )
, keyOf = _ _webpack _require _ _ ( 40 )
, $names = _ _webpack _require _ _ ( 41 )
, enumKeys = _ _webpack _require _ _ ( 42 )
, isArray = _ _webpack _require _ _ ( 34 )
, anObject = _ _webpack _require _ _ ( 24 )
, toIObject = _ _webpack _require _ _ ( 27 )
, createDesc = _ _webpack _require _ _ ( 11 )
2015-08-15 01:28:21 +00:00
, getDesc = $ . getDesc
, setDesc = $ . setDesc
2016-08-17 18:29:53 +00:00
, _create = $ . create
2015-08-15 01:28:21 +00:00
, getNames = $names . get
, $Symbol = global . Symbol
2016-08-17 18:29:53 +00:00
, $JSON = global . JSON
, _stringify = $JSON && $JSON . stringify
2015-08-15 01:28:21 +00:00
, setter = false
, HIDDEN = wks ( '_hidden' )
, isEnum = $ . isEnum
, SymbolRegistry = shared ( 'symbol-registry' )
, AllSymbols = shared ( 'symbols' )
, useNative = typeof $Symbol == 'function'
, ObjectProto = Object . prototype ;
2016-08-17 18:29:53 +00:00
// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
var setSymbolDesc = DESCRIPTORS && $fails ( function ( ) {
return _create ( setDesc ( { } , 'a' , {
get : function ( ) { return setDesc ( this , 'a' , { value : 7 } ) . a ; }
} ) ) . a != 7 ;
} ) ? function ( it , key , D ) {
var protoDesc = getDesc ( ObjectProto , key ) ;
if ( protoDesc ) delete ObjectProto [ key ] ;
setDesc ( it , key , D ) ;
if ( protoDesc && it !== ObjectProto ) setDesc ( ObjectProto , key , protoDesc ) ;
} : setDesc ;
var wrap = function ( tag ) {
var sym = AllSymbols [ tag ] = _create ( $Symbol . prototype ) ;
2015-08-15 01:28:21 +00:00
sym . _k = tag ;
2016-08-17 18:29:53 +00:00
DESCRIPTORS && setter && setSymbolDesc ( ObjectProto , tag , {
2015-08-15 01:28:21 +00:00
configurable : true ,
set : function ( value ) {
if ( has ( this , HIDDEN ) && has ( this [ HIDDEN ] , tag ) ) this [ HIDDEN ] [ tag ] = false ;
setSymbolDesc ( this , tag , createDesc ( 1 , value ) ) ;
}
} ) ;
return sym ;
2016-08-17 18:29:53 +00:00
} ;
var isSymbol = function ( it ) {
return typeof it == 'symbol' ;
} ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
var $defineProperty = function defineProperty ( it , key , D ) {
2015-08-15 01:28:21 +00:00
if ( D && has ( AllSymbols , key ) ) {
if ( ! D . enumerable ) {
if ( ! has ( it , HIDDEN ) ) setDesc ( it , HIDDEN , createDesc ( 1 , { } ) ) ;
it [ HIDDEN ] [ key ] = true ;
} else {
if ( has ( it , HIDDEN ) && it [ HIDDEN ] [ key ] ) it [ HIDDEN ] [ key ] = false ;
2016-08-17 18:29:53 +00:00
D = _create ( D , { enumerable : createDesc ( 0 , false ) } ) ;
2015-08-15 01:28:21 +00:00
} return setSymbolDesc ( it , key , D ) ;
} return setDesc ( it , key , D ) ;
2016-08-17 18:29:53 +00:00
} ;
var $defineProperties = function defineProperties ( it , P ) {
2015-08-15 01:28:21 +00:00
anObject ( it ) ;
2016-08-17 18:29:53 +00:00
var keys = enumKeys ( P = toIObject ( P ) )
2015-08-15 01:28:21 +00:00
, i = 0
, l = keys . length
, key ;
2016-08-17 18:29:53 +00:00
while ( l > i ) $defineProperty ( it , key = keys [ i ++ ] , P [ key ] ) ;
2015-08-15 01:28:21 +00:00
return it ;
2016-08-17 18:29:53 +00:00
} ;
var $create = function create ( it , P ) {
return P === undefined ? _create ( it ) : $defineProperties ( _create ( it ) , P ) ;
} ;
var $propertyIsEnumerable = function propertyIsEnumerable ( key ) {
2015-08-15 01:28:21 +00:00
var E = isEnum . call ( this , key ) ;
return E || ! has ( this , key ) || ! has ( AllSymbols , key ) || has ( this , HIDDEN ) && this [ HIDDEN ] [ key ]
? E : true ;
2016-08-17 18:29:53 +00:00
} ;
var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor ( it , key ) {
var D = getDesc ( it = toIObject ( it ) , key ) ;
2015-08-15 01:28:21 +00:00
if ( D && has ( AllSymbols , key ) && ! ( has ( it , HIDDEN ) && it [ HIDDEN ] [ key ] ) ) D . enumerable = true ;
return D ;
2016-08-17 18:29:53 +00:00
} ;
var $getOwnPropertyNames = function getOwnPropertyNames ( it ) {
var names = getNames ( toIObject ( it ) )
2015-08-15 01:28:21 +00:00
, result = [ ]
, i = 0
, key ;
while ( names . length > i ) if ( ! has ( AllSymbols , key = names [ i ++ ] ) && key != HIDDEN ) result . push ( key ) ;
return result ;
2016-08-17 18:29:53 +00:00
} ;
var $getOwnPropertySymbols = function getOwnPropertySymbols ( it ) {
var names = getNames ( toIObject ( it ) )
2015-08-15 01:28:21 +00:00
, result = [ ]
, i = 0
, key ;
while ( names . length > i ) if ( has ( AllSymbols , key = names [ i ++ ] ) ) result . push ( AllSymbols [ key ] ) ;
return result ;
2016-08-17 18:29:53 +00:00
} ;
var $stringify = function stringify ( it ) {
if ( it === undefined || isSymbol ( it ) ) return ; // IE8 returns string on undefined
var args = [ it ]
, i = 1
, $$ = arguments
, replacer , $replacer ;
while ( $$ . length > i ) args . push ( $$ [ i ++ ] ) ;
replacer = args [ 1 ] ;
if ( typeof replacer == 'function' ) $replacer = replacer ;
if ( $replacer || ! isArray ( replacer ) ) replacer = function ( key , value ) {
if ( $replacer ) value = $replacer . call ( this , key , value ) ;
if ( ! isSymbol ( value ) ) return value ;
} ;
args [ 1 ] = replacer ;
return _stringify . apply ( $JSON , args ) ;
} ;
var buggyJSON = $fails ( function ( ) {
var S = $Symbol ( ) ;
// MS Edge converts symbol values to JSON as {}
// WebKit converts symbol values to JSON as null
// V8 throws on boxed symbols
return _stringify ( [ S ] ) != '[null]' || _stringify ( { a : S } ) != '{}' || _stringify ( Object ( S ) ) != '{}' ;
} ) ;
2015-08-15 01:28:21 +00:00
// 19.4.1.1 Symbol([description])
if ( ! useNative ) {
$Symbol = function Symbol ( ) {
2016-08-17 18:29:53 +00:00
if ( isSymbol ( this ) ) throw TypeError ( 'Symbol is not a constructor' ) ;
return wrap ( uid ( arguments . length > 0 ? arguments [ 0 ] : undefined ) ) ;
2015-08-15 01:28:21 +00:00
} ;
2016-08-17 18:29:53 +00:00
redefine ( $Symbol . prototype , 'toString' , function toString ( ) {
2015-08-15 01:28:21 +00:00
return this . _k ;
} ) ;
2016-08-17 18:29:53 +00:00
isSymbol = function ( it ) {
return it instanceof $Symbol ;
} ;
$ . create = $create ;
$ . isEnum = $propertyIsEnumerable ;
$ . getDesc = $getOwnPropertyDescriptor ;
$ . setDesc = $defineProperty ;
$ . setDescs = $defineProperties ;
$ . getNames = $names . get = $getOwnPropertyNames ;
$ . getSymbols = $getOwnPropertySymbols ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
if ( DESCRIPTORS && ! _ _webpack _require _ _ ( 43 ) ) {
redefine ( ObjectProto , 'propertyIsEnumerable' , $propertyIsEnumerable , true ) ;
2015-08-15 01:28:21 +00:00
}
}
var symbolStatics = {
// 19.4.2.1 Symbol.for(key)
'for' : function ( key ) {
return has ( SymbolRegistry , key += '' )
? SymbolRegistry [ key ]
: SymbolRegistry [ key ] = $Symbol ( key ) ;
} ,
// 19.4.2.5 Symbol.keyFor(sym)
keyFor : function keyFor ( key ) {
return keyOf ( SymbolRegistry , key ) ;
} ,
useSetter : function ( ) { setter = true ; } ,
useSimple : function ( ) { setter = false ; }
} ;
// 19.4.2.2 Symbol.hasInstance
// 19.4.2.3 Symbol.isConcatSpreadable
// 19.4.2.4 Symbol.iterator
// 19.4.2.6 Symbol.match
// 19.4.2.8 Symbol.replace
// 19.4.2.9 Symbol.search
// 19.4.2.10 Symbol.species
// 19.4.2.11 Symbol.split
// 19.4.2.12 Symbol.toPrimitive
// 19.4.2.13 Symbol.toStringTag
// 19.4.2.14 Symbol.unscopables
$ . each . call ( (
2016-08-17 18:29:53 +00:00
'hasInstance,isConcatSpreadable,iterator,match,replace,search,' +
'species,split,toPrimitive,toStringTag,unscopables'
) . split ( ',' ) , function ( it ) {
var sym = wks ( it ) ;
symbolStatics [ it ] = useNative ? sym : wrap ( sym ) ;
} ) ;
2015-08-15 01:28:21 +00:00
setter = true ;
2016-08-17 18:29:53 +00:00
$export ( $export . G + $export . W , { Symbol : $Symbol } ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Symbol' , symbolStatics ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S + $export . F * ! useNative , 'Object' , {
2015-08-15 01:28:21 +00:00
// 19.1.2.2 Object.create(O [, Properties])
2016-08-17 18:29:53 +00:00
create : $create ,
2015-08-15 01:28:21 +00:00
// 19.1.2.4 Object.defineProperty(O, P, Attributes)
2016-08-17 18:29:53 +00:00
defineProperty : $defineProperty ,
2015-08-15 01:28:21 +00:00
// 19.1.2.3 Object.defineProperties(O, Properties)
2016-08-17 18:29:53 +00:00
defineProperties : $defineProperties ,
2015-08-15 01:28:21 +00:00
// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
2016-08-17 18:29:53 +00:00
getOwnPropertyDescriptor : $getOwnPropertyDescriptor ,
2015-08-15 01:28:21 +00:00
// 19.1.2.7 Object.getOwnPropertyNames(O)
2016-08-17 18:29:53 +00:00
getOwnPropertyNames : $getOwnPropertyNames ,
2015-08-15 01:28:21 +00:00
// 19.1.2.8 Object.getOwnPropertySymbols(O)
2016-08-17 18:29:53 +00:00
getOwnPropertySymbols : $getOwnPropertySymbols
2015-08-15 01:28:21 +00:00
} ) ;
2016-08-17 18:29:53 +00:00
// 24.3.2 JSON.stringify(value [, replacer [, space]])
$JSON && $export ( $export . S + $export . F * ( ! useNative || buggyJSON ) , 'JSON' , { stringify : $stringify } ) ;
2015-08-15 01:28:21 +00:00
// 19.4.3.5 Symbol.prototype[@@toStringTag]
2016-08-17 18:29:53 +00:00
setToStringTag ( $Symbol , 'Symbol' ) ;
2015-08-15 01:28:21 +00:00
// 20.2.1.9 Math[@@toStringTag]
2016-08-17 18:29:53 +00:00
setToStringTag ( Math , 'Math' , true ) ;
2015-08-15 01:28:21 +00:00
// 24.3.3 JSON[@@toStringTag]
2016-08-17 18:29:53 +00:00
setToStringTag ( global . JSON , 'JSON' , true ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 39 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
var def = _ _webpack _require _ _ ( 6 ) . setDesc
, has = _ _webpack _require _ _ ( 21 )
, TAG = _ _webpack _require _ _ ( 35 ) ( 'toStringTag' ) ;
2015-08-15 01:28:21 +00:00
module . exports = function ( it , tag , stat ) {
2016-08-17 18:29:53 +00:00
if ( it && ! has ( it = stat ? it : it . prototype , TAG ) ) def ( it , TAG , { configurable : true , value : tag } ) ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 40 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
var $ = _ _webpack _require _ _ ( 6 )
, toIObject = _ _webpack _require _ _ ( 27 ) ;
2015-08-15 01:28:21 +00:00
module . exports = function ( object , el ) {
2016-08-17 18:29:53 +00:00
var O = toIObject ( object )
2015-08-15 01:28:21 +00:00
, keys = $ . getKeys ( O )
, length = keys . length
, index = 0
, key ;
while ( length > index ) if ( O [ key = keys [ index ++ ] ] === el ) return key ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 41 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
2016-08-17 18:29:53 +00:00
var toIObject = _ _webpack _require _ _ ( 27 )
, getNames = _ _webpack _require _ _ ( 6 ) . getNames
, toString = { } . toString ;
2015-08-15 01:28:21 +00:00
var windowNames = typeof window == 'object' && Object . getOwnPropertyNames
? Object . getOwnPropertyNames ( window ) : [ ] ;
2016-08-17 18:29:53 +00:00
var getWindowNames = function ( it ) {
2015-08-15 01:28:21 +00:00
try {
return getNames ( it ) ;
} catch ( e ) {
return windowNames . slice ( ) ;
}
2016-08-17 18:29:53 +00:00
} ;
2015-08-15 01:28:21 +00:00
module . exports . get = function getOwnPropertyNames ( it ) {
if ( windowNames && toString . call ( it ) == '[object Window]' ) return getWindowNames ( it ) ;
2016-08-17 18:29:53 +00:00
return getNames ( toIObject ( it ) ) ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 42 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// all enumerable object keys, includes symbols
2015-08-15 01:28:21 +00:00
var $ = _ _webpack _require _ _ ( 6 ) ;
module . exports = function ( it ) {
var keys = $ . getKeys ( it )
, getSymbols = $ . getSymbols ;
2016-08-17 18:29:53 +00:00
if ( getSymbols ) {
var symbols = getSymbols ( it )
, isEnum = $ . isEnum
, i = 0
, key ;
while ( symbols . length > i ) if ( isEnum . call ( it , key = symbols [ i ++ ] ) ) keys . push ( key ) ;
2015-08-15 01:28:21 +00:00
}
return keys ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 43 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports ) {
module . exports = false ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 44 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 19.1.3.1 Object.assign(target, source)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
$export ( $export . S + $export . F , 'Object' , { assign : _ _webpack _require _ _ ( 45 ) } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 45 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 19.1.2.1 Object.assign(target, source, ...)
2016-08-17 18:29:53 +00:00
var $ = _ _webpack _require _ _ ( 6 )
, toObject = _ _webpack _require _ _ ( 25 )
, IObject = _ _webpack _require _ _ ( 28 ) ;
// should work with symbols and should have deterministic property order (V8 bug)
module . exports = _ _webpack _require _ _ ( 13 ) ( function ( ) {
var a = Object . assign
, A = { }
, B = { }
, S = Symbol ( )
, K = 'abcdefghijklmnopqrst' ;
A [ S ] = 7 ;
K . split ( '' ) . forEach ( function ( k ) { B [ k ] = k ; } ) ;
return a ( { } , A ) [ S ] != 7 || Object . keys ( a ( { } , B ) ) . join ( '' ) != K ;
} ) ? function assign ( target , source ) { // eslint-disable-line no-unused-vars
var T = toObject ( target )
, $$ = arguments
, $$len = $$ . length
, index = 1
, getKeys = $ . getKeys
, getSymbols = $ . getSymbols
, isEnum = $ . isEnum ;
while ( $$len > index ) {
var S = IObject ( $$ [ index ++ ] )
, keys = getSymbols ? getKeys ( S ) . concat ( getSymbols ( S ) ) : getKeys ( S )
2015-08-15 01:28:21 +00:00
, length = keys . length
, j = 0
, key ;
2016-08-17 18:29:53 +00:00
while ( length > j ) if ( isEnum . call ( S , key = keys [ j ++ ] ) ) T [ key ] = S [ key ] ;
2015-08-15 01:28:21 +00:00
}
return T ;
2016-08-17 18:29:53 +00:00
} : Object . assign ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 46 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 19.1.3.10 Object.is(value1, value2)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
$export ( $export . S , 'Object' , { is : _ _webpack _require _ _ ( 47 ) } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 47 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports ) {
2016-08-17 18:29:53 +00:00
// 7.2.9 SameValue(x, y)
2015-08-15 01:28:21 +00:00
module . exports = Object . is || function is ( x , y ) {
return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 48 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 19.1.3.19 Object.setPrototypeOf(O, proto)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
$export ( $export . S , 'Object' , { setPrototypeOf : _ _webpack _require _ _ ( 49 ) . set } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 49 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// Works with __proto__ only. Old v8 can't work with null proto objects.
/* eslint-disable no-proto */
var getDesc = _ _webpack _require _ _ ( 6 ) . getDesc
2016-08-17 18:29:53 +00:00
, isObject = _ _webpack _require _ _ ( 20 )
, anObject = _ _webpack _require _ _ ( 24 ) ;
var check = function ( O , proto ) {
2015-08-15 01:28:21 +00:00
anObject ( O ) ;
if ( ! isObject ( proto ) && proto !== null ) throw TypeError ( proto + ": can't set as prototype!" ) ;
2016-08-17 18:29:53 +00:00
} ;
2015-08-15 01:28:21 +00:00
module . exports = {
2016-08-17 18:29:53 +00:00
set : Object . setPrototypeOf || ( '__proto__' in { } ? // eslint-disable-line
function ( test , buggy , set ) {
try {
set = _ _webpack _require _ _ ( 16 ) ( Function . call , getDesc ( Object . prototype , '__proto__' ) . set , 2 ) ;
set ( test , [ ] ) ;
buggy = ! ( test instanceof Array ) ;
} catch ( e ) { buggy = true ; }
return function setPrototypeOf ( O , proto ) {
check ( O , proto ) ;
if ( buggy ) O . _ _proto _ _ = proto ;
else set ( O , proto ) ;
return O ;
} ;
} ( { } , false ) : undefined ) ,
2015-08-15 01:28:21 +00:00
check : check
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 50 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
// 19.1.3.6 Object.prototype.toString()
2016-08-17 18:29:53 +00:00
var classof = _ _webpack _require _ _ ( 51 )
2015-08-15 01:28:21 +00:00
, test = { } ;
2016-08-17 18:29:53 +00:00
test [ _ _webpack _require _ _ ( 35 ) ( 'toStringTag' ) ] = 'z' ;
2015-08-15 01:28:21 +00:00
if ( test + '' != '[object z]' ) {
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 14 ) ( Object . prototype , 'toString' , function toString ( ) {
2015-08-15 01:28:21 +00:00
return '[object ' + classof ( this ) + ']' ;
} , true ) ;
}
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 51 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// getting tag from 19.1.3.6 Object.prototype.toString()
var cof = _ _webpack _require _ _ ( 22 )
, TAG = _ _webpack _require _ _ ( 35 ) ( 'toStringTag' )
2015-08-15 01:28:21 +00:00
// ES3 wrong here
, ARG = cof ( function ( ) { return arguments ; } ( ) ) == 'Arguments' ;
module . exports = function ( it ) {
var O , T , B ;
return it === undefined ? 'Undefined' : it === null ? 'Null'
// @@toStringTag case
: typeof ( T = ( O = Object ( it ) ) [ TAG ] ) == 'string' ? T
// builtinTag case
: ARG ? cof ( O )
// ES3 arguments fallback
: ( B = cof ( O ) ) == 'Object' && typeof O . callee == 'function' ? 'Arguments' : B ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 52 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// 19.1.2.5 Object.freeze(O)
var isObject = _ _webpack _require _ _ ( 20 ) ;
_ _webpack _require _ _ ( 53 ) ( 'freeze' , function ( $freeze ) {
return function freeze ( it ) {
return $freeze && isObject ( it ) ? $freeze ( it ) : it ;
} ;
2015-08-15 01:28:21 +00:00
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 53 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// most Object methods by ES6 should accept primitives
var $export = _ _webpack _require _ _ ( 7 )
, core = _ _webpack _require _ _ ( 9 )
, fails = _ _webpack _require _ _ ( 13 ) ;
module . exports = function ( KEY , exec ) {
var fn = ( core . Object || { } ) [ KEY ] || Object [ KEY ]
, exp = { } ;
exp [ KEY ] = exec ( fn ) ;
$export ( $export . S + $export . F * fails ( function ( ) { fn ( 1 ) ; } ) , 'Object' , exp ) ;
} ;
/***/ } ,
/* 54 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 19.1.2.17 Object.seal(O)
var isObject = _ _webpack _require _ _ ( 20 ) ;
_ _webpack _require _ _ ( 53 ) ( 'seal' , function ( $seal ) {
return function seal ( it ) {
return $seal && isObject ( it ) ? $seal ( it ) : it ;
} ;
} ) ;
/***/ } ,
/* 55 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 19.1.2.15 Object.preventExtensions(O)
var isObject = _ _webpack _require _ _ ( 20 ) ;
_ _webpack _require _ _ ( 53 ) ( 'preventExtensions' , function ( $preventExtensions ) {
return function preventExtensions ( it ) {
return $preventExtensions && isObject ( it ) ? $preventExtensions ( it ) : it ;
} ;
} ) ;
/***/ } ,
/* 56 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 19.1.2.12 Object.isFrozen(O)
var isObject = _ _webpack _require _ _ ( 20 ) ;
_ _webpack _require _ _ ( 53 ) ( 'isFrozen' , function ( $isFrozen ) {
return function isFrozen ( it ) {
return isObject ( it ) ? $isFrozen ? $isFrozen ( it ) : false : true ;
} ;
} ) ;
/***/ } ,
/* 57 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 19.1.2.13 Object.isSealed(O)
var isObject = _ _webpack _require _ _ ( 20 ) ;
_ _webpack _require _ _ ( 53 ) ( 'isSealed' , function ( $isSealed ) {
return function isSealed ( it ) {
return isObject ( it ) ? $isSealed ? $isSealed ( it ) : false : true ;
} ;
} ) ;
/***/ } ,
/* 58 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 19.1.2.11 Object.isExtensible(O)
var isObject = _ _webpack _require _ _ ( 20 ) ;
_ _webpack _require _ _ ( 53 ) ( 'isExtensible' , function ( $isExtensible ) {
return function isExtensible ( it ) {
return isObject ( it ) ? $isExtensible ? $isExtensible ( it ) : true : false ;
} ;
} ) ;
/***/ } ,
/* 59 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
var toIObject = _ _webpack _require _ _ ( 27 ) ;
_ _webpack _require _ _ ( 53 ) ( 'getOwnPropertyDescriptor' , function ( $getOwnPropertyDescriptor ) {
return function getOwnPropertyDescriptor ( it , key ) {
return $getOwnPropertyDescriptor ( toIObject ( it ) , key ) ;
} ;
} ) ;
/***/ } ,
/* 60 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 19.1.2.9 Object.getPrototypeOf(O)
var toObject = _ _webpack _require _ _ ( 25 ) ;
_ _webpack _require _ _ ( 53 ) ( 'getPrototypeOf' , function ( $getPrototypeOf ) {
return function getPrototypeOf ( it ) {
return $getPrototypeOf ( toObject ( it ) ) ;
} ;
} ) ;
/***/ } ,
/* 61 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 19.1.2.14 Object.keys(O)
var toObject = _ _webpack _require _ _ ( 25 ) ;
_ _webpack _require _ _ ( 53 ) ( 'keys' , function ( $keys ) {
return function keys ( it ) {
return $keys ( toObject ( it ) ) ;
} ;
} ) ;
/***/ } ,
/* 62 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 19.1.2.7 Object.getOwnPropertyNames(O)
_ _webpack _require _ _ ( 53 ) ( 'getOwnPropertyNames' , function ( ) {
return _ _webpack _require _ _ ( 41 ) . get ;
} ) ;
/***/ } ,
/* 63 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
var setDesc = _ _webpack _require _ _ ( 6 ) . setDesc
, createDesc = _ _webpack _require _ _ ( 11 )
, has = _ _webpack _require _ _ ( 21 )
, FProto = Function . prototype
, nameRE = /^\s*function ([^ (]*)/
, NAME = 'name' ;
2015-08-15 01:28:21 +00:00
// 19.2.4.2 name
2016-08-17 18:29:53 +00:00
NAME in FProto || _ _webpack _require _ _ ( 12 ) && setDesc ( FProto , NAME , {
2015-08-15 01:28:21 +00:00
configurable : true ,
get : function ( ) {
2016-08-17 18:29:53 +00:00
var match = ( '' + this ) . match ( nameRE )
2015-08-15 01:28:21 +00:00
, name = match ? match [ 1 ] : '' ;
has ( this , NAME ) || setDesc ( this , NAME , createDesc ( 5 , name ) ) ;
return name ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 64 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
'use strict' ;
2015-08-15 01:28:21 +00:00
var $ = _ _webpack _require _ _ ( 6 )
2016-08-17 18:29:53 +00:00
, isObject = _ _webpack _require _ _ ( 20 )
, HAS _INSTANCE = _ _webpack _require _ _ ( 35 ) ( 'hasInstance' )
2015-08-15 01:28:21 +00:00
, FunctionProto = Function . prototype ;
// 19.2.3.6 Function.prototype[@@hasInstance](V)
if ( ! ( HAS _INSTANCE in FunctionProto ) ) $ . setDesc ( FunctionProto , HAS _INSTANCE , { value : function ( O ) {
if ( typeof this != 'function' || ! isObject ( O ) ) return false ;
if ( ! isObject ( this . prototype ) ) return O instanceof this ;
// for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
while ( O = $ . getProto ( O ) ) if ( this . prototype === O ) return true ;
return false ;
} } ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 65 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var $ = _ _webpack _require _ _ ( 6 )
, global = _ _webpack _require _ _ ( 8 )
, has = _ _webpack _require _ _ ( 21 )
, cof = _ _webpack _require _ _ ( 22 )
, toPrimitive = _ _webpack _require _ _ ( 66 )
, fails = _ _webpack _require _ _ ( 13 )
, $trim = _ _webpack _require _ _ ( 67 ) . trim
, NUMBER = 'Number'
, $Number = global [ NUMBER ]
, Base = $Number
, proto = $Number . prototype
2015-08-15 01:28:21 +00:00
// Opera ~12 has broken Object#toString
2016-08-17 18:29:53 +00:00
, BROKEN _COF = cof ( $ . create ( proto ) ) == NUMBER
, TRIM = 'trim' in String . prototype ;
// 7.1.3 ToNumber(argument)
var toNumber = function ( argument ) {
var it = toPrimitive ( argument , false ) ;
if ( typeof it == 'string' && it . length > 2 ) {
it = TRIM ? it . trim ( ) : $trim ( it , 3 ) ;
var first = it . charCodeAt ( 0 )
, third , radix , maxCode ;
if ( first === 43 || first === 45 ) {
third = it . charCodeAt ( 2 ) ;
if ( third === 88 || third === 120 ) return NaN ; // Number('+0x1') should be NaN, old V8 fix
} else if ( first === 48 ) {
switch ( it . charCodeAt ( 1 ) ) {
case 66 : case 98 : radix = 2 ; maxCode = 49 ; break ; // fast equal /^0b[01]+$/i
case 79 : case 111 : radix = 8 ; maxCode = 55 ; break ; // fast equal /^0o[0-7]+$/i
default : return + it ;
}
for ( var digits = it . slice ( 2 ) , i = 0 , l = digits . length , code ; i < l ; i ++ ) {
code = digits . charCodeAt ( i ) ;
// parseInt parses a string to a first unavailable symbol
// but ToNumber should return NaN if a string contains unavailable symbols
if ( code < 48 || code > maxCode ) return NaN ;
} return parseInt ( digits , radix ) ;
2015-08-15 01:28:21 +00:00
}
} return + it ;
2016-08-17 18:29:53 +00:00
} ;
if ( ! $Number ( ' 0o1' ) || ! $Number ( '0b1' ) || $Number ( '+0x1' ) ) {
$Number = function Number ( value ) {
var it = arguments . length < 1 ? 0 : value
, that = this ;
return that instanceof $Number
// check on 1..constructor(foo) case
&& ( BROKEN _COF ? fails ( function ( ) { proto . valueOf . call ( that ) ; } ) : cof ( that ) != NUMBER )
? new Base ( toNumber ( it ) ) : toNumber ( it ) ;
2015-08-15 01:28:21 +00:00
} ;
2016-08-17 18:29:53 +00:00
$ . each . call ( _ _webpack _require _ _ ( 12 ) ? $ . getNames ( Base ) : (
// ES3:
'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
// ES6 (in case, if modules with ES6 Number statics required before):
'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'
) . split ( ',' ) , function ( key ) {
if ( has ( Base , key ) && ! has ( $Number , key ) ) {
$ . setDesc ( $Number , key , $ . getDesc ( Base , key ) ) ;
2015-08-15 01:28:21 +00:00
}
2016-08-17 18:29:53 +00:00
} ) ;
2015-08-15 01:28:21 +00:00
$Number . prototype = proto ;
proto . constructor = $Number ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 14 ) ( global , NUMBER , $Number ) ;
2015-08-15 01:28:21 +00:00
}
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 66 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 7.1.1 ToPrimitive(input [, PreferredType])
var isObject = _ _webpack _require _ _ ( 20 ) ;
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
// and the second argument - flag - preferred type is a string
module . exports = function ( it , S ) {
if ( ! isObject ( it ) ) return it ;
var fn , val ;
if ( S && typeof ( fn = it . toString ) == 'function' && ! isObject ( val = fn . call ( it ) ) ) return val ;
if ( typeof ( fn = it . valueOf ) == 'function' && ! isObject ( val = fn . call ( it ) ) ) return val ;
if ( ! S && typeof ( fn = it . toString ) == 'function' && ! isObject ( val = fn . call ( it ) ) ) return val ;
throw TypeError ( "Can't convert object to primitive value" ) ;
} ;
/***/ } ,
/* 67 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
var $export = _ _webpack _require _ _ ( 7 )
, defined = _ _webpack _require _ _ ( 26 )
, fails = _ _webpack _require _ _ ( 13 )
, spaces = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
'\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'
, space = '[' + spaces + ']'
, non = '\u200b\u0085'
, ltrim = RegExp ( '^' + space + space + '*' )
, rtrim = RegExp ( space + space + '*$' ) ;
var exporter = function ( KEY , exec ) {
var exp = { } ;
exp [ KEY ] = exec ( trim ) ;
$export ( $export . P + $export . F * fails ( function ( ) {
return ! ! spaces [ KEY ] ( ) || non [ KEY ] ( ) != non ;
} ) , 'String' , exp ) ;
} ;
// 1 -> String#trimLeft
// 2 -> String#trimRight
// 3 -> String#trim
var trim = exporter . trim = function ( string , TYPE ) {
string = String ( defined ( string ) ) ;
if ( TYPE & 1 ) string = string . replace ( ltrim , '' ) ;
if ( TYPE & 2 ) string = string . replace ( rtrim , '' ) ;
return string ;
} ;
module . exports = exporter ;
/***/ } ,
/* 68 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.1.2.1 Number.EPSILON
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Number' , { EPSILON : Math . pow ( 2 , - 52 ) } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 69 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.1.2.2 Number.isFinite(number)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, _isFinite = _ _webpack _require _ _ ( 8 ) . isFinite ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Number' , {
2015-08-15 01:28:21 +00:00
isFinite : function isFinite ( it ) {
return typeof it == 'number' && _isFinite ( it ) ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 70 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.1.2.3 Number.isInteger(number)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Number' , { isInteger : _ _webpack _require _ _ ( 71 ) } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 71 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.1.2.3 Number.isInteger(number)
2016-08-17 18:29:53 +00:00
var isObject = _ _webpack _require _ _ ( 20 )
2015-08-15 01:28:21 +00:00
, floor = Math . floor ;
module . exports = function isInteger ( it ) {
return ! isObject ( it ) && isFinite ( it ) && floor ( it ) === it ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 72 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.1.2.4 Number.isNaN(number)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Number' , {
2015-08-15 01:28:21 +00:00
isNaN : function isNaN ( number ) {
return number != number ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 73 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.1.2.5 Number.isSafeInteger(number)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, isInteger = _ _webpack _require _ _ ( 71 )
2015-08-15 01:28:21 +00:00
, abs = Math . abs ;
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Number' , {
2015-08-15 01:28:21 +00:00
isSafeInteger : function isSafeInteger ( number ) {
return isInteger ( number ) && abs ( number ) <= 0x1fffffffffffff ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 74 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.1.2.6 Number.MAX_SAFE_INTEGER
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Number' , { MAX _SAFE _INTEGER : 0x1fffffffffffff } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 75 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.1.2.10 Number.MIN_SAFE_INTEGER
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Number' , { MIN _SAFE _INTEGER : - 0x1fffffffffffff } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 76 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.1.2.12 Number.parseFloat(string)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Number' , { parseFloat : parseFloat } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 77 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.1.2.13 Number.parseInt(string, radix)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Number' , { parseInt : parseInt } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 78 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.2.2.3 Math.acosh(x)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, log1p = _ _webpack _require _ _ ( 79 )
, sqrt = Math . sqrt
, $acosh = Math . acosh ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
// V8 bug https://code.google.com/p/v8/issues/detail?id=3509
$export ( $export . S + $export . F * ! ( $acosh && Math . floor ( $acosh ( Number . MAX _VALUE ) ) == 710 ) , 'Math' , {
2015-08-15 01:28:21 +00:00
acosh : function acosh ( x ) {
2016-08-17 18:29:53 +00:00
return ( x = + x ) < 1 ? NaN : x > 94906265.62425156
? Math . log ( x ) + Math . LN2
: log1p ( x - 1 + sqrt ( x - 1 ) * sqrt ( x + 1 ) ) ;
2015-08-15 01:28:21 +00:00
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 79 */
/***/ function ( module , exports ) {
// 20.2.2.20 Math.log1p(x)
module . exports = Math . log1p || function log1p ( x ) {
return ( x = + x ) > - 1e-8 && x < 1e-8 ? x - x * x / 2 : Math . log ( 1 + x ) ;
} ;
/***/ } ,
/* 80 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.2.2.5 Math.asinh(x)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
function asinh ( x ) {
return ! isFinite ( x = + x ) || x == 0 ? x : x < 0 ? - asinh ( - x ) : Math . log ( x + Math . sqrt ( x * x + 1 ) ) ;
}
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Math' , { asinh : asinh } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 81 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.2.2.7 Math.atanh(x)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Math' , {
2015-08-15 01:28:21 +00:00
atanh : function atanh ( x ) {
return ( x = + x ) == 0 ? x : Math . log ( ( 1 + x ) / ( 1 - x ) ) / 2 ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 82 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.2.2.9 Math.cbrt(x)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, sign = _ _webpack _require _ _ ( 83 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Math' , {
2015-08-15 01:28:21 +00:00
cbrt : function cbrt ( x ) {
return sign ( x = + x ) * Math . pow ( Math . abs ( x ) , 1 / 3 ) ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 83 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports ) {
// 20.2.2.28 Math.sign(x)
module . exports = Math . sign || function sign ( x ) {
return ( x = + x ) == 0 || x != x ? x : x < 0 ? - 1 : 1 ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 84 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.2.2.11 Math.clz32(x)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Math' , {
2015-08-15 01:28:21 +00:00
clz32 : function clz32 ( x ) {
return ( x >>>= 0 ) ? 31 - Math . floor ( Math . log ( x + 0.5 ) * Math . LOG2E ) : 32 ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 85 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.2.2.12 Math.cosh(x)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, exp = Math . exp ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Math' , {
2015-08-15 01:28:21 +00:00
cosh : function cosh ( x ) {
return ( exp ( x = + x ) + exp ( - x ) ) / 2 ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 86 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.2.2.14 Math.expm1(x)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Math' , { expm1 : _ _webpack _require _ _ ( 87 ) } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 87 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports ) {
// 20.2.2.14 Math.expm1(x)
module . exports = Math . expm1 || function expm1 ( x ) {
return ( x = + x ) == 0 ? x : x > - 1e-6 && x < 1e-6 ? x + x * x / 2 : Math . exp ( x ) - 1 ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 88 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.2.2.16 Math.fround(x)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, sign = _ _webpack _require _ _ ( 83 )
, pow = Math . pow
2015-08-15 01:28:21 +00:00
, EPSILON = pow ( 2 , - 52 )
, EPSILON32 = pow ( 2 , - 23 )
, MAX32 = pow ( 2 , 127 ) * ( 2 - EPSILON32 )
, MIN32 = pow ( 2 , - 126 ) ;
2016-08-17 18:29:53 +00:00
var roundTiesToEven = function ( n ) {
2015-08-15 01:28:21 +00:00
return n + 1 / EPSILON - 1 / EPSILON ;
2016-08-17 18:29:53 +00:00
} ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Math' , {
2015-08-15 01:28:21 +00:00
fround : function fround ( x ) {
var $abs = Math . abs ( x )
, $sign = sign ( x )
, a , result ;
if ( $abs < MIN32 ) return $sign * roundTiesToEven ( $abs / MIN32 / EPSILON32 ) * MIN32 * EPSILON32 ;
a = ( 1 + EPSILON32 / EPSILON ) * $abs ;
result = a - ( a - $abs ) ;
if ( result > MAX32 || result != result ) return $sign * Infinity ;
return $sign * result ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 89 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, abs = Math . abs ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Math' , {
2015-08-15 01:28:21 +00:00
hypot : function hypot ( value1 , value2 ) { // eslint-disable-line no-unused-vars
2016-08-17 18:29:53 +00:00
var sum = 0
, i = 0
, $$ = arguments
, $$len = $$ . length
, larg = 0
2015-08-15 01:28:21 +00:00
, arg , div ;
2016-08-17 18:29:53 +00:00
while ( i < $$len ) {
arg = abs ( $$ [ i ++ ] ) ;
2015-08-15 01:28:21 +00:00
if ( larg < arg ) {
div = larg / arg ;
sum = sum * div * div + 1 ;
larg = arg ;
} else if ( arg > 0 ) {
div = arg / larg ;
sum += div * div ;
} else sum += arg ;
}
return larg === Infinity ? Infinity : larg * Math . sqrt ( sum ) ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 90 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.2.2.18 Math.imul(x, y)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, $imul = Math . imul ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
// some WebKit versions fails with big numbers, some has wrong arity
$export ( $export . S + $export . F * _ _webpack _require _ _ ( 13 ) ( function ( ) {
return $imul ( 0xffffffff , 5 ) != - 5 || $imul . length != 2 ;
} ) , 'Math' , {
2015-08-15 01:28:21 +00:00
imul : function imul ( x , y ) {
var UINT16 = 0xffff
, xn = + x
, yn = + y
, xl = UINT16 & xn
, yl = UINT16 & yn ;
return 0 | xl * yl + ( ( UINT16 & xn >>> 16 ) * yl + xl * ( UINT16 & yn >>> 16 ) << 16 >>> 0 ) ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 91 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.2.2.21 Math.log10(x)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Math' , {
2015-08-15 01:28:21 +00:00
log10 : function log10 ( x ) {
return Math . log ( x ) / Math . LN10 ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 92 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.2.2.20 Math.log1p(x)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Math' , { log1p : _ _webpack _require _ _ ( 79 ) } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 93 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.2.2.22 Math.log2(x)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Math' , {
2015-08-15 01:28:21 +00:00
log2 : function log2 ( x ) {
return Math . log ( x ) / Math . LN2 ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 94 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.2.2.28 Math.sign(x)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Math' , { sign : _ _webpack _require _ _ ( 83 ) } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 95 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.2.2.30 Math.sinh(x)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, expm1 = _ _webpack _require _ _ ( 87 )
, exp = Math . exp ;
// V8 near Chromium 38 has a problem with very small numbers
$export ( $export . S + $export . F * _ _webpack _require _ _ ( 13 ) ( function ( ) {
return ! Math . sinh ( - 2e-17 ) != - 2e-17 ;
} ) , 'Math' , {
2015-08-15 01:28:21 +00:00
sinh : function sinh ( x ) {
return Math . abs ( x = + x ) < 1
? ( expm1 ( x ) - expm1 ( - x ) ) / 2
: ( exp ( x - 1 ) - exp ( - x - 1 ) ) * ( Math . E / 2 ) ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 96 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.2.2.33 Math.tanh(x)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, expm1 = _ _webpack _require _ _ ( 87 )
, exp = Math . exp ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Math' , {
2015-08-15 01:28:21 +00:00
tanh : function tanh ( x ) {
var a = expm1 ( x = + x )
, b = expm1 ( - x ) ;
return a == Infinity ? 1 : b == Infinity ? - 1 : ( a - b ) / ( exp ( x ) + exp ( - x ) ) ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 97 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 20.2.2.34 Math.trunc(x)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Math' , {
2015-08-15 01:28:21 +00:00
trunc : function trunc ( it ) {
return ( it > 0 ? Math . floor : Math . ceil ) ( it ) ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 98 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, toIndex = _ _webpack _require _ _ ( 30 )
, fromCharCode = String . fromCharCode
2015-08-15 01:28:21 +00:00
, $fromCodePoint = String . fromCodePoint ;
// length should be 1, old FF problem
2016-08-17 18:29:53 +00:00
$export ( $export . S + $export . F * ( ! ! $fromCodePoint && $fromCodePoint . length != 1 ) , 'String' , {
2015-08-15 01:28:21 +00:00
// 21.1.2.2 String.fromCodePoint(...codePoints)
fromCodePoint : function fromCodePoint ( x ) { // eslint-disable-line no-unused-vars
2016-08-17 18:29:53 +00:00
var res = [ ]
, $$ = arguments
, $$len = $$ . length
, i = 0
2015-08-15 01:28:21 +00:00
, code ;
2016-08-17 18:29:53 +00:00
while ( $$len > i ) {
code = + $$ [ i ++ ] ;
2015-08-15 01:28:21 +00:00
if ( toIndex ( code , 0x10ffff ) !== code ) throw RangeError ( code + ' is not a valid code point' ) ;
res . push ( code < 0x10000
? fromCharCode ( code )
: fromCharCode ( ( ( code -= 0x10000 ) >> 10 ) + 0xd800 , code % 0x400 + 0xdc00 )
) ;
} return res . join ( '' ) ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 99 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, toIObject = _ _webpack _require _ _ ( 27 )
, toLength = _ _webpack _require _ _ ( 31 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'String' , {
2015-08-15 01:28:21 +00:00
// 21.1.2.4 String.raw(callSite, ...substitutions)
raw : function raw ( callSite ) {
2016-08-17 18:29:53 +00:00
var tpl = toIObject ( callSite . raw )
, len = toLength ( tpl . length )
, $$ = arguments
, $$len = $$ . length
, res = [ ]
, i = 0 ;
2015-08-15 01:28:21 +00:00
while ( len > i ) {
res . push ( String ( tpl [ i ++ ] ) ) ;
2016-08-17 18:29:53 +00:00
if ( i < $$len ) res . push ( String ( $$ [ i ] ) ) ;
2015-08-15 01:28:21 +00:00
} return res . join ( '' ) ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 100 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
// 21.1.3.25 String.prototype.trim()
_ _webpack _require _ _ ( 67 ) ( 'trim' , function ( $trim ) {
return function trim ( ) {
return $trim ( this , 3 ) ;
} ;
} ) ;
/***/ } ,
/* 101 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
'use strict' ;
var $at = _ _webpack _require _ _ ( 102 ) ( true ) ;
2015-08-15 01:28:21 +00:00
// 21.1.3.27 String.prototype[@@iterator]()
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 103 ) ( String , 'String' , function ( iterated ) {
2015-08-15 01:28:21 +00:00
this . _t = String ( iterated ) ; // target
this . _i = 0 ; // next index
// 21.1.5.2.1 %StringIteratorPrototype%.next()
} , function ( ) {
var O = this . _t
, index = this . _i
, point ;
if ( index >= O . length ) return { value : undefined , done : true } ;
point = $at ( O , index ) ;
this . _i += point . length ;
return { value : point , done : false } ;
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 102 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
var toInteger = _ _webpack _require _ _ ( 29 )
, defined = _ _webpack _require _ _ ( 26 ) ;
2015-08-15 01:28:21 +00:00
// true -> String#at
// false -> String#codePointAt
module . exports = function ( TO _STRING ) {
return function ( that , pos ) {
var s = String ( defined ( that ) )
, i = toInteger ( pos )
, l = s . length
, a , b ;
if ( i < 0 || i >= l ) return TO _STRING ? '' : undefined ;
a = s . charCodeAt ( i ) ;
2016-08-17 18:29:53 +00:00
return a < 0xd800 || a > 0xdbff || i + 1 === l || ( b = s . charCodeAt ( i + 1 ) ) < 0xdc00 || b > 0xdfff
? TO _STRING ? s . charAt ( i ) : a
: TO _STRING ? s . slice ( i , i + 2 ) : ( a - 0xd800 << 10 ) + ( b - 0xdc00 ) + 0x10000 ;
2015-08-15 01:28:21 +00:00
} ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 103 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var LIBRARY = _ _webpack _require _ _ ( 43 )
, $export = _ _webpack _require _ _ ( 7 )
, redefine = _ _webpack _require _ _ ( 14 )
, hide = _ _webpack _require _ _ ( 10 )
, has = _ _webpack _require _ _ ( 21 )
, Iterators = _ _webpack _require _ _ ( 104 )
, $iterCreate = _ _webpack _require _ _ ( 105 )
, setToStringTag = _ _webpack _require _ _ ( 39 )
, getProto = _ _webpack _require _ _ ( 6 ) . getProto
, ITERATOR = _ _webpack _require _ _ ( 35 ) ( 'iterator' )
, BUGGY = ! ( [ ] . keys && 'next' in [ ] . keys ( ) ) // Safari has buggy iterators w/o `next`
, FF _ITERATOR = '@@iterator'
, KEYS = 'keys'
, VALUES = 'values' ;
var returnThis = function ( ) { return this ; } ;
module . exports = function ( Base , NAME , Constructor , next , DEFAULT , IS _SET , FORCED ) {
$iterCreate ( Constructor , NAME , next ) ;
var getMethod = function ( kind ) {
if ( ! BUGGY && kind in proto ) return proto [ kind ] ;
2015-08-15 01:28:21 +00:00
switch ( kind ) {
case KEYS : return function keys ( ) { return new Constructor ( this , kind ) ; } ;
case VALUES : return function values ( ) { return new Constructor ( this , kind ) ; } ;
} return function entries ( ) { return new Constructor ( this , kind ) ; } ;
2016-08-17 18:29:53 +00:00
} ;
var TAG = NAME + ' Iterator'
, DEF _VALUES = DEFAULT == VALUES
, VALUES _BUG = false
, proto = Base . prototype
, $native = proto [ ITERATOR ] || proto [ FF _ITERATOR ] || DEFAULT && proto [ DEFAULT ]
, $default = $native || getMethod ( DEFAULT )
2015-08-15 01:28:21 +00:00
, methods , key ;
// Fix native
2016-08-17 18:29:53 +00:00
if ( $native ) {
var IteratorPrototype = getProto ( $default . call ( new Base ) ) ;
2015-08-15 01:28:21 +00:00
// Set @@toStringTag to native iterators
2016-08-17 18:29:53 +00:00
setToStringTag ( IteratorPrototype , TAG , true ) ;
2015-08-15 01:28:21 +00:00
// FF fix
2016-08-17 18:29:53 +00:00
if ( ! LIBRARY && has ( proto , FF _ITERATOR ) ) hide ( IteratorPrototype , ITERATOR , returnThis ) ;
// fix Array#{values, @@iterator}.name in V8 / FF
if ( DEF _VALUES && $native . name !== VALUES ) {
VALUES _BUG = true ;
$default = function values ( ) { return $native . call ( this ) ; } ;
}
2015-08-15 01:28:21 +00:00
}
// Define iterator
2016-08-17 18:29:53 +00:00
if ( ( ! LIBRARY || FORCED ) && ( BUGGY || VALUES _BUG || ! proto [ ITERATOR ] ) ) {
hide ( proto , ITERATOR , $default ) ;
}
2015-08-15 01:28:21 +00:00
// Plug for library
2016-08-17 18:29:53 +00:00
Iterators [ NAME ] = $default ;
2015-08-15 01:28:21 +00:00
Iterators [ TAG ] = returnThis ;
if ( DEFAULT ) {
methods = {
2016-08-17 18:29:53 +00:00
values : DEF _VALUES ? $default : getMethod ( VALUES ) ,
keys : IS _SET ? $default : getMethod ( KEYS ) ,
entries : ! DEF _VALUES ? $default : getMethod ( 'entries' )
2015-08-15 01:28:21 +00:00
} ;
2016-08-17 18:29:53 +00:00
if ( FORCED ) for ( key in methods ) {
if ( ! ( key in proto ) ) redefine ( proto , key , methods [ key ] ) ;
} else $export ( $export . P + $export . F * ( BUGGY || VALUES _BUG ) , NAME , methods ) ;
2015-08-15 01:28:21 +00:00
}
2016-08-17 18:29:53 +00:00
return methods ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 104 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports ) {
module . exports = { } ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 105 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var $ = _ _webpack _require _ _ ( 6 )
, descriptor = _ _webpack _require _ _ ( 11 )
, setToStringTag = _ _webpack _require _ _ ( 39 )
2015-08-15 01:28:21 +00:00
, IteratorPrototype = { } ;
// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 10 ) ( IteratorPrototype , _ _webpack _require _ _ ( 35 ) ( 'iterator' ) , function ( ) { return this ; } ) ;
2015-08-15 01:28:21 +00:00
module . exports = function ( Constructor , NAME , next ) {
2016-08-17 18:29:53 +00:00
Constructor . prototype = $ . create ( IteratorPrototype , { next : descriptor ( 1 , next ) } ) ;
setToStringTag ( Constructor , NAME + ' Iterator' ) ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 106 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, $at = _ _webpack _require _ _ ( 102 ) ( false ) ;
$export ( $export . P , 'String' , {
2015-08-15 01:28:21 +00:00
// 21.1.3.3 String.prototype.codePointAt(pos)
codePointAt : function codePointAt ( pos ) {
return $at ( this , pos ) ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 107 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])
2015-08-15 01:28:21 +00:00
'use strict' ;
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, toLength = _ _webpack _require _ _ ( 31 )
, context = _ _webpack _require _ _ ( 108 )
, ENDS _WITH = 'endsWith'
, $endsWith = '' [ ENDS _WITH ] ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . P + $export . F * _ _webpack _require _ _ ( 110 ) ( ENDS _WITH ) , 'String' , {
2015-08-15 01:28:21 +00:00
endsWith : function endsWith ( searchString /*, endPosition = @length */ ) {
2016-08-17 18:29:53 +00:00
var that = context ( this , searchString , ENDS _WITH )
, $$ = arguments
, endPosition = $$ . length > 1 ? $$ [ 1 ] : undefined
2015-08-15 01:28:21 +00:00
, len = toLength ( that . length )
, end = endPosition === undefined ? len : Math . min ( toLength ( endPosition ) , len )
, search = String ( searchString ) ;
2016-08-17 18:29:53 +00:00
return $endsWith
? $endsWith . call ( that , search , end )
: that . slice ( end - search . length , end ) === search ;
2015-08-15 01:28:21 +00:00
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 108 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// helper for String#{startsWith, endsWith, includes}
2016-08-17 18:29:53 +00:00
var isRegExp = _ _webpack _require _ _ ( 109 )
, defined = _ _webpack _require _ _ ( 26 ) ;
2015-08-15 01:28:21 +00:00
module . exports = function ( that , searchString , NAME ) {
2016-08-17 18:29:53 +00:00
if ( isRegExp ( searchString ) ) throw TypeError ( 'String#' + NAME + " doesn't accept regex!" ) ;
2015-08-15 01:28:21 +00:00
return String ( defined ( that ) ) ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 109 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 7.2.8 IsRegExp(argument)
var isObject = _ _webpack _require _ _ ( 20 )
, cof = _ _webpack _require _ _ ( 22 )
, MATCH = _ _webpack _require _ _ ( 35 ) ( 'match' ) ;
module . exports = function ( it ) {
var isRegExp ;
return isObject ( it ) && ( ( isRegExp = it [ MATCH ] ) !== undefined ? ! ! isRegExp : cof ( it ) == 'RegExp' ) ;
} ;
/***/ } ,
/* 110 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
var MATCH = _ _webpack _require _ _ ( 35 ) ( 'match' ) ;
module . exports = function ( KEY ) {
var re = /./ ;
try {
'/./' [ KEY ] ( re ) ;
} catch ( e ) {
try {
re [ MATCH ] = false ;
return ! '/./' [ KEY ] ( re ) ;
} catch ( f ) { /* empty */ }
} return true ;
} ;
/***/ } ,
/* 111 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// 21.1.3.7 String.prototype.includes(searchString, position = 0)
2015-08-15 01:28:21 +00:00
'use strict' ;
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, context = _ _webpack _require _ _ ( 108 )
, INCLUDES = 'includes' ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . P + $export . F * _ _webpack _require _ _ ( 110 ) ( INCLUDES ) , 'String' , {
2015-08-15 01:28:21 +00:00
includes : function includes ( searchString /*, position = 0 */ ) {
2016-08-17 18:29:53 +00:00
return ! ! ~ context ( this , searchString , INCLUDES )
. indexOf ( searchString , arguments . length > 1 ? arguments [ 1 ] : undefined ) ;
2015-08-15 01:28:21 +00:00
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 112 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . P , 'String' , {
2015-08-15 01:28:21 +00:00
// 21.1.3.13 String.prototype.repeat(count)
2016-08-17 18:29:53 +00:00
repeat : _ _webpack _require _ _ ( 113 )
2015-08-15 01:28:21 +00:00
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 113 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var toInteger = _ _webpack _require _ _ ( 29 )
, defined = _ _webpack _require _ _ ( 26 ) ;
2015-08-15 01:28:21 +00:00
module . exports = function repeat ( count ) {
var str = String ( defined ( this ) )
, res = ''
, n = toInteger ( count ) ;
if ( n < 0 || n == Infinity ) throw RangeError ( "Count can't be negative" ) ;
for ( ; n > 0 ; ( n >>>= 1 ) && ( str += str ) ) if ( n & 1 ) res += str ;
return res ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 114 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// 21.1.3.18 String.prototype.startsWith(searchString [, position ])
2015-08-15 01:28:21 +00:00
'use strict' ;
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, toLength = _ _webpack _require _ _ ( 31 )
, context = _ _webpack _require _ _ ( 108 )
, STARTS _WITH = 'startsWith'
, $startsWith = '' [ STARTS _WITH ] ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . P + $export . F * _ _webpack _require _ _ ( 110 ) ( STARTS _WITH ) , 'String' , {
2015-08-15 01:28:21 +00:00
startsWith : function startsWith ( searchString /*, position = 0 */ ) {
2016-08-17 18:29:53 +00:00
var that = context ( this , searchString , STARTS _WITH )
, $$ = arguments
, index = toLength ( Math . min ( $$ . length > 1 ? $$ [ 1 ] : undefined , that . length ) )
2015-08-15 01:28:21 +00:00
, search = String ( searchString ) ;
2016-08-17 18:29:53 +00:00
return $startsWith
? $startsWith . call ( that , search , index )
: that . slice ( index , index + search . length ) === search ;
2015-08-15 01:28:21 +00:00
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 115 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
'use strict' ;
var ctx = _ _webpack _require _ _ ( 16 )
, $export = _ _webpack _require _ _ ( 7 )
, toObject = _ _webpack _require _ _ ( 25 )
, call = _ _webpack _require _ _ ( 116 )
, isArrayIter = _ _webpack _require _ _ ( 117 )
, toLength = _ _webpack _require _ _ ( 31 )
, getIterFn = _ _webpack _require _ _ ( 118 ) ;
$export ( $export . S + $export . F * ! _ _webpack _require _ _ ( 119 ) ( function ( iter ) { Array . from ( iter ) ; } ) , 'Array' , {
2015-08-15 01:28:21 +00:00
// 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
from : function from ( arrayLike /*, mapfn = undefined, thisArg = undefined*/ ) {
2016-08-17 18:29:53 +00:00
var O = toObject ( arrayLike )
2015-08-15 01:28:21 +00:00
, C = typeof this == 'function' ? this : Array
2016-08-17 18:29:53 +00:00
, $$ = arguments
, $$len = $$ . length
, mapfn = $$len > 1 ? $$ [ 1 ] : undefined
2015-08-15 01:28:21 +00:00
, mapping = mapfn !== undefined
, index = 0
, iterFn = getIterFn ( O )
, length , result , step , iterator ;
2016-08-17 18:29:53 +00:00
if ( mapping ) mapfn = ctx ( mapfn , $$len > 2 ? $$ [ 2 ] : undefined , 2 ) ;
2015-08-15 01:28:21 +00:00
// if object isn't iterable or it's array with default iterator - use simple case
if ( iterFn != undefined && ! ( C == Array && isArrayIter ( iterFn ) ) ) {
for ( iterator = iterFn . call ( O ) , result = new C ; ! ( step = iterator . next ( ) ) . done ; index ++ ) {
result [ index ] = mapping ? call ( iterator , mapfn , [ step . value , index ] , true ) : step . value ;
}
} else {
2016-08-17 18:29:53 +00:00
length = toLength ( O . length ) ;
for ( result = new C ( length ) ; length > index ; index ++ ) {
2015-08-15 01:28:21 +00:00
result [ index ] = mapping ? mapfn ( O [ index ] , index ) : O [ index ] ;
}
}
result . length = index ;
return result ;
}
} ) ;
2016-08-17 18:29:53 +00:00
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 116 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// call something on iterator step with safe closing on error
var anObject = _ _webpack _require _ _ ( 24 ) ;
2015-08-15 01:28:21 +00:00
module . exports = function ( iterator , fn , value , entries ) {
try {
return entries ? fn ( anObject ( value ) [ 0 ] , value [ 1 ] ) : fn ( value ) ;
2016-08-17 18:29:53 +00:00
// 7.4.6 IteratorClose(iterator, completion)
2015-08-15 01:28:21 +00:00
} catch ( e ) {
2016-08-17 18:29:53 +00:00
var ret = iterator [ 'return' ] ;
if ( ret !== undefined ) anObject ( ret . call ( iterator ) ) ;
2015-08-15 01:28:21 +00:00
throw e ;
}
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 117 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// check on default Array iterator
var Iterators = _ _webpack _require _ _ ( 104 )
, ITERATOR = _ _webpack _require _ _ ( 35 ) ( 'iterator' )
, ArrayProto = Array . prototype ;
2015-08-15 01:28:21 +00:00
module . exports = function ( it ) {
2016-08-17 18:29:53 +00:00
return it !== undefined && ( Iterators . Array === it || ArrayProto [ ITERATOR ] === it ) ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 118 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
var classof = _ _webpack _require _ _ ( 51 )
, ITERATOR = _ _webpack _require _ _ ( 35 ) ( 'iterator' )
, Iterators = _ _webpack _require _ _ ( 104 ) ;
module . exports = _ _webpack _require _ _ ( 9 ) . getIteratorMethod = function ( it ) {
if ( it != undefined ) return it [ ITERATOR ]
|| it [ '@@iterator' ]
|| Iterators [ classof ( it ) ] ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 119 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
var ITERATOR = _ _webpack _require _ _ ( 35 ) ( 'iterator' )
, SAFE _CLOSING = false ;
2015-08-15 01:28:21 +00:00
try {
2016-08-17 18:29:53 +00:00
var riter = [ 7 ] [ ITERATOR ] ( ) ;
2015-08-15 01:28:21 +00:00
riter [ 'return' ] = function ( ) { SAFE _CLOSING = true ; } ;
Array . from ( riter , function ( ) { throw 2 ; } ) ;
} catch ( e ) { /* empty */ }
2016-08-17 18:29:53 +00:00
module . exports = function ( exec , skipClosing ) {
if ( ! skipClosing && ! SAFE _CLOSING ) return false ;
2015-08-15 01:28:21 +00:00
var safe = false ;
try {
var arr = [ 7 ]
2016-08-17 18:29:53 +00:00
, iter = arr [ ITERATOR ] ( ) ;
iter . next = function ( ) { return { done : safe = true } ; } ;
arr [ ITERATOR ] = function ( ) { return iter ; } ;
2015-08-15 01:28:21 +00:00
exec ( arr ) ;
} catch ( e ) { /* empty */ }
return safe ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 120 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
'use strict' ;
var $export = _ _webpack _require _ _ ( 7 ) ;
// WebKit Array.of isn't generic
$export ( $export . S + $export . F * _ _webpack _require _ _ ( 13 ) ( function ( ) {
function F ( ) { }
return ! ( Array . of . call ( F ) instanceof F ) ;
} ) , 'Array' , {
2015-08-15 01:28:21 +00:00
// 22.1.2.3 Array.of( ...items)
of : function of ( /* ...args */ ) {
var index = 0
2016-08-17 18:29:53 +00:00
, $$ = arguments
, $$len = $$ . length
, result = new ( typeof this == 'function' ? this : Array ) ( $$len ) ;
while ( $$len > index ) result [ index ] = $$ [ index ++ ] ;
result . length = $$len ;
2015-08-15 01:28:21 +00:00
return result ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 121 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
'use strict' ;
var addToUnscopables = _ _webpack _require _ _ ( 122 )
, step = _ _webpack _require _ _ ( 123 )
, Iterators = _ _webpack _require _ _ ( 104 )
, toIObject = _ _webpack _require _ _ ( 27 ) ;
2015-08-15 01:28:21 +00:00
// 22.1.3.4 Array.prototype.entries()
// 22.1.3.13 Array.prototype.keys()
// 22.1.3.29 Array.prototype.values()
// 22.1.3.30 Array.prototype[@@iterator]()
2016-08-17 18:29:53 +00:00
module . exports = _ _webpack _require _ _ ( 103 ) ( Array , 'Array' , function ( iterated , kind ) {
this . _t = toIObject ( iterated ) ; // target
this . _i = 0 ; // next index
this . _k = kind ; // kind
2015-08-15 01:28:21 +00:00
// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
} , function ( ) {
var O = this . _t
, kind = this . _k
, index = this . _i ++ ;
if ( ! O || index >= O . length ) {
this . _t = undefined ;
return step ( 1 ) ;
}
if ( kind == 'keys' ) return step ( 0 , index ) ;
if ( kind == 'values' ) return step ( 0 , O [ index ] ) ;
return step ( 0 , [ index , O [ index ] ] ) ;
} , 'values' ) ;
// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
Iterators . Arguments = Iterators . Array ;
2016-08-17 18:29:53 +00:00
addToUnscopables ( 'keys' ) ;
addToUnscopables ( 'values' ) ;
addToUnscopables ( 'entries' ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 122 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 22.1.3.31 Array.prototype[@@unscopables]
2016-08-17 18:29:53 +00:00
var UNSCOPABLES = _ _webpack _require _ _ ( 35 ) ( 'unscopables' )
, ArrayProto = Array . prototype ;
if ( ArrayProto [ UNSCOPABLES ] == undefined ) _ _webpack _require _ _ ( 10 ) ( ArrayProto , UNSCOPABLES , { } ) ;
2015-08-15 01:28:21 +00:00
module . exports = function ( key ) {
2016-08-17 18:29:53 +00:00
ArrayProto [ UNSCOPABLES ] [ key ] = true ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 123 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports ) {
module . exports = function ( done , value ) {
return { value : value , done : ! ! done } ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 124 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 125 ) ( 'Array' ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 125 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
'use strict' ;
var global = _ _webpack _require _ _ ( 8 )
, $ = _ _webpack _require _ _ ( 6 )
, DESCRIPTORS = _ _webpack _require _ _ ( 12 )
, SPECIES = _ _webpack _require _ _ ( 35 ) ( 'species' ) ;
module . exports = function ( KEY ) {
var C = global [ KEY ] ;
if ( DESCRIPTORS && C && ! C [ SPECIES ] ) $ . setDesc ( C , SPECIES , {
2015-08-15 01:28:21 +00:00
configurable : true ,
get : function ( ) { return this ; }
} ) ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 126 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
var $export = _ _webpack _require _ _ ( 7 ) ;
$export ( $export . P , 'Array' , { copyWithin : _ _webpack _require _ _ ( 127 ) } ) ;
_ _webpack _require _ _ ( 122 ) ( 'copyWithin' ) ;
/***/ } ,
/* 127 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
2015-08-15 01:28:21 +00:00
'use strict' ;
2016-08-17 18:29:53 +00:00
var toObject = _ _webpack _require _ _ ( 25 )
2015-08-15 01:28:21 +00:00
, toIndex = _ _webpack _require _ _ ( 30 )
2016-08-17 18:29:53 +00:00
, toLength = _ _webpack _require _ _ ( 31 ) ;
module . exports = [ ] . copyWithin || function copyWithin ( target /*= 0*/ , start /*= 0, end = @length*/ ) {
var O = toObject ( this )
, len = toLength ( O . length )
, to = toIndex ( target , len )
, from = toIndex ( start , len )
, $$ = arguments
, end = $$ . length > 2 ? $$ [ 2 ] : undefined
, count = Math . min ( ( end === undefined ? len : toIndex ( end , len ) ) - from , len - to )
, inc = 1 ;
if ( from < to && to < from + count ) {
inc = - 1 ;
from += count - 1 ;
to += count - 1 ;
}
while ( count -- > 0 ) {
if ( from in O ) O [ to ] = O [ from ] ;
else delete O [ to ] ;
to += inc ;
from += inc ;
} return O ;
} ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 128 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
var $export = _ _webpack _require _ _ ( 7 ) ;
$export ( $export . P , 'Array' , { fill : _ _webpack _require _ _ ( 129 ) } ) ;
_ _webpack _require _ _ ( 122 ) ( 'fill' ) ;
/***/ } ,
/* 129 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
2015-08-15 01:28:21 +00:00
'use strict' ;
2016-08-17 18:29:53 +00:00
var toObject = _ _webpack _require _ _ ( 25 )
2015-08-15 01:28:21 +00:00
, toIndex = _ _webpack _require _ _ ( 30 )
2016-08-17 18:29:53 +00:00
, toLength = _ _webpack _require _ _ ( 31 ) ;
module . exports = [ ] . fill || function fill ( value /*, start = 0, end = @length */ ) {
var O = toObject ( this )
, length = toLength ( O . length )
, $$ = arguments
, $$len = $$ . length
, index = toIndex ( $$len > 1 ? $$ [ 1 ] : undefined , length )
, end = $$len > 2 ? $$ [ 2 ] : undefined
, endPos = end === undefined ? length : toIndex ( end , length ) ;
while ( endPos > index ) O [ index ++ ] = value ;
return O ;
} ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 130 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, $find = _ _webpack _require _ _ ( 32 ) ( 5 )
, KEY = 'find'
, forced = true ;
2015-08-15 01:28:21 +00:00
// Shouldn't skip holes
if ( KEY in [ ] ) Array ( 1 ) [ KEY ] ( function ( ) { forced = false ; } ) ;
2016-08-17 18:29:53 +00:00
$export ( $export . P + $export . F * forced , 'Array' , {
2015-08-15 01:28:21 +00:00
find : function find ( callbackfn /*, that = undefined */ ) {
2016-08-17 18:29:53 +00:00
return $find ( this , callbackfn , arguments . length > 1 ? arguments [ 1 ] : undefined ) ;
2015-08-15 01:28:21 +00:00
}
} ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 122 ) ( KEY ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 131 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, $find = _ _webpack _require _ _ ( 32 ) ( 6 )
, KEY = 'findIndex'
, forced = true ;
2015-08-15 01:28:21 +00:00
// Shouldn't skip holes
if ( KEY in [ ] ) Array ( 1 ) [ KEY ] ( function ( ) { forced = false ; } ) ;
2016-08-17 18:29:53 +00:00
$export ( $export . P + $export . F * forced , 'Array' , {
2015-08-15 01:28:21 +00:00
findIndex : function findIndex ( callbackfn /*, that = undefined */ ) {
2016-08-17 18:29:53 +00:00
return $find ( this , callbackfn , arguments . length > 1 ? arguments [ 1 ] : undefined ) ;
2015-08-15 01:28:21 +00:00
}
} ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 122 ) ( KEY ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 132 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
var $ = _ _webpack _require _ _ ( 6 )
, global = _ _webpack _require _ _ ( 8 )
, isRegExp = _ _webpack _require _ _ ( 109 )
, $flags = _ _webpack _require _ _ ( 133 )
, $RegExp = global . RegExp
, Base = $RegExp
, proto = $RegExp . prototype
, re1 = /a/g
, re2 = /a/g
// "new" creates a new object, old webkit buggy here
, CORRECT _NEW = new $RegExp ( re1 ) !== re1 ;
if ( _ _webpack _require _ _ ( 12 ) && ( ! CORRECT _NEW || _ _webpack _require _ _ ( 13 ) ( function ( ) {
re2 [ _ _webpack _require _ _ ( 35 ) ( 'match' ) ] = false ;
// RegExp constructor can alter flags and IsRegExp works correct with @@match
return $RegExp ( re1 ) != re1 || $RegExp ( re2 ) == re2 || $RegExp ( re1 , 'i' ) != '/a/i' ;
} ) ) ) {
$RegExp = function RegExp ( p , f ) {
var piRE = isRegExp ( p )
, fiU = f === undefined ;
return ! ( this instanceof $RegExp ) && piRE && p . constructor === $RegExp && fiU ? p
: CORRECT _NEW
? new Base ( piRE && ! fiU ? p . source : p , f )
: Base ( ( piRE = p instanceof $RegExp ) ? p . source : p , piRE && fiU ? $flags . call ( p ) : f ) ;
} ;
$ . each . call ( $ . getNames ( Base ) , function ( key ) {
key in $RegExp || $ . setDesc ( $RegExp , key , {
configurable : true ,
get : function ( ) { return Base [ key ] ; } ,
set : function ( it ) { Base [ key ] = it ; }
2015-08-15 01:28:21 +00:00
} ) ;
2016-08-17 18:29:53 +00:00
} ) ;
proto . constructor = $RegExp ;
$RegExp . prototype = proto ;
_ _webpack _require _ _ ( 14 ) ( global , 'RegExp' , $RegExp ) ;
2015-08-15 01:28:21 +00:00
}
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 125 ) ( 'RegExp' ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 133 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
'use strict' ;
// 21.2.5.3 get RegExp.prototype.flags
var anObject = _ _webpack _require _ _ ( 24 ) ;
module . exports = function ( ) {
2015-08-15 01:28:21 +00:00
var that = anObject ( this )
, result = '' ;
2016-08-17 18:29:53 +00:00
if ( that . global ) result += 'g' ;
if ( that . ignoreCase ) result += 'i' ;
if ( that . multiline ) result += 'm' ;
if ( that . unicode ) result += 'u' ;
if ( that . sticky ) result += 'y' ;
2015-08-15 01:28:21 +00:00
return result ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 134 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 21.2.5.3 get RegExp.prototype.flags()
var $ = _ _webpack _require _ _ ( 6 ) ;
2016-08-17 18:29:53 +00:00
if ( _ _webpack _require _ _ ( 12 ) && /./g . flags != 'g' ) $ . setDesc ( RegExp . prototype , 'flags' , {
2015-08-15 01:28:21 +00:00
configurable : true ,
2016-08-17 18:29:53 +00:00
get : _ _webpack _require _ _ ( 133 )
2015-08-15 01:28:21 +00:00
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 135 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// @@match logic
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 136 ) ( 'match' , 1 , function ( defined , MATCH ) {
2015-08-15 01:28:21 +00:00
// 21.1.3.11 String.prototype.match(regexp)
return function match ( regexp ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var O = defined ( this )
, fn = regexp == undefined ? undefined : regexp [ MATCH ] ;
return fn !== undefined ? fn . call ( regexp , O ) : new RegExp ( regexp ) [ MATCH ] ( String ( O ) ) ;
2015-08-15 01:28:21 +00:00
} ;
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 136 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var hide = _ _webpack _require _ _ ( 10 )
, redefine = _ _webpack _require _ _ ( 14 )
, fails = _ _webpack _require _ _ ( 13 )
, defined = _ _webpack _require _ _ ( 26 )
, wks = _ _webpack _require _ _ ( 35 ) ;
2015-08-15 01:28:21 +00:00
module . exports = function ( KEY , length , exec ) {
2016-08-17 18:29:53 +00:00
var SYMBOL = wks ( KEY )
2015-08-15 01:28:21 +00:00
, original = '' [ KEY ] ;
2016-08-17 18:29:53 +00:00
if ( fails ( function ( ) {
var O = { } ;
O [ SYMBOL ] = function ( ) { return 7 ; } ;
return '' [ KEY ] ( O ) != 7 ;
} ) ) {
redefine ( String . prototype , KEY , exec ( defined , SYMBOL , original ) ) ;
hide ( RegExp . prototype , SYMBOL , length == 2
2015-08-15 01:28:21 +00:00
// 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
// 21.2.5.11 RegExp.prototype[@@split](string, limit)
? function ( string , arg ) { return original . call ( string , this , arg ) ; }
// 21.2.5.6 RegExp.prototype[@@match](string)
// 21.2.5.9 RegExp.prototype[@@search](string)
: function ( string ) { return original . call ( string , this ) ; }
) ;
}
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 137 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// @@replace logic
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 136 ) ( 'replace' , 2 , function ( defined , REPLACE , $replace ) {
2015-08-15 01:28:21 +00:00
// 21.1.3.14 String.prototype.replace(searchValue, replaceValue)
return function replace ( searchValue , replaceValue ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var O = defined ( this )
, fn = searchValue == undefined ? undefined : searchValue [ REPLACE ] ;
2015-08-15 01:28:21 +00:00
return fn !== undefined
2016-08-17 18:29:53 +00:00
? fn . call ( searchValue , O , replaceValue )
: $replace . call ( String ( O ) , searchValue , replaceValue ) ;
2015-08-15 01:28:21 +00:00
} ;
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 138 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// @@search logic
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 136 ) ( 'search' , 1 , function ( defined , SEARCH ) {
2015-08-15 01:28:21 +00:00
// 21.1.3.15 String.prototype.search(regexp)
return function search ( regexp ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var O = defined ( this )
, fn = regexp == undefined ? undefined : regexp [ SEARCH ] ;
return fn !== undefined ? fn . call ( regexp , O ) : new RegExp ( regexp ) [ SEARCH ] ( String ( O ) ) ;
2015-08-15 01:28:21 +00:00
} ;
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 139 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// @@split logic
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 136 ) ( 'split' , 2 , function ( defined , SPLIT , $split ) {
2015-08-15 01:28:21 +00:00
// 21.1.3.17 String.prototype.split(separator, limit)
return function split ( separator , limit ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var O = defined ( this )
, fn = separator == undefined ? undefined : separator [ SPLIT ] ;
return fn !== undefined
? fn . call ( separator , O , limit )
: $split . call ( String ( O ) , separator , limit ) ;
2015-08-15 01:28:21 +00:00
} ;
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 140 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
var $ = _ _webpack _require _ _ ( 6 )
2016-08-17 18:29:53 +00:00
, LIBRARY = _ _webpack _require _ _ ( 43 )
, global = _ _webpack _require _ _ ( 8 )
, ctx = _ _webpack _require _ _ ( 16 )
, classof = _ _webpack _require _ _ ( 51 )
, $export = _ _webpack _require _ _ ( 7 )
, isObject = _ _webpack _require _ _ ( 20 )
, anObject = _ _webpack _require _ _ ( 24 )
, aFunction = _ _webpack _require _ _ ( 17 )
, strictNew = _ _webpack _require _ _ ( 141 )
, forOf = _ _webpack _require _ _ ( 142 )
, setProto = _ _webpack _require _ _ ( 49 ) . set
, same = _ _webpack _require _ _ ( 47 )
, SPECIES = _ _webpack _require _ _ ( 35 ) ( 'species' )
, speciesConstructor = _ _webpack _require _ _ ( 143 )
, asap = _ _webpack _require _ _ ( 144 )
2015-08-15 01:28:21 +00:00
, PROMISE = 'Promise'
, process = global . process
, isNode = classof ( process ) == 'process'
, P = global [ PROMISE ]
2016-08-17 18:29:53 +00:00
, empty = function ( ) { /* empty */ }
2015-08-15 01:28:21 +00:00
, Wrapper ;
2016-08-17 18:29:53 +00:00
var testResolve = function ( sub ) {
var test = new P ( empty ) , promise ;
if ( sub ) test . constructor = function ( exec ) {
exec ( empty , empty ) ;
} ;
( promise = P . resolve ( test ) ) [ 'catch' ] ( empty ) ;
return promise === test ;
} ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
var USE _NATIVE = function ( ) {
2015-08-15 01:28:21 +00:00
var works = false ;
function P2 ( x ) {
var self = new P ( x ) ;
setProto ( self , P2 . prototype ) ;
return self ;
}
try {
works = P && P . resolve && testResolve ( ) ;
setProto ( P2 , P ) ;
P2 . prototype = $ . create ( P . prototype , { constructor : { value : P2 } } ) ;
// actual Firefox has broken subclass support, test that
if ( ! ( P2 . resolve ( 5 ) . then ( function ( ) { } ) instanceof P2 ) ) {
works = false ;
}
// actual V8 bug, https://code.google.com/p/v8/issues/detail?id=4162
2016-08-17 18:29:53 +00:00
if ( works && _ _webpack _require _ _ ( 12 ) ) {
2015-08-15 01:28:21 +00:00
var thenableThenGotten = false ;
P . resolve ( $ . setDesc ( { } , 'then' , {
get : function ( ) { thenableThenGotten = true ; }
} ) ) ;
works = thenableThenGotten ;
}
} catch ( e ) { works = false ; }
return works ;
} ( ) ;
// helpers
2016-08-17 18:29:53 +00:00
var sameConstructor = function ( a , b ) {
2015-08-15 01:28:21 +00:00
// library wrapper special case
if ( LIBRARY && a === P && b === Wrapper ) return true ;
return same ( a , b ) ;
2016-08-17 18:29:53 +00:00
} ;
var getConstructor = function ( C ) {
2015-08-15 01:28:21 +00:00
var S = anObject ( C ) [ SPECIES ] ;
return S != undefined ? S : C ;
2016-08-17 18:29:53 +00:00
} ;
var isThenable = function ( it ) {
2015-08-15 01:28:21 +00:00
var then ;
return isObject ( it ) && typeof ( then = it . then ) == 'function' ? then : false ;
2016-08-17 18:29:53 +00:00
} ;
var PromiseCapability = function ( C ) {
var resolve , reject ;
this . promise = new C ( function ( $$resolve , $$reject ) {
if ( resolve !== undefined || reject !== undefined ) throw TypeError ( 'Bad Promise constructor' ) ;
resolve = $$resolve ;
reject = $$reject ;
} ) ;
this . resolve = aFunction ( resolve ) ,
this . reject = aFunction ( reject )
} ;
var perform = function ( exec ) {
try {
exec ( ) ;
} catch ( e ) {
return { error : e } ;
}
} ;
var notify = function ( record , isReject ) {
2015-08-15 01:28:21 +00:00
if ( record . n ) return ;
record . n = true ;
var chain = record . c ;
2016-08-17 18:29:53 +00:00
asap ( function ( ) {
2015-08-15 01:28:21 +00:00
var value = record . v
, ok = record . s == 1
, i = 0 ;
2016-08-17 18:29:53 +00:00
var run = function ( reaction ) {
var handler = ok ? reaction . ok : reaction . fail
, resolve = reaction . resolve
, reject = reaction . reject
, result , then ;
2015-08-15 01:28:21 +00:00
try {
2016-08-17 18:29:53 +00:00
if ( handler ) {
2015-08-15 01:28:21 +00:00
if ( ! ok ) record . h = true ;
2016-08-17 18:29:53 +00:00
result = handler === true ? value : handler ( value ) ;
if ( result === reaction . promise ) {
reject ( TypeError ( 'Promise-chain cycle' ) ) ;
} else if ( then = isThenable ( result ) ) {
then . call ( result , resolve , reject ) ;
} else resolve ( result ) ;
} else reject ( value ) ;
} catch ( e ) {
reject ( e ) ;
2015-08-15 01:28:21 +00:00
}
2016-08-17 18:29:53 +00:00
} ;
2015-08-15 01:28:21 +00:00
while ( chain . length > i ) run ( chain [ i ++ ] ) ; // variable length - can't use forEach
chain . length = 0 ;
record . n = false ;
if ( isReject ) setTimeout ( function ( ) {
2016-08-17 18:29:53 +00:00
var promise = record . p
, handler , console ;
if ( isUnhandled ( promise ) ) {
if ( isNode ) {
process . emit ( 'unhandledRejection' , value , promise ) ;
} else if ( handler = global . onunhandledrejection ) {
handler ( { promise : promise , reason : value } ) ;
} else if ( ( console = global . console ) && console . error ) {
console . error ( 'Unhandled promise rejection' , value ) ;
2015-08-15 01:28:21 +00:00
}
2016-08-17 18:29:53 +00:00
} record . a = undefined ;
2015-08-15 01:28:21 +00:00
} , 1 ) ;
} ) ;
2016-08-17 18:29:53 +00:00
} ;
var isUnhandled = function ( promise ) {
var record = promise . _d
2015-08-15 01:28:21 +00:00
, chain = record . a || record . c
, i = 0
2016-08-17 18:29:53 +00:00
, reaction ;
2015-08-15 01:28:21 +00:00
if ( record . h ) return false ;
while ( chain . length > i ) {
2016-08-17 18:29:53 +00:00
reaction = chain [ i ++ ] ;
if ( reaction . fail || ! isUnhandled ( reaction . promise ) ) return false ;
2015-08-15 01:28:21 +00:00
} return true ;
2016-08-17 18:29:53 +00:00
} ;
var $reject = function ( value ) {
2015-08-15 01:28:21 +00:00
var record = this ;
if ( record . d ) return ;
record . d = true ;
record = record . r || record ; // unwrap
record . v = value ;
record . s = 2 ;
record . a = record . c . slice ( ) ;
notify ( record , true ) ;
2016-08-17 18:29:53 +00:00
} ;
var $resolve = function ( value ) {
2015-08-15 01:28:21 +00:00
var record = this
, then ;
if ( record . d ) return ;
record . d = true ;
record = record . r || record ; // unwrap
try {
2016-08-17 18:29:53 +00:00
if ( record . p === value ) throw TypeError ( "Promise can't be resolved itself" ) ;
2015-08-15 01:28:21 +00:00
if ( then = isThenable ( value ) ) {
2016-08-17 18:29:53 +00:00
asap ( function ( ) {
2015-08-15 01:28:21 +00:00
var wrapper = { r : record , d : false } ; // wrap
try {
then . call ( value , ctx ( $resolve , wrapper , 1 ) , ctx ( $reject , wrapper , 1 ) ) ;
} catch ( e ) {
$reject . call ( wrapper , e ) ;
}
} ) ;
} else {
record . v = value ;
record . s = 1 ;
notify ( record , false ) ;
}
} catch ( e ) {
$reject . call ( { r : record , d : false } , e ) ; // wrap
}
2016-08-17 18:29:53 +00:00
} ;
2015-08-15 01:28:21 +00:00
// constructor polyfill
2016-08-17 18:29:53 +00:00
if ( ! USE _NATIVE ) {
2015-08-15 01:28:21 +00:00
// 25.4.3.1 Promise(executor)
P = function Promise ( executor ) {
aFunction ( executor ) ;
2016-08-17 18:29:53 +00:00
var record = this . _d = {
2015-08-15 01:28:21 +00:00
p : strictNew ( this , P , PROMISE ) , // <- promise
c : [ ] , // <- awaiting reactions
a : undefined , // <- checked in isUnhandled reactions
s : 0 , // <- state
d : false , // <- done
v : undefined , // <- value
h : false , // <- handled rejection
n : false // <- notify
} ;
try {
executor ( ctx ( $resolve , record , 1 ) , ctx ( $reject , record , 1 ) ) ;
} catch ( err ) {
$reject . call ( record , err ) ;
}
} ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 146 ) ( P . prototype , {
2015-08-15 01:28:21 +00:00
// 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
then : function then ( onFulfilled , onRejected ) {
2016-08-17 18:29:53 +00:00
var reaction = new PromiseCapability ( speciesConstructor ( this , P ) )
, promise = reaction . promise
, record = this . _d ;
reaction . ok = typeof onFulfilled == 'function' ? onFulfilled : true ;
reaction . fail = typeof onRejected == 'function' && onRejected ;
record . c . push ( reaction ) ;
if ( record . a ) record . a . push ( reaction ) ;
2015-08-15 01:28:21 +00:00
if ( record . s ) notify ( record , false ) ;
return promise ;
} ,
// 25.4.5.1 Promise.prototype.catch(onRejected)
'catch' : function ( onRejected ) {
return this . then ( undefined , onRejected ) ;
}
} ) ;
}
2016-08-17 18:29:53 +00:00
$export ( $export . G + $export . W + $export . F * ! USE _NATIVE , { Promise : P } ) ;
_ _webpack _require _ _ ( 39 ) ( P , PROMISE ) ;
_ _webpack _require _ _ ( 125 ) ( PROMISE ) ;
Wrapper = _ _webpack _require _ _ ( 9 ) [ PROMISE ] ;
2015-08-15 01:28:21 +00:00
// statics
2016-08-17 18:29:53 +00:00
$export ( $export . S + $export . F * ! USE _NATIVE , PROMISE , {
2015-08-15 01:28:21 +00:00
// 25.4.4.5 Promise.reject(r)
reject : function reject ( r ) {
2016-08-17 18:29:53 +00:00
var capability = new PromiseCapability ( this )
, $$reject = capability . reject ;
$$reject ( r ) ;
return capability . promise ;
2015-08-15 01:28:21 +00:00
}
} ) ;
2016-08-17 18:29:53 +00:00
$export ( $export . S + $export . F * ( ! USE _NATIVE || testResolve ( true ) ) , PROMISE , {
2015-08-15 01:28:21 +00:00
// 25.4.4.6 Promise.resolve(x)
resolve : function resolve ( x ) {
2016-08-17 18:29:53 +00:00
// instanceof instead of internal slot check because we should fix it without replacement native Promise core
if ( x instanceof P && sameConstructor ( x . constructor , this ) ) return x ;
var capability = new PromiseCapability ( this )
, $$resolve = capability . resolve ;
$$resolve ( x ) ;
return capability . promise ;
2015-08-15 01:28:21 +00:00
}
} ) ;
2016-08-17 18:29:53 +00:00
$export ( $export . S + $export . F * ! ( USE _NATIVE && _ _webpack _require _ _ ( 119 ) ( function ( iter ) {
2015-08-15 01:28:21 +00:00
P . all ( iter ) [ 'catch' ] ( function ( ) { } ) ;
} ) ) , PROMISE , {
// 25.4.4.1 Promise.all(iterable)
all : function all ( iterable ) {
2016-08-17 18:29:53 +00:00
var C = getConstructor ( this )
, capability = new PromiseCapability ( C )
, resolve = capability . resolve
, reject = capability . reject
, values = [ ] ;
var abrupt = perform ( function ( ) {
2015-08-15 01:28:21 +00:00
forOf ( iterable , false , values . push , values ) ;
var remaining = values . length
, results = Array ( remaining ) ;
if ( remaining ) $ . each . call ( values , function ( promise , index ) {
2016-08-17 18:29:53 +00:00
var alreadyCalled = false ;
2015-08-15 01:28:21 +00:00
C . resolve ( promise ) . then ( function ( value ) {
2016-08-17 18:29:53 +00:00
if ( alreadyCalled ) return ;
alreadyCalled = true ;
2015-08-15 01:28:21 +00:00
results [ index ] = value ;
2016-08-17 18:29:53 +00:00
-- remaining || resolve ( results ) ;
} , reject ) ;
2015-08-15 01:28:21 +00:00
} ) ;
2016-08-17 18:29:53 +00:00
else resolve ( results ) ;
2015-08-15 01:28:21 +00:00
} ) ;
2016-08-17 18:29:53 +00:00
if ( abrupt ) reject ( abrupt . error ) ;
return capability . promise ;
2015-08-15 01:28:21 +00:00
} ,
// 25.4.4.4 Promise.race(iterable)
race : function race ( iterable ) {
2016-08-17 18:29:53 +00:00
var C = getConstructor ( this )
, capability = new PromiseCapability ( C )
, reject = capability . reject ;
var abrupt = perform ( function ( ) {
2015-08-15 01:28:21 +00:00
forOf ( iterable , false , function ( promise ) {
2016-08-17 18:29:53 +00:00
C . resolve ( promise ) . then ( capability . resolve , reject ) ;
2015-08-15 01:28:21 +00:00
} ) ;
} ) ;
2016-08-17 18:29:53 +00:00
if ( abrupt ) reject ( abrupt . error ) ;
return capability . promise ;
2015-08-15 01:28:21 +00:00
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 141 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports ) {
module . exports = function ( it , Constructor , name ) {
if ( ! ( it instanceof Constructor ) ) throw TypeError ( name + ": use the 'new' operator!" ) ;
return it ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 142 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
var ctx = _ _webpack _require _ _ ( 16 )
, call = _ _webpack _require _ _ ( 116 )
, isArrayIter = _ _webpack _require _ _ ( 117 )
, anObject = _ _webpack _require _ _ ( 24 )
, toLength = _ _webpack _require _ _ ( 31 )
, getIterFn = _ _webpack _require _ _ ( 118 ) ;
2015-08-15 01:28:21 +00:00
module . exports = function ( iterable , entries , fn , that ) {
var iterFn = getIterFn ( iterable )
, f = ctx ( fn , that , entries ? 2 : 1 )
, index = 0
, length , step , iterator ;
if ( typeof iterFn != 'function' ) throw TypeError ( iterable + ' is not iterable!' ) ;
// fast case for arrays with default iterator
if ( isArrayIter ( iterFn ) ) for ( length = toLength ( iterable . length ) ; length > index ; index ++ ) {
entries ? f ( anObject ( step = iterable [ index ] ) [ 0 ] , step [ 1 ] ) : f ( iterable [ index ] ) ;
} else for ( iterator = iterFn . call ( iterable ) ; ! ( step = iterator . next ( ) ) . done ; ) {
call ( iterator , f , step . value , entries ) ;
}
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 143 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// 7.3.20 SpeciesConstructor(O, defaultConstructor)
var anObject = _ _webpack _require _ _ ( 24 )
, aFunction = _ _webpack _require _ _ ( 17 )
, SPECIES = _ _webpack _require _ _ ( 35 ) ( 'species' ) ;
module . exports = function ( O , D ) {
var C = anObject ( O ) . constructor , S ;
return C === undefined || ( S = anObject ( C ) [ SPECIES ] ) == undefined ? D : aFunction ( S ) ;
} ;
/***/ } ,
/* 144 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
var global = _ _webpack _require _ _ ( 8 )
, macrotask = _ _webpack _require _ _ ( 145 ) . set
, Observer = global . MutationObserver || global . WebKitMutationObserver
, process = global . process
, Promise = global . Promise
, isNode = _ _webpack _require _ _ ( 22 ) ( process ) == 'process'
, head , last , notify ;
var flush = function ( ) {
var parent , domain , fn ;
if ( isNode && ( parent = process . domain ) ) {
process . domain = null ;
parent . exit ( ) ;
}
while ( head ) {
domain = head . domain ;
fn = head . fn ;
if ( domain ) domain . enter ( ) ;
fn ( ) ; // <- currently we use it only for Promise - try / catch not required
if ( domain ) domain . exit ( ) ;
head = head . next ;
} last = undefined ;
if ( parent ) parent . enter ( ) ;
} ;
// Node.js
if ( isNode ) {
notify = function ( ) {
process . nextTick ( flush ) ;
} ;
// browsers with MutationObserver
} else if ( Observer ) {
var toggle = 1
, node = document . createTextNode ( '' ) ;
new Observer ( flush ) . observe ( node , { characterData : true } ) ; // eslint-disable-line no-new
notify = function ( ) {
node . data = toggle = - toggle ;
} ;
// environments with maybe non-completely correct, but existent Promise
} else if ( Promise && Promise . resolve ) {
notify = function ( ) {
Promise . resolve ( ) . then ( flush ) ;
} ;
// for other environments - macrotask based on:
// - setImmediate
// - MessageChannel
// - window.postMessag
// - onreadystatechange
// - setTimeout
} else {
notify = function ( ) {
// strange IE + webpack dev server bug - use .call(global)
macrotask . call ( global , flush ) ;
} ;
}
module . exports = function asap ( fn ) {
var task = { fn : fn , next : undefined , domain : isNode && process . domain } ;
if ( last ) last . next = task ;
if ( ! head ) {
head = task ;
notify ( ) ;
} last = task ;
} ;
/***/ } ,
/* 145 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
var ctx = _ _webpack _require _ _ ( 16 )
, invoke = _ _webpack _require _ _ ( 23 )
, html = _ _webpack _require _ _ ( 18 )
, cel = _ _webpack _require _ _ ( 19 )
, global = _ _webpack _require _ _ ( 8 )
2015-08-15 01:28:21 +00:00
, process = global . process
, setTask = global . setImmediate
, clearTask = global . clearImmediate
, MessageChannel = global . MessageChannel
, counter = 0
, queue = { }
, ONREADYSTATECHANGE = 'onreadystatechange'
, defer , channel , port ;
2016-08-17 18:29:53 +00:00
var run = function ( ) {
2015-08-15 01:28:21 +00:00
var id = + this ;
if ( queue . hasOwnProperty ( id ) ) {
var fn = queue [ id ] ;
delete queue [ id ] ;
fn ( ) ;
}
2016-08-17 18:29:53 +00:00
} ;
var listner = function ( event ) {
2015-08-15 01:28:21 +00:00
run . call ( event . data ) ;
2016-08-17 18:29:53 +00:00
} ;
2015-08-15 01:28:21 +00:00
// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
if ( ! setTask || ! clearTask ) {
setTask = function setImmediate ( fn ) {
var args = [ ] , i = 1 ;
while ( arguments . length > i ) args . push ( arguments [ i ++ ] ) ;
queue [ ++ counter ] = function ( ) {
invoke ( typeof fn == 'function' ? fn : Function ( fn ) , args ) ;
} ;
defer ( counter ) ;
return counter ;
} ;
clearTask = function clearImmediate ( id ) {
delete queue [ id ] ;
} ;
// Node.js 0.8-
2016-08-17 18:29:53 +00:00
if ( _ _webpack _require _ _ ( 22 ) ( process ) == 'process' ) {
2015-08-15 01:28:21 +00:00
defer = function ( id ) {
process . nextTick ( ctx ( run , id , 1 ) ) ;
} ;
2016-08-17 18:29:53 +00:00
// Browsers with MessageChannel, includes WebWorkers
2015-08-15 01:28:21 +00:00
} else if ( MessageChannel ) {
channel = new MessageChannel ;
port = channel . port2 ;
channel . port1 . onmessage = listner ;
defer = ctx ( port . postMessage , port , 1 ) ;
2016-08-17 18:29:53 +00:00
// Browsers with postMessage, skip WebWorkers
// IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
} else if ( global . addEventListener && typeof postMessage == 'function' && ! global . importScripts ) {
defer = function ( id ) {
global . postMessage ( id + '' , '*' ) ;
} ;
global . addEventListener ( 'message' , listner , false ) ;
2015-08-15 01:28:21 +00:00
// IE8-
} else if ( ONREADYSTATECHANGE in cel ( 'script' ) ) {
defer = function ( id ) {
html . appendChild ( cel ( 'script' ) ) [ ONREADYSTATECHANGE ] = function ( ) {
html . removeChild ( this ) ;
run . call ( id ) ;
} ;
} ;
// Rest old browsers
} else {
defer = function ( id ) {
setTimeout ( ctx ( run , id , 1 ) , 0 ) ;
} ;
}
}
module . exports = {
set : setTask ,
clear : clearTask
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 146 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
var redefine = _ _webpack _require _ _ ( 14 ) ;
2015-08-15 01:28:21 +00:00
module . exports = function ( target , src ) {
2016-08-17 18:29:53 +00:00
for ( var key in src ) redefine ( target , key , src [ key ] ) ;
2015-08-15 01:28:21 +00:00
return target ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 147 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var strong = _ _webpack _require _ _ ( 148 ) ;
2015-08-15 01:28:21 +00:00
// 23.1 Map Objects
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 149 ) ( 'Map' , function ( get ) {
return function Map ( ) { return get ( this , arguments . length > 0 ? arguments [ 0 ] : undefined ) ; } ;
2015-08-15 01:28:21 +00:00
} , {
// 23.1.3.6 Map.prototype.get(key)
get : function get ( key ) {
var entry = strong . getEntry ( this , key ) ;
return entry && entry . v ;
} ,
// 23.1.3.9 Map.prototype.set(key, value)
set : function set ( key , value ) {
return strong . def ( this , key === 0 ? 0 : key , value ) ;
}
} , strong , true ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 148 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
var $ = _ _webpack _require _ _ ( 6 )
2016-08-17 18:29:53 +00:00
, hide = _ _webpack _require _ _ ( 10 )
, redefineAll = _ _webpack _require _ _ ( 146 )
, ctx = _ _webpack _require _ _ ( 16 )
, strictNew = _ _webpack _require _ _ ( 141 )
, defined = _ _webpack _require _ _ ( 26 )
, forOf = _ _webpack _require _ _ ( 142 )
, $iterDefine = _ _webpack _require _ _ ( 103 )
, step = _ _webpack _require _ _ ( 123 )
, ID = _ _webpack _require _ _ ( 15 ) ( 'id' )
, $has = _ _webpack _require _ _ ( 21 )
, isObject = _ _webpack _require _ _ ( 20 )
, setSpecies = _ _webpack _require _ _ ( 125 )
, DESCRIPTORS = _ _webpack _require _ _ ( 12 )
2015-08-15 01:28:21 +00:00
, isExtensible = Object . isExtensible || isObject
2016-08-17 18:29:53 +00:00
, SIZE = DESCRIPTORS ? '_s' : 'size'
2015-08-15 01:28:21 +00:00
, id = 0 ;
2016-08-17 18:29:53 +00:00
var fastKey = function ( it , create ) {
2015-08-15 01:28:21 +00:00
// return primitive with prefix
if ( ! isObject ( it ) ) return typeof it == 'symbol' ? it : ( typeof it == 'string' ? 'S' : 'P' ) + it ;
if ( ! $has ( it , ID ) ) {
// can't set id to frozen object
if ( ! isExtensible ( it ) ) return 'F' ;
// not necessary to add id
if ( ! create ) return 'E' ;
// add missing object id
hide ( it , ID , ++ id ) ;
// return object id with prefix
} return 'O' + it [ ID ] ;
2016-08-17 18:29:53 +00:00
} ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
var getEntry = function ( that , key ) {
2015-08-15 01:28:21 +00:00
// fast case
var index = fastKey ( key ) , entry ;
if ( index !== 'F' ) return that . _i [ index ] ;
// frozen object case
for ( entry = that . _f ; entry ; entry = entry . n ) {
if ( entry . k == key ) return entry ;
}
2016-08-17 18:29:53 +00:00
} ;
2015-08-15 01:28:21 +00:00
module . exports = {
getConstructor : function ( wrapper , NAME , IS _MAP , ADDER ) {
var C = wrapper ( function ( that , iterable ) {
strictNew ( that , C , NAME ) ;
that . _i = $ . create ( null ) ; // index
that . _f = undefined ; // first entry
that . _l = undefined ; // last entry
that [ SIZE ] = 0 ; // size
if ( iterable != undefined ) forOf ( iterable , IS _MAP , that [ ADDER ] , that ) ;
} ) ;
2016-08-17 18:29:53 +00:00
redefineAll ( C . prototype , {
2015-08-15 01:28:21 +00:00
// 23.1.3.1 Map.prototype.clear()
// 23.2.3.2 Set.prototype.clear()
clear : function clear ( ) {
for ( var that = this , data = that . _i , entry = that . _f ; entry ; entry = entry . n ) {
entry . r = true ;
if ( entry . p ) entry . p = entry . p . n = undefined ;
delete data [ entry . i ] ;
}
that . _f = that . _l = undefined ;
that [ SIZE ] = 0 ;
} ,
// 23.1.3.3 Map.prototype.delete(key)
// 23.2.3.4 Set.prototype.delete(value)
'delete' : function ( key ) {
var that = this
, entry = getEntry ( that , key ) ;
if ( entry ) {
var next = entry . n
, prev = entry . p ;
delete that . _i [ entry . i ] ;
entry . r = true ;
if ( prev ) prev . n = next ;
if ( next ) next . p = prev ;
if ( that . _f == entry ) that . _f = next ;
if ( that . _l == entry ) that . _l = prev ;
that [ SIZE ] -- ;
} return ! ! entry ;
} ,
// 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
// 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
forEach : function forEach ( callbackfn /*, that = undefined */ ) {
2016-08-17 18:29:53 +00:00
var f = ctx ( callbackfn , arguments . length > 1 ? arguments [ 1 ] : undefined , 3 )
2015-08-15 01:28:21 +00:00
, entry ;
while ( entry = entry ? entry . n : this . _f ) {
f ( entry . v , entry . k , this ) ;
// revert to the last existing entry
while ( entry && entry . r ) entry = entry . p ;
}
} ,
// 23.1.3.7 Map.prototype.has(key)
// 23.2.3.7 Set.prototype.has(value)
has : function has ( key ) {
return ! ! getEntry ( this , key ) ;
}
} ) ;
2016-08-17 18:29:53 +00:00
if ( DESCRIPTORS ) $ . setDesc ( C . prototype , 'size' , {
2015-08-15 01:28:21 +00:00
get : function ( ) {
return defined ( this [ SIZE ] ) ;
}
} ) ;
return C ;
} ,
def : function ( that , key , value ) {
var entry = getEntry ( that , key )
, prev , index ;
// change existing entry
if ( entry ) {
entry . v = value ;
// create new entry
} else {
that . _l = entry = {
i : index = fastKey ( key , true ) , // <- index
k : key , // <- key
v : value , // <- value
p : prev = that . _l , // <- previous entry
n : undefined , // <- next entry
r : false // <- removed
} ;
if ( ! that . _f ) that . _f = entry ;
if ( prev ) prev . n = entry ;
that [ SIZE ] ++ ;
// add to index
if ( index !== 'F' ) that . _i [ index ] = entry ;
} return that ;
} ,
getEntry : getEntry ,
setStrong : function ( C , NAME , IS _MAP ) {
// add .keys, .values, .entries, [@@iterator]
// 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
2016-08-17 18:29:53 +00:00
$iterDefine ( C , NAME , function ( iterated , kind ) {
2015-08-15 01:28:21 +00:00
this . _t = iterated ; // target
this . _k = kind ; // kind
this . _l = undefined ; // previous
} , function ( ) {
var that = this
, kind = that . _k
, entry = that . _l ;
// revert to the last existing entry
while ( entry && entry . r ) entry = entry . p ;
// get next entry
if ( ! that . _t || ! ( that . _l = entry = entry ? entry . n : that . _t . _f ) ) {
// or finish the iteration
that . _t = undefined ;
return step ( 1 ) ;
}
// return step by kind
if ( kind == 'keys' ) return step ( 0 , entry . k ) ;
if ( kind == 'values' ) return step ( 0 , entry . v ) ;
return step ( 0 , [ entry . k , entry . v ] ) ;
} , IS _MAP ? 'entries' : 'values' , ! IS _MAP , true ) ;
// add [@@species], 23.1.2.2, 23.2.2.2
2016-08-17 18:29:53 +00:00
setSpecies ( NAME ) ;
2015-08-15 01:28:21 +00:00
}
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 149 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var global = _ _webpack _require _ _ ( 8 )
, $export = _ _webpack _require _ _ ( 7 )
, redefine = _ _webpack _require _ _ ( 14 )
, redefineAll = _ _webpack _require _ _ ( 146 )
, forOf = _ _webpack _require _ _ ( 142 )
, strictNew = _ _webpack _require _ _ ( 141 )
, isObject = _ _webpack _require _ _ ( 20 )
, fails = _ _webpack _require _ _ ( 13 )
, $iterDetect = _ _webpack _require _ _ ( 119 )
, setToStringTag = _ _webpack _require _ _ ( 39 ) ;
2015-08-15 01:28:21 +00:00
module . exports = function ( NAME , wrapper , methods , common , IS _MAP , IS _WEAK ) {
var Base = global [ NAME ]
, C = Base
, ADDER = IS _MAP ? 'set' : 'add'
, proto = C && C . prototype
, O = { } ;
2016-08-17 18:29:53 +00:00
var fixMethod = function ( KEY ) {
2015-08-15 01:28:21 +00:00
var fn = proto [ KEY ] ;
2016-08-17 18:29:53 +00:00
redefine ( proto , KEY ,
KEY == 'delete' ? function ( a ) {
return IS _WEAK && ! isObject ( a ) ? false : fn . call ( this , a === 0 ? 0 : a ) ;
} : KEY == 'has' ? function has ( a ) {
return IS _WEAK && ! isObject ( a ) ? false : fn . call ( this , a === 0 ? 0 : a ) ;
} : KEY == 'get' ? function get ( a ) {
return IS _WEAK && ! isObject ( a ) ? undefined : fn . call ( this , a === 0 ? 0 : a ) ;
} : KEY == 'add' ? function add ( a ) { fn . call ( this , a === 0 ? 0 : a ) ; return this ; }
: function set ( a , b ) { fn . call ( this , a === 0 ? 0 : a , b ) ; return this ; }
2015-08-15 01:28:21 +00:00
) ;
2016-08-17 18:29:53 +00:00
} ;
if ( typeof C != 'function' || ! ( IS _WEAK || proto . forEach && ! fails ( function ( ) {
new C ( ) . entries ( ) . next ( ) ;
} ) ) ) {
2015-08-15 01:28:21 +00:00
// create collection constructor
C = common . getConstructor ( wrapper , NAME , IS _MAP , ADDER ) ;
2016-08-17 18:29:53 +00:00
redefineAll ( C . prototype , methods ) ;
2015-08-15 01:28:21 +00:00
} else {
2016-08-17 18:29:53 +00:00
var instance = new C
// early implementations not supports chaining
, HASNT _CHAINING = instance [ ADDER ] ( IS _WEAK ? { } : - 0 , 1 ) != instance
// V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
, THROWS _ON _PRIMITIVES = fails ( function ( ) { instance . has ( 1 ) ; } )
// most early implementations doesn't supports iterables, most modern - not close it correctly
, ACCEPT _ITERABLES = $iterDetect ( function ( iter ) { new C ( iter ) ; } ) // eslint-disable-line no-new
// for early implementations -0 and +0 not the same
, BUGGY _ZERO ;
if ( ! ACCEPT _ITERABLES ) {
2015-08-15 01:28:21 +00:00
C = wrapper ( function ( target , iterable ) {
strictNew ( target , C , NAME ) ;
var that = new Base ;
if ( iterable != undefined ) forOf ( iterable , IS _MAP , that [ ADDER ] , that ) ;
return that ;
} ) ;
C . prototype = proto ;
proto . constructor = C ;
}
2016-08-17 18:29:53 +00:00
IS _WEAK || instance . forEach ( function ( val , key ) {
BUGGY _ZERO = 1 / key === - Infinity ;
2015-08-15 01:28:21 +00:00
} ) ;
2016-08-17 18:29:53 +00:00
if ( THROWS _ON _PRIMITIVES || BUGGY _ZERO ) {
2015-08-15 01:28:21 +00:00
fixMethod ( 'delete' ) ;
fixMethod ( 'has' ) ;
IS _MAP && fixMethod ( 'get' ) ;
}
2016-08-17 18:29:53 +00:00
if ( BUGGY _ZERO || HASNT _CHAINING ) fixMethod ( ADDER ) ;
2015-08-15 01:28:21 +00:00
// weak collections should not contains .clear method
if ( IS _WEAK && proto . clear ) delete proto . clear ;
}
2016-08-17 18:29:53 +00:00
setToStringTag ( C , NAME ) ;
2015-08-15 01:28:21 +00:00
O [ NAME ] = C ;
2016-08-17 18:29:53 +00:00
$export ( $export . G + $export . W + $export . F * ( C != Base ) , O ) ;
2015-08-15 01:28:21 +00:00
if ( ! IS _WEAK ) common . setStrong ( C , NAME , IS _MAP ) ;
return C ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 150 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var strong = _ _webpack _require _ _ ( 148 ) ;
2015-08-15 01:28:21 +00:00
// 23.2 Set Objects
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 149 ) ( 'Set' , function ( get ) {
return function Set ( ) { return get ( this , arguments . length > 0 ? arguments [ 0 ] : undefined ) ; } ;
2015-08-15 01:28:21 +00:00
} , {
// 23.2.3.1 Set.prototype.add(value)
add : function add ( value ) {
return strong . def ( this , value = value === 0 ? 0 : value , value ) ;
}
} , strong ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 151 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
var $ = _ _webpack _require _ _ ( 6 )
2016-08-17 18:29:53 +00:00
, redefine = _ _webpack _require _ _ ( 14 )
, weak = _ _webpack _require _ _ ( 152 )
, isObject = _ _webpack _require _ _ ( 20 )
, has = _ _webpack _require _ _ ( 21 )
2015-08-15 01:28:21 +00:00
, frozenStore = weak . frozenStore
, WEAK = weak . WEAK
, isExtensible = Object . isExtensible || isObject
, tmp = { } ;
// 23.3 WeakMap Objects
2016-08-17 18:29:53 +00:00
var $WeakMap = _ _webpack _require _ _ ( 149 ) ( 'WeakMap' , function ( get ) {
return function WeakMap ( ) { return get ( this , arguments . length > 0 ? arguments [ 0 ] : undefined ) ; } ;
2015-08-15 01:28:21 +00:00
} , {
// 23.3.3.3 WeakMap.prototype.get(key)
get : function get ( key ) {
if ( isObject ( key ) ) {
if ( ! isExtensible ( key ) ) return frozenStore ( this ) . get ( key ) ;
if ( has ( key , WEAK ) ) return key [ WEAK ] [ this . _i ] ;
}
} ,
// 23.3.3.5 WeakMap.prototype.set(key, value)
set : function set ( key , value ) {
return weak . def ( this , key , value ) ;
}
} , weak , true , true ) ;
// IE11 WeakMap frozen keys fix
if ( new $WeakMap ( ) . set ( ( Object . freeze || Object ) ( tmp ) , 7 ) . get ( tmp ) != 7 ) {
$ . each . call ( [ 'delete' , 'has' , 'get' , 'set' ] , function ( key ) {
var proto = $WeakMap . prototype
, method = proto [ key ] ;
2016-08-17 18:29:53 +00:00
redefine ( proto , key , function ( a , b ) {
2015-08-15 01:28:21 +00:00
// store frozen objects on leaky map
if ( isObject ( a ) && ! isExtensible ( a ) ) {
var result = frozenStore ( this ) [ key ] ( a , b ) ;
return key == 'set' ? this : result ;
// store all the rest on native weakmap
} return method . call ( this , a , b ) ;
} ) ;
} ) ;
}
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 152 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var hide = _ _webpack _require _ _ ( 10 )
, redefineAll = _ _webpack _require _ _ ( 146 )
, anObject = _ _webpack _require _ _ ( 24 )
, isObject = _ _webpack _require _ _ ( 20 )
, strictNew = _ _webpack _require _ _ ( 141 )
, forOf = _ _webpack _require _ _ ( 142 )
, createArrayMethod = _ _webpack _require _ _ ( 32 )
, $has = _ _webpack _require _ _ ( 21 )
, WEAK = _ _webpack _require _ _ ( 15 ) ( 'weak' )
, isExtensible = Object . isExtensible || isObject
, arrayFind = createArrayMethod ( 5 )
, arrayFindIndex = createArrayMethod ( 6 )
, id = 0 ;
2015-08-15 01:28:21 +00:00
// fallback for frozen keys
2016-08-17 18:29:53 +00:00
var frozenStore = function ( that ) {
2015-08-15 01:28:21 +00:00
return that . _l || ( that . _l = new FrozenStore ) ;
2016-08-17 18:29:53 +00:00
} ;
var FrozenStore = function ( ) {
2015-08-15 01:28:21 +00:00
this . a = [ ] ;
2016-08-17 18:29:53 +00:00
} ;
var findFrozen = function ( store , key ) {
return arrayFind ( store . a , function ( it ) {
return it [ 0 ] === key ;
} ) ;
} ;
2015-08-15 01:28:21 +00:00
FrozenStore . prototype = {
get : function ( key ) {
var entry = findFrozen ( this , key ) ;
if ( entry ) return entry [ 1 ] ;
} ,
has : function ( key ) {
return ! ! findFrozen ( this , key ) ;
} ,
set : function ( key , value ) {
var entry = findFrozen ( this , key ) ;
if ( entry ) entry [ 1 ] = value ;
else this . a . push ( [ key , value ] ) ;
} ,
'delete' : function ( key ) {
2016-08-17 18:29:53 +00:00
var index = arrayFindIndex ( this . a , function ( it ) {
2015-08-15 01:28:21 +00:00
return it [ 0 ] === key ;
} ) ;
if ( ~ index ) this . a . splice ( index , 1 ) ;
return ! ! ~ index ;
}
} ;
module . exports = {
getConstructor : function ( wrapper , NAME , IS _MAP , ADDER ) {
var C = wrapper ( function ( that , iterable ) {
strictNew ( that , C , NAME ) ;
that . _i = id ++ ; // collection id
that . _l = undefined ; // leak store for frozen objects
if ( iterable != undefined ) forOf ( iterable , IS _MAP , that [ ADDER ] , that ) ;
} ) ;
2016-08-17 18:29:53 +00:00
redefineAll ( C . prototype , {
2015-08-15 01:28:21 +00:00
// 23.3.3.2 WeakMap.prototype.delete(key)
// 23.4.3.3 WeakSet.prototype.delete(value)
'delete' : function ( key ) {
if ( ! isObject ( key ) ) return false ;
if ( ! isExtensible ( key ) ) return frozenStore ( this ) [ 'delete' ] ( key ) ;
return $has ( key , WEAK ) && $has ( key [ WEAK ] , this . _i ) && delete key [ WEAK ] [ this . _i ] ;
} ,
// 23.3.3.4 WeakMap.prototype.has(key)
// 23.4.3.4 WeakSet.prototype.has(value)
has : function has ( key ) {
if ( ! isObject ( key ) ) return false ;
if ( ! isExtensible ( key ) ) return frozenStore ( this ) . has ( key ) ;
return $has ( key , WEAK ) && $has ( key [ WEAK ] , this . _i ) ;
}
} ) ;
return C ;
} ,
def : function ( that , key , value ) {
if ( ! isExtensible ( anObject ( key ) ) ) {
frozenStore ( that ) . set ( key , value ) ;
} else {
$has ( key , WEAK ) || hide ( key , WEAK , { } ) ;
key [ WEAK ] [ that . _i ] = value ;
} return that ;
} ,
frozenStore : frozenStore ,
WEAK : WEAK
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 153 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var weak = _ _webpack _require _ _ ( 152 ) ;
2015-08-15 01:28:21 +00:00
// 23.4 WeakSet Objects
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 149 ) ( 'WeakSet' , function ( get ) {
return function WeakSet ( ) { return get ( this , arguments . length > 0 ? arguments [ 0 ] : undefined ) ; } ;
2015-08-15 01:28:21 +00:00
} , {
// 23.4.3.1 WeakSet.prototype.add(value)
add : function add ( value ) {
return weak . def ( this , value , true ) ;
}
} , weak , false , true ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 154 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, _apply = Function . apply
, anObject = _ _webpack _require _ _ ( 24 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Reflect' , {
2015-08-15 01:28:21 +00:00
apply : function apply ( target , thisArgument , argumentsList ) {
2016-08-17 18:29:53 +00:00
return _apply . call ( target , thisArgument , anObject ( argumentsList ) ) ;
2015-08-15 01:28:21 +00:00
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 155 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
var $ = _ _webpack _require _ _ ( 6 )
2016-08-17 18:29:53 +00:00
, $export = _ _webpack _require _ _ ( 7 )
, aFunction = _ _webpack _require _ _ ( 17 )
, anObject = _ _webpack _require _ _ ( 24 )
, isObject = _ _webpack _require _ _ ( 20 )
, bind = Function . bind || _ _webpack _require _ _ ( 9 ) . Function . prototype . bind ;
// MS Edge supports only 2 arguments
// FF Nightly sets third argument as `new.target`, but does not create `this` from it
$export ( $export . S + $export . F * _ _webpack _require _ _ ( 13 ) ( function ( ) {
function F ( ) { }
return ! ( Reflect . construct ( function ( ) { } , [ ] , F ) instanceof F ) ;
} ) , 'Reflect' , {
construct : function construct ( Target , args /*, newTarget*/ ) {
aFunction ( Target ) ;
anObject ( args ) ;
var newTarget = arguments . length < 3 ? Target : aFunction ( arguments [ 2 ] ) ;
if ( Target == newTarget ) {
// w/o altered newTarget, optimization for 0-4 arguments
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 ] ) ;
}
// w/o altered newTarget, lot of arguments case
var $args = [ null ] ;
$args . push . apply ( $args , args ) ;
return new ( bind . apply ( Target , $args ) ) ;
}
// with altered newTarget, not support built-in constructors
var proto = newTarget . prototype
2015-08-15 01:28:21 +00:00
, instance = $ . create ( isObject ( proto ) ? proto : Object . prototype )
2016-08-17 18:29:53 +00:00
, result = Function . apply . call ( Target , instance , args ) ;
2015-08-15 01:28:21 +00:00
return isObject ( result ) ? result : instance ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 156 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
var $ = _ _webpack _require _ _ ( 6 )
2016-08-17 18:29:53 +00:00
, $export = _ _webpack _require _ _ ( 7 )
, anObject = _ _webpack _require _ _ ( 24 ) ;
2015-08-15 01:28:21 +00:00
// MS Edge has broken Reflect.defineProperty - throwing instead of returning false
2016-08-17 18:29:53 +00:00
$export ( $export . S + $export . F * _ _webpack _require _ _ ( 13 ) ( function ( ) {
2015-08-15 01:28:21 +00:00
Reflect . defineProperty ( $ . setDesc ( { } , 1 , { value : 1 } ) , 1 , { value : 2 } ) ;
} ) , 'Reflect' , {
defineProperty : function defineProperty ( target , propertyKey , attributes ) {
anObject ( target ) ;
try {
$ . setDesc ( target , propertyKey , attributes ) ;
return true ;
} catch ( e ) {
return false ;
}
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 157 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 26.1.4 Reflect.deleteProperty(target, propertyKey)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
2015-08-15 01:28:21 +00:00
, getDesc = _ _webpack _require _ _ ( 6 ) . getDesc
2016-08-17 18:29:53 +00:00
, anObject = _ _webpack _require _ _ ( 24 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Reflect' , {
2015-08-15 01:28:21 +00:00
deleteProperty : function deleteProperty ( target , propertyKey ) {
var desc = getDesc ( anObject ( target ) , propertyKey ) ;
return desc && ! desc . configurable ? false : delete target [ propertyKey ] ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 158 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
'use strict' ;
2015-08-15 01:28:21 +00:00
// 26.1.5 Reflect.enumerate(target)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, anObject = _ _webpack _require _ _ ( 24 ) ;
var Enumerate = function ( iterated ) {
2015-08-15 01:28:21 +00:00
this . _t = anObject ( iterated ) ; // target
this . _i = 0 ; // next index
2016-08-17 18:29:53 +00:00
var keys = this . _k = [ ] // keys
, key ;
for ( key in iterated ) keys . push ( key ) ;
} ;
_ _webpack _require _ _ ( 105 ) ( Enumerate , 'Object' , function ( ) {
2015-08-15 01:28:21 +00:00
var that = this
, keys = that . _k
, key ;
do {
if ( that . _i >= keys . length ) return { value : undefined , done : true } ;
} while ( ! ( ( key = keys [ that . _i ++ ] ) in that . _t ) ) ;
return { value : key , done : false } ;
} ) ;
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Reflect' , {
2015-08-15 01:28:21 +00:00
enumerate : function enumerate ( target ) {
return new Enumerate ( target ) ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 159 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 26.1.6 Reflect.get(target, propertyKey [, receiver])
var $ = _ _webpack _require _ _ ( 6 )
2016-08-17 18:29:53 +00:00
, has = _ _webpack _require _ _ ( 21 )
, $export = _ _webpack _require _ _ ( 7 )
, isObject = _ _webpack _require _ _ ( 20 )
, anObject = _ _webpack _require _ _ ( 24 ) ;
2015-08-15 01:28:21 +00:00
function get ( target , propertyKey /*, receiver*/ ) {
var receiver = arguments . length < 3 ? target : arguments [ 2 ]
, desc , proto ;
if ( anObject ( target ) === receiver ) return target [ propertyKey ] ;
if ( desc = $ . getDesc ( target , propertyKey ) ) return has ( desc , 'value' )
? desc . value
: desc . get !== undefined
? desc . get . call ( receiver )
: undefined ;
if ( isObject ( proto = $ . getProto ( target ) ) ) return get ( proto , propertyKey , receiver ) ;
}
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Reflect' , { get : get } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 160 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)
var $ = _ _webpack _require _ _ ( 6 )
2016-08-17 18:29:53 +00:00
, $export = _ _webpack _require _ _ ( 7 )
, anObject = _ _webpack _require _ _ ( 24 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Reflect' , {
2015-08-15 01:28:21 +00:00
getOwnPropertyDescriptor : function getOwnPropertyDescriptor ( target , propertyKey ) {
return $ . getDesc ( anObject ( target ) , propertyKey ) ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 161 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 26.1.8 Reflect.getPrototypeOf(target)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
2015-08-15 01:28:21 +00:00
, getProto = _ _webpack _require _ _ ( 6 ) . getProto
2016-08-17 18:29:53 +00:00
, anObject = _ _webpack _require _ _ ( 24 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Reflect' , {
2015-08-15 01:28:21 +00:00
getPrototypeOf : function getPrototypeOf ( target ) {
return getProto ( anObject ( target ) ) ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 162 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 26.1.9 Reflect.has(target, propertyKey)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Reflect' , {
2015-08-15 01:28:21 +00:00
has : function has ( target , propertyKey ) {
return propertyKey in target ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 163 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 26.1.10 Reflect.isExtensible(target)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, anObject = _ _webpack _require _ _ ( 24 )
, $isExtensible = Object . isExtensible ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Reflect' , {
2015-08-15 01:28:21 +00:00
isExtensible : function isExtensible ( target ) {
2016-08-17 18:29:53 +00:00
anObject ( target ) ;
return $isExtensible ? $isExtensible ( target ) : true ;
2015-08-15 01:28:21 +00:00
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 164 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 26.1.11 Reflect.ownKeys(target)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Reflect' , { ownKeys : _ _webpack _require _ _ ( 165 ) } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 165 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// all object keys, includes non-enumerable and symbols
2015-08-15 01:28:21 +00:00
var $ = _ _webpack _require _ _ ( 6 )
2016-08-17 18:29:53 +00:00
, anObject = _ _webpack _require _ _ ( 24 )
, Reflect = _ _webpack _require _ _ ( 8 ) . Reflect ;
module . exports = Reflect && Reflect . ownKeys || function ownKeys ( it ) {
2015-08-15 01:28:21 +00:00
var keys = $ . getNames ( anObject ( it ) )
, getSymbols = $ . getSymbols ;
return getSymbols ? keys . concat ( getSymbols ( it ) ) : keys ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 166 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 26.1.12 Reflect.preventExtensions(target)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, anObject = _ _webpack _require _ _ ( 24 )
, $preventExtensions = Object . preventExtensions ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Reflect' , {
2015-08-15 01:28:21 +00:00
preventExtensions : function preventExtensions ( target ) {
anObject ( target ) ;
try {
2016-08-17 18:29:53 +00:00
if ( $preventExtensions ) $preventExtensions ( target ) ;
2015-08-15 01:28:21 +00:00
return true ;
} catch ( e ) {
return false ;
}
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 167 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])
var $ = _ _webpack _require _ _ ( 6 )
2016-08-17 18:29:53 +00:00
, has = _ _webpack _require _ _ ( 21 )
, $export = _ _webpack _require _ _ ( 7 )
, createDesc = _ _webpack _require _ _ ( 11 )
, anObject = _ _webpack _require _ _ ( 24 )
, isObject = _ _webpack _require _ _ ( 20 ) ;
2015-08-15 01:28:21 +00:00
function set ( target , propertyKey , V /*, receiver*/ ) {
var receiver = arguments . length < 4 ? target : arguments [ 3 ]
, ownDesc = $ . getDesc ( anObject ( target ) , propertyKey )
, existingDescriptor , proto ;
if ( ! ownDesc ) {
if ( isObject ( proto = $ . getProto ( target ) ) ) {
return set ( proto , propertyKey , V , receiver ) ;
}
ownDesc = createDesc ( 0 ) ;
}
if ( has ( ownDesc , 'value' ) ) {
if ( ownDesc . writable === false || ! isObject ( receiver ) ) return false ;
existingDescriptor = $ . getDesc ( receiver , propertyKey ) || createDesc ( 0 ) ;
existingDescriptor . value = V ;
$ . setDesc ( receiver , propertyKey , existingDescriptor ) ;
return true ;
}
return ownDesc . set === undefined ? false : ( ownDesc . set . call ( receiver , V ) , true ) ;
}
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Reflect' , { set : set } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 168 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// 26.1.14 Reflect.setPrototypeOf(target, proto)
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, setProto = _ _webpack _require _ _ ( 49 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
if ( setProto ) $export ( $export . S , 'Reflect' , {
2015-08-15 01:28:21 +00:00
setPrototypeOf : function setPrototypeOf ( target , proto ) {
setProto . check ( target , proto ) ;
try {
setProto . set ( target , proto ) ;
return true ;
} catch ( e ) {
return false ;
}
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 169 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, $includes = _ _webpack _require _ _ ( 37 ) ( true ) ;
$export ( $export . P , 'Array' , {
2015-08-15 01:28:21 +00:00
// https://github.com/domenic/Array.prototype.includes
includes : function includes ( el /*, fromIndex = 0 */ ) {
2016-08-17 18:29:53 +00:00
return $includes ( this , el , arguments . length > 1 ? arguments [ 1 ] : undefined ) ;
2015-08-15 01:28:21 +00:00
}
} ) ;
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 122 ) ( 'includes' ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 170 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2015-08-14 16:30:03 +00:00
'use strict' ;
2016-08-17 18:29:53 +00:00
// https://github.com/mathiasbynens/String.prototype.at
var $export = _ _webpack _require _ _ ( 7 )
, $at = _ _webpack _require _ _ ( 102 ) ( true ) ;
$export ( $export . P , 'String' , {
2015-08-15 01:28:21 +00:00
at : function at ( pos ) {
return $at ( this , pos ) ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 171 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, $pad = _ _webpack _require _ _ ( 172 ) ;
$export ( $export . P , 'String' , {
padLeft : function padLeft ( maxLength /*, fillString = ' ' */ ) {
return $pad ( this , maxLength , arguments . length > 1 ? arguments [ 1 ] : undefined , true ) ;
2015-08-15 01:28:21 +00:00
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 172 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
// https://github.com/ljharb/proposal-string-pad-left-right
var toLength = _ _webpack _require _ _ ( 31 )
, repeat = _ _webpack _require _ _ ( 113 )
, defined = _ _webpack _require _ _ ( 26 ) ;
module . exports = function ( that , maxLength , fillString , left ) {
var S = String ( defined ( that ) )
, stringLength = S . length
, fillStr = fillString === undefined ? ' ' : String ( fillString )
, intMaxLength = toLength ( maxLength ) ;
if ( intMaxLength <= stringLength ) return S ;
if ( fillStr == '' ) fillStr = ' ' ;
var fillLen = intMaxLength - stringLength
, stringFiller = repeat . call ( fillStr , Math . ceil ( fillLen / fillStr . length ) ) ;
if ( stringFiller . length > fillLen ) stringFiller = stringFiller . slice ( 0 , fillLen ) ;
return left ? stringFiller + S : S + stringFiller ;
2015-08-15 01:28:21 +00:00
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 173 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, $pad = _ _webpack _require _ _ ( 172 ) ;
$export ( $export . P , 'String' , {
padRight : function padRight ( maxLength /*, fillString = ' ' */ ) {
return $pad ( this , maxLength , arguments . length > 1 ? arguments [ 1 ] : undefined , false ) ;
2015-08-15 01:28:21 +00:00
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 174 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
// https://github.com/sebmarkbage/ecmascript-string-left-right-trim
_ _webpack _require _ _ ( 67 ) ( 'trimLeft' , function ( $trim ) {
return function trimLeft ( ) {
return $trim ( this , 1 ) ;
} ;
} ) ;
/***/ } ,
/* 175 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
// https://github.com/sebmarkbage/ecmascript-string-left-right-trim
_ _webpack _require _ _ ( 67 ) ( 'trimRight' , function ( $trim ) {
return function trimRight ( ) {
return $trim ( this , 2 ) ;
} ;
} ) ;
/***/ } ,
/* 176 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// https://github.com/benjamingr/RexExp.escape
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, $re = _ _webpack _require _ _ ( 177 ) ( /[\\^$*+?.()|[\]{}]/g , '\\$&' ) ;
$export ( $export . S , 'RegExp' , { escape : function escape ( it ) { return $re ( it ) ; } } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 177 */
/***/ function ( module , exports ) {
module . exports = function ( regExp , replace ) {
var replacer = replace === Object ( replace ) ? function ( part ) {
return replace [ part ] ;
} : replace ;
return function ( it ) {
return String ( it ) . replace ( regExp , replacer ) ;
} ;
} ;
/***/ } ,
/* 178 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// https://gist.github.com/WebReflection/9353781
var $ = _ _webpack _require _ _ ( 6 )
2016-08-17 18:29:53 +00:00
, $export = _ _webpack _require _ _ ( 7 )
, ownKeys = _ _webpack _require _ _ ( 165 )
, toIObject = _ _webpack _require _ _ ( 27 )
, createDesc = _ _webpack _require _ _ ( 11 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Object' , {
2015-08-15 01:28:21 +00:00
getOwnPropertyDescriptors : function getOwnPropertyDescriptors ( object ) {
2016-08-17 18:29:53 +00:00
var O = toIObject ( object )
2015-08-15 01:28:21 +00:00
, setDesc = $ . setDesc
, getDesc = $ . getDesc
, keys = ownKeys ( O )
, result = { }
, i = 0
, key , D ;
while ( keys . length > i ) {
D = getDesc ( O , key = keys [ i ++ ] ) ;
if ( key in result ) setDesc ( result , key , createDesc ( 0 , D ) ) ;
else result [ key ] = D ;
} return result ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 179 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// http://goo.gl/XkBrjD
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, $values = _ _webpack _require _ _ ( 180 ) ( false ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Object' , {
2015-08-15 01:28:21 +00:00
values : function values ( it ) {
return $values ( it ) ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 180 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
var $ = _ _webpack _require _ _ ( 6 )
, toIObject = _ _webpack _require _ _ ( 27 )
, isEnum = $ . isEnum ;
2015-08-15 01:28:21 +00:00
module . exports = function ( isEntries ) {
return function ( it ) {
2016-08-17 18:29:53 +00:00
var O = toIObject ( it )
2015-08-15 01:28:21 +00:00
, keys = $ . getKeys ( O )
, length = keys . length
, i = 0
2016-08-17 18:29:53 +00:00
, result = [ ]
2015-08-15 01:28:21 +00:00
, key ;
2016-08-17 18:29:53 +00:00
while ( length > i ) if ( isEnum . call ( O , key = keys [ i ++ ] ) ) {
result . push ( isEntries ? [ key , O [ key ] ] : O [ key ] ) ;
} return result ;
2015-08-15 01:28:21 +00:00
} ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 181 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// http://goo.gl/XkBrjD
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, $entries = _ _webpack _require _ _ ( 180 ) ( true ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Object' , {
2015-08-15 01:28:21 +00:00
entries : function entries ( it ) {
return $entries ( it ) ;
}
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 182 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// https://github.com/DavidBruant/Map-Set.prototype.toJSON
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . P , 'Map' , { toJSON : _ _webpack _require _ _ ( 183 ) ( 'Map' ) } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 183 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// https://github.com/DavidBruant/Map-Set.prototype.toJSON
2016-08-17 18:29:53 +00:00
var forOf = _ _webpack _require _ _ ( 142 )
, classof = _ _webpack _require _ _ ( 51 ) ;
2015-08-15 01:28:21 +00:00
module . exports = function ( NAME ) {
return function toJSON ( ) {
if ( classof ( this ) != NAME ) throw TypeError ( NAME + "#toJSON isn't generic" ) ;
var arr = [ ] ;
forOf ( this , false , arr . push , arr ) ;
return arr ;
} ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 184 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// https://github.com/DavidBruant/Map-Set.prototype.toJSON
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
$export ( $export . P , 'Set' , { toJSON : _ _webpack _require _ _ ( 183 ) ( 'Set' ) } ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 185 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// JavaScript 1.6 / Strawman array statics shim
var $ = _ _webpack _require _ _ ( 6 )
2016-08-17 18:29:53 +00:00
, $export = _ _webpack _require _ _ ( 7 )
, $ctx = _ _webpack _require _ _ ( 16 )
, $Array = _ _webpack _require _ _ ( 9 ) . Array || Array
2015-08-15 01:28:21 +00:00
, statics = { } ;
2016-08-17 18:29:53 +00:00
var setStatics = function ( keys , length ) {
2015-08-15 01:28:21 +00:00
$ . each . call ( keys . split ( ',' ) , function ( key ) {
if ( length == undefined && key in $Array ) statics [ key ] = $Array [ key ] ;
2016-08-17 18:29:53 +00:00
else if ( key in [ ] ) statics [ key ] = $ctx ( Function . call , [ ] [ key ] , length ) ;
2015-08-15 01:28:21 +00:00
} ) ;
2016-08-17 18:29:53 +00:00
} ;
2015-08-15 01:28:21 +00:00
setStatics ( 'pop,reverse,shift,keys,values,entries' , 1 ) ;
setStatics ( 'indexOf,every,some,forEach,map,filter,find,findIndex,includes' , 3 ) ;
setStatics ( 'join,slice,concat,push,splice,unshift,sort,lastIndexOf,' +
'reduce,reduceRight,copyWithin,fill' ) ;
2016-08-17 18:29:53 +00:00
$export ( $export . S , 'Array' , statics ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 186 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
// ie9- setTimeout & setInterval additional parameters fix
2016-08-17 18:29:53 +00:00
var global = _ _webpack _require _ _ ( 8 )
, $export = _ _webpack _require _ _ ( 7 )
, invoke = _ _webpack _require _ _ ( 23 )
, partial = _ _webpack _require _ _ ( 187 )
2015-08-15 01:28:21 +00:00
, navigator = global . navigator
, MSIE = ! ! navigator && /MSIE .\./ . test ( navigator . userAgent ) ; // <- dirty ie9- check
2016-08-17 18:29:53 +00:00
var wrap = function ( set ) {
2015-08-15 01:28:21 +00:00
return MSIE ? function ( fn , time /*, ...args */ ) {
return set ( invoke (
partial ,
[ ] . slice . call ( arguments , 2 ) ,
typeof fn == 'function' ? fn : Function ( fn )
) , time ) ;
} : set ;
2016-08-17 18:29:53 +00:00
} ;
$export ( $export . G + $export . B + $export . F * MSIE , {
2015-08-15 01:28:21 +00:00
setTimeout : wrap ( global . setTimeout ) ,
setInterval : wrap ( global . setInterval )
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 187 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
'use strict' ;
2016-08-17 18:29:53 +00:00
var path = _ _webpack _require _ _ ( 188 )
, invoke = _ _webpack _require _ _ ( 23 )
, aFunction = _ _webpack _require _ _ ( 17 ) ;
2015-08-15 01:28:21 +00:00
module . exports = function ( /* ...pargs */ ) {
var fn = aFunction ( this )
, length = arguments . length
, pargs = Array ( length )
, i = 0
, _ = path . _
, holder = false ;
while ( length > i ) if ( ( pargs [ i ] = arguments [ i ++ ] ) === _ ) holder = true ;
return function ( /* ...args */ ) {
2016-08-17 18:29:53 +00:00
var that = this
, $$ = arguments
, $$len = $$ . length
2015-08-15 01:28:21 +00:00
, j = 0 , k = 0 , args ;
2016-08-17 18:29:53 +00:00
if ( ! holder && ! $$len ) return invoke ( fn , pargs , that ) ;
2015-08-15 01:28:21 +00:00
args = pargs . slice ( ) ;
2016-08-17 18:29:53 +00:00
if ( holder ) for ( ; length > j ; j ++ ) if ( args [ j ] === _ ) args [ j ] = $$ [ k ++ ] ;
while ( $$len > k ) args . push ( $$ [ k ++ ] ) ;
2015-08-15 01:28:21 +00:00
return invoke ( fn , args , that ) ;
} ;
} ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 188 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
module . exports = _ _webpack _require _ _ ( 8 ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 189 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
var $export = _ _webpack _require _ _ ( 7 )
, $task = _ _webpack _require _ _ ( 145 ) ;
$export ( $export . G + $export . B , {
2015-08-15 01:28:21 +00:00
setImmediate : $task . set ,
clearImmediate : $task . clear
} ) ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 190 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2016-08-17 18:29:53 +00:00
_ _webpack _require _ _ ( 121 ) ;
var global = _ _webpack _require _ _ ( 8 )
, hide = _ _webpack _require _ _ ( 10 )
, Iterators = _ _webpack _require _ _ ( 104 )
, ITERATOR = _ _webpack _require _ _ ( 35 ) ( 'iterator' )
2015-08-15 01:28:21 +00:00
, NL = global . NodeList
, HTC = global . HTMLCollection
, NLProto = NL && NL . prototype
, HTCProto = HTC && HTC . prototype
, ArrayValues = Iterators . NodeList = Iterators . HTMLCollection = Iterators . Array ;
2016-08-17 18:29:53 +00:00
if ( NLProto && ! NLProto [ ITERATOR ] ) hide ( NLProto , ITERATOR , ArrayValues ) ;
if ( HTCProto && ! HTCProto [ ITERATOR ] ) hide ( HTCProto , ITERATOR , ArrayValues ) ;
2015-08-15 01:28:21 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 191 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
/* WEBPACK VAR INJECTION */ ( function ( global , process ) { / * *
* Copyright ( c ) 2014 , Facebook , Inc .
* All rights reserved .
*
* This source code is licensed under the BSD - style license found in the
* https : //raw.github.com/facebook/regenerator/master/LICENSE file. An
* additional grant of patent rights can be found in the PATENTS file in
* the same directory .
* /
! ( function ( global ) {
"use strict" ;
var hasOwn = Object . prototype . hasOwnProperty ;
var undefined ; // More compressible than void 0.
var iteratorSymbol =
typeof Symbol === "function" && Symbol . iterator || "@@iterator" ;
var inModule = typeof module === "object" ;
var runtime = global . regeneratorRuntime ;
if ( runtime ) {
if ( inModule ) {
// If regeneratorRuntime is defined globally and we're in a module,
// make the exports object identical to regeneratorRuntime.
module . exports = runtime ;
}
// Don't bother evaluating the rest of this file if the runtime was
// already defined globally.
return ;
}
// Define the runtime globally (as expected by generated code) as either
// module.exports (if we're in a module) or a new, empty object.
runtime = global . regeneratorRuntime = inModule ? module . exports : { } ;
function wrap ( innerFn , outerFn , self , tryLocsList ) {
// If outerFn provided, then outerFn.prototype instanceof Generator.
var generator = Object . create ( ( outerFn || Generator ) . prototype ) ;
2016-08-17 18:29:53 +00:00
var context = new Context ( tryLocsList || [ ] ) ;
2015-08-15 01:28:21 +00:00
2016-08-17 18:29:53 +00:00
// The ._invoke method unifies the implementations of the .next,
// .throw, and .return methods.
generator . _invoke = makeInvokeMethod ( innerFn , self , context ) ;
2015-08-15 01:28:21 +00:00
return generator ;
}
runtime . wrap = wrap ;
// Try/catch helper to minimize deoptimizations. Returns a completion
// record like context.tryEntries[i].completion. This interface could
// have been (and was previously) designed to take a closure to be
// invoked without arguments, but in all the cases we care about we
// already have an existing method we want to call, so there's no need
// to create a new function object. We can even get away with assuming
// the method takes exactly one argument, since that happens to be true
// in every case, so we don't have to touch the arguments object. The
// only additional allocation required is the completion record, which
// has a stable shape and so hopefully should be cheap to allocate.
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" ;
// Returning this object from the innerFn has the same effect as
// breaking out of the dispatch switch statement.
var ContinueSentinel = { } ;
// Dummy constructor functions that we use as the .constructor and
// .constructor.prototype properties for functions that return Generator
// objects. For full spec compliance, you may wish to configure your
// minifier not to mangle the names of these two functions.
function Generator ( ) { }
function GeneratorFunction ( ) { }
function GeneratorFunctionPrototype ( ) { }
var Gp = GeneratorFunctionPrototype . prototype = Generator . prototype ;
GeneratorFunction . prototype = Gp . constructor = GeneratorFunctionPrototype ;
GeneratorFunctionPrototype . constructor = GeneratorFunction ;
GeneratorFunction . displayName = "GeneratorFunction" ;
// Helper for defining the .next, .throw, and .return methods of the
// Iterator interface in terms of a single ._invoke method.
function defineIteratorMethods ( prototype ) {
[ "next" , "throw" , "return" ] . forEach ( function ( method ) {
prototype [ method ] = function ( arg ) {
return this . _invoke ( method , arg ) ;
} ;
} ) ;
}
runtime . isGeneratorFunction = function ( genFun ) {
var ctor = typeof genFun === "function" && genFun . constructor ;
return ctor
? ctor === GeneratorFunction ||
// For the native GeneratorFunction constructor, the best we can
// do is to check its .name property.
( ctor . displayName || ctor . name ) === "GeneratorFunction"
: false ;
} ;
runtime . mark = function ( genFun ) {
2016-08-17 18:29:53 +00:00
if ( Object . setPrototypeOf ) {
Object . setPrototypeOf ( genFun , GeneratorFunctionPrototype ) ;
} else {
genFun . _ _proto _ _ = GeneratorFunctionPrototype ;
}
2015-08-15 01:28:21 +00:00
genFun . prototype = Object . create ( Gp ) ;
return genFun ;
} ;
// Within the body of any async function, `await x` is transformed to
// `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
// `value instanceof AwaitArgument` to determine if the yielded value is
// meant to be awaited. Some may consider the name of this method too
// cutesy, but they are curmudgeons.
runtime . awrap = function ( arg ) {
return new AwaitArgument ( arg ) ;
} ;
function AwaitArgument ( arg ) {
this . arg = arg ;
}
function AsyncIterator ( generator ) {
// This invoke function is written in a style that assumes some
// calling function (or Promise) will handle exceptions.
function invoke ( method , arg ) {
var result = generator [ method ] ( arg ) ;
var value = result . value ;
return value instanceof AwaitArgument
? Promise . resolve ( value . arg ) . then ( invokeNext , invokeThrow )
: Promise . resolve ( value ) . then ( function ( unwrapped ) {
// When a yielded Promise is resolved, its final value becomes
// the .value of the Promise<{value,done}> result for the
// current iteration. If the Promise is rejected, however, the
// result for this iteration will be rejected with the same
// reason. Note that rejections of yielded Promises are not
// thrown back into the generator function, as is the case
// when an awaited Promise is rejected. This difference in
// behavior between yield and await is important, because it
// allows the consumer to decide what to do with the yielded
// rejection (swallow it and continue, manually .throw it back
// into the generator, abandon iteration, whatever). With
// await, by contrast, there is no opportunity to examine the
// rejection reason outside the generator function, so the
// only option is to throw it from the await expression, and
// let the generator function handle the exception.
result . value = unwrapped ;
return result ;
} ) ;
}
if ( typeof process === "object" && process . domain ) {
invoke = process . domain . bind ( invoke ) ;
}
var invokeNext = invoke . bind ( generator , "next" ) ;
var invokeThrow = invoke . bind ( generator , "throw" ) ;
var invokeReturn = invoke . bind ( generator , "return" ) ;
var previousPromise ;
function enqueue ( method , arg ) {
2016-08-17 18:29:53 +00:00
function callInvokeWithMethodAndArg ( ) {
return invoke ( method , arg ) ;
}
return previousPromise =
2015-08-15 01:28:21 +00:00
// If enqueue has been called before, then we want to wait until
// all previous Promises have been resolved before calling invoke,
// so that results are always delivered in the correct order. If
// enqueue has not been called before, then it is important to
// call invoke immediately, without waiting on a callback to fire,
// so that the async generator function has the opportunity to do
// any necessary setup in a predictable way. This predictability
// is why the Promise constructor synchronously invokes its
// executor callback, and why async functions synchronously
// execute code before the first await. Since we implement simple
// async functions in terms of async generators, it is especially
// important to get this right, even though it requires care.
2016-08-17 18:29:53 +00:00
previousPromise ? previousPromise . then (
callInvokeWithMethodAndArg ,
// Avoid propagating failures to Promises returned by later
// invocations of the iterator.
callInvokeWithMethodAndArg
) : new Promise ( function ( resolve ) {
resolve ( callInvokeWithMethodAndArg ( ) ) ;
2015-08-15 01:28:21 +00:00
} ) ;
}
// Define the unified helper method that is used to implement .next,
// .throw, and .return (see defineIteratorMethods).
this . _invoke = enqueue ;
}
defineIteratorMethods ( AsyncIterator . prototype ) ;
// Note that simple async functions are implemented on top of
// AsyncIterator objects; they just return a Promise for the value of
// the final result produced by the iterator.
runtime . async = function ( innerFn , outerFn , self , tryLocsList ) {
var iter = new AsyncIterator (
wrap ( innerFn , outerFn , self , tryLocsList )
) ;
return runtime . isGeneratorFunction ( outerFn )
? iter // If outerFn is a generator, return the full iterator.
: 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 ;
}
// Be forgiving, per 25.3.3.3.3 of the spec:
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
return doneResult ( ) ;
}
while ( true ) {
var delegate = context . delegate ;
if ( delegate ) {
if ( method === "return" ||
( method === "throw" && delegate . iterator [ method ] === undefined ) ) {
// A return or throw (when the delegate iterator has no throw
// method) always terminates the yield* loop.
context . delegate = null ;
// If the delegate iterator has a return method, give it a
// chance to clean up.
var returnMethod = delegate . iterator [ "return" ] ;
if ( returnMethod ) {
var record = tryCatch ( returnMethod , delegate . iterator , arg ) ;
if ( record . type === "throw" ) {
// If the return method threw an exception, let that
// exception prevail over the original return or throw.
method = "throw" ;
arg = record . arg ;
continue ;
}
}
if ( method === "return" ) {
// Continue with the outer return, now that the delegate
// iterator has been terminated.
continue ;
}
}
var record = tryCatch (
delegate . iterator [ method ] ,
delegate . iterator ,
arg
) ;
if ( record . type === "throw" ) {
context . delegate = null ;
// Like returning generator.throw(uncaught), but without the
// overhead of an extra function call.
method = "throw" ;
arg = record . arg ;
continue ;
}
// Delegate generator ran and handled its own exceptions so
// regardless of what the method was, we continue as if it is
// "next" with an undefined arg.
method = "next" ;
arg = undefined ;
var info = record . arg ;
if ( info . done ) {
context [ delegate . resultName ] = info . value ;
context . next = delegate . nextLoc ;
} else {
state = GenStateSuspendedYield ;
return info ;
}
context . delegate = null ;
}
if ( method === "next" ) {
if ( state === GenStateSuspendedYield ) {
context . sent = arg ;
} else {
context . sent = undefined ;
}
} else if ( method === "throw" ) {
if ( state === GenStateSuspendedStart ) {
state = GenStateCompleted ;
throw arg ;
}
if ( context . dispatchException ( arg ) ) {
// If the dispatched exception was caught by a catch block,
// then let that catch block handle the exception normally.
method = "next" ;
arg = undefined ;
}
} else if ( method === "return" ) {
context . abrupt ( "return" , arg ) ;
}
state = GenStateExecuting ;
var record = tryCatch ( innerFn , self , context ) ;
if ( record . type === "normal" ) {
// If an exception is thrown from innerFn, we leave state ===
// GenStateExecuting and loop back for another invocation.
state = context . done
? GenStateCompleted
: GenStateSuspendedYield ;
var info = {
value : record . arg ,
done : context . done
} ;
if ( record . arg === ContinueSentinel ) {
if ( context . delegate && method === "next" ) {
// Deliberately forget the last sent value so that we don't
// accidentally pass it on to the delegate.
arg = undefined ;
}
} else {
return info ;
}
} else if ( record . type === "throw" ) {
state = GenStateCompleted ;
// Dispatch the exception by looping back around to the
// context.dispatchException(arg) call above.
method = "throw" ;
arg = record . arg ;
}
}
} ;
}
// Define Generator.prototype.{next,throw,return} in terms of the
// unified ._invoke helper method.
defineIteratorMethods ( Gp ) ;
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 ) {
// The root entry object (effectively a try statement without a catch
// or a finally block) gives us a place to store values thrown from
// locations where there is no enclosing try statement.
this . tryEntries = [ { tryLoc : "root" } ] ;
tryLocsList . forEach ( pushTryEntry , this ) ;
this . reset ( true ) ;
}
runtime . keys = function ( object ) {
var keys = [ ] ;
for ( var key in object ) {
keys . push ( key ) ;
}
keys . reverse ( ) ;
// Rather than returning an object with a next method, we keep
// things simple and return the next function itself.
return function next ( ) {
while ( keys . length ) {
var key = keys . pop ( ) ;
if ( key in object ) {
next . value = key ;
next . done = false ;
return next ;
}
}
// To avoid creating an additional object, we just hang the .value
// and .done properties off the next function object itself. This
// also ensures that the minifier will not anonymize the function.
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 an iterator with no values.
return { next : doneResult } ;
}
runtime . values = values ;
function doneResult ( ) {
return { value : undefined , done : true } ;
}
Context . prototype = {
constructor : Context ,
reset : function ( skipTempReset ) {
this . prev = 0 ;
this . next = 0 ;
this . sent = undefined ;
this . done = false ;
this . delegate = null ;
this . tryEntries . forEach ( resetTryEntry ) ;
if ( ! skipTempReset ) {
for ( var name in this ) {
// Not sure about the optimal order of these conditions:
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 ;
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" ) {
// Exception thrown outside of any try block that could handle
// it, so set the completion value of the entire function to
// throw the exception.
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 ) {
// Ignore the finally entry if control is not jumping to a
// location outside the try/catch block.
finallyEntry = null ;
}
var record = finallyEntry ? finallyEntry . completion : { } ;
record . type = type ;
record . arg = arg ;
if ( finallyEntry ) {
this . next = finallyEntry . finallyLoc ;
} else {
this . complete ( record ) ;
}
return ContinueSentinel ;
} ,
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 = record . arg ;
this . next = "end" ;
} else if ( record . type === "normal" && afterLoc ) {
this . next = afterLoc ;
}
} ,
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 ;
}
}
// The context.catch method must only be called with a location
// argument that corresponds to a known catch block.
throw new Error ( "illegal catch attempt" ) ;
} ,
2015-08-14 16:30:03 +00:00
2015-08-15 01:28:21 +00:00
delegateYield : function ( iterable , resultName , nextLoc ) {
this . delegate = {
iterator : values ( iterable ) ,
resultName : resultName ,
nextLoc : nextLoc
} ;
return ContinueSentinel ;
}
} ;
} ) (
// Among the various tricks for obtaining a reference to the global
// object, this seems to be the most reliable technique that does not
// use indirect eval (which violates Content Security Policy).
typeof global === "object" ? global :
typeof window === "object" ? window :
typeof self === "object" ? self : this
) ;
2016-08-17 18:29:53 +00:00
/* WEBPACK VAR INJECTION */ } . call ( exports , ( function ( ) { return this ; } ( ) ) , _ _webpack _require _ _ ( 192 ) ) )
2015-08-14 16:30:03 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 192 */
2015-08-15 01:28:21 +00:00
/***/ function ( module , exports ) {
// shim for using process in browser
var process = module . exports = { } ;
2016-08-17 18:29:53 +00:00
// cached from whatever global is present so that test runners that stub it
// don't break things. But we need to wrap it in a try catch in case it is
// wrapped in strict mode code which doesn't define any globals. It's inside a
// function because try/catches deoptimize in certain engines.
var cachedSetTimeout ;
var cachedClearTimeout ;
( function ( ) {
try {
cachedSetTimeout = setTimeout ;
} catch ( e ) {
cachedSetTimeout = function ( ) {
throw new Error ( 'setTimeout is not defined' ) ;
}
}
try {
cachedClearTimeout = clearTimeout ;
} catch ( e ) {
cachedClearTimeout = function ( ) {
throw new Error ( 'clearTimeout is not defined' ) ;
}
}
} ( ) )
function runTimeout ( fun ) {
if ( cachedSetTimeout === setTimeout ) {
//normal enviroments in sane situations
return setTimeout ( fun , 0 ) ;
}
try {
// when when somebody has screwed with setTimeout but no I.E. maddness
return cachedSetTimeout ( fun , 0 ) ;
} catch ( e ) {
try {
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
return cachedSetTimeout . call ( null , fun , 0 ) ;
} catch ( e ) {
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
return cachedSetTimeout . call ( this , fun , 0 ) ;
}
}
}
function runClearTimeout ( marker ) {
if ( cachedClearTimeout === clearTimeout ) {
//normal enviroments in sane situations
return clearTimeout ( marker ) ;
}
try {
// when when somebody has screwed with setTimeout but no I.E. maddness
return cachedClearTimeout ( marker ) ;
} catch ( e ) {
try {
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
return cachedClearTimeout . call ( null , marker ) ;
} catch ( e ) {
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
// Some versions of I.E. have different rules for clearTimeout vs setTimeout
return cachedClearTimeout . call ( this , marker ) ;
}
}
}
2015-08-15 01:28:21 +00:00
var queue = [ ] ;
var draining = false ;
var currentQueue ;
var queueIndex = - 1 ;
function cleanUpNextTick ( ) {
2016-08-17 18:29:53 +00:00
if ( ! draining || ! currentQueue ) {
return ;
}
2015-08-15 01:28:21 +00:00
draining = false ;
if ( currentQueue . length ) {
queue = currentQueue . concat ( queue ) ;
} else {
queueIndex = - 1 ;
}
if ( queue . length ) {
drainQueue ( ) ;
}
}
function drainQueue ( ) {
if ( draining ) {
return ;
}
2016-08-17 18:29:53 +00:00
var timeout = runTimeout ( cleanUpNextTick ) ;
2015-08-15 01:28:21 +00:00
draining = true ;
var len = queue . length ;
while ( len ) {
currentQueue = queue ;
queue = [ ] ;
while ( ++ queueIndex < len ) {
2016-08-17 18:29:53 +00:00
if ( currentQueue ) {
currentQueue [ queueIndex ] . run ( ) ;
}
2015-08-15 01:28:21 +00:00
}
queueIndex = - 1 ;
len = queue . length ;
}
currentQueue = null ;
draining = false ;
2016-08-17 18:29:53 +00:00
runClearTimeout ( timeout ) ;
2015-08-15 01:28:21 +00:00
}
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 ) {
2016-08-17 18:29:53 +00:00
runTimeout ( drainQueue ) ;
2015-08-15 01:28:21 +00:00
}
} ;
// v8 likes predictible objects
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 = '' ; // empty string to avoid regexp issues
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 . 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 ; } ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 193 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
2015-08-15 01:28:21 +00:00
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
2015-08-14 16:30:03 +00:00
'use strict' ;
2015-08-15 01:28:21 +00:00
exports . _ _esModule = true ;
exports [ 'default' ] = {
2015-08-14 16:30:03 +00:00
color : {
2016-08-17 18:29:53 +00:00
Color : _ _webpack _require _ _ ( 194 ) ,
math : _ _webpack _require _ _ ( 198 ) ,
interpret : _ _webpack _require _ _ ( 195 )
2015-08-14 16:30:03 +00:00
} ,
controllers : {
2016-08-17 18:29:53 +00:00
Controller : _ _webpack _require _ _ ( 199 ) ,
BooleanController : _ _webpack _require _ _ ( 200 ) ,
OptionController : _ _webpack _require _ _ ( 202 ) ,
StringController : _ _webpack _require _ _ ( 203 ) ,
NumberController : _ _webpack _require _ _ ( 204 ) ,
NumberControllerBox : _ _webpack _require _ _ ( 205 ) ,
NumberControllerSlider : _ _webpack _require _ _ ( 206 ) ,
2016-08-30 22:48:51 +00:00
FunctionController : _ _webpack _require _ _ ( 207 ) ,
ColorController : _ _webpack _require _ _ ( 208 )
2015-08-14 16:30:03 +00:00
} ,
dom : {
2016-08-17 18:29:53 +00:00
dom : _ _webpack _require _ _ ( 201 )
2015-08-14 16:30:03 +00:00
} ,
gui : {
2016-08-30 22:48:51 +00:00
GUI : _ _webpack _require _ _ ( 209 )
2015-08-14 16:30:03 +00:00
} ,
2016-08-30 22:48:51 +00:00
GUI : _ _webpack _require _ _ ( 209 )
2015-08-14 16:30:03 +00:00
} ;
2015-08-15 01:28:21 +00:00
module . exports = exports [ 'default' ] ;
2015-08-14 16:30:03 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 194 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
'use strict' ;
2015-08-14 20:29:30 +00:00
exports . _ _esModule = true ;
2015-08-14 16:30:03 +00:00
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' ) ; } }
2016-08-17 18:29:53 +00:00
var _interpret = _ _webpack _require _ _ ( 195 ) ;
2015-08-14 16:30:03 +00:00
var _interpret2 = _interopRequireDefault ( _interpret ) ;
2016-08-17 18:29:53 +00:00
var _math = _ _webpack _require _ _ ( 198 ) ;
2015-08-14 16:30:03 +00:00
var _math2 = _interopRequireDefault ( _math ) ;
2016-08-17 18:29:53 +00:00
var _toString = _ _webpack _require _ _ ( 196 ) ;
2015-08-14 16:30:03 +00:00
var _toString2 = _interopRequireDefault ( _toString ) ;
2016-08-17 18:29:53 +00:00
var _utilsCommon = _ _webpack _require _ _ ( 197 ) ;
2015-08-14 16:30:03 +00:00
var _utilsCommon2 = _interopRequireDefault ( _utilsCommon ) ;
var Color = ( function ( ) {
function Color ( ) {
_classCallCheck ( this , Color ) ;
this . _ _state = _interpret2 [ 'default' ] . apply ( this , arguments ) ;
if ( this . _ _state === false ) {
2015-08-14 22:16:18 +00:00
throw new Error ( 'Failed to interpret color arguments' ) ;
2015-08-14 16:30:03 +00:00
}
this . _ _state . a = this . _ _state . a || 1 ;
}
2015-08-14 20:29:30 +00:00
Color . prototype . toString = function toString ( ) {
return _toString2 [ 'default' ] ( this ) ;
} ;
Color . prototype . toOriginal = function toOriginal ( ) {
return this . _ _state . conversion . write ( this ) ;
} ;
2015-08-14 16:30:03 +00:00
return Color ;
} ) ( ) ;
2015-08-15 01:28:21 +00:00
function defineRGBComponent ( target , component , componentHexIndex ) {
Object . defineProperty ( target , component , {
get : function get ( ) {
if ( this . _ _state . space === 'RGB' ) {
return this . _ _state [ component ] ;
}
Color . recalculateRGB ( this , component , componentHexIndex ) ;
return this . _ _state [ component ] ;
} ,
set : function set ( v ) {
if ( this . _ _state . space !== 'RGB' ) {
Color . recalculateRGB ( this , component , componentHexIndex ) ;
this . _ _state . space = 'RGB' ;
}
this . _ _state [ component ] = v ;
}
} ) ;
}
function defineHSVComponent ( target , component ) {
Object . defineProperty ( target , component , {
get : function get ( ) {
if ( this . _ _state . space === 'HSV' ) {
return this . _ _state [ component ] ;
}
Color . recalculateHSV ( this ) ;
return this . _ _state [ component ] ;
} ,
set : function set ( v ) {
if ( this . _ _state . space !== 'HSV' ) {
Color . recalculateHSV ( this ) ;
this . _ _state . space = 'HSV' ;
}
this . _ _state [ component ] = v ;
}
} ) ;
}
2015-08-14 16:30:03 +00:00
Color . recalculateRGB = function ( color , component , componentHexIndex ) {
if ( color . _ _state . space === 'HEX' ) {
color . _ _state [ component ] = _math2 [ 'default' ] . component _from _hex ( color . _ _state . hex , componentHexIndex ) ;
} else if ( color . _ _state . space === 'HSV' ) {
_utilsCommon2 [ 'default' ] . extend ( color . _ _state , _math2 [ 'default' ] . hsv _to _rgb ( color . _ _state . h , color . _ _state . s , color . _ _state . v ) ) ;
} else {
2015-08-14 22:16:18 +00:00
throw new Error ( 'Corrupted color state' ) ;
2015-08-14 16:30:03 +00:00
}
} ;
Color . recalculateHSV = function ( color ) {
var result = _math2 [ 'default' ] . rgb _to _hsv ( color . r , color . g , color . b ) ;
_utilsCommon2 [ 'default' ] . extend ( color . _ _state , {
s : result . s ,
v : result . v
} ) ;
if ( ! _utilsCommon2 [ 'default' ] . isNaN ( result . h ) ) {
color . _ _state . h = result . h ;
} else if ( _utilsCommon2 [ 'default' ] . isUndefined ( color . _ _state . h ) ) {
color . _ _state . h = 0 ;
}
} ;
Color . COMPONENTS = [ 'r' , 'g' , 'b' , 'h' , 's' , 'v' , 'hex' , 'a' ] ;
defineRGBComponent ( Color . prototype , 'r' , 2 ) ;
defineRGBComponent ( Color . prototype , 'g' , 1 ) ;
defineRGBComponent ( Color . prototype , 'b' , 0 ) ;
defineHSVComponent ( Color . prototype , 'h' ) ;
defineHSVComponent ( Color . prototype , 's' ) ;
defineHSVComponent ( Color . prototype , 'v' ) ;
Object . defineProperty ( Color . prototype , 'a' , {
get : function get ( ) {
return this . _ _state . a ;
} ,
set : function set ( v ) {
this . _ _state . a = v ;
}
} ) ;
Object . defineProperty ( Color . prototype , 'hex' , {
get : function get ( ) {
if ( ! this . _ _state . space !== 'HEX' ) {
this . _ _state . hex = _math2 [ 'default' ] . rgb _to _hex ( this . r , this . g , this . b ) ;
}
return this . _ _state . hex ;
} ,
set : function set ( v ) {
this . _ _state . space = 'HEX' ;
this . _ _state . hex = v ;
}
} ) ;
exports [ 'default' ] = Color ;
module . exports = exports [ 'default' ] ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 195 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
'use strict' ;
2015-08-14 20:29:30 +00:00
exports . _ _esModule = true ;
2015-08-14 16:30:03 +00:00
function _interopRequireDefault ( obj ) { return obj && obj . _ _esModule ? obj : { 'default' : obj } ; }
2016-08-17 18:29:53 +00:00
var _toString = _ _webpack _require _ _ ( 196 ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
var _toString2 = _interopRequireDefault ( _toString ) ;
2015-08-14 16:30:03 +00:00
2016-08-17 18:29:53 +00:00
var _utilsCommon = _ _webpack _require _ _ ( 197 ) ;
2015-08-14 16:30:03 +00:00
var _utilsCommon2 = _interopRequireDefault ( _utilsCommon ) ;
var INTERPRETATIONS = [
// Strings
{
litmus : _utilsCommon2 [ 'default' ] . isString ,
conversions : {
THREE _CHAR _HEX : {
read : function read ( original ) {
var test = original . match ( /^#([A-F0-9])([A-F0-9])([A-F0-9])$/i ) ;
2015-08-14 20:29:30 +00:00
if ( test === null ) {
return false ;
}
2015-08-14 16:30:03 +00:00
return {
space : 'HEX' ,
2015-08-14 20:29:30 +00:00
hex : parseInt ( '0x' + test [ 1 ] . toString ( ) + test [ 1 ] . toString ( ) + test [ 2 ] . toString ( ) + test [ 2 ] . toString ( ) + test [ 3 ] . toString ( ) + test [ 3 ] . toString ( ) , 0 )
2015-08-14 16:30:03 +00:00
} ;
} ,
2015-08-14 20:29:30 +00:00
write : _toString2 [ 'default' ]
2015-08-14 16:30:03 +00:00
} ,
SIX _CHAR _HEX : {
read : function read ( original ) {
var test = original . match ( /^#([A-F0-9]{6})$/i ) ;
2015-08-14 20:29:30 +00:00
if ( test === null ) {
return false ;
}
2015-08-14 16:30:03 +00:00
return {
space : 'HEX' ,
2015-08-14 20:29:30 +00:00
hex : parseInt ( '0x' + test [ 1 ] . toString ( ) , 0 )
2015-08-14 16:30:03 +00:00
} ;
} ,
2015-08-14 20:29:30 +00:00
write : _toString2 [ 'default' ]
2015-08-14 16:30:03 +00:00
} ,
CSS _RGB : {
read : function read ( original ) {
var test = original . match ( /^rgb\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*\)/ ) ;
2015-08-14 20:29:30 +00:00
if ( test === null ) {
return false ;
}
2015-08-14 16:30:03 +00:00
return {
space : 'RGB' ,
r : parseFloat ( test [ 1 ] ) ,
g : parseFloat ( test [ 2 ] ) ,
b : parseFloat ( test [ 3 ] )
} ;
} ,
2015-08-14 20:29:30 +00:00
write : _toString2 [ 'default' ]
2015-08-14 16:30:03 +00:00
} ,
CSS _RGBA : {
read : function read ( original ) {
var test = original . match ( /^rgba\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*\,\s*(.+)\s*\)/ ) ;
2015-08-14 20:29:30 +00:00
if ( test === null ) {
return false ;
}
2015-08-14 16:30:03 +00:00
return {
space : 'RGB' ,
r : parseFloat ( test [ 1 ] ) ,
g : parseFloat ( test [ 2 ] ) ,
b : parseFloat ( test [ 3 ] ) ,
a : parseFloat ( test [ 4 ] )
} ;
} ,
2015-08-14 20:29:30 +00:00
write : _toString2 [ 'default' ]
2015-08-14 16:30:03 +00:00
}
}
} ,
// Numbers
{
litmus : _utilsCommon2 [ 'default' ] . isNumber ,
conversions : {
HEX : {
read : function read ( original ) {
return {
space : 'HEX' ,
hex : original ,
conversionName : 'HEX'
} ;
} ,
write : function write ( color ) {
return color . hex ;
}
}
}
} ,
// Arrays
{
litmus : _utilsCommon2 [ 'default' ] . isArray ,
conversions : {
RGB _ARRAY : {
read : function read ( original ) {
2015-08-14 20:29:30 +00:00
if ( original . length !== 3 ) {
return false ;
}
2015-08-14 16:30:03 +00:00
return {
space : 'RGB' ,
r : original [ 0 ] ,
g : original [ 1 ] ,
b : original [ 2 ]
} ;
} ,
write : function write ( color ) {
return [ color . r , color . g , color . b ] ;
}
} ,
RGBA _ARRAY : {
read : function read ( original ) {
2015-08-14 20:29:30 +00:00
if ( original . length !== 4 ) return false ;
2015-08-14 16:30:03 +00:00
return {
space : 'RGB' ,
r : original [ 0 ] ,
g : original [ 1 ] ,
b : original [ 2 ] ,
a : original [ 3 ]
} ;
} ,
write : function write ( color ) {
return [ color . r , color . g , color . b , color . a ] ;
}
}
}
} ,
// Objects
{
litmus : _utilsCommon2 [ 'default' ] . isObject ,
conversions : {
RGBA _OBJ : {
read : function read ( original ) {
if ( _utilsCommon2 [ 'default' ] . isNumber ( original . r ) && _utilsCommon2 [ 'default' ] . isNumber ( original . g ) && _utilsCommon2 [ 'default' ] . isNumber ( original . b ) && _utilsCommon2 [ 'default' ] . isNumber ( original . a ) ) {
return {
space : 'RGB' ,
r : original . r ,
g : original . g ,
b : original . b ,
a : original . a
} ;
}
return false ;
} ,
write : function write ( color ) {
return {
r : color . r ,
g : color . g ,
b : color . b ,
a : color . a
} ;
}
} ,
RGB _OBJ : {
read : function read ( original ) {
if ( _utilsCommon2 [ 'default' ] . isNumber ( original . r ) && _utilsCommon2 [ 'default' ] . isNumber ( original . g ) && _utilsCommon2 [ 'default' ] . isNumber ( original . b ) ) {
return {
space : 'RGB' ,
r : original . r ,
g : original . g ,
b : original . b
} ;
}
return false ;
} ,
write : function write ( color ) {
return {
r : color . r ,
g : color . g ,
b : color . b
} ;
}
} ,
HSVA _OBJ : {
read : function read ( original ) {
if ( _utilsCommon2 [ 'default' ] . isNumber ( original . h ) && _utilsCommon2 [ 'default' ] . isNumber ( original . s ) && _utilsCommon2 [ 'default' ] . isNumber ( original . v ) && _utilsCommon2 [ 'default' ] . isNumber ( original . a ) ) {
return {
space : 'HSV' ,
h : original . h ,
s : original . s ,
v : original . v ,
a : original . a
} ;
}
return false ;
} ,
write : function write ( color ) {
return {
h : color . h ,
s : color . s ,
v : color . v ,
a : color . a
} ;
}
} ,
HSV _OBJ : {
read : function read ( original ) {
if ( _utilsCommon2 [ 'default' ] . isNumber ( original . h ) && _utilsCommon2 [ 'default' ] . isNumber ( original . s ) && _utilsCommon2 [ 'default' ] . isNumber ( original . v ) ) {
return {
space : 'HSV' ,
h : original . h ,
s : original . s ,
v : original . v
} ;
}
return false ;
} ,
write : function write ( color ) {
return {
h : color . h ,
s : color . s ,
v : color . v
} ;
}
}
}
} ] ;
2015-08-14 20:29:30 +00:00
var result = undefined ;
var toReturn = undefined ;
var interpret = function interpret ( ) {
toReturn = false ;
var original = arguments . length > 1 ? _utilsCommon2 [ 'default' ] . toArray ( arguments ) : arguments [ 0 ] ;
_utilsCommon2 [ 'default' ] . each ( INTERPRETATIONS , function ( family ) {
if ( family . litmus ( original ) ) {
_utilsCommon2 [ 'default' ] . each ( family . conversions , function ( conversion , conversionName ) {
result = conversion . read ( original ) ;
if ( toReturn === false && result !== false ) {
toReturn = result ;
result . conversionName = conversionName ;
result . conversion = conversion ;
return _utilsCommon2 [ 'default' ] . BREAK ;
}
} ) ;
return _utilsCommon2 [ 'default' ] . BREAK ;
}
} ) ;
return toReturn ;
} ;
2015-08-14 16:30:03 +00:00
exports [ 'default' ] = interpret ;
module . exports = exports [ 'default' ] ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 196 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
'use strict' ;
2015-08-14 20:29:30 +00:00
exports . _ _esModule = true ;
2015-08-14 16:30:03 +00:00
function _interopRequireDefault ( obj ) { return obj && obj . _ _esModule ? obj : { 'default' : obj } ; }
2016-08-17 18:29:53 +00:00
var _utilsCommon = _ _webpack _require _ _ ( 197 ) ;
2015-08-14 16:30:03 +00:00
var _utilsCommon2 = _interopRequireDefault ( _utilsCommon ) ;
2015-08-14 20:29:30 +00:00
exports [ 'default' ] = function ( color ) {
if ( color . a === 1 || _utilsCommon2 [ 'default' ] . isUndefined ( color . a ) ) {
2015-08-14 16:30:03 +00:00
var s = color . hex . toString ( 16 ) ;
while ( s . length < 6 ) {
s = '0' + s ;
}
return '#' + s ;
}
2015-08-14 20:29:30 +00:00
return 'rgba(' + Math . round ( color . r ) + ',' + Math . round ( color . g ) + ',' + Math . round ( color . b ) + ',' + color . a + ')' ;
2015-08-14 16:30:03 +00:00
} ;
module . exports = exports [ 'default' ] ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 197 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports ) {
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
'use strict' ;
2015-08-14 20:29:30 +00:00
exports . _ _esModule = true ;
2015-08-14 16:30:03 +00:00
var ARR _EACH = Array . prototype . forEach ;
var ARR _SLICE = Array . prototype . slice ;
/ * *
* Band - aid methods for things that should be a lot easier in JavaScript .
* Implementation and structure inspired by underscore . js
* http : //documentcloud.github.com/underscore/
* /
var Common = {
BREAK : { } ,
extend : function extend ( target ) {
this . each ( ARR _SLICE . call ( arguments , 1 ) , function ( obj ) {
2015-08-14 20:29:30 +00:00
for ( var key in obj ) {
if ( ! this . isUndefined ( obj [ key ] ) ) {
target [ key ] = obj [ key ] ;
}
}
2015-08-14 16:30:03 +00:00
} , this ) ;
return target ;
} ,
defaults : function defaults ( target ) {
this . each ( ARR _SLICE . call ( arguments , 1 ) , function ( obj ) {
2015-08-14 20:29:30 +00:00
for ( var key in obj ) {
if ( this . isUndefined ( target [ key ] ) ) {
target [ key ] = obj [ key ] ;
}
}
2015-08-14 16:30:03 +00:00
} , this ) ;
return target ;
} ,
compose : function compose ( ) {
var toCall = ARR _SLICE . call ( arguments ) ;
return function ( ) {
var args = ARR _SLICE . call ( arguments ) ;
for ( var i = toCall . length - 1 ; i >= 0 ; i -- ) {
args = [ toCall [ i ] . apply ( this , args ) ] ;
}
return args [ 0 ] ;
} ;
} ,
each : function each ( obj , itr , scope ) {
2015-08-14 20:29:30 +00:00
if ( ! obj ) {
return ;
}
2015-08-14 16:30:03 +00:00
if ( ARR _EACH && obj . forEach && obj . forEach === ARR _EACH ) {
obj . forEach ( itr , scope ) ;
} else if ( obj . length === obj . length + 0 ) {
// Is number but not NaN
2015-08-14 20:29:30 +00:00
var key = undefined ;
var l = undefined ;
for ( key = 0 , l = obj . length ; key < l ; key ++ ) {
if ( key in obj && itr . call ( scope , obj [ key ] , key ) === this . BREAK ) {
return ;
}
}
2015-08-14 16:30:03 +00:00
} else {
2015-08-14 20:29:30 +00:00
for ( var key in obj ) {
if ( itr . call ( scope , obj [ key ] , key ) === this . BREAK ) {
return ;
}
}
2015-08-14 16:30:03 +00:00
}
} ,
defer : function defer ( fnc ) {
setTimeout ( fnc , 0 ) ;
} ,
2016-08-19 00:24:08 +00:00
// call the function immediately, but wait until threshold passes to allow it to be called again
debounce : function debounce ( func , threshold ) {
var timeout = undefined ;
return function ( ) {
var obj = this ;
var args = arguments ;
function delayed ( ) {
timeout = null ;
}
var allowCall = ! timeout ;
clearTimeout ( timeout ) ;
timeout = setTimeout ( delayed , threshold ) ;
if ( allowCall ) {
func . apply ( obj , args ) ;
}
} ;
} ,
2015-08-14 16:30:03 +00:00
toArray : function toArray ( obj ) {
if ( obj . toArray ) return obj . toArray ( ) ;
return ARR _SLICE . call ( obj ) ;
} ,
isUndefined : function isUndefined ( obj ) {
return obj === undefined ;
} ,
isNull : function isNull ( obj ) {
return obj === null ;
} ,
2015-08-14 20:29:30 +00:00
isNaN : ( function ( _isNaN ) {
function isNaN ( _x ) {
return _isNaN . apply ( this , arguments ) ;
}
isNaN . toString = function ( ) {
return _isNaN . toString ( ) ;
} ;
return isNaN ;
} ) ( function ( obj ) {
return isNaN ( obj ) ;
} ) ,
2015-08-14 16:30:03 +00:00
isArray : Array . isArray || function ( obj ) {
return obj . constructor === Array ;
} ,
isObject : function isObject ( obj ) {
return obj === Object ( obj ) ;
} ,
isNumber : function isNumber ( obj ) {
return obj === obj + 0 ;
} ,
isString : function isString ( obj ) {
return obj === obj + '' ;
} ,
isBoolean : function isBoolean ( obj ) {
return obj === false || obj === true ;
} ,
isFunction : function isFunction ( obj ) {
return Object . prototype . toString . call ( obj ) === '[object Function]' ;
}
} ;
2015-08-14 20:29:30 +00:00
exports [ 'default' ] = Common ;
module . exports = exports [ 'default' ] ;
2015-08-14 16:30:03 +00:00
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 198 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports ) {
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
"use strict" ;
2015-08-14 20:29:30 +00:00
exports . _ _esModule = true ;
2015-08-14 22:16:18 +00:00
var tmpComponent = undefined ;
2015-08-14 16:30:03 +00:00
var ColorMath = {
hsv _to _rgb : function hsv _to _rgb ( h , s , v ) {
var hi = Math . floor ( h / 60 ) % 6 ;
var f = h / 60 - Math . floor ( h / 60 ) ;
var p = v * ( 1.0 - s ) ;
var q = v * ( 1.0 - f * s ) ;
var t = v * ( 1.0 - ( 1.0 - f ) * s ) ;
2015-08-14 22:16:18 +00:00
2015-08-14 16:30:03 +00:00
var c = [ [ v , t , p ] , [ q , v , p ] , [ p , v , t ] , [ p , q , v ] , [ t , p , v ] , [ v , p , q ] ] [ hi ] ;
return {
r : c [ 0 ] * 255 ,
g : c [ 1 ] * 255 ,
b : c [ 2 ] * 255
} ;
} ,
rgb _to _hsv : function rgb _to _hsv ( r , g , b ) {
2015-08-14 22:16:18 +00:00
var min = Math . min ( r , g , b ) ;
var max = Math . max ( r , g , b ) ;
var delta = max - min ;
var h = undefined ;
var s = undefined ;
2015-08-14 16:30:03 +00:00
2015-08-14 22:16:18 +00:00
if ( max !== 0 ) {
2015-08-14 16:30:03 +00:00
s = delta / max ;
} else {
return {
h : NaN ,
s : 0 ,
v : 0
} ;
}
2015-08-14 22:16:18 +00:00
if ( r === max ) {
2015-08-14 16:30:03 +00:00
h = ( g - b ) / delta ;
2015-08-14 22:16:18 +00:00
} else if ( g === max ) {
2015-08-14 16:30:03 +00:00
h = 2 + ( b - r ) / delta ;
} else {
h = 4 + ( r - g ) / delta ;
}
h /= 6 ;
if ( h < 0 ) {
h += 1 ;
}
return {
h : h * 360 ,
s : s ,
v : max / 255
} ;
} ,
rgb _to _hex : function rgb _to _hex ( r , g , b ) {
var hex = this . hex _with _component ( 0 , 2 , r ) ;
hex = this . hex _with _component ( hex , 1 , g ) ;
hex = this . hex _with _component ( hex , 0 , b ) ;
return hex ;
} ,
component _from _hex : function component _from _hex ( hex , componentIndex ) {
return hex >> componentIndex * 8 & 0xFF ;
} ,
hex _with _component : function hex _with _component ( hex , componentIndex , value ) {
return value << ( tmpComponent = componentIndex * 8 ) | hex & ~ ( 0xFF << tmpComponent ) ;
}
} ;
exports [ "default" ] = ColorMath ;
module . exports = exports [ "default" ] ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 199 */
2015-08-14 22:16:18 +00:00
/***/ function ( module , exports ) {
2015-08-14 16:30:03 +00:00
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
/ * *
* @ class An "abstract" class that represents a given property of an object .
*
* @ param { Object } object The object to be manipulated
* @ param { string } property The name of the property to be manipulated
*
* @ member dat . controllers
* /
2015-08-14 22:16:18 +00:00
'use strict' ;
exports . _ _esModule = true ;
function _classCallCheck ( instance , Constructor ) { if ( ! ( instance instanceof Constructor ) ) { throw new TypeError ( 'Cannot call a class as a function' ) ; } }
2015-08-14 16:30:03 +00:00
var Controller = ( function ( ) {
function Controller ( object , property ) {
_classCallCheck ( this , Controller ) ;
this . initialValue = object [ property ] ;
/ * *
* Those who extend this class will put their DOM elements in here .
* @ type { DOMElement }
* /
this . domElement = document . createElement ( 'div' ) ;
/ * *
* The object to manipulate
* @ type { Object }
* /
this . object = object ;
/ * *
* The name of the property to manipulate
* @ type { String }
* /
this . property = property ;
/ * *
* The function to be called on change .
* @ type { Function }
* @ ignore
* /
this . _ _onChange = undefined ;
/ * *
* The function to be called on finishing change .
* @ type { Function }
* @ ignore
* /
this . _ _onFinishChange = undefined ;
}
/ * *
* Specify that a function fire every time someone changes the value with
* this Controller .
*
* @ param { Function } fnc This function will be called whenever the value
* is modified via this Controller .
2015-08-14 20:29:30 +00:00
* @ returns { Controller } this
2015-08-14 16:30:03 +00:00
* /
2015-08-14 20:29:30 +00:00
Controller . prototype . onChange = function onChange ( fnc ) {
this . _ _onChange = fnc ;
return this ;
} ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
/ * *
* Specify that a function fire every time someone "finishes" changing
* the value wih this Controller . Useful for values that change
* incrementally like numbers or strings .
*
* @ param { Function } fnc This function will be called whenever
* someone "finishes" changing the value via this Controller .
* @ returns { Controller } this
* /
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
Controller . prototype . onFinishChange = function onFinishChange ( fnc ) {
this . _ _onFinishChange = fnc ;
return this ;
} ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
/ * *
* Change the value of < code > object [ property ] < / c o d e >
*
* @ param { Object } newValue The new value of < code > object [ property ] < / c o d e >
* /
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
Controller . prototype . setValue = function setValue ( newValue ) {
this . object [ this . property ] = newValue ;
if ( this . _ _onChange ) {
this . _ _onChange . call ( this , newValue ) ;
2015-08-14 16:30:03 +00:00
}
2015-08-14 20:29:30 +00:00
this . updateDisplay ( ) ;
return this ;
} ;
/ * *
* Gets the value of < code > object [ property ] < / c o d e >
*
* @ returns { Object } The current value of < code > object [ property ] < / c o d e >
* /
Controller . prototype . getValue = function getValue ( ) {
return this . object [ this . property ] ;
} ;
/ * *
* Refreshes the visual display of a Controller in order to keep sync
* with the object ' s current value .
* @ returns { Controller } this
* /
Controller . prototype . updateDisplay = function updateDisplay ( ) {
return this ;
} ;
/ * *
* @ returns { Boolean } true if the value has deviated from initialValue
* /
Controller . prototype . isModified = function isModified ( ) {
return this . initialValue !== this . getValue ( ) ;
} ;
2015-08-14 16:30:03 +00:00
return Controller ;
} ) ( ) ;
exports [ 'default' ] = Controller ;
module . exports = exports [ 'default' ] ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 200 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
'use strict' ;
2015-08-14 20:29:30 +00:00
exports . _ _esModule = true ;
2015-08-14 16:30:03 +00:00
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 _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 ; }
2016-08-17 18:29:53 +00:00
var _Controller2 = _ _webpack _require _ _ ( 199 ) ;
2015-08-14 16:30:03 +00:00
var _Controller3 = _interopRequireDefault ( _Controller2 ) ;
2016-08-17 18:29:53 +00:00
var _domDom = _ _webpack _require _ _ ( 201 ) ;
2015-08-14 16:30:03 +00:00
var _domDom2 = _interopRequireDefault ( _domDom ) ;
/ * *
* @ class Provides a checkbox input to alter the boolean property of an object .
* @ extends dat . controllers . Controller
*
* @ param { Object } object The object to be manipulated
* @ param { string } property The name of the property to be manipulated
*
* @ member dat . controllers
* /
var BooleanController = ( function ( _Controller ) {
_inherits ( BooleanController , _Controller ) ;
function BooleanController ( object , property ) {
_classCallCheck ( this , BooleanController ) ;
2015-08-14 20:29:30 +00:00
_Controller . call ( this , object , property ) ;
2015-08-14 16:30:03 +00:00
var _this = this ;
this . _ _prev = this . getValue ( ) ;
this . _ _checkbox = document . createElement ( 'input' ) ;
this . _ _checkbox . setAttribute ( 'type' , 'checkbox' ) ;
function onChange ( ) {
_this . setValue ( ! _this . _ _prev ) ;
}
_domDom2 [ 'default' ] . bind ( this . _ _checkbox , 'change' , onChange , false ) ;
this . domElement . appendChild ( this . _ _checkbox ) ;
// Match original value
this . updateDisplay ( ) ;
}
2015-08-14 20:29:30 +00:00
BooleanController . prototype . setValue = function setValue ( v ) {
var toReturn = _Controller . prototype . setValue . call ( this , v ) ;
if ( this . _ _onFinishChange ) {
this . _ _onFinishChange . call ( this , this . getValue ( ) ) ;
2015-08-14 16:30:03 +00:00
}
2015-08-14 20:29:30 +00:00
this . _ _prev = this . getValue ( ) ;
return toReturn ;
} ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
BooleanController . prototype . updateDisplay = function updateDisplay ( ) {
if ( this . getValue ( ) === true ) {
this . _ _checkbox . setAttribute ( 'checked' , 'checked' ) ;
this . _ _checkbox . checked = true ;
} else {
this . _ _checkbox . checked = false ;
2015-08-14 16:30:03 +00:00
}
2015-08-14 20:29:30 +00:00
return _Controller . prototype . updateDisplay . call ( this ) ;
} ;
2015-08-14 16:30:03 +00:00
return BooleanController ;
} ) ( _Controller3 [ 'default' ] ) ;
exports [ 'default' ] = BooleanController ;
module . exports = exports [ 'default' ] ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 201 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
'use strict' ;
2015-08-14 20:29:30 +00:00
exports . _ _esModule = true ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
function _interopRequireDefault ( obj ) { return obj && obj . _ _esModule ? obj : { 'default' : obj } ; }
2015-08-14 16:30:03 +00:00
2016-08-17 18:29:53 +00:00
var _utilsCommon = _ _webpack _require _ _ ( 197 ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
var _utilsCommon2 = _interopRequireDefault ( _utilsCommon ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
var EVENT _MAP = {
'HTMLEvents' : [ 'change' ] ,
'MouseEvents' : [ 'click' , 'mousemove' , 'mousedown' , 'mouseup' , 'mouseover' ] ,
'KeyboardEvents' : [ 'keydown' ]
} ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
var EVENT _MAP _INV = { } ;
_utilsCommon2 [ 'default' ] . each ( EVENT _MAP , function ( v , k ) {
_utilsCommon2 [ 'default' ] . each ( v , function ( e ) {
EVENT _MAP _INV [ e ] = k ;
} ) ;
} ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
var CSS _VALUE _PIXELS = /(\d+(\.\d+)?)px/ ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
function cssValueToPixels ( val ) {
2015-08-14 22:16:18 +00:00
if ( val === '0' || _utilsCommon2 [ 'default' ] . isUndefined ( val ) ) {
return 0 ;
}
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
var match = val . match ( CSS _VALUE _PIXELS ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
if ( ! _utilsCommon2 [ 'default' ] . isNull ( match ) ) {
return parseFloat ( match [ 1 ] ) ;
}
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
// TODO ...ems? %?
return 0 ;
}
2015-08-14 16:30:03 +00:00
/ * *
2015-08-14 20:29:30 +00:00
* @ namespace
* @ member dat . dom
2015-08-14 16:30:03 +00:00
* /
2015-08-14 20:29:30 +00:00
var dom = {
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
/ * *
*
* @ param elem
* @ param selectable
* /
makeSelectable : function makeSelectable ( elem , selectable ) {
if ( elem === undefined || elem . style === undefined ) return ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
elem . onselectstart = selectable ? function ( ) {
return false ;
} : function ( ) { } ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
elem . style . MozUserSelect = selectable ? 'auto' : 'none' ;
elem . style . KhtmlUserSelect = selectable ? 'auto' : 'none' ;
elem . unselectable = selectable ? 'on' : 'off' ;
} ,
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
/ * *
*
* @ param elem
* @ param horizontal
2015-08-14 22:16:18 +00:00
* @ param vert
2015-08-14 20:29:30 +00:00
* /
2015-08-14 22:16:18 +00:00
makeFullscreen : function makeFullscreen ( elem , hor , vert ) {
var vertical = vert ;
var horizontal = hor ;
2015-08-14 16:30:03 +00:00
2015-08-14 22:16:18 +00:00
if ( _utilsCommon2 [ 'default' ] . isUndefined ( horizontal ) ) {
horizontal = true ;
}
if ( _utilsCommon2 [ 'default' ] . isUndefined ( vertical ) ) {
vertical = true ;
}
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
elem . style . position = 'absolute' ;
2015-08-14 16:30:03 +00:00
if ( horizontal ) {
elem . style . left = 0 ;
elem . style . right = 0 ;
}
if ( vertical ) {
elem . style . top = 0 ;
elem . style . bottom = 0 ;
}
} ,
/ * *
*
* @ param elem
* @ param eventType
* @ param params
* /
2015-08-14 22:16:18 +00:00
fakeEvent : function fakeEvent ( elem , eventType , pars , aux ) {
var params = pars || { } ;
2015-08-14 16:30:03 +00:00
var className = EVENT _MAP _INV [ eventType ] ;
if ( ! className ) {
throw new Error ( 'Event type ' + eventType + ' not supported.' ) ;
}
var evt = document . createEvent ( className ) ;
switch ( className ) {
case 'MouseEvents' :
2015-08-14 22:16:18 +00:00
{
var clientX = params . x || params . clientX || 0 ;
var clientY = params . y || params . clientY || 0 ;
evt . initMouseEvent ( eventType , params . bubbles || false , params . cancelable || true , window , params . clickCount || 1 , 0 , // screen X
0 , // screen Y
clientX , // client X
clientY , // client Y
false , false , false , false , 0 , null ) ;
break ;
}
2015-08-14 16:30:03 +00:00
case 'KeyboardEvents' :
2015-08-14 22:16:18 +00:00
{
var init = evt . initKeyboardEvent || evt . initKeyEvent ; // webkit || moz
_utilsCommon2 [ 'default' ] . defaults ( params , {
cancelable : true ,
ctrlKey : false ,
altKey : false ,
shiftKey : false ,
metaKey : false ,
keyCode : undefined ,
charCode : undefined
} ) ;
init ( eventType , params . bubbles || false , params . cancelable , window , params . ctrlKey , params . altKey , params . shiftKey , params . metaKey , params . keyCode , params . charCode ) ;
break ;
}
2015-08-14 16:30:03 +00:00
default :
2015-08-14 22:16:18 +00:00
{
evt . initEvent ( eventType , params . bubbles || false , params . cancelable || true ) ;
break ;
}
2015-08-14 16:30:03 +00:00
}
_utilsCommon2 [ 'default' ] . defaults ( evt , aux ) ;
elem . dispatchEvent ( evt ) ;
} ,
/ * *
*
* @ param elem
* @ param event
* @ param func
* @ param bool
* /
2015-08-14 22:16:18 +00:00
bind : function bind ( elem , event , func , newBool ) {
var bool = newBool || false ;
if ( elem . addEventListener ) {
elem . addEventListener ( event , func , bool ) ;
} else if ( elem . attachEvent ) {
elem . attachEvent ( 'on' + event , func ) ;
}
2015-08-14 16:30:03 +00:00
return dom ;
} ,
/ * *
*
* @ param elem
* @ param event
* @ param func
* @ param bool
* /
2015-08-14 22:16:18 +00:00
unbind : function unbind ( elem , event , func , newBool ) {
var bool = newBool || false ;
if ( elem . removeEventListener ) {
elem . removeEventListener ( event , func , bool ) ;
} else if ( elem . detachEvent ) {
elem . detachEvent ( 'on' + event , func ) ;
}
2015-08-14 16:30:03 +00:00
return dom ;
} ,
/ * *
*
* @ param elem
* @ param className
* /
addClass : function addClass ( elem , className ) {
if ( elem . className === undefined ) {
elem . className = className ;
} else if ( elem . className !== className ) {
var classes = elem . className . split ( / +/ ) ;
2015-08-14 22:16:18 +00:00
if ( classes . indexOf ( className ) === - 1 ) {
2015-08-14 16:30:03 +00:00
classes . push ( className ) ;
elem . className = classes . join ( ' ' ) . replace ( /^\s+/ , '' ) . replace ( /\s+$/ , '' ) ;
}
}
return dom ;
} ,
/ * *
*
* @ param elem
* @ param className
* /
removeClass : function removeClass ( elem , className ) {
if ( className ) {
2015-08-14 22:16:18 +00:00
if ( elem . className === className ) {
elem . removeAttribute ( 'class' ) ;
} else {
var classes = elem . className . split ( / +/ ) ;
var index = classes . indexOf ( className ) ;
if ( index !== - 1 ) {
classes . splice ( index , 1 ) ;
elem . className = classes . join ( ' ' ) ;
2015-08-14 16:30:03 +00:00
}
2015-08-14 22:16:18 +00:00
}
2015-08-14 16:30:03 +00:00
} else {
elem . className = undefined ;
}
return dom ;
} ,
hasClass : function hasClass ( elem , className ) {
return new RegExp ( '(?:^|\\s+)' + className + '(?:\\s+|$)' ) . test ( elem . className ) || false ;
} ,
/ * *
*
* @ param elem
* /
getWidth : function getWidth ( elem ) {
var style = getComputedStyle ( elem ) ;
2015-08-14 22:16:18 +00:00
return cssValueToPixels ( style [ 'border-left-width' ] ) + cssValueToPixels ( style [ 'border-right-width' ] ) + cssValueToPixels ( style [ 'padding-left' ] ) + cssValueToPixels ( style [ 'padding-right' ] ) + cssValueToPixels ( style . width ) ;
2015-08-14 16:30:03 +00:00
} ,
/ * *
*
* @ param elem
* /
getHeight : function getHeight ( elem ) {
var style = getComputedStyle ( elem ) ;
2015-08-14 22:16:18 +00:00
return cssValueToPixels ( style [ 'border-top-width' ] ) + cssValueToPixels ( style [ 'border-bottom-width' ] ) + cssValueToPixels ( style [ 'padding-top' ] ) + cssValueToPixels ( style [ 'padding-bottom' ] ) + cssValueToPixels ( style . height ) ;
2015-08-14 16:30:03 +00:00
} ,
/ * *
*
2015-08-14 22:16:18 +00:00
* @ param el
2015-08-14 16:30:03 +00:00
* /
2015-08-14 22:16:18 +00:00
getOffset : function getOffset ( el ) {
var elem = el ;
2015-08-14 16:30:03 +00:00
var offset = { left : 0 , top : 0 } ;
if ( elem . offsetParent ) {
do {
offset . left += elem . offsetLeft ;
offset . top += elem . offsetTop ;
2015-08-14 22:16:18 +00:00
elem = elem . offsetParent ;
} while ( elem ) ;
2015-08-14 16:30:03 +00:00
}
return offset ;
} ,
// http://stackoverflow.com/posts/2684561/revisions
/ * *
*
* @ param elem
* /
isActive : function isActive ( elem ) {
return elem === document . activeElement && ( elem . type || elem . href ) ;
}
} ;
exports [ 'default' ] = dom ;
module . exports = exports [ 'default' ] ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 202 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
'use strict' ;
2015-08-14 20:29:30 +00:00
exports . _ _esModule = true ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
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 _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 ; }
2016-08-17 18:29:53 +00:00
var _Controller2 = _ _webpack _require _ _ ( 199 ) ;
2015-08-14 20:29:30 +00:00
var _Controller3 = _interopRequireDefault ( _Controller2 ) ;
2016-08-17 18:29:53 +00:00
var _domDom = _ _webpack _require _ _ ( 201 ) ;
2015-08-14 20:29:30 +00:00
var _domDom2 = _interopRequireDefault ( _domDom ) ;
2016-08-17 18:29:53 +00:00
var _utilsCommon = _ _webpack _require _ _ ( 197 ) ;
2015-08-14 20:29:30 +00:00
var _utilsCommon2 = _interopRequireDefault ( _utilsCommon ) ;
/ * *
* @ class Provides a select input to alter the property of an object , using a
* list of accepted values .
*
* @ extends dat . controllers . Controller
*
* @ param { Object } object The object to be manipulated
* @ param { string } property The name of the property to be manipulated
* @ param { Object | string [ ] } options A map of labels to acceptable values , or
* a list of acceptable string values .
*
* @ member dat . controllers
* /
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
var OptionController = ( function ( _Controller ) {
_inherits ( OptionController , _Controller ) ;
2015-08-14 22:16:18 +00:00
function OptionController ( object , property , opts ) {
2015-08-14 20:29:30 +00:00
_classCallCheck ( this , OptionController ) ;
_Controller . call ( this , object , property ) ;
2015-08-14 22:16:18 +00:00
var options = opts ;
2015-08-14 20:29:30 +00:00
var _this = this ;
/ * *
* The drop down menu
* @ ignore
* /
this . _ _select = document . createElement ( 'select' ) ;
if ( _utilsCommon2 [ 'default' ] . isArray ( options ) ) {
2015-08-14 22:16:18 +00:00
( function ( ) {
var map = { } ;
_utilsCommon2 [ 'default' ] . each ( options , function ( element ) {
map [ element ] = element ;
} ) ;
options = map ;
} ) ( ) ;
2015-08-14 20:29:30 +00:00
}
_utilsCommon2 [ 'default' ] . each ( options , function ( value , key ) {
var opt = document . createElement ( 'option' ) ;
opt . innerHTML = key ;
opt . setAttribute ( 'value' , value ) ;
_this . _ _select . appendChild ( opt ) ;
} ) ;
// Acknowledge original value
this . updateDisplay ( ) ;
_domDom2 [ 'default' ] . bind ( this . _ _select , 'change' , function ( ) {
var desiredValue = this . options [ this . selectedIndex ] . value ;
_this . setValue ( desiredValue ) ;
} ) ;
this . domElement . appendChild ( this . _ _select ) ;
}
OptionController . prototype . setValue = function setValue ( v ) {
var toReturn = _Controller . prototype . setValue . call ( this , v ) ;
if ( this . _ _onFinishChange ) {
this . _ _onFinishChange . call ( this , this . getValue ( ) ) ;
}
return toReturn ;
} ;
OptionController . prototype . updateDisplay = function updateDisplay ( ) {
2016-08-18 22:31:37 +00:00
if ( _domDom2 [ 'default' ] . isActive ( this . _ _select ) ) return this ; // prevent number from updating if user is trying to manually update
2015-08-14 20:29:30 +00:00
this . _ _select . value = this . getValue ( ) ;
return _Controller . prototype . updateDisplay . call ( this ) ;
} ;
return OptionController ;
} ) ( _Controller3 [ 'default' ] ) ;
exports [ 'default' ] = OptionController ;
module . exports = exports [ 'default' ] ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 203 */
2015-08-14 20:29:30 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
'use strict' ;
exports . _ _esModule = true ;
2015-08-14 16:30:03 +00:00
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 _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 ; }
2016-08-17 18:29:53 +00:00
var _Controller2 = _ _webpack _require _ _ ( 199 ) ;
2015-08-14 16:30:03 +00:00
var _Controller3 = _interopRequireDefault ( _Controller2 ) ;
2016-08-17 18:29:53 +00:00
var _domDom = _ _webpack _require _ _ ( 201 ) ;
2015-08-14 16:30:03 +00:00
var _domDom2 = _interopRequireDefault ( _domDom ) ;
/ * *
* @ class Provides a text input to alter the string property of an object .
*
* @ extends dat . controllers . Controller
*
* @ param { Object } object The object to be manipulated
* @ param { string } property The name of the property to be manipulated
*
* @ member dat . controllers
* /
var StringController = ( function ( _Controller ) {
_inherits ( StringController , _Controller ) ;
function StringController ( object , property ) {
_classCallCheck ( this , StringController ) ;
2015-08-14 20:29:30 +00:00
_Controller . call ( this , object , property ) ;
2015-08-14 16:30:03 +00:00
var _this = this ;
2015-08-15 01:28:21 +00:00
function onChange ( ) {
_this . setValue ( _this . _ _input . value ) ;
}
function onBlur ( ) {
if ( _this . _ _onFinishChange ) {
_this . _ _onFinishChange . call ( _this , _this . getValue ( ) ) ;
}
}
2015-08-14 16:30:03 +00:00
this . _ _input = document . createElement ( 'input' ) ;
this . _ _input . setAttribute ( 'type' , 'text' ) ;
_domDom2 [ 'default' ] . bind ( this . _ _input , 'keyup' , onChange ) ;
_domDom2 [ 'default' ] . bind ( this . _ _input , 'change' , onChange ) ;
_domDom2 [ 'default' ] . bind ( this . _ _input , 'blur' , onBlur ) ;
_domDom2 [ 'default' ] . bind ( this . _ _input , 'keydown' , function ( e ) {
if ( e . keyCode === 13 ) {
this . blur ( ) ;
}
} ) ;
this . updateDisplay ( ) ;
this . domElement . appendChild ( this . _ _input ) ;
}
2015-08-14 20:29:30 +00:00
StringController . prototype . updateDisplay = function updateDisplay ( ) {
// Stops the caret from moving on account of:
// keyup -> setValue -> updateDisplay
if ( ! _domDom2 [ 'default' ] . isActive ( this . _ _input ) ) {
this . _ _input . value = this . getValue ( ) ;
2015-08-14 16:30:03 +00:00
}
2015-08-14 20:29:30 +00:00
return _Controller . prototype . updateDisplay . call ( this ) ;
} ;
2015-08-14 16:30:03 +00:00
return StringController ;
} ) ( _Controller3 [ 'default' ] ) ;
exports [ 'default' ] = StringController ;
module . exports = exports [ 'default' ] ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 204 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
'use strict' ;
2015-08-14 20:29:30 +00:00
exports . _ _esModule = true ;
2015-08-14 16:30:03 +00:00
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 _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 ; }
2016-08-17 18:29:53 +00:00
var _Controller2 = _ _webpack _require _ _ ( 199 ) ;
2015-08-14 16:30:03 +00:00
var _Controller3 = _interopRequireDefault ( _Controller2 ) ;
2016-08-17 18:29:53 +00:00
var _utilsCommon = _ _webpack _require _ _ ( 197 ) ;
2015-08-14 16:30:03 +00:00
var _utilsCommon2 = _interopRequireDefault ( _utilsCommon ) ;
function numDecimals ( x ) {
2015-08-14 22:16:18 +00:00
var _x = x . toString ( ) ;
if ( _x . indexOf ( '.' ) > - 1 ) {
return _x . length - _x . indexOf ( '.' ) - 1 ;
2015-08-14 16:30:03 +00:00
}
2015-08-14 22:16:18 +00:00
return 0 ;
2015-08-14 16:30:03 +00:00
}
/ * *
* @ class Represents a given property of an object that is a number .
*
* @ extends dat . controllers . Controller
*
* @ param { Object } object The object to be manipulated
* @ param { string } property The name of the property to be manipulated
* @ param { Object } [ params ] Optional parameters
* @ param { Number } [ params . min ] Minimum allowed value
* @ param { Number } [ params . max ] Maximum allowed value
* @ param { Number } [ params . step ] Increment by which to change value
*
* @ member dat . controllers
* /
var NumberController = ( function ( _Controller ) {
_inherits ( NumberController , _Controller ) ;
function NumberController ( object , property , params ) {
_classCallCheck ( this , NumberController ) ;
2015-08-14 20:29:30 +00:00
_Controller . call ( this , object , property ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 22:16:18 +00:00
var _params = params || { } ;
2015-08-14 16:30:03 +00:00
2015-08-14 22:16:18 +00:00
this . _ _min = _params . min ;
this . _ _max = _params . max ;
this . _ _step = _params . step ;
2015-08-14 16:30:03 +00:00
if ( _utilsCommon2 [ 'default' ] . isUndefined ( this . _ _step ) ) {
2015-08-14 22:16:18 +00:00
if ( this . initialValue === 0 ) {
2015-08-14 16:30:03 +00:00
this . _ _impliedStep = 1 ; // What are we, psychics?
} else {
// Hey Doug, check this out.
this . _ _impliedStep = Math . pow ( 10 , Math . floor ( Math . log ( Math . abs ( this . initialValue ) ) / Math . LN10 ) ) / 10 ;
}
} else {
this . _ _impliedStep = this . _ _step ;
}
this . _ _precision = numDecimals ( this . _ _impliedStep ) ;
}
2015-08-14 20:29:30 +00:00
NumberController . prototype . setValue = function setValue ( v ) {
2015-08-14 22:16:18 +00:00
var _v = v ;
if ( this . _ _min !== undefined && _v < this . _ _min ) {
_v = this . _ _min ;
} else if ( this . _ _max !== undefined && _v > this . _ _max ) {
_v = this . _ _max ;
2015-08-14 16:30:03 +00:00
}
2015-08-14 22:16:18 +00:00
if ( this . _ _step !== undefined && _v % this . _ _step !== 0 ) {
_v = Math . round ( _v / this . _ _step ) * this . _ _step ;
2015-08-14 16:30:03 +00:00
}
2015-08-14 22:16:18 +00:00
return _Controller . prototype . setValue . call ( this , _v ) ;
2015-08-14 20:29:30 +00:00
} ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
/ * *
* Specify a minimum value for < code > object [ property ] < / c o d e > .
*
* @ param { Number } minValue The minimum value for
* < code > object [ property ] < / c o d e >
* @ returns { dat . controllers . NumberController } this
* /
NumberController . prototype . min = function min ( v ) {
this . _ _min = v ;
return this ;
} ;
/ * *
* Specify a maximum value for < code > object [ property ] < / c o d e > .
*
* @ param { Number } maxValue The maximum value for
* < code > object [ property ] < / c o d e >
* @ returns { dat . controllers . NumberController } this
* /
NumberController . prototype . max = function max ( v ) {
this . _ _max = v ;
return this ;
} ;
/ * *
* Specify a step value that dat . controllers . NumberController
* increments by .
*
* @ param { Number } stepValue The step value for
* dat . controllers . NumberController
* @ default if minimum and maximum specified increment is 1 % of the
* difference otherwise stepValue is 1
* @ returns { dat . controllers . NumberController } this
* /
NumberController . prototype . step = function step ( v ) {
this . _ _step = v ;
this . _ _impliedStep = v ;
this . _ _precision = numDecimals ( v ) ;
return this ;
} ;
2015-08-14 16:30:03 +00:00
return NumberController ;
} ) ( _Controller3 [ 'default' ] ) ;
exports [ 'default' ] = NumberController ;
module . exports = exports [ 'default' ] ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 205 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
'use strict' ;
2015-08-14 20:29:30 +00:00
exports . _ _esModule = true ;
2015-08-14 16:30:03 +00:00
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 _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 ; }
2016-08-17 18:29:53 +00:00
var _NumberController2 = _ _webpack _require _ _ ( 204 ) ;
2015-08-14 16:30:03 +00:00
var _NumberController3 = _interopRequireDefault ( _NumberController2 ) ;
2016-08-17 18:29:53 +00:00
var _domDom = _ _webpack _require _ _ ( 201 ) ;
2015-08-14 16:30:03 +00:00
var _domDom2 = _interopRequireDefault ( _domDom ) ;
2016-08-17 18:29:53 +00:00
var _utilsCommon = _ _webpack _require _ _ ( 197 ) ;
2015-08-14 16:30:03 +00:00
var _utilsCommon2 = _interopRequireDefault ( _utilsCommon ) ;
function roundToDecimal ( value , decimals ) {
var tenTo = Math . pow ( 10 , decimals ) ;
return Math . round ( value * tenTo ) / tenTo ;
}
/ * *
* @ class Represents a given property of an object that is a number and
* provides an input element with which to manipulate it .
*
* @ extends dat . controllers . Controller
* @ extends dat . controllers . NumberController
*
* @ param { Object } object The object to be manipulated
* @ param { string } property The name of the property to be manipulated
* @ param { Object } [ params ] Optional parameters
* @ param { Number } [ params . min ] Minimum allowed value
* @ param { Number } [ params . max ] Maximum allowed value
* @ param { Number } [ params . step ] Increment by which to change value
*
* @ member dat . controllers
* /
var NumberControllerBox = ( function ( _NumberController ) {
_inherits ( NumberControllerBox , _NumberController ) ;
function NumberControllerBox ( object , property , params ) {
_classCallCheck ( this , NumberControllerBox ) ;
2015-08-14 20:29:30 +00:00
_NumberController . call ( this , object , property , params ) ;
2015-08-14 16:30:03 +00:00
this . _ _truncationSuspended = false ;
var _this = this ;
/ * *
* { Number } Previous mouse y position
* @ ignore
* /
2015-08-14 22:16:18 +00:00
var prevY = undefined ;
2015-08-14 16:30:03 +00:00
function onChange ( ) {
var attempted = parseFloat ( _this . _ _input . value ) ;
2015-08-14 22:16:18 +00:00
if ( ! _utilsCommon2 [ 'default' ] . isNaN ( attempted ) ) {
_this . setValue ( attempted ) ;
}
2015-08-14 16:30:03 +00:00
}
function onBlur ( ) {
onChange ( ) ;
if ( _this . _ _onFinishChange ) {
_this . _ _onFinishChange . call ( _this , _this . getValue ( ) ) ;
}
}
function onMouseDrag ( e ) {
2016-08-17 23:32:48 +00:00
document . activeElement . blur ( ) ;
2015-08-14 22:16:18 +00:00
var diff = prevY - e . clientY ;
2015-08-14 16:30:03 +00:00
_this . setValue ( _this . getValue ( ) + diff * _this . _ _impliedStep ) ;
2015-08-14 22:16:18 +00:00
prevY = e . clientY ;
2015-08-14 16:30:03 +00:00
}
function onMouseUp ( ) {
_domDom2 [ 'default' ] . unbind ( window , 'mousemove' , onMouseDrag ) ;
_domDom2 [ 'default' ] . unbind ( window , 'mouseup' , onMouseUp ) ;
}
2015-08-15 01:28:21 +00:00
function onMouseDown ( e ) {
_domDom2 [ 'default' ] . bind ( window , 'mousemove' , onMouseDrag ) ;
_domDom2 [ 'default' ] . bind ( window , 'mouseup' , onMouseUp ) ;
prevY = e . clientY ;
}
this . _ _input = document . createElement ( 'input' ) ;
this . _ _input . setAttribute ( 'type' , 'text' ) ;
// Makes it so manually specified values are not truncated.
_domDom2 [ 'default' ] . bind ( this . _ _input , 'change' , onChange ) ;
_domDom2 [ 'default' ] . bind ( this . _ _input , 'blur' , onBlur ) ;
_domDom2 [ 'default' ] . bind ( this . _ _input , 'mousedown' , onMouseDown ) ;
_domDom2 [ 'default' ] . bind ( this . _ _input , 'keydown' , function ( e ) {
// When pressing entire, you can be as precise as you want.
if ( e . keyCode === 13 ) {
_this . _ _truncationSuspended = true ;
this . blur ( ) ;
_this . _ _truncationSuspended = false ;
}
} ) ;
2015-08-14 16:30:03 +00:00
this . updateDisplay ( ) ;
this . domElement . appendChild ( this . _ _input ) ;
}
2015-08-14 20:29:30 +00:00
NumberControllerBox . prototype . updateDisplay = function updateDisplay ( ) {
2016-08-18 22:31:37 +00:00
if ( _domDom2 [ 'default' ] . isActive ( this . _ _input ) ) return this ; // prevent number from updating if user is trying to manually update
2015-08-14 20:29:30 +00:00
this . _ _input . value = this . _ _truncationSuspended ? this . getValue ( ) : roundToDecimal ( this . getValue ( ) , this . _ _precision ) ;
return _NumberController . prototype . updateDisplay . call ( this ) ;
} ;
2015-08-14 16:30:03 +00:00
return NumberControllerBox ;
} ) ( _NumberController3 [ 'default' ] ) ;
exports [ 'default' ] = NumberControllerBox ;
module . exports = exports [ 'default' ] ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 206 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
'use strict' ;
2015-08-14 20:29:30 +00:00
exports . _ _esModule = true ;
2015-08-14 16:30:03 +00:00
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 _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 ; }
2016-08-17 18:29:53 +00:00
var _NumberController2 = _ _webpack _require _ _ ( 204 ) ;
2015-08-14 16:30:03 +00:00
var _NumberController3 = _interopRequireDefault ( _NumberController2 ) ;
2016-08-17 18:29:53 +00:00
var _domDom = _ _webpack _require _ _ ( 201 ) ;
2015-08-14 16:30:03 +00:00
var _domDom2 = _interopRequireDefault ( _domDom ) ;
function map ( v , i1 , i2 , o1 , o2 ) {
return o1 + ( o2 - o1 ) * ( ( v - i1 ) / ( i2 - i1 ) ) ;
}
/ * *
* @ class Represents a given property of an object that is a number , contains
* a minimum and maximum , and provides a slider element with which to
* manipulate it . It should be noted that the slider element is made up of
* < code > & lt ; div & gt ; < / c o d e > t a g s , < s t r o n g > n o t < / s t r o n g > t h e h t m l 5
* < code > & lt ; slider & gt ; < / c o d e > e l e m e n t .
*
* @ extends dat . controllers . Controller
* @ extends dat . controllers . NumberController
*
* @ param { Object } object The object to be manipulated
* @ param { string } property The name of the property to be manipulated
* @ param { Number } minValue Minimum allowed value
* @ param { Number } maxValue Maximum allowed value
* @ param { Number } stepValue Increment by which to change value
*
* @ member dat . controllers
* /
var NumberControllerSlider = ( function ( _NumberController ) {
_inherits ( NumberControllerSlider , _NumberController ) ;
function NumberControllerSlider ( object , property , min , max , step ) {
_classCallCheck ( this , NumberControllerSlider ) ;
2015-08-14 20:29:30 +00:00
_NumberController . call ( this , object , property , { min : min , max : max , step : step } ) ;
2015-08-14 16:30:03 +00:00
var _this = this ;
this . _ _background = document . createElement ( 'div' ) ;
this . _ _foreground = document . createElement ( 'div' ) ;
_domDom2 [ 'default' ] . bind ( this . _ _background , 'mousedown' , onMouseDown ) ;
_domDom2 [ 'default' ] . addClass ( this . _ _background , 'slider' ) ;
_domDom2 [ 'default' ] . addClass ( this . _ _foreground , 'slider-fg' ) ;
function onMouseDown ( e ) {
2016-08-17 23:32:48 +00:00
document . activeElement . blur ( ) ;
2015-08-14 16:30:03 +00:00
_domDom2 [ 'default' ] . bind ( window , 'mousemove' , onMouseDrag ) ;
_domDom2 [ 'default' ] . bind ( window , 'mouseup' , onMouseUp ) ;
onMouseDrag ( e ) ;
}
function onMouseDrag ( e ) {
e . preventDefault ( ) ;
var offset = _domDom2 [ 'default' ] . getOffset ( _this . _ _background ) ;
var width = _domDom2 [ 'default' ] . getWidth ( _this . _ _background ) ;
_this . setValue ( map ( e . clientX , offset . left , offset . left + width , _this . _ _min , _this . _ _max ) ) ;
return false ;
}
function onMouseUp ( ) {
_domDom2 [ 'default' ] . unbind ( window , 'mousemove' , onMouseDrag ) ;
_domDom2 [ 'default' ] . unbind ( window , 'mouseup' , onMouseUp ) ;
if ( _this . _ _onFinishChange ) {
_this . _ _onFinishChange . call ( _this , _this . getValue ( ) ) ;
}
}
this . updateDisplay ( ) ;
this . _ _background . appendChild ( this . _ _foreground ) ;
this . domElement . appendChild ( this . _ _background ) ;
}
2015-08-14 20:29:30 +00:00
NumberControllerSlider . prototype . updateDisplay = function updateDisplay ( ) {
var pct = ( this . getValue ( ) - this . _ _min ) / ( this . _ _max - this . _ _min ) ;
this . _ _foreground . style . width = pct * 100 + '%' ;
return _NumberController . prototype . updateDisplay . call ( this ) ;
} ;
2015-08-14 16:30:03 +00:00
return NumberControllerSlider ;
} ) ( _NumberController3 [ 'default' ] ) ;
exports [ 'default' ] = NumberControllerSlider ;
module . exports = exports [ 'default' ] ;
/***/ } ,
2016-08-17 18:29:53 +00:00
/* 207 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
'use strict' ;
2015-08-14 20:29:30 +00:00
exports . _ _esModule = true ;
2015-08-14 16:30:03 +00:00
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 _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 ; }
2016-08-17 18:29:53 +00:00
var _Controller2 = _ _webpack _require _ _ ( 199 ) ;
2015-08-14 16:30:03 +00:00
var _Controller3 = _interopRequireDefault ( _Controller2 ) ;
2016-08-17 18:29:53 +00:00
var _domDom = _ _webpack _require _ _ ( 201 ) ;
2015-08-14 16:30:03 +00:00
var _domDom2 = _interopRequireDefault ( _domDom ) ;
/ * *
* @ class Provides a GUI interface to fire a specified method , a property of an object .
*
* @ extends dat . controllers . Controller
*
* @ param { Object } object The object to be manipulated
* @ param { string } property The name of the property to be manipulated
*
* @ member dat . controllers
* /
var FunctionController = ( function ( _Controller ) {
_inherits ( FunctionController , _Controller ) ;
function FunctionController ( object , property , text ) {
_classCallCheck ( this , FunctionController ) ;
2015-08-14 20:29:30 +00:00
_Controller . call ( this , object , property ) ;
2015-08-14 16:30:03 +00:00
var _this = this ;
this . _ _button = document . createElement ( 'div' ) ;
this . _ _button . innerHTML = text === undefined ? 'Fire' : text ;
2015-08-14 20:29:30 +00:00
2015-08-14 16:30:03 +00:00
_domDom2 [ 'default' ] . bind ( this . _ _button , 'click' , function ( e ) {
e . preventDefault ( ) ;
_this . fire ( ) ;
return false ;
} ) ;
_domDom2 [ 'default' ] . addClass ( this . _ _button , 'button' ) ;
this . domElement . appendChild ( this . _ _button ) ;
}
2015-08-14 20:29:30 +00:00
FunctionController . prototype . fire = function fire ( ) {
if ( this . _ _onChange ) {
this . _ _onChange . call ( this ) ;
}
this . getValue ( ) . call ( this . object ) ;
if ( this . _ _onFinishChange ) {
this . _ _onFinishChange . call ( this , this . getValue ( ) ) ;
2015-08-14 16:30:03 +00:00
}
2015-08-14 20:29:30 +00:00
} ;
2015-08-14 16:30:03 +00:00
return FunctionController ;
} ) ( _Controller3 [ 'default' ] ) ;
exports [ 'default' ] = FunctionController ;
module . exports = exports [ 'default' ] ;
/***/ } ,
2016-08-30 22:48:51 +00:00
/* 208 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
'use strict' ;
2015-08-14 20:29:30 +00:00
exports . _ _esModule = true ;
2015-08-14 16:30:03 +00:00
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 _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 ; }
2016-08-17 18:29:53 +00:00
var _Controller2 = _ _webpack _require _ _ ( 199 ) ;
2015-08-14 16:30:03 +00:00
var _Controller3 = _interopRequireDefault ( _Controller2 ) ;
2016-08-17 18:29:53 +00:00
var _domDom = _ _webpack _require _ _ ( 201 ) ;
2015-08-14 16:30:03 +00:00
var _domDom2 = _interopRequireDefault ( _domDom ) ;
2016-08-17 18:29:53 +00:00
var _colorColor = _ _webpack _require _ _ ( 194 ) ;
2015-08-14 16:30:03 +00:00
var _colorColor2 = _interopRequireDefault ( _colorColor ) ;
2016-08-17 18:29:53 +00:00
var _colorInterpret = _ _webpack _require _ _ ( 195 ) ;
2015-08-14 16:30:03 +00:00
var _colorInterpret2 = _interopRequireDefault ( _colorInterpret ) ;
2016-08-17 18:29:53 +00:00
var _utilsCommon = _ _webpack _require _ _ ( 197 ) ;
2015-08-14 16:30:03 +00:00
var _utilsCommon2 = _interopRequireDefault ( _utilsCommon ) ;
var ColorController = ( function ( _Controller ) {
_inherits ( ColorController , _Controller ) ;
function ColorController ( object , property ) {
_classCallCheck ( this , ColorController ) ;
2015-08-14 20:29:30 +00:00
_Controller . call ( this , object , property ) ;
2015-08-14 16:30:03 +00:00
this . _ _color = new _colorColor2 [ 'default' ] ( this . getValue ( ) ) ;
this . _ _temp = new _colorColor2 [ 'default' ] ( 0 ) ;
var _this = this ;
this . domElement = document . createElement ( 'div' ) ;
_domDom2 [ 'default' ] . makeSelectable ( this . domElement , false ) ;
this . _ _selector = document . createElement ( 'div' ) ;
this . _ _selector . className = 'selector' ;
this . _ _saturation _field = document . createElement ( 'div' ) ;
this . _ _saturation _field . className = 'saturation-field' ;
this . _ _field _knob = document . createElement ( 'div' ) ;
this . _ _field _knob . className = 'field-knob' ;
this . _ _field _knob _border = '2px solid ' ;
this . _ _hue _knob = document . createElement ( 'div' ) ;
this . _ _hue _knob . className = 'hue-knob' ;
this . _ _hue _field = document . createElement ( 'div' ) ;
this . _ _hue _field . className = 'hue-field' ;
this . _ _input = document . createElement ( 'input' ) ;
this . _ _input . type = 'text' ;
this . _ _input _textShadow = '0 1px 1px ' ;
_domDom2 [ 'default' ] . bind ( this . _ _input , 'keydown' , function ( e ) {
if ( e . keyCode === 13 ) {
// on enter
onBlur . call ( this ) ;
}
} ) ;
_domDom2 [ 'default' ] . bind ( this . _ _input , 'blur' , onBlur ) ;
2015-08-14 22:16:18 +00:00
_domDom2 [ 'default' ] . bind ( this . _ _selector , 'mousedown' , function ( ) /* e */ {
_domDom2 [ 'default' ] . addClass ( this , 'drag' ) . bind ( window , 'mouseup' , function ( ) /* e */ {
2015-08-14 16:30:03 +00:00
_domDom2 [ 'default' ] . removeClass ( _this . _ _selector , 'drag' ) ;
} ) ;
} ) ;
2015-08-14 22:16:18 +00:00
var valueField = document . createElement ( 'div' ) ;
2015-08-14 16:30:03 +00:00
_utilsCommon2 [ 'default' ] . extend ( this . _ _selector . style , {
width : '122px' ,
height : '102px' ,
padding : '3px' ,
backgroundColor : '#222' ,
boxShadow : '0px 1px 3px rgba(0,0,0,0.3)'
} ) ;
_utilsCommon2 [ 'default' ] . extend ( this . _ _field _knob . style , {
position : 'absolute' ,
width : '12px' ,
height : '12px' ,
2015-08-14 22:16:18 +00:00
border : this . _ _field _knob _border + ( this . _ _color . v < 0.5 ? '#fff' : '#000' ) ,
2015-08-14 16:30:03 +00:00
boxShadow : '0px 1px 3px rgba(0,0,0,0.5)' ,
borderRadius : '12px' ,
zIndex : 1
} ) ;
_utilsCommon2 [ 'default' ] . extend ( this . _ _hue _knob . style , {
position : 'absolute' ,
width : '15px' ,
height : '2px' ,
borderRight : '4px solid #fff' ,
zIndex : 1
} ) ;
_utilsCommon2 [ 'default' ] . extend ( this . _ _saturation _field . style , {
width : '100px' ,
height : '100px' ,
border : '1px solid #555' ,
marginRight : '3px' ,
display : 'inline-block' ,
cursor : 'pointer'
} ) ;
2015-08-14 22:16:18 +00:00
_utilsCommon2 [ 'default' ] . extend ( valueField . style , {
2015-08-14 16:30:03 +00:00
width : '100%' ,
height : '100%' ,
background : 'none'
} ) ;
2015-08-14 22:16:18 +00:00
linearGradient ( valueField , 'top' , 'rgba(0,0,0,0)' , '#000' ) ;
2015-08-14 16:30:03 +00:00
_utilsCommon2 [ 'default' ] . extend ( this . _ _hue _field . style , {
width : '15px' ,
height : '100px' ,
border : '1px solid #555' ,
2016-08-18 22:31:37 +00:00
cursor : 'ns-resize' ,
position : 'absolute' ,
top : '3px' ,
right : '3px'
2015-08-14 16:30:03 +00:00
} ) ;
hueGradient ( this . _ _hue _field ) ;
_utilsCommon2 [ 'default' ] . extend ( this . _ _input . style , {
outline : 'none' ,
// width: '120px',
textAlign : 'center' ,
// padding: '4px',
// marginBottom: '6px',
color : '#fff' ,
border : 0 ,
fontWeight : 'bold' ,
textShadow : this . _ _input _textShadow + 'rgba(0,0,0,0.7)'
} ) ;
_domDom2 [ 'default' ] . bind ( this . _ _saturation _field , 'mousedown' , fieldDown ) ;
_domDom2 [ 'default' ] . bind ( this . _ _field _knob , 'mousedown' , fieldDown ) ;
_domDom2 [ 'default' ] . bind ( this . _ _hue _field , 'mousedown' , function ( e ) {
setH ( e ) ;
_domDom2 [ 'default' ] . bind ( window , 'mousemove' , setH ) ;
2016-08-18 22:31:37 +00:00
_domDom2 [ 'default' ] . bind ( window , 'mouseup' , fieldUpH ) ;
2015-08-14 16:30:03 +00:00
} ) ;
function fieldDown ( e ) {
setSV ( e ) ;
// document.body.style.cursor = 'none';
_domDom2 [ 'default' ] . bind ( window , 'mousemove' , setSV ) ;
2016-08-18 22:31:37 +00:00
_domDom2 [ 'default' ] . bind ( window , 'mouseup' , fieldUpSV ) ;
2015-08-14 16:30:03 +00:00
}
2016-08-18 22:31:37 +00:00
function fieldUpSV ( ) {
2015-08-14 16:30:03 +00:00
_domDom2 [ 'default' ] . unbind ( window , 'mousemove' , setSV ) ;
2016-08-18 22:31:37 +00:00
_domDom2 [ 'default' ] . unbind ( window , 'mouseup' , fieldUpSV ) ;
2015-08-14 16:30:03 +00:00
// document.body.style.cursor = 'default';
2016-08-18 22:31:37 +00:00
onFinish ( ) ;
2015-08-14 16:30:03 +00:00
}
function onBlur ( ) {
2015-08-14 20:29:30 +00:00
var i = _colorInterpret2 [ 'default' ] ( this . value ) ;
2015-08-14 16:30:03 +00:00
if ( i !== false ) {
_this . _ _color . _ _state = i ;
_this . setValue ( _this . _ _color . toOriginal ( ) ) ;
} else {
this . value = _this . _ _color . toString ( ) ;
}
}
2016-08-18 22:31:37 +00:00
function fieldUpH ( ) {
2015-08-14 16:30:03 +00:00
_domDom2 [ 'default' ] . unbind ( window , 'mousemove' , setH ) ;
2016-08-18 22:31:37 +00:00
_domDom2 [ 'default' ] . unbind ( window , 'mouseup' , fieldUpH ) ;
onFinish ( ) ;
}
function onFinish ( ) {
if ( _this . _ _onFinishChange ) {
_this . _ _onFinishChange . call ( _this , _this . _ _color . toString ( ) ) ;
}
2015-08-14 16:30:03 +00:00
}
2015-08-14 22:16:18 +00:00
this . _ _saturation _field . appendChild ( valueField ) ;
2015-08-14 16:30:03 +00:00
this . _ _selector . appendChild ( this . _ _field _knob ) ;
this . _ _selector . appendChild ( this . _ _saturation _field ) ;
this . _ _selector . appendChild ( this . _ _hue _field ) ;
this . _ _hue _field . appendChild ( this . _ _hue _knob ) ;
this . domElement . appendChild ( this . _ _input ) ;
this . domElement . appendChild ( this . _ _selector ) ;
this . updateDisplay ( ) ;
function setSV ( e ) {
e . preventDefault ( ) ;
var w = _domDom2 [ 'default' ] . getWidth ( _this . _ _saturation _field ) ;
var o = _domDom2 [ 'default' ] . getOffset ( _this . _ _saturation _field ) ;
var s = ( e . clientX - o . left + document . body . scrollLeft ) / w ;
var v = 1 - ( e . clientY - o . top + document . body . scrollTop ) / w ;
2015-08-14 22:16:18 +00:00
if ( v > 1 ) {
v = 1 ;
} else if ( v < 0 ) {
v = 0 ;
}
2015-08-14 16:30:03 +00:00
2015-08-14 22:16:18 +00:00
if ( s > 1 ) {
s = 1 ;
} else if ( s < 0 ) {
s = 0 ;
}
2015-08-14 16:30:03 +00:00
_this . _ _color . v = v ;
_this . _ _color . s = s ;
_this . setValue ( _this . _ _color . toOriginal ( ) ) ;
return false ;
}
function setH ( e ) {
e . preventDefault ( ) ;
var s = _domDom2 [ 'default' ] . getHeight ( _this . _ _hue _field ) ;
var o = _domDom2 [ 'default' ] . getOffset ( _this . _ _hue _field ) ;
var h = 1 - ( e . clientY - o . top + document . body . scrollTop ) / s ;
2015-08-14 22:16:18 +00:00
if ( h > 1 ) {
h = 1 ;
} else if ( h < 0 ) {
h = 0 ;
}
2015-08-14 16:30:03 +00:00
_this . _ _color . h = h * 360 ;
_this . setValue ( _this . _ _color . toOriginal ( ) ) ;
return false ;
}
}
2015-08-14 20:29:30 +00:00
ColorController . prototype . updateDisplay = function updateDisplay ( ) {
var i = _colorInterpret2 [ 'default' ] ( this . getValue ( ) ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
if ( i !== false ) {
var mismatch = false ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
// Check for mismatch on the interpreted value.
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
_utilsCommon2 [ 'default' ] . each ( _colorColor2 [ 'default' ] . COMPONENTS , function ( component ) {
if ( ! _utilsCommon2 [ 'default' ] . isUndefined ( i [ component ] ) && ! _utilsCommon2 [ 'default' ] . isUndefined ( this . _ _color . _ _state [ component ] ) && i [ component ] !== this . _ _color . _ _state [ component ] ) {
mismatch = true ;
return { } ; // break
2015-08-14 16:30:03 +00:00
}
2015-08-14 20:29:30 +00:00
} , this ) ;
// If nothing diverges, we keep our previous values
// for statefulness, otherwise we recalculate fresh
if ( mismatch ) {
_utilsCommon2 [ 'default' ] . extend ( this . _ _color . _ _state , i ) ;
2015-08-14 16:30:03 +00:00
}
2015-08-14 20:29:30 +00:00
}
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
_utilsCommon2 [ 'default' ] . extend ( this . _ _temp . _ _state , this . _ _color . _ _state ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
this . _ _temp . a = 1 ;
2015-08-14 16:30:03 +00:00
2015-08-14 22:16:18 +00:00
var flip = this . _ _color . v < 0.5 || this . _ _color . s > 0.5 ? 255 : 0 ;
2015-08-14 20:29:30 +00:00
var _flip = 255 - flip ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
_utilsCommon2 [ 'default' ] . extend ( this . _ _field _knob . style , {
marginLeft : 100 * this . _ _color . s - 7 + 'px' ,
marginTop : 100 * ( 1 - this . _ _color . v ) - 7 + 'px' ,
backgroundColor : this . _ _temp . toString ( ) ,
border : this . _ _field _knob _border + 'rgb(' + flip + ',' + flip + ',' + flip + ')'
} ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
this . _ _hue _knob . style . marginTop = ( 1 - this . _ _color . h / 360 ) * 100 + 'px' ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
this . _ _temp . s = 1 ;
this . _ _temp . v = 1 ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
linearGradient ( this . _ _saturation _field , 'left' , '#fff' , this . _ _temp . toString ( ) ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
_utilsCommon2 [ 'default' ] . extend ( this . _ _input . style , {
backgroundColor : this . _ _input . value = this . _ _color . toString ( ) ,
color : 'rgb(' + flip + ',' + flip + ',' + flip + ')' ,
textShadow : this . _ _input _textShadow + 'rgba(' + _flip + ',' + _flip + ',' + _flip + ',.7)'
} ) ;
} ;
2015-08-14 16:30:03 +00:00
return ColorController ;
} ) ( _Controller3 [ 'default' ] ) ;
var vendors = [ '-moz-' , '-o-' , '-webkit-' , '-ms-' , '' ] ;
function linearGradient ( elem , x , a , b ) {
elem . style . background = '' ;
_utilsCommon2 [ 'default' ] . each ( vendors , function ( vendor ) {
elem . style . cssText += 'background: ' + vendor + 'linear-gradient(' + x + ', ' + a + ' 0%, ' + b + ' 100%); ' ;
} ) ;
}
function hueGradient ( elem ) {
elem . style . background = '' ;
elem . style . cssText += 'background: -moz-linear-gradient(top, #ff0000 0%, #ff00ff 17%, #0000ff 34%, #00ffff 50%, #00ff00 67%, #ffff00 84%, #ff0000 100%);' ;
elem . style . cssText += 'background: -webkit-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);' ;
elem . style . cssText += 'background: -o-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);' ;
elem . style . cssText += 'background: -ms-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);' ;
elem . style . cssText += 'background: linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);' ;
}
exports [ 'default' ] = ColorController ;
module . exports = exports [ 'default' ] ;
/***/ } ,
2016-08-30 22:48:51 +00:00
/* 209 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
'use strict' ;
function _interopRequireDefault ( obj ) { return obj && obj . _ _esModule ? obj : { 'default' : obj } ; }
2016-08-30 22:48:51 +00:00
var _utilsCss = _ _webpack _require _ _ ( 210 ) ;
2015-08-14 16:30:03 +00:00
var _utilsCss2 = _interopRequireDefault ( _utilsCss ) ;
2016-08-30 22:48:51 +00:00
var _htmlSaveDialogueHtml = _ _webpack _require _ _ ( 211 ) ;
2015-08-14 16:30:03 +00:00
var _htmlSaveDialogueHtml2 = _interopRequireDefault ( _htmlSaveDialogueHtml ) ;
2016-08-30 22:48:51 +00:00
var _controllersControllerFactory = _ _webpack _require _ _ ( 212 ) ;
2015-08-14 16:30:03 +00:00
var _controllersControllerFactory2 = _interopRequireDefault ( _controllersControllerFactory ) ;
2016-08-17 18:29:53 +00:00
var _controllersController = _ _webpack _require _ _ ( 199 ) ;
2015-08-14 16:30:03 +00:00
var _controllersController2 = _interopRequireDefault ( _controllersController ) ;
2016-08-17 18:29:53 +00:00
var _controllersBooleanController = _ _webpack _require _ _ ( 200 ) ;
2015-08-14 16:30:03 +00:00
var _controllersBooleanController2 = _interopRequireDefault ( _controllersBooleanController ) ;
2016-08-30 22:48:51 +00:00
var _controllersFunctionController = _ _webpack _require _ _ ( 207 ) ;
2015-08-14 16:30:03 +00:00
var _controllersFunctionController2 = _interopRequireDefault ( _controllersFunctionController ) ;
2016-08-17 18:29:53 +00:00
var _controllersNumberControllerBox = _ _webpack _require _ _ ( 205 ) ;
2015-08-14 16:30:03 +00:00
var _controllersNumberControllerBox2 = _interopRequireDefault ( _controllersNumberControllerBox ) ;
2016-08-17 18:29:53 +00:00
var _controllersNumberControllerSlider = _ _webpack _require _ _ ( 206 ) ;
2015-08-14 16:30:03 +00:00
var _controllersNumberControllerSlider2 = _interopRequireDefault ( _controllersNumberControllerSlider ) ;
2016-08-30 22:48:51 +00:00
var _controllersColorController = _ _webpack _require _ _ ( 208 ) ;
2015-08-14 16:30:03 +00:00
var _controllersColorController2 = _interopRequireDefault ( _controllersColorController ) ;
2016-08-30 22:48:51 +00:00
var _utilsRequestAnimationFrame = _ _webpack _require _ _ ( 213 ) ;
2015-08-14 16:30:03 +00:00
var _utilsRequestAnimationFrame2 = _interopRequireDefault ( _utilsRequestAnimationFrame ) ;
2016-08-30 22:48:51 +00:00
var _domCenteredDiv = _ _webpack _require _ _ ( 214 ) ;
2015-08-14 16:30:03 +00:00
var _domCenteredDiv2 = _interopRequireDefault ( _domCenteredDiv ) ;
2016-08-17 18:29:53 +00:00
var _domDom = _ _webpack _require _ _ ( 201 ) ;
2015-08-14 16:30:03 +00:00
var _domDom2 = _interopRequireDefault ( _domDom ) ;
2016-08-17 18:29:53 +00:00
var _utilsCommon = _ _webpack _require _ _ ( 197 ) ;
2015-08-14 16:30:03 +00:00
var _utilsCommon2 = _interopRequireDefault ( _utilsCommon ) ;
2016-09-01 19:52:59 +00:00
var _styleScss = _ _webpack _require _ _ ( 215 ) ;
2016-08-30 22:48:51 +00:00
2016-09-01 19:52:59 +00:00
var _styleScss2 = _interopRequireDefault ( _styleScss ) ;
2016-08-30 22:48:51 +00:00
// CSS to embed in build
2016-09-01 19:52:59 +00:00
_utilsCss2 [ 'default' ] . inject ( _styleScss2 [ 'default' ] ) ;
2015-08-14 16:30:03 +00:00
/** Outer-most className for GUI's */
var CSS _NAMESPACE = 'dg' ;
var HIDE _KEY _CODE = 72 ;
/** The only value shared between the JS and SCSS. Use caution. */
var CLOSE _BUTTON _HEIGHT = 20 ;
var DEFAULT _DEFAULT _PRESET _NAME = 'Default' ;
var SUPPORTS _LOCAL _STORAGE = ( function ( ) {
try {
2015-08-14 22:16:18 +00:00
return 'localStorage' in window && window . localStorage !== null ;
2015-08-14 16:30:03 +00:00
} catch ( e ) {
return false ;
}
} ) ( ) ;
2015-08-14 22:16:18 +00:00
var SAVE _DIALOGUE = undefined ;
2015-08-14 16:30:03 +00:00
/** Have we yet to create an autoPlace GUI? */
2015-08-14 22:16:18 +00:00
var autoPlaceVirgin = true ;
2015-08-14 16:30:03 +00:00
/** Fixed position div that auto place GUI's go inside */
2015-08-14 22:16:18 +00:00
var autoPlaceContainer = undefined ;
2015-08-14 16:30:03 +00:00
/** Are we hiding the GUI's ? */
var hide = false ;
/** GUI's which should be hidden */
2015-08-14 22:16:18 +00:00
var hideableGuis = [ ] ;
2015-08-14 16:30:03 +00:00
/ * *
* A lightweight controller library for JavaScript . It allows you to easily
* manipulate variables and fire functions on the fly .
* @ class
*
* @ member dat . gui
*
* @ param { Object } [ params ]
* @ param { String } [ params . name ] The name of this GUI .
* @ param { Object } [ params . load ] JSON object representing the saved state of
* this GUI .
* @ param { Boolean } [ params . auto = true ]
* @ param { dat . gui . GUI } [ params . parent ] The GUI I ' m nested in .
* @ param { Boolean } [ params . closed ] If true , starts closed
* /
2015-08-14 22:16:18 +00:00
var GUI = function GUI ( pars ) {
2015-08-14 16:30:03 +00:00
var _this = this ;
2015-08-14 22:16:18 +00:00
var params = pars || { } ;
2015-08-14 16:30:03 +00:00
/ * *
* Outermost DOM Element
* @ type DOMElement
* /
this . domElement = document . createElement ( 'div' ) ;
this . _ _ul = document . createElement ( 'ul' ) ;
this . domElement . appendChild ( this . _ _ul ) ;
_domDom2 [ 'default' ] . addClass ( this . domElement , CSS _NAMESPACE ) ;
/ * *
* Nested GUI ' s by name
* @ ignore
* /
this . _ _folders = { } ;
this . _ _controllers = [ ] ;
/ * *
* List of objects I ' m remembering for save , only used in top level GUI
* @ ignore
* /
this . _ _rememberedObjects = [ ] ;
/ * *
* Maps the index of remembered objects to a map of controllers , only used
* in top level GUI .
*
* @ private
* @ ignore
*
* @ example
* [
* {
* propertyName : Controller ,
* anotherPropertyName : Controller
* } ,
* {
* propertyName : Controller
* }
* ]
* /
this . _ _rememberedObjectIndecesToControllers = [ ] ;
this . _ _listening = [ ] ;
// Default parameters
params = _utilsCommon2 [ 'default' ] . defaults ( params , {
autoPlace : true ,
width : GUI . DEFAULT _WIDTH
} ) ;
params = _utilsCommon2 [ 'default' ] . defaults ( params , {
resizable : params . autoPlace ,
hideable : params . autoPlace
} ) ;
if ( ! _utilsCommon2 [ 'default' ] . isUndefined ( params . load ) ) {
// Explicit preset
2015-08-14 20:29:30 +00:00
if ( params . preset ) {
params . load . preset = params . preset ;
}
2015-08-14 16:30:03 +00:00
} else {
params . load = { preset : DEFAULT _DEFAULT _PRESET _NAME } ;
}
if ( _utilsCommon2 [ 'default' ] . isUndefined ( params . parent ) && params . hideable ) {
2015-08-14 22:16:18 +00:00
hideableGuis . push ( this ) ;
2015-08-14 16:30:03 +00:00
}
// Only root level GUI's are resizable.
params . resizable = _utilsCommon2 [ 'default' ] . isUndefined ( params . parent ) && params . resizable ;
if ( params . autoPlace && _utilsCommon2 [ 'default' ] . isUndefined ( params . scrollable ) ) {
params . scrollable = true ;
}
// params.scrollable = common.isUndefined(params.parent) && params.scrollable === true;
// Not part of params because I don't want people passing this in via
// constructor. Should be a 'remembered' value.
2015-08-14 22:16:18 +00:00
var useLocalStorage = SUPPORTS _LOCAL _STORAGE && localStorage . getItem ( getLocalStorageHash ( this , 'isLocal' ) ) === 'true' ;
2015-08-14 16:30:03 +00:00
2015-08-14 22:16:18 +00:00
var saveToLocalStorage = undefined ;
2015-08-14 16:30:03 +00:00
Object . defineProperties ( this ,
/** @lends dat.gui.GUI.prototype */
{
/ * *
* The parent < code > GUI < / c o d e >
* @ type dat . gui . GUI
* /
parent : {
get : function get ( ) {
return params . parent ;
}
} ,
scrollable : {
get : function get ( ) {
return params . scrollable ;
}
} ,
/ * *
* Handles < code > GUI < / c o d e > ' s e l e m e n t p l a c e m e n t f o r y o u
* @ type Boolean
* /
autoPlace : {
get : function get ( ) {
return params . autoPlace ;
}
} ,
/ * *
* The identifier for a set of saved values
* @ type String
* /
preset : {
get : function get ( ) {
if ( _this . parent ) {
return _this . getRoot ( ) . preset ;
}
2015-08-14 22:16:18 +00:00
return params . load . preset ;
2015-08-14 16:30:03 +00:00
} ,
set : function set ( v ) {
if ( _this . parent ) {
_this . getRoot ( ) . preset = v ;
} else {
params . load . preset = v ;
}
setPresetSelectIndex ( this ) ;
_this . revert ( ) ;
}
} ,
/ * *
* The width of < code > GUI < / c o d e > e l e m e n t
* @ type Number
* /
width : {
get : function get ( ) {
return params . width ;
} ,
set : function set ( v ) {
params . width = v ;
setWidth ( _this , v ) ;
}
} ,
/ * *
* The name of < code > GUI < / c o d e > . U s e d f o r f o l d e r s . i . e
* a folder ' s name
* @ type String
* /
name : {
get : function get ( ) {
return params . name ;
} ,
set : function set ( v ) {
// TODO Check for collisions among sibling folders
params . name = v ;
2015-08-14 22:16:18 +00:00
if ( titleRowName ) {
titleRowName . innerHTML = params . name ;
2015-08-14 16:30:03 +00:00
}
}
} ,
/ * *
* Whether the < code > GUI < / c o d e > i s c o l l a p s e d o r n o t
* @ type Boolean
* /
closed : {
get : function get ( ) {
return params . closed ;
} ,
set : function set ( v ) {
params . closed = v ;
if ( params . closed ) {
_domDom2 [ 'default' ] . addClass ( _this . _ _ul , GUI . CLASS _CLOSED ) ;
} else {
_domDom2 [ 'default' ] . removeClass ( _this . _ _ul , GUI . CLASS _CLOSED ) ;
}
// For browsers that aren't going to respect the CSS transition,
// Lets just check our height against the window height right off
// the bat.
this . onResize ( ) ;
if ( _this . _ _closeButton ) {
_this . _ _closeButton . innerHTML = v ? GUI . TEXT _OPEN : GUI . TEXT _CLOSED ;
}
}
} ,
/ * *
* Contains all presets
* @ type Object
* /
load : {
get : function get ( ) {
return params . load ;
}
} ,
/ * *
* Determines whether or not to use < a href = "https://developer.mozilla.org/en/DOM/Storage#localStorage" > localStorage < / a > a s t h e m e a n s f o r
* < code > remember < / c o d e > i n g
* @ type Boolean
* /
useLocalStorage : {
get : function get ( ) {
2015-08-14 22:16:18 +00:00
return useLocalStorage ;
2015-08-14 16:30:03 +00:00
} ,
set : function set ( bool ) {
if ( SUPPORTS _LOCAL _STORAGE ) {
2015-08-14 22:16:18 +00:00
useLocalStorage = bool ;
2015-08-14 16:30:03 +00:00
if ( bool ) {
_domDom2 [ 'default' ] . bind ( window , 'unload' , saveToLocalStorage ) ;
} else {
_domDom2 [ 'default' ] . unbind ( window , 'unload' , saveToLocalStorage ) ;
}
localStorage . setItem ( getLocalStorageHash ( _this , 'isLocal' ) , bool ) ;
}
}
}
} ) ;
// Are we a root level GUI?
if ( _utilsCommon2 [ 'default' ] . isUndefined ( params . parent ) ) {
params . closed = false ;
_domDom2 [ 'default' ] . addClass ( this . domElement , GUI . CLASS _MAIN ) ;
_domDom2 [ 'default' ] . makeSelectable ( this . domElement , false ) ;
// Are we supposed to be loading locally?
if ( SUPPORTS _LOCAL _STORAGE ) {
2015-08-14 22:16:18 +00:00
if ( useLocalStorage ) {
2015-08-14 16:30:03 +00:00
_this . useLocalStorage = true ;
2015-08-14 22:16:18 +00:00
var savedGui = localStorage . getItem ( getLocalStorageHash ( this , 'gui' ) ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 22:16:18 +00:00
if ( savedGui ) {
params . load = JSON . parse ( savedGui ) ;
2015-08-14 16:30:03 +00:00
}
}
}
this . _ _closeButton = document . createElement ( 'div' ) ;
this . _ _closeButton . innerHTML = GUI . TEXT _CLOSED ;
_domDom2 [ 'default' ] . addClass ( this . _ _closeButton , GUI . CLASS _CLOSE _BUTTON ) ;
this . domElement . appendChild ( this . _ _closeButton ) ;
_domDom2 [ 'default' ] . bind ( this . _ _closeButton , 'click' , function ( ) {
_this . closed = ! _this . closed ;
} ) ;
// Oh, you're a nested GUI!
} else {
if ( params . closed === undefined ) {
params . closed = true ;
}
2015-08-14 22:16:18 +00:00
var _titleRowName = document . createTextNode ( params . name ) ;
_domDom2 [ 'default' ] . addClass ( _titleRowName , 'controller-name' ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 22:16:18 +00:00
var titleRow = addRow ( _this , _titleRowName ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 22:16:18 +00:00
var onClickTitle = function onClickTitle ( e ) {
2015-08-14 16:30:03 +00:00
e . preventDefault ( ) ;
_this . closed = ! _this . closed ;
return false ;
} ;
_domDom2 [ 'default' ] . addClass ( this . _ _ul , GUI . CLASS _CLOSED ) ;
2015-08-14 22:16:18 +00:00
_domDom2 [ 'default' ] . addClass ( titleRow , 'title' ) ;
_domDom2 [ 'default' ] . bind ( titleRow , 'click' , onClickTitle ) ;
2015-08-14 16:30:03 +00:00
if ( ! params . closed ) {
this . closed = false ;
}
}
if ( params . autoPlace ) {
if ( _utilsCommon2 [ 'default' ] . isUndefined ( params . parent ) ) {
2015-08-14 22:16:18 +00:00
if ( autoPlaceVirgin ) {
autoPlaceContainer = document . createElement ( 'div' ) ;
_domDom2 [ 'default' ] . addClass ( autoPlaceContainer , CSS _NAMESPACE ) ;
_domDom2 [ 'default' ] . addClass ( autoPlaceContainer , GUI . CLASS _AUTO _PLACE _CONTAINER ) ;
document . body . appendChild ( autoPlaceContainer ) ;
autoPlaceVirgin = false ;
2015-08-14 16:30:03 +00:00
}
// Put it in the dom for you.
2015-08-14 22:16:18 +00:00
autoPlaceContainer . appendChild ( this . domElement ) ;
2015-08-14 16:30:03 +00:00
// Apply the auto styles
_domDom2 [ 'default' ] . addClass ( this . domElement , GUI . CLASS _AUTO _PLACE ) ;
}
// Make it not elastic.
2015-08-14 20:29:30 +00:00
if ( ! this . parent ) {
setWidth ( _this , params . width ) ;
}
2015-08-14 16:30:03 +00:00
}
2016-08-19 00:24:08 +00:00
this . _ _resizeHandler = function ( ) {
2015-08-14 16:30:03 +00:00
_this . onResize ( ) ;
2016-08-19 00:24:08 +00:00
} ;
_domDom2 [ 'default' ] . bind ( window , 'resize' , this . _ _resizeHandler ) ;
_domDom2 [ 'default' ] . bind ( this . _ _ul , 'webkitTransitionEnd' , this . _ _resizeHandler ) ;
_domDom2 [ 'default' ] . bind ( this . _ _ul , 'transitionend' , this . _ _resizeHandler ) ;
_domDom2 [ 'default' ] . bind ( this . _ _ul , 'oTransitionEnd' , this . _ _resizeHandler ) ;
2015-08-14 16:30:03 +00:00
this . onResize ( ) ;
if ( params . resizable ) {
addResizeHandle ( this ) ;
}
saveToLocalStorage = function ( ) {
if ( SUPPORTS _LOCAL _STORAGE && localStorage . getItem ( getLocalStorageHash ( _this , 'isLocal' ) ) === 'true' ) {
localStorage . setItem ( getLocalStorageHash ( _this , 'gui' ) , JSON . stringify ( _this . getSaveObject ( ) ) ) ;
}
} ;
// expose this method publicly
this . saveToLocalStorageIfPossible = saveToLocalStorage ;
function resetWidth ( ) {
var root = _this . getRoot ( ) ;
root . width += 1 ;
_utilsCommon2 [ 'default' ] . defer ( function ( ) {
root . width -= 1 ;
} ) ;
}
if ( ! params . parent ) {
resetWidth ( ) ;
}
} ;
GUI . toggleHide = function ( ) {
hide = ! hide ;
2015-08-14 22:16:18 +00:00
_utilsCommon2 [ 'default' ] . each ( hideableGuis , function ( gui ) {
2016-08-17 20:32:11 +00:00
gui . domElement . style . display = hide ? 'none' : '' ;
2015-08-14 16:30:03 +00:00
} ) ;
} ;
GUI . CLASS _AUTO _PLACE = 'a' ;
GUI . CLASS _AUTO _PLACE _CONTAINER = 'ac' ;
GUI . CLASS _MAIN = 'main' ;
GUI . CLASS _CONTROLLER _ROW = 'cr' ;
GUI . CLASS _TOO _TALL = 'taller-than-window' ;
GUI . CLASS _CLOSED = 'closed' ;
GUI . CLASS _CLOSE _BUTTON = 'close-button' ;
GUI . CLASS _DRAG = 'drag' ;
GUI . DEFAULT _WIDTH = 245 ;
GUI . TEXT _CLOSED = 'Close Controls' ;
GUI . TEXT _OPEN = 'Open Controls' ;
2016-08-19 00:24:08 +00:00
GUI . _keydownHandler = function ( e ) {
2015-08-14 22:16:18 +00:00
if ( document . activeElement . type !== 'text' && ( e . which === HIDE _KEY _CODE || e . keyCode === HIDE _KEY _CODE ) ) {
2015-08-14 16:30:03 +00:00
GUI . toggleHide ( ) ;
}
2016-08-19 00:24:08 +00:00
} ;
_domDom2 [ 'default' ] . bind ( window , 'keydown' , GUI . _keydownHandler , false ) ;
2015-08-14 16:30:03 +00:00
_utilsCommon2 [ 'default' ] . extend ( GUI . prototype ,
/** @lends dat.gui.GUI */
{
/ * *
* @ param object
* @ param property
* @ returns { dat . controllers . Controller } The new controller that was added .
* @ instance
* /
2016-08-17 18:29:53 +00:00
add : function add ( object , property ) {
return _add ( this , object , property , {
2015-08-14 16:30:03 +00:00
factoryArgs : Array . prototype . slice . call ( arguments , 2 )
} ) ;
2016-08-17 18:29:53 +00:00
} ,
2015-08-14 16:30:03 +00:00
/ * *
* @ param object
* @ param property
* @ returns { dat . controllers . ColorController } The new controller that was added .
* @ instance
* /
addColor : function addColor ( object , property ) {
2016-08-17 18:29:53 +00:00
return _add ( this , object , property , {
2015-08-14 16:30:03 +00:00
color : true
} ) ;
} ,
/ * *
* @ param controller
* @ instance
* /
remove : function remove ( controller ) {
// TODO listening?
this . _ _ul . removeChild ( controller . _ _li ) ;
this . _ _controllers . splice ( this . _ _controllers . indexOf ( controller ) , 1 ) ;
var _this = this ;
_utilsCommon2 [ 'default' ] . defer ( function ( ) {
_this . onResize ( ) ;
} ) ;
} ,
destroy : function destroy ( ) {
if ( this . autoPlace ) {
2015-08-14 22:16:18 +00:00
autoPlaceContainer . removeChild ( this . domElement ) ;
2015-08-14 16:30:03 +00:00
}
2016-08-19 00:24:08 +00:00
_domDom2 [ 'default' ] . unbind ( window , 'keydown' , GUI . _keydownHandler , false ) ;
_domDom2 [ 'default' ] . unbind ( window , 'resize' , this . _ _resizeHandler ) ;
if ( this . saveToLocalStorageIfPossible ) {
_domDom2 [ 'default' ] . unbind ( window , 'unload' , this . saveToLocalStorageIfPossible ) ;
}
2015-08-14 16:30:03 +00:00
} ,
/ * *
* @ param name
* @ returns { dat . gui . GUI } The new folder .
* @ throws { Error } if this GUI already has a folder by the specified
* name
* @ instance
* /
addFolder : function addFolder ( name ) {
// We have to prevent collisions on names in order to have a key
// by which to remember saved values
if ( this . _ _folders [ name ] !== undefined ) {
throw new Error ( 'You already have a folder in this GUI by the' + ' name "' + name + '"' ) ;
}
2015-08-14 22:16:18 +00:00
var newGuiParams = { name : name , parent : this } ;
2015-08-14 16:30:03 +00:00
// We need to pass down the autoPlace trait so that we can
// attach event listeners to open/close folder actions to
// ensure that a scrollbar appears if the window is too short.
2015-08-14 22:16:18 +00:00
newGuiParams . autoPlace = this . autoPlace ;
2015-08-14 16:30:03 +00:00
// Do we have saved appearance data for this folder?
if ( this . load && // Anything loaded?
this . load . folders && // Was my parent a dead-end?
this . load . folders [ name ] ) {
// Did daddy remember me?
// Start me closed if I was closed
2015-08-14 22:16:18 +00:00
newGuiParams . closed = this . load . folders [ name ] . closed ;
2015-08-14 16:30:03 +00:00
// Pass down the loaded data
2015-08-14 22:16:18 +00:00
newGuiParams . load = this . load . folders [ name ] ;
2015-08-14 16:30:03 +00:00
}
2015-08-14 22:16:18 +00:00
var gui = new GUI ( newGuiParams ) ;
2015-08-14 16:30:03 +00:00
this . _ _folders [ name ] = gui ;
var li = addRow ( this , gui . domElement ) ;
_domDom2 [ 'default' ] . addClass ( li , 'folder' ) ;
return gui ;
} ,
open : function open ( ) {
this . closed = false ;
} ,
close : function close ( ) {
this . closed = true ;
} ,
2016-08-19 00:24:08 +00:00
onResize : _utilsCommon2 [ 'default' ] . debounce ( function ( ) {
// we debounce this function to prevent performance issues when rotating on tablet/mobile
2015-08-14 16:30:03 +00:00
var root = this . getRoot ( ) ;
if ( root . scrollable ) {
2015-08-14 22:16:18 +00:00
var _top = _domDom2 [ 'default' ] . getOffset ( root . _ _ul ) . top ;
2015-08-14 16:30:03 +00:00
var h = 0 ;
_utilsCommon2 [ 'default' ] . each ( root . _ _ul . childNodes , function ( node ) {
2015-08-14 22:16:18 +00:00
if ( ! ( root . autoPlace && node === root . _ _save _row ) ) {
h += _domDom2 [ 'default' ] . getHeight ( node ) ;
}
2015-08-14 16:30:03 +00:00
} ) ;
2015-08-14 22:16:18 +00:00
if ( window . innerHeight - _top - CLOSE _BUTTON _HEIGHT < h ) {
2015-08-14 16:30:03 +00:00
_domDom2 [ 'default' ] . addClass ( root . domElement , GUI . CLASS _TOO _TALL ) ;
2015-08-14 22:16:18 +00:00
root . _ _ul . style . height = window . innerHeight - _top - CLOSE _BUTTON _HEIGHT + 'px' ;
2015-08-14 16:30:03 +00:00
} else {
_domDom2 [ 'default' ] . removeClass ( root . domElement , GUI . CLASS _TOO _TALL ) ;
root . _ _ul . style . height = 'auto' ;
}
}
if ( root . _ _resize _handle ) {
_utilsCommon2 [ 'default' ] . defer ( function ( ) {
root . _ _resize _handle . style . height = root . _ _ul . offsetHeight + 'px' ;
} ) ;
}
if ( root . _ _closeButton ) {
root . _ _closeButton . style . width = root . width + 'px' ;
}
2016-08-19 00:24:08 +00:00
} , 200 ) ,
2015-08-14 16:30:03 +00:00
/ * *
* Mark objects for saving . The order of these objects cannot change as
* the GUI grows . When remembering new objects , append them to the end
* of the list .
*
* @ param { Object ... } objects
* @ throws { Error } if not called on a top level GUI .
* @ instance
* /
remember : function remember ( ) {
if ( _utilsCommon2 [ 'default' ] . isUndefined ( SAVE _DIALOGUE ) ) {
SAVE _DIALOGUE = new _domCenteredDiv2 [ 'default' ] ( ) ;
SAVE _DIALOGUE . domElement . innerHTML = _htmlSaveDialogueHtml2 [ 'default' ] ;
}
if ( this . parent ) {
2015-08-14 22:16:18 +00:00
throw new Error ( 'You can only call remember on a top level GUI.' ) ;
2015-08-14 16:30:03 +00:00
}
var _this = this ;
_utilsCommon2 [ 'default' ] . each ( Array . prototype . slice . call ( arguments ) , function ( object ) {
2015-08-14 22:16:18 +00:00
if ( _this . _ _rememberedObjects . length === 0 ) {
2015-08-14 16:30:03 +00:00
addSaveMenu ( _this ) ;
}
2015-08-14 22:16:18 +00:00
if ( _this . _ _rememberedObjects . indexOf ( object ) === - 1 ) {
2015-08-14 16:30:03 +00:00
_this . _ _rememberedObjects . push ( object ) ;
}
} ) ;
if ( this . autoPlace ) {
// Set save row width
setWidth ( this , this . width ) ;
}
} ,
/ * *
* @ returns { dat . gui . GUI } the topmost parent GUI of a nested GUI .
* @ instance
* /
getRoot : function getRoot ( ) {
var gui = this ;
while ( gui . parent ) {
gui = gui . parent ;
}
return gui ;
} ,
/ * *
* @ returns { Object } a JSON object representing the current state of
* this GUI as well as its remembered properties .
* @ instance
* /
getSaveObject : function getSaveObject ( ) {
var toReturn = this . load ;
toReturn . closed = this . closed ;
// Am I remembering any values?
if ( this . _ _rememberedObjects . length > 0 ) {
toReturn . preset = this . preset ;
if ( ! toReturn . remembered ) {
toReturn . remembered = { } ;
}
toReturn . remembered [ this . preset ] = getCurrentPreset ( this ) ;
}
toReturn . folders = { } ;
_utilsCommon2 [ 'default' ] . each ( this . _ _folders , function ( element , key ) {
toReturn . folders [ key ] = element . getSaveObject ( ) ;
} ) ;
return toReturn ;
} ,
save : function save ( ) {
if ( ! this . load . remembered ) {
this . load . remembered = { } ;
}
this . load . remembered [ this . preset ] = getCurrentPreset ( this ) ;
markPresetModified ( this , false ) ;
this . saveToLocalStorageIfPossible ( ) ;
} ,
saveAs : function saveAs ( presetName ) {
if ( ! this . load . remembered ) {
// Retain default values upon first save
this . load . remembered = { } ;
this . load . remembered [ DEFAULT _DEFAULT _PRESET _NAME ] = getCurrentPreset ( this , true ) ;
}
this . load . remembered [ presetName ] = getCurrentPreset ( this ) ;
this . preset = presetName ;
addPresetOption ( this , presetName , true ) ;
this . saveToLocalStorageIfPossible ( ) ;
} ,
revert : function revert ( gui ) {
_utilsCommon2 [ 'default' ] . each ( this . _ _controllers , function ( controller ) {
// Make revert work on Default.
if ( ! this . getRoot ( ) . load . remembered ) {
controller . setValue ( controller . initialValue ) ;
} else {
recallSavedValue ( gui || this . getRoot ( ) , controller ) ;
}
2016-08-18 22:31:37 +00:00
// fire onFinishChange callback
if ( controller . _ _onFinishChange ) {
controller . _ _onFinishChange . call ( controller , controller . getValue ( ) ) ;
}
2015-08-14 16:30:03 +00:00
} , this ) ;
_utilsCommon2 [ 'default' ] . each ( this . _ _folders , function ( folder ) {
folder . revert ( folder ) ;
} ) ;
if ( ! gui ) {
markPresetModified ( this . getRoot ( ) , false ) ;
}
} ,
listen : function listen ( controller ) {
2015-08-14 22:16:18 +00:00
var init = this . _ _listening . length === 0 ;
2015-08-14 16:30:03 +00:00
this . _ _listening . push ( controller ) ;
2015-08-14 22:16:18 +00:00
if ( init ) {
updateDisplays ( this . _ _listening ) ;
}
2016-08-19 00:24:08 +00:00
} ,
updateDisplay : function updateDisplay ( ) {
_utilsCommon2 [ 'default' ] . each ( this . _ _controllers , function ( controller ) {
controller . updateDisplay ( ) ;
} ) ;
_utilsCommon2 [ 'default' ] . each ( this . _ _folders , function ( folder ) {
folder . updateDisplay ( ) ;
} ) ;
2015-08-14 16:30:03 +00:00
}
} ) ;
/ * *
* Add a row to the end of the GUI or before another row .
*
* @ param gui
2015-08-14 20:29:30 +00:00
* @ param [ newDom ] If specified , inserts the dom content in the new row
2015-08-14 16:30:03 +00:00
* @ param [ liBefore ] If specified , places the new row before another row
* /
2015-08-14 20:29:30 +00:00
function addRow ( gui , newDom , liBefore ) {
2015-08-14 16:30:03 +00:00
var li = document . createElement ( 'li' ) ;
2015-08-14 20:29:30 +00:00
if ( newDom ) {
li . appendChild ( newDom ) ;
}
2015-08-14 16:30:03 +00:00
if ( liBefore ) {
2016-08-17 20:19:18 +00:00
gui . _ _ul . insertBefore ( li , liBefore ) ;
2015-08-14 16:30:03 +00:00
} else {
gui . _ _ul . appendChild ( li ) ;
}
gui . onResize ( ) ;
return li ;
}
2015-08-14 20:29:30 +00:00
function markPresetModified ( gui , modified ) {
var opt = gui . _ _preset _select [ gui . _ _preset _select . selectedIndex ] ;
// console.log('mark', modified, opt);
if ( modified ) {
opt . innerHTML = opt . value + '*' ;
} else {
opt . innerHTML = opt . value ;
}
}
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
function augmentController ( gui , li , controller ) {
2015-08-14 16:30:03 +00:00
controller . _ _li = li ;
controller . _ _gui = gui ;
_utilsCommon2 [ 'default' ] . extend ( controller , {
options : function options ( _options ) {
if ( arguments . length > 1 ) {
2016-08-17 20:19:18 +00:00
var nextSibling = controller . _ _li . nextElementSibling ;
2015-08-14 16:30:03 +00:00
controller . remove ( ) ;
2016-08-17 18:29:53 +00:00
return _add ( gui , controller . object , controller . property , {
2016-08-17 20:19:18 +00:00
before : nextSibling ,
2015-08-14 16:30:03 +00:00
factoryArgs : [ _utilsCommon2 [ 'default' ] . toArray ( arguments ) ]
} ) ;
}
if ( _utilsCommon2 [ 'default' ] . isArray ( _options ) || _utilsCommon2 [ 'default' ] . isObject ( _options ) ) {
2016-08-17 20:19:18 +00:00
var nextSibling = controller . _ _li . nextElementSibling ;
2015-08-14 16:30:03 +00:00
controller . remove ( ) ;
2016-08-17 18:29:53 +00:00
return _add ( gui , controller . object , controller . property , {
2016-08-17 20:19:18 +00:00
before : nextSibling ,
2015-08-14 16:30:03 +00:00
factoryArgs : [ _options ]
} ) ;
}
} ,
name : function name ( v ) {
controller . _ _li . firstElementChild . firstElementChild . innerHTML = v ;
return controller ;
} ,
listen : function listen ( ) {
controller . _ _gui . listen ( controller ) ;
return controller ;
} ,
remove : function remove ( ) {
controller . _ _gui . remove ( controller ) ;
return controller ;
}
} ) ;
// All sliders should be accompanied by a box.
if ( controller instanceof _controllersNumberControllerSlider2 [ 'default' ] ) {
2015-08-14 20:29:30 +00:00
( function ( ) {
var box = new _controllersNumberControllerBox2 [ 'default' ] ( controller . object , controller . property , { min : controller . _ _min , max : controller . _ _max , step : controller . _ _step } ) ;
2016-08-17 23:32:48 +00:00
_utilsCommon2 [ 'default' ] . each ( [ 'updateDisplay' , 'onChange' , 'onFinishChange' , 'step' ] , function ( method ) {
2015-08-14 20:29:30 +00:00
var pc = controller [ method ] ;
var pb = box [ method ] ;
controller [ method ] = box [ method ] = function ( ) {
var args = Array . prototype . slice . call ( arguments ) ;
2016-08-18 22:31:37 +00:00
pb . apply ( box , args ) ;
return pc . apply ( controller , args ) ;
2015-08-14 20:29:30 +00:00
} ;
} ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
_domDom2 [ 'default' ] . addClass ( li , 'has-slider' ) ;
controller . domElement . insertBefore ( box . domElement , controller . domElement . firstElementChild ) ;
} ) ( ) ;
2015-08-14 16:30:03 +00:00
} else if ( controller instanceof _controllersNumberControllerBox2 [ 'default' ] ) {
var r = function r ( returned ) {
// Have we defined both boundaries?
if ( _utilsCommon2 [ 'default' ] . isNumber ( controller . _ _min ) && _utilsCommon2 [ 'default' ] . isNumber ( controller . _ _max ) ) {
// Well, then lets just replace this with a slider.
controller . remove ( ) ;
2016-08-17 18:29:53 +00:00
return _add ( gui , controller . object , controller . property , {
2015-08-14 16:30:03 +00:00
before : controller . _ _li . nextElementSibling ,
factoryArgs : [ controller . _ _min , controller . _ _max , controller . _ _step ]
} ) ;
}
return returned ;
} ;
controller . min = _utilsCommon2 [ 'default' ] . compose ( r , controller . min ) ;
controller . max = _utilsCommon2 [ 'default' ] . compose ( r , controller . max ) ;
} else if ( controller instanceof _controllersBooleanController2 [ 'default' ] ) {
_domDom2 [ 'default' ] . bind ( li , 'click' , function ( ) {
_domDom2 [ 'default' ] . fakeEvent ( controller . _ _checkbox , 'click' ) ;
} ) ;
_domDom2 [ 'default' ] . bind ( controller . _ _checkbox , 'click' , function ( e ) {
e . stopPropagation ( ) ; // Prevents double-toggle
} ) ;
} else if ( controller instanceof _controllersFunctionController2 [ 'default' ] ) {
_domDom2 [ 'default' ] . bind ( li , 'click' , function ( ) {
_domDom2 [ 'default' ] . fakeEvent ( controller . _ _button , 'click' ) ;
} ) ;
_domDom2 [ 'default' ] . bind ( li , 'mouseover' , function ( ) {
_domDom2 [ 'default' ] . addClass ( controller . _ _button , 'hover' ) ;
} ) ;
_domDom2 [ 'default' ] . bind ( li , 'mouseout' , function ( ) {
_domDom2 [ 'default' ] . removeClass ( controller . _ _button , 'hover' ) ;
} ) ;
} else if ( controller instanceof _controllersColorController2 [ 'default' ] ) {
_domDom2 [ 'default' ] . addClass ( li , 'color' ) ;
2015-08-14 20:29:30 +00:00
controller . updateDisplay = _utilsCommon2 [ 'default' ] . compose ( function ( val ) {
2015-08-14 16:30:03 +00:00
li . style . borderLeftColor = controller . _ _color . toString ( ) ;
2015-08-14 20:29:30 +00:00
return val ;
2015-08-14 16:30:03 +00:00
} , controller . updateDisplay ) ;
controller . updateDisplay ( ) ;
}
2015-08-14 20:29:30 +00:00
controller . setValue = _utilsCommon2 [ 'default' ] . compose ( function ( val ) {
2015-08-14 16:30:03 +00:00
if ( gui . getRoot ( ) . _ _preset _select && controller . isModified ( ) ) {
markPresetModified ( gui . getRoot ( ) , true ) ;
}
2015-08-14 20:29:30 +00:00
return val ;
2015-08-14 16:30:03 +00:00
} , controller . setValue ) ;
}
function recallSavedValue ( gui , controller ) {
// Find the topmost GUI, that's where remembered objects live.
var root = gui . getRoot ( ) ;
// Does the object we're controlling match anything we've been told to
// remember?
2015-08-14 20:29:30 +00:00
var matchedIndex = root . _ _rememberedObjects . indexOf ( controller . object ) ;
2015-08-14 16:30:03 +00:00
// Why yes, it does!
2015-08-14 20:29:30 +00:00
if ( matchedIndex !== - 1 ) {
2015-08-14 16:30:03 +00:00
// Let me fetch a map of controllers for thcommon.isObject.
2015-08-14 20:29:30 +00:00
var controllerMap = root . _ _rememberedObjectIndecesToControllers [ matchedIndex ] ;
2015-08-14 16:30:03 +00:00
// Ohp, I believe this is the first controller we've created for this
// object. Lets make the map fresh.
2015-08-14 20:29:30 +00:00
if ( controllerMap === undefined ) {
controllerMap = { } ;
root . _ _rememberedObjectIndecesToControllers [ matchedIndex ] = controllerMap ;
2015-08-14 16:30:03 +00:00
}
// Keep track of this controller
2015-08-14 20:29:30 +00:00
controllerMap [ controller . property ] = controller ;
2015-08-14 16:30:03 +00:00
// Okay, now have we saved any values for this controller?
if ( root . load && root . load . remembered ) {
2015-08-14 20:29:30 +00:00
var presetMap = root . load . remembered ;
2015-08-14 16:30:03 +00:00
// Which preset are we trying to load?
2015-08-14 20:29:30 +00:00
var preset = undefined ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
if ( presetMap [ gui . preset ] ) {
preset = presetMap [ gui . preset ] ;
} else if ( presetMap [ DEFAULT _DEFAULT _PRESET _NAME ] ) {
2015-08-14 16:30:03 +00:00
// Uhh, you can have the default instead?
2015-08-14 20:29:30 +00:00
preset = presetMap [ DEFAULT _DEFAULT _PRESET _NAME ] ;
2015-08-14 16:30:03 +00:00
} else {
// Nada.
return ;
}
2015-08-14 20:29:30 +00:00
// Did the loaded object remember thcommon.isObject? && Did we remember this particular property?
if ( preset [ matchedIndex ] && preset [ matchedIndex ] [ controller . property ] !== undefined ) {
2015-08-14 16:30:03 +00:00
// We did remember something for this guy ...
2015-08-14 20:29:30 +00:00
var value = preset [ matchedIndex ] [ controller . property ] ;
2015-08-14 16:30:03 +00:00
// And that's what it is.
controller . initialValue = value ;
controller . setValue ( value ) ;
}
}
}
}
2016-08-17 18:29:53 +00:00
function _add ( gui , object , property , params ) {
2015-08-14 20:29:30 +00:00
if ( object [ property ] === undefined ) {
throw new Error ( 'Object "' + object + '" has no property "' + property + '"' ) ;
}
var controller = undefined ;
if ( params . color ) {
controller = new _controllersColorController2 [ 'default' ] ( object , property ) ;
} else {
var factoryArgs = [ object , property ] . concat ( params . factoryArgs ) ;
controller = _controllersControllerFactory2 [ 'default' ] . apply ( gui , factoryArgs ) ;
}
if ( params . before instanceof _controllersController2 [ 'default' ] ) {
params . before = params . before . _ _li ;
}
recallSavedValue ( gui , controller ) ;
_domDom2 [ 'default' ] . addClass ( controller . domElement , 'c' ) ;
var name = document . createElement ( 'span' ) ;
_domDom2 [ 'default' ] . addClass ( name , 'property-name' ) ;
name . innerHTML = controller . property ;
var container = document . createElement ( 'div' ) ;
container . appendChild ( name ) ;
container . appendChild ( controller . domElement ) ;
var li = addRow ( gui , container , params . before ) ;
_domDom2 [ 'default' ] . addClass ( li , GUI . CLASS _CONTROLLER _ROW ) ;
if ( controller instanceof _controllersColorController2 [ 'default' ] ) {
_domDom2 [ 'default' ] . addClass ( li , 'color' ) ;
} else {
_domDom2 [ 'default' ] . addClass ( li , typeof controller . getValue ( ) ) ;
}
augmentController ( gui , li , controller ) ;
gui . _ _controllers . push ( controller ) ;
return controller ;
}
2015-08-14 16:30:03 +00:00
function getLocalStorageHash ( gui , key ) {
// TODO how does this deal with multiple GUI's?
return document . location . href + '.' + key ;
}
2015-08-14 20:29:30 +00:00
function addPresetOption ( gui , name , setSelected ) {
var opt = document . createElement ( 'option' ) ;
opt . innerHTML = name ;
opt . value = name ;
gui . _ _preset _select . appendChild ( opt ) ;
if ( setSelected ) {
gui . _ _preset _select . selectedIndex = gui . _ _preset _select . length - 1 ;
}
}
2015-08-14 16:30:03 +00:00
2015-08-14 22:16:18 +00:00
function showHideExplain ( gui , explain ) {
2015-08-14 20:29:30 +00:00
explain . style . display = gui . useLocalStorage ? 'block' : 'none' ;
}
function addSaveMenu ( gui ) {
2015-08-14 16:30:03 +00:00
var div = gui . _ _save _row = document . createElement ( 'li' ) ;
_domDom2 [ 'default' ] . addClass ( gui . domElement , 'has-save' ) ;
gui . _ _ul . insertBefore ( div , gui . _ _ul . firstChild ) ;
_domDom2 [ 'default' ] . addClass ( div , 'save-row' ) ;
var gears = document . createElement ( 'span' ) ;
gears . innerHTML = ' ' ;
_domDom2 [ 'default' ] . addClass ( gears , 'button gears' ) ;
// TODO replace with FunctionController
var button = document . createElement ( 'span' ) ;
button . innerHTML = 'Save' ;
_domDom2 [ 'default' ] . addClass ( button , 'button' ) ;
_domDom2 [ 'default' ] . addClass ( button , 'save' ) ;
var button2 = document . createElement ( 'span' ) ;
button2 . innerHTML = 'New' ;
_domDom2 [ 'default' ] . addClass ( button2 , 'button' ) ;
_domDom2 [ 'default' ] . addClass ( button2 , 'save-as' ) ;
var button3 = document . createElement ( 'span' ) ;
button3 . innerHTML = 'Revert' ;
_domDom2 [ 'default' ] . addClass ( button3 , 'button' ) ;
_domDom2 [ 'default' ] . addClass ( button3 , 'revert' ) ;
var select = gui . _ _preset _select = document . createElement ( 'select' ) ;
if ( gui . load && gui . load . remembered ) {
_utilsCommon2 [ 'default' ] . each ( gui . load . remembered , function ( value , key ) {
2015-08-14 20:29:30 +00:00
addPresetOption ( gui , key , key === gui . preset ) ;
2015-08-14 16:30:03 +00:00
} ) ;
} else {
addPresetOption ( gui , DEFAULT _DEFAULT _PRESET _NAME , false ) ;
}
_domDom2 [ 'default' ] . bind ( select , 'change' , function ( ) {
for ( var index = 0 ; index < gui . _ _preset _select . length ; index ++ ) {
gui . _ _preset _select [ index ] . innerHTML = gui . _ _preset _select [ index ] . value ;
}
gui . preset = this . value ;
} ) ;
div . appendChild ( select ) ;
div . appendChild ( gears ) ;
div . appendChild ( button ) ;
div . appendChild ( button2 ) ;
div . appendChild ( button3 ) ;
if ( SUPPORTS _LOCAL _STORAGE ) {
( function ( ) {
2015-08-14 20:29:30 +00:00
var explain = document . getElementById ( 'dg-local-explain' ) ;
var localStorageCheckBox = document . getElementById ( 'dg-local-storage' ) ;
var saveLocally = document . getElementById ( 'dg-save-locally' ) ;
2015-08-14 16:30:03 +00:00
saveLocally . style . display = 'block' ;
if ( localStorage . getItem ( getLocalStorageHash ( gui , 'isLocal' ) ) === 'true' ) {
localStorageCheckBox . setAttribute ( 'checked' , 'checked' ) ;
}
2015-08-14 22:16:18 +00:00
showHideExplain ( gui , explain ) ;
2015-08-14 16:30:03 +00:00
// TODO: Use a boolean controller, fool!
_domDom2 [ 'default' ] . bind ( localStorageCheckBox , 'change' , function ( ) {
gui . useLocalStorage = ! gui . useLocalStorage ;
2015-08-14 22:16:18 +00:00
showHideExplain ( gui , explain ) ;
2015-08-14 16:30:03 +00:00
} ) ;
} ) ( ) ;
}
var newConstructorTextArea = document . getElementById ( 'dg-new-constructor' ) ;
_domDom2 [ 'default' ] . bind ( newConstructorTextArea , 'keydown' , function ( e ) {
2015-08-14 20:29:30 +00:00
if ( e . metaKey && ( e . which === 67 || e . keyCode === 67 ) ) {
2015-08-14 16:30:03 +00:00
SAVE _DIALOGUE . hide ( ) ;
}
} ) ;
_domDom2 [ 'default' ] . bind ( gears , 'click' , function ( ) {
newConstructorTextArea . innerHTML = JSON . stringify ( gui . getSaveObject ( ) , undefined , 2 ) ;
SAVE _DIALOGUE . show ( ) ;
newConstructorTextArea . focus ( ) ;
newConstructorTextArea . select ( ) ;
} ) ;
_domDom2 [ 'default' ] . bind ( button , 'click' , function ( ) {
gui . save ( ) ;
} ) ;
_domDom2 [ 'default' ] . bind ( button2 , 'click' , function ( ) {
var presetName = prompt ( 'Enter a new preset name.' ) ;
2015-08-14 20:29:30 +00:00
if ( presetName ) {
gui . saveAs ( presetName ) ;
}
2015-08-14 16:30:03 +00:00
} ) ;
_domDom2 [ 'default' ] . bind ( button3 , 'click' , function ( ) {
gui . revert ( ) ;
} ) ;
2015-08-14 20:29:30 +00:00
// div.appendChild(button2);
2015-08-14 16:30:03 +00:00
}
function addResizeHandle ( gui ) {
2015-08-14 20:29:30 +00:00
var pmouseX = undefined ;
2015-08-14 16:30:03 +00:00
gui . _ _resize _handle = document . createElement ( 'div' ) ;
_utilsCommon2 [ 'default' ] . extend ( gui . _ _resize _handle . style , {
width : '6px' ,
marginLeft : '-3px' ,
height : '200px' ,
cursor : 'ew-resize' ,
position : 'absolute'
2015-08-14 20:29:30 +00:00
// border: '1px solid blue'
2015-08-14 16:30:03 +00:00
} ) ;
2015-08-14 20:29:30 +00:00
function drag ( e ) {
2015-08-14 16:30:03 +00:00
e . preventDefault ( ) ;
2015-08-14 20:29:30 +00:00
gui . width += pmouseX - e . clientX ;
gui . onResize ( ) ;
2015-08-14 16:30:03 +00:00
pmouseX = e . clientX ;
return false ;
}
2015-08-14 20:29:30 +00:00
function dragStop ( ) {
_domDom2 [ 'default' ] . removeClass ( gui . _ _closeButton , GUI . CLASS _DRAG ) ;
_domDom2 [ 'default' ] . unbind ( window , 'mousemove' , drag ) ;
_domDom2 [ 'default' ] . unbind ( window , 'mouseup' , dragStop ) ;
}
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
function dragStart ( e ) {
2015-08-14 16:30:03 +00:00
e . preventDefault ( ) ;
pmouseX = e . clientX ;
2015-08-14 20:29:30 +00:00
_domDom2 [ 'default' ] . addClass ( gui . _ _closeButton , GUI . CLASS _DRAG ) ;
_domDom2 [ 'default' ] . bind ( window , 'mousemove' , drag ) ;
_domDom2 [ 'default' ] . bind ( window , 'mouseup' , dragStop ) ;
2015-08-14 16:30:03 +00:00
return false ;
}
2015-08-14 20:29:30 +00:00
_domDom2 [ 'default' ] . bind ( gui . _ _resize _handle , 'mousedown' , dragStart ) ;
_domDom2 [ 'default' ] . bind ( gui . _ _closeButton , 'mousedown' , dragStart ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
gui . domElement . insertBefore ( gui . _ _resize _handle , gui . domElement . firstElementChild ) ;
2015-08-14 16:30:03 +00:00
}
function setWidth ( gui , w ) {
gui . domElement . style . width = w + 'px' ;
// Auto placed save-rows are position fixed, so we have to
// set the width manually if we want it to bleed to the edge
if ( gui . _ _save _row && gui . autoPlace ) {
gui . _ _save _row . style . width = w + 'px' ;
}
if ( gui . _ _closeButton ) {
gui . _ _closeButton . style . width = w + 'px' ;
}
}
function getCurrentPreset ( gui , useInitialValues ) {
var toReturn = { } ;
// For each object I'm remembering
_utilsCommon2 [ 'default' ] . each ( gui . _ _rememberedObjects , function ( val , index ) {
2015-08-14 20:29:30 +00:00
var savedValues = { } ;
2015-08-14 16:30:03 +00:00
// The controllers I've made for thcommon.isObject by property
2015-08-14 20:29:30 +00:00
var controllerMap = gui . _ _rememberedObjectIndecesToControllers [ index ] ;
2015-08-14 16:30:03 +00:00
// Remember each value for each property
2015-08-14 20:29:30 +00:00
_utilsCommon2 [ 'default' ] . each ( controllerMap , function ( controller , property ) {
savedValues [ property ] = useInitialValues ? controller . initialValue : controller . getValue ( ) ;
2015-08-14 16:30:03 +00:00
} ) ;
// Save the values for thcommon.isObject
2015-08-14 20:29:30 +00:00
toReturn [ index ] = savedValues ;
2015-08-14 16:30:03 +00:00
} ) ;
return toReturn ;
}
function setPresetSelectIndex ( gui ) {
for ( var index = 0 ; index < gui . _ _preset _select . length ; index ++ ) {
2015-08-14 20:29:30 +00:00
if ( gui . _ _preset _select [ index ] . value === gui . preset ) {
2015-08-14 16:30:03 +00:00
gui . _ _preset _select . selectedIndex = index ;
}
}
}
function updateDisplays ( controllerArray ) {
2015-08-14 20:29:30 +00:00
if ( controllerArray . length !== 0 ) {
2016-08-17 23:32:48 +00:00
_utilsRequestAnimationFrame2 [ 'default' ] . call ( window , function ( ) {
2015-08-14 16:30:03 +00:00
updateDisplays ( controllerArray ) ;
} ) ;
}
_utilsCommon2 [ 'default' ] . each ( controllerArray , function ( c ) {
c . updateDisplay ( ) ;
} ) ;
}
module . exports = GUI ;
/***/ } ,
2016-08-30 22:48:51 +00:00
/* 210 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports ) {
2016-08-30 22:48:51 +00:00
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
2015-08-14 16:30:03 +00:00
2016-08-30 22:48:51 +00:00
'use strict' ;
2015-08-14 16:30:03 +00:00
2016-08-30 22:48:51 +00:00
module . exports = {
load : function load ( url , indoc ) {
var doc = indoc || document ;
var link = doc . createElement ( 'link' ) ;
link . type = 'text/css' ;
link . rel = 'stylesheet' ;
link . href = url ;
doc . getElementsByTagName ( 'head' ) [ 0 ] . appendChild ( link ) ;
} ,
2015-08-14 16:30:03 +00:00
2016-09-01 19:52:59 +00:00
inject : function inject ( css , indoc ) {
2016-08-30 22:48:51 +00:00
var doc = indoc || document ;
var injected = document . createElement ( 'style' ) ;
injected . type = 'text/css' ;
injected . innerHTML = css ;
var head = doc . getElementsByTagName ( 'head' ) [ 0 ] ;
try {
head . appendChild ( injected ) ;
} catch ( e ) { // Unable to inject CSS, probably because of a Content Security Policy
}
}
} ;
2015-08-14 16:30:03 +00:00
/***/ } ,
2016-08-30 22:48:51 +00:00
/* 211 */
/***/ function ( module , exports ) {
2016-08-17 18:29:53 +00:00
2016-08-30 22:48:51 +00:00
module . exports = "<div id=\"dg-save\" class=\"dg dialogue\">\n\n Here's the new load parameter for your <code>GUI</code>'s constructor:\n\n <textarea id=\"dg-new-constructor\"></textarea>\n\n <div id=\"dg-save-locally\">\n\n <input id=\"dg-local-storage\" type=\"checkbox\"/> Automatically save\n values to <code>localStorage</code> on exit.\n\n <div id=\"dg-local-explain\">The values saved to <code>localStorage</code> will\n override those passed to <code>dat.GUI</code>'s constructor. This makes it\n easier to work incrementally, but <code>localStorage</code> is fragile,\n and your friends may not see the same values you do.\n\n </div>\n\n </div>\n\n</div>" ;
2016-08-17 18:29:53 +00:00
/***/ } ,
2016-08-30 22:48:51 +00:00
/* 212 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
'use strict' ;
2015-08-14 20:29:30 +00:00
exports . _ _esModule = true ;
2015-08-14 16:30:03 +00:00
function _interopRequireDefault ( obj ) { return obj && obj . _ _esModule ? obj : { 'default' : obj } ; }
2016-08-17 18:29:53 +00:00
var _OptionController = _ _webpack _require _ _ ( 202 ) ;
2015-08-14 16:30:03 +00:00
var _OptionController2 = _interopRequireDefault ( _OptionController ) ;
2016-08-17 18:29:53 +00:00
var _NumberControllerBox = _ _webpack _require _ _ ( 205 ) ;
2015-08-14 16:30:03 +00:00
var _NumberControllerBox2 = _interopRequireDefault ( _NumberControllerBox ) ;
2016-08-17 18:29:53 +00:00
var _NumberControllerSlider = _ _webpack _require _ _ ( 206 ) ;
2015-08-14 16:30:03 +00:00
var _NumberControllerSlider2 = _interopRequireDefault ( _NumberControllerSlider ) ;
2016-08-17 18:29:53 +00:00
var _StringController = _ _webpack _require _ _ ( 203 ) ;
2015-08-14 16:30:03 +00:00
var _StringController2 = _interopRequireDefault ( _StringController ) ;
2016-08-30 22:48:51 +00:00
var _FunctionController = _ _webpack _require _ _ ( 207 ) ;
2015-08-14 16:30:03 +00:00
var _FunctionController2 = _interopRequireDefault ( _FunctionController ) ;
2016-08-17 18:29:53 +00:00
var _BooleanController = _ _webpack _require _ _ ( 200 ) ;
2015-08-14 16:30:03 +00:00
var _BooleanController2 = _interopRequireDefault ( _BooleanController ) ;
2016-08-17 18:29:53 +00:00
var _utilsCommon = _ _webpack _require _ _ ( 197 ) ;
2015-08-14 16:30:03 +00:00
var _utilsCommon2 = _interopRequireDefault ( _utilsCommon ) ;
var ControllerFactory = function ControllerFactory ( object , property ) {
var initialValue = object [ property ] ;
// Providing options?
if ( _utilsCommon2 [ 'default' ] . isArray ( arguments [ 2 ] ) || _utilsCommon2 [ 'default' ] . isObject ( arguments [ 2 ] ) ) {
return new _OptionController2 [ 'default' ] ( object , property , arguments [ 2 ] ) ;
}
// Providing a map?
if ( _utilsCommon2 [ 'default' ] . isNumber ( initialValue ) ) {
2016-08-17 23:32:48 +00:00
// Has min and max? (slider)
2015-08-14 16:30:03 +00:00
if ( _utilsCommon2 [ 'default' ] . isNumber ( arguments [ 2 ] ) && _utilsCommon2 [ 'default' ] . isNumber ( arguments [ 3 ] ) ) {
2016-08-17 23:32:48 +00:00
// has step?
2015-08-14 22:16:18 +00:00
if ( _utilsCommon2 [ 'default' ] . isNumber ( arguments [ 4 ] ) ) {
return new _NumberControllerSlider2 [ 'default' ] ( object , property , arguments [ 2 ] , arguments [ 3 ] , arguments [ 4 ] ) ;
2015-08-14 16:30:03 +00:00
}
2015-08-14 22:16:18 +00:00
return new _NumberControllerSlider2 [ 'default' ] ( object , property , arguments [ 2 ] , arguments [ 3 ] ) ;
2015-08-14 16:30:03 +00:00
}
2016-08-17 23:32:48 +00:00
// number box
if ( _utilsCommon2 [ 'default' ] . isNumber ( arguments [ 4 ] ) ) {
// has step
return new _NumberControllerBox2 [ 'default' ] ( object , property , { min : arguments [ 2 ] , max : arguments [ 3 ] , step : arguments [ 4 ] } ) ;
}
2015-08-14 22:16:18 +00:00
return new _NumberControllerBox2 [ 'default' ] ( object , property , { min : arguments [ 2 ] , max : arguments [ 3 ] } ) ;
2015-08-14 16:30:03 +00:00
}
if ( _utilsCommon2 [ 'default' ] . isString ( initialValue ) ) {
return new _StringController2 [ 'default' ] ( object , property ) ;
}
if ( _utilsCommon2 [ 'default' ] . isFunction ( initialValue ) ) {
return new _FunctionController2 [ 'default' ] ( object , property , '' ) ;
}
if ( _utilsCommon2 [ 'default' ] . isBoolean ( initialValue ) ) {
return new _BooleanController2 [ 'default' ] ( object , property ) ;
}
} ;
exports [ 'default' ] = ControllerFactory ;
module . exports = exports [ 'default' ] ;
/***/ } ,
2016-08-30 22:48:51 +00:00
/* 213 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports ) {
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
"use strict" ;
2015-08-14 20:29:30 +00:00
exports . _ _esModule = true ;
2016-08-17 23:32:48 +00:00
function requestAnimationFrame ( callback ) {
setTimeout ( callback , 1000 / 60 ) ;
}
2015-08-14 20:29:30 +00:00
2016-08-17 23:32:48 +00:00
exports [ "default" ] = window . requestAnimationFrame || window . webkitRequestAnimationFrame || window . mozRequestAnimationFrame || window . oRequestAnimationFrame || window . msRequestAnimationFrame || requestAnimationFrame ;
2015-08-14 20:29:30 +00:00
module . exports = exports [ "default" ] ;
2015-08-14 16:30:03 +00:00
/***/ } ,
2016-08-30 22:48:51 +00:00
/* 214 */
2015-08-14 16:30:03 +00:00
/***/ function ( module , exports , _ _webpack _require _ _ ) {
/ * *
* dat - gui JavaScript Controller Library
* http : //code.google.com/p/dat-gui
*
* Copyright 2011 Data Arts Team , Google Creative Lab
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
* /
'use strict' ;
2015-08-14 20:29:30 +00:00
exports . _ _esModule = true ;
2015-08-14 16:30:03 +00:00
function _interopRequireDefault ( obj ) { return obj && obj . _ _esModule ? obj : { 'default' : obj } ; }
2015-08-14 20:29:30 +00:00
function _classCallCheck ( instance , Constructor ) { if ( ! ( instance instanceof Constructor ) ) { throw new TypeError ( 'Cannot call a class as a function' ) ; } }
2016-08-17 18:29:53 +00:00
var _domDom = _ _webpack _require _ _ ( 201 ) ;
2015-08-14 16:30:03 +00:00
var _domDom2 = _interopRequireDefault ( _domDom ) ;
2016-08-17 18:29:53 +00:00
var _utilsCommon = _ _webpack _require _ _ ( 197 ) ;
2015-08-14 16:30:03 +00:00
var _utilsCommon2 = _interopRequireDefault ( _utilsCommon ) ;
2015-08-14 20:29:30 +00:00
var CenteredDiv = ( function ( ) {
function CenteredDiv ( ) {
_classCallCheck ( this , CenteredDiv ) ;
this . backgroundElement = document . createElement ( 'div' ) ;
_utilsCommon2 [ 'default' ] . extend ( this . backgroundElement . style , {
backgroundColor : 'rgba(0,0,0,0.8)' ,
top : 0 ,
left : 0 ,
display : 'none' ,
zIndex : '1000' ,
opacity : 0 ,
WebkitTransition : 'opacity 0.2s linear' ,
transition : 'opacity 0.2s linear'
} ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
_domDom2 [ 'default' ] . makeFullscreen ( this . backgroundElement ) ;
this . backgroundElement . style . position = 'fixed' ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
this . domElement = document . createElement ( 'div' ) ;
_utilsCommon2 [ 'default' ] . extend ( this . domElement . style , {
position : 'fixed' ,
display : 'none' ,
zIndex : '1001' ,
opacity : 0 ,
WebkitTransition : '-webkit-transform 0.2s ease-out, opacity 0.2s linear' ,
transition : 'transform 0.2s ease-out, opacity 0.2s linear'
} ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
document . body . appendChild ( this . backgroundElement ) ;
document . body . appendChild ( this . domElement ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
var _this = this ;
_domDom2 [ 'default' ] . bind ( this . backgroundElement , 'click' , function ( ) {
_this . hide ( ) ;
} ) ;
}
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
CenteredDiv . prototype . show = function show ( ) {
var _this = this ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
this . backgroundElement . style . display = 'block' ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
this . domElement . style . display = 'block' ;
this . domElement . style . opacity = 0 ;
// this.domElement.style.top = '52%';
this . domElement . style . webkitTransform = 'scale(1.1)' ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
this . layout ( ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
_utilsCommon2 [ 'default' ] . defer ( function ( ) {
_this . backgroundElement . style . opacity = 1 ;
_this . domElement . style . opacity = 1 ;
_this . domElement . style . webkitTransform = 'scale(1)' ;
} ) ;
} ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
/ * *
* Hide centered div
* /
CenteredDiv . prototype . hide = function hide ( ) {
var _this = this ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
var hide = function hide ( ) {
_this . domElement . style . display = 'none' ;
_this . backgroundElement . style . display = 'none' ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
_domDom2 [ 'default' ] . unbind ( _this . domElement , 'webkitTransitionEnd' , hide ) ;
_domDom2 [ 'default' ] . unbind ( _this . domElement , 'transitionend' , hide ) ;
_domDom2 [ 'default' ] . unbind ( _this . domElement , 'oTransitionEnd' , hide ) ;
} ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
_domDom2 [ 'default' ] . bind ( this . domElement , 'webkitTransitionEnd' , hide ) ;
_domDom2 [ 'default' ] . bind ( this . domElement , 'transitionend' , hide ) ;
_domDom2 [ 'default' ] . bind ( this . domElement , 'oTransitionEnd' , hide ) ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
this . backgroundElement . style . opacity = 0 ;
// this.domElement.style.top = '48%';
this . domElement . style . opacity = 0 ;
this . domElement . style . webkitTransform = 'scale(1.1)' ;
2015-08-14 16:30:03 +00:00
} ;
2015-08-14 20:29:30 +00:00
CenteredDiv . prototype . layout = function layout ( ) {
this . domElement . style . left = window . innerWidth / 2 - _domDom2 [ 'default' ] . getWidth ( this . domElement ) / 2 + 'px' ;
this . domElement . style . top = window . innerHeight / 2 - _domDom2 [ 'default' ] . getHeight ( this . domElement ) / 2 + 'px' ;
} ;
2015-08-14 16:30:03 +00:00
2015-08-14 20:29:30 +00:00
return CenteredDiv ;
} ) ( ) ;
2015-08-14 16:30:03 +00:00
exports [ 'default' ] = CenteredDiv ;
module . exports = exports [ 'default' ] ;
2016-08-30 22:48:51 +00:00
/***/ } ,
/* 215 */
/***/ function ( module , exports , _ _webpack _require _ _ ) {
exports = module . exports = _ _webpack _require _ _ ( 216 ) ( ) ;
// imports
// module
exports . push ( [ module . id , " . dg { \ n /** Clear list styles */ \ n /* Auto-place container */ \ n /* Auto-placed GUI's */ \ n /* Line items that don't contain folders. */ \ n /** Folder names */ \ n /** Hides closed items */ \ n /** Controller row */ \ n /** Name-half (left) */ \ n /** Controller-half (right) */ \ n /** Controller placement */ \ n /** Shorter number boxes when slider is present. */ \ n /** Ensure the entire boolean and function row shows a hand */ } \ n . dg ul { \ n list - style : none ; \ n margin : 0 ; \ n padding : 0 ; \ n width : 100 % ; \ n clear : both ; } \ n . dg . ac { \ n position : fixed ; \ n top : 0 ; \ n left : 0 ; \ n right : 0 ; \ n height : 0 ; \ n z - index : 0 ; } \ n . dg : not ( . ac ) . main { \ n /** Exclude mains in ac so that we don't hide close button */ \ n overflow : hidden ; } \ n . dg . main { \ n - webkit - transition : opacity 0.1 s linear ; \ n - o - transition : opacity 0.1 s linear ; \ n - moz - transition : opacity 0.1 s linear ; \ n transition : opacity 0.1 s linear ; } \ n . dg . main . taller - than - window { \ n overflow - y : auto ; } \ n . dg . main . taller - than - window . close - button { \ n opacity : 1 ; \ n /* TODO, these are style notes */ \ n margin - top : - 1 px ; \ n border - top : 1 px solid # 2 c2c2c ; } \ n . dg . main ul . closed . close - button { \ n opacity : 1 ! important ; } \ n . dg . main : hover . close - button , \ n . dg . main . close - button . drag { \ n opacity : 1 ; } \ n . dg . main . close - button { \ n /*opacity: 0;*/ \ n - webkit - transition : opacity 0.1 s linear ; \ n - o - transition : opacity 0.1 s linear ; \ n - moz - transition : opacity 0.1 s linear ; \ n transition : opacity 0.1 s linear ; \ n border : 0 ; \ n position : absolute ; \ n line - height : 19 px ; \ n height : 20 px ; \ n /* TODO, these are style notes */ \ n cursor : pointer ; \ n text - align : center ; \ n background - color : # 000 ; } \ n . dg . main . close - button : hover { \ n background - color : # 111 ; } \ n . dg . a { \ n float : right ; \ n margin - right : 15 px ; \ n overflow - x : hidden ; } \ n . dg . a . has - save > ul { \ n margin - top : 27 px ; } \ n . dg . a . has - save > ul . closed { \ n margin - top : 0 ; } \ n . dg . a . save - row { \ n position : fixed ; \ n top : 0 ; \ n z - index : 1002 ; } \ n . dg li { \ n - webkit - transition : height 0.1 s ease - out ; \ n - o - transition : height 0.1 s ease - out ; \ n - moz - transition : height 0.1 s ease - out ; \ n transition : height 0.1 s ease - out ; } \ n . dg li : not ( . folder ) { \ n cursor : auto ; \ n height : 27 px ; \ n line - height : 27 px ; \ n overflow : hidden ; \ n padding : 0 4 px 0 5 px ; } \ n . dg li . folder { \ n padding : 0 ; \ n border - left : 4 px solid transparent ; } \ n . dg li . title { \ n cursor : pointer ; \ n margin - left : - 4 px ; } \ n . dg . closed li : not ( . title ) , \ n . dg . closed ul li , \ n . dg . closed ul li > * { \ n height : 0 ; \ n overflow : hidden ; \ n border : 0 ; } \ n . dg . cr { \ n clear : both ; \ n padding - left : 3 px ; \ n height : 27 px ; } \ n . dg . property - name { \ n cursor : default ; \ n float : left ; \ n clear : left ; \ n width : 40 % ; \ n overflow : hidden ; \ n text - overflow : ellipsis ; } \ n . dg . c { \ n float : left ; \ n width : 60 % ; } \ n . dg . c input [ type = text ] { \ n border : 0 ; \ n margin - top : 4 px ; \ n padding : 3 px ; \ n width : 100 % ; \ n float : right ; } \ n . dg . has - slider input [ type = text ] { \ n width : 30 % ; \ n /*display: none;*/ \ n margin - left : 0 ; } \ n . dg . slider { \ n float : left ; \ n width : 66 % ; \ n margin - left : - 5 px ; \ n margin - right : 0 ; \ n height : 19 px ; \ n margin - top : 4 px ; } \ n . dg . slider - fg { \ n height : 100 % ; } \ n . dg . c input [ type = checkbox ] { \ n margin - top : 9 px ; } \ n . dg . c select { \ n margin - top : 5 px ; } \ n . dg . cr . function , \ n . dg . cr . function . property - name , \ n . dg . cr . function * , \ n . dg . cr . boolean , \ n . dg . cr . boolean * { \ n cursor : pointer ; } \ n . dg . selector { \ n display : none ; \ n position : absolute ; \ n margin - left : - 9 px ; \ n margin - top : 23 px ; \ n z - index : 10 ; } \ n . dg . c : hover . selector , \ n . dg . selector . drag { \ n display : block ; } \ n . dg li . save - row { \ n padding : 0 ; } \ n . dg li . save - row . button { \ n display : inline - block ; \ n padding : 0 px 6 px ; } \ n . dg . dialogue { \ n background
// exports
/***/ } ,
/* 216 */
/***/ function ( module , exports ) {
/ *
MIT License http : //www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @ sokra
* /
// css base code, injected by the css-loader
module . exports = function ( ) {
var list = [ ] ;
// return the list of modules as css string
list . toString = function toString ( ) {
var result = [ ] ;
for ( var i = 0 ; i < this . length ; i ++ ) {
var item = this [ i ] ;
if ( item [ 2 ] ) {
result . push ( "@media " + item [ 2 ] + "{" + item [ 1 ] + "}" ) ;
} else {
result . push ( item [ 1 ] ) ;
}
}
return result . join ( "" ) ;
} ;
// import a list of modules into the list
list . i = function ( modules , mediaQuery ) {
if ( typeof modules === "string" )
modules = [ [ null , modules , "" ] ] ;
var alreadyImportedModules = { } ;
for ( var i = 0 ; i < this . length ; i ++ ) {
var id = this [ i ] [ 0 ] ;
if ( typeof id === "number" )
alreadyImportedModules [ id ] = true ;
}
for ( i = 0 ; i < modules . length ; i ++ ) {
var item = modules [ i ] ;
// skip already imported module
// this implementation is not 100% perfect for weird media query combinations
// when a module is imported multiple times with different media queries.
// I hope this will never occur (Hey this way we have smaller bundles)
if ( typeof item [ 0 ] !== "number" || ! alreadyImportedModules [ item [ 0 ] ] ) {
if ( mediaQuery && ! item [ 2 ] ) {
item [ 2 ] = mediaQuery ;
} else if ( mediaQuery ) {
item [ 2 ] = "(" + item [ 2 ] + ") and (" + mediaQuery + ")" ;
}
list . push ( item ) ;
}
}
} ;
return list ;
} ;
2015-08-14 16:30:03 +00:00
/***/ }
/******/ ] )
} ) ;
;
//# sourceMappingURL=dat.gui.js.map