diff --git a/app.uhk.js b/app.uhk.js new file mode 100644 index 00000000..904dc193 --- /dev/null +++ b/app.uhk.js @@ -0,0 +1,18407 @@ +webpackJsonp([0],[ +/* 0 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {"use strict"; + var platform_browser_dynamic_1 = __webpack_require__(2); + var app_module_1 = __webpack_require__(24); + if (!process.stdout) { + process.stdout = __webpack_require__(364)(); + } + platform_browser_dynamic_1.platformBrowserDynamic().bootstrapModule(app_module_1.AppModule); + + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 1 */, +/* 2 */, +/* 3 */, +/* 4 */, +/* 5 */, +/* 6 */, +/* 7 */, +/* 8 */, +/* 9 */, +/* 10 */, +/* 11 */, +/* 12 */, +/* 13 */, +/* 14 */, +/* 15 */, +/* 16 */, +/* 17 */, +/* 18 */, +/* 19 */, +/* 20 */, +/* 21 */, +/* 22 */, +/* 23 */, +/* 24 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var core_1 = __webpack_require__(4); + var forms_1 = __webpack_require__(25); + var platform_browser_1 = __webpack_require__(22); + var effects_1 = __webpack_require__(29); + var store_1 = __webpack_require__(44); + var store_devtools_1 = __webpack_require__(62); + var store_log_monitor_1 = __webpack_require__(71); + var ng2_dragula_1 = __webpack_require__(74); + var ng2_select2_1 = __webpack_require__(91); + var add_on_1 = __webpack_require__(97); + var slider_1 = __webpack_require__(117); + var keymap_1 = __webpack_require__(121); + var layers_1 = __webpack_require__(179); + var macro_1 = __webpack_require__(183); + var notification_1 = __webpack_require__(254); + var popover_1 = __webpack_require__(258); + var tab_1 = __webpack_require__(216); + var capture_keystroke_1 = __webpack_require__(262); + var icon_1 = __webpack_require__(267); + var settings_1 = __webpack_require__(271); + var side_menu_1 = __webpack_require__(276); + var keyboard_1 = __webpack_require__(282); + var keys_1 = __webpack_require__(292); + var module_1 = __webpack_require__(284); + var wrap_1 = __webpack_require__(334); + var main_app_1 = __webpack_require__(340); + var directives_1 = __webpack_require__(350); + var capture_service_1 = __webpack_require__(264); + var mapper_service_1 = __webpack_require__(202); + var effects_2 = __webpack_require__(353); + var reducers_1 = __webpack_require__(357); + var storage_1 = __webpack_require__(359); + var edit_1 = __webpack_require__(348); + var not_found_1 = __webpack_require__(194); + // Create DataStorage dependency injection + var storageProvider = core_1.ReflectiveInjector.resolve([storage_1.DataStorage]); + var storageInjector = core_1.ReflectiveInjector.fromResolvedProviders(storageProvider); + var storageService = storageInjector.get(storage_1.DataStorage); + // All reducers that are used in application + var storeConfig = { + userConfiguration: storageService.saveState(reducers_1.userConfigurationReducer), + presetKeymaps: reducers_1.presetReducer + }; + var AppModule = (function () { + function AppModule() { + } + return AppModule; + }()); + AppModule = __decorate([ + core_1.NgModule({ + declarations: [ + main_app_1.MainAppComponent, + keymap_1.KeymapEditComponent, + keymap_1.KeymapHeaderComponent, + notification_1.NotificationComponent, + keys_1.SvgIconTextKeyComponent, + keys_1.SvgKeyboardKeyComponent, + keys_1.SvgKeystrokeKeyComponent, + keys_1.SvgMouseKeyComponent, + keys_1.SvgMouseClickKeyComponent, + keys_1.SvgMouseMoveKeyComponent, + keys_1.SvgMouseScrollKeyComponent, + keys_1.SvgMouseSpeedKeyComponent, + keys_1.SvgOneLineTextKeyComponent, + keys_1.SvgSingleIconKeyComponent, + keys_1.SvgSwitchKeymapKeyComponent, + keys_1.SvgTextIconKeyComponent, + keys_1.SvgTwoLineTextKeyComponent, + keys_1.SvgKeyboardKeyComponent, + wrap_1.SvgKeyboardWrapComponent, + keyboard_1.SvgKeyboardComponent, + module_1.SvgModuleComponent, + layers_1.LayersComponent, + popover_1.PopoverComponent, + keymap_1.KeymapAddComponent, + side_menu_1.SideMenuComponent, + tab_1.KeypressTabComponent, + tab_1.KeymapTabComponent, + tab_1.LayerTabComponent, + tab_1.MacroTabComponent, + tab_1.MouseTabComponent, + tab_1.NoneTabComponent, + capture_keystroke_1.CaptureKeystrokeButtonComponent, + icon_1.IconComponent, + macro_1.MacroEditComponent, + macro_1.MacroListComponent, + macro_1.MacroHeaderComponent, + macro_1.MacroItemComponent, + macro_1.MacroActionEditorComponent, + macro_1.MacroDelayTabComponent, + macro_1.MacroKeyTabComponent, + macro_1.MacroMouseTabComponent, + macro_1.MacroTextTabComponent, + macro_1.MacroNotFoundComponent, + add_on_1.AddOnComponent, + settings_1.SettingsComponent, + slider_1.KeyboardSliderComponent, + directives_1.CancelableDirective + ], + imports: [ + platform_browser_1.BrowserModule, + forms_1.FormsModule, + ng2_dragula_1.DragulaModule, + main_app_1.routing, + store_1.StoreModule.provideStore(storeConfig, storageService.initialState()), + store_devtools_1.StoreDevtoolsModule.instrumentStore({ + monitor: store_log_monitor_1.useLogMonitor({ + visible: false, + position: 'right' + }) + }), + store_log_monitor_1.StoreLogMonitorModule, + ng2_select2_1.Select2Module, + effects_1.EffectsModule.runAfterBootstrap(effects_2.KeymapEffects), + effects_1.EffectsModule.runAfterBootstrap(effects_2.MacroEffects) + ], + providers: [ + mapper_service_1.MapperService, + main_app_1.appRoutingProviders, + edit_1.KeymapEditGuard, + not_found_1.MacroNotFoundGuard, + capture_service_1.CaptureService + ], + bootstrap: [main_app_1.MainAppComponent] + }) + ], AppModule); + exports.AppModule = AppModule; + + +/***/ }, +/* 25 */, +/* 26 */, +/* 27 */, +/* 28 */, +/* 29 */, +/* 30 */, +/* 31 */, +/* 32 */, +/* 33 */, +/* 34 */, +/* 35 */, +/* 36 */, +/* 37 */, +/* 38 */, +/* 39 */, +/* 40 */, +/* 41 */, +/* 42 */, +/* 43 */, +/* 44 */, +/* 45 */, +/* 46 */, +/* 47 */, +/* 48 */, +/* 49 */, +/* 50 */, +/* 51 */, +/* 52 */, +/* 53 */, +/* 54 */, +/* 55 */, +/* 56 */, +/* 57 */, +/* 58 */, +/* 59 */, +/* 60 */, +/* 61 */, +/* 62 */ +/***/ function(module, exports, __webpack_require__) { + + (function (global, factory) { + true ? factory(exports, __webpack_require__(4), __webpack_require__(44), __webpack_require__(63), __webpack_require__(48), __webpack_require__(31), __webpack_require__(52), __webpack_require__(51), __webpack_require__(64), __webpack_require__(50), __webpack_require__(54), __webpack_require__(8), __webpack_require__(65), __webpack_require__(61), __webpack_require__(66), __webpack_require__(69), __webpack_require__(70)) : + typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@ngrx/store', 'rxjs/ReplaySubject', 'rxjs/operator/map', 'rxjs/operator/merge', 'rxjs/operator/observeOn', 'rxjs/operator/scan', 'rxjs/operator/skip', 'rxjs/operator/withLatestFrom', 'rxjs/scheduler/queue', 'rxjs/Observable', 'rxjs/observable/empty', 'rxjs/operator/filter', 'rxjs/operator/share', 'rxjs/operator/switchMap', 'rxjs/operator/takeUntil'], factory) : + (factory((global.ngrx = global.ngrx || {}, global.ngrx.storeDevtools = global.ngrx.storeDevtools || {}),global.ng.core,global.ngrx.store,global.Rx,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Scheduler,global.Rx,global.Rx.Observable,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype)); + }(this, (function (exports,_angular_core,_ngrx_store,rxjs_ReplaySubject,rxjs_operator_map,rxjs_operator_merge,rxjs_operator_observeOn,rxjs_operator_scan,rxjs_operator_skip,rxjs_operator_withLatestFrom,rxjs_scheduler_queue,rxjs_Observable,rxjs_observable_empty,rxjs_operator_filter,rxjs_operator_share,rxjs_operator_switchMap,rxjs_operator_takeUntil) { 'use strict'; + + var ActionTypes = { + PERFORM_ACTION: 'PERFORM_ACTION', + RESET: 'RESET', + ROLLBACK: 'ROLLBACK', + COMMIT: 'COMMIT', + SWEEP: 'SWEEP', + TOGGLE_ACTION: 'TOGGLE_ACTION', + SET_ACTIONS_ACTIVE: 'SET_ACTIONS_ACTIVE', + JUMP_TO_STATE: 'JUMP_TO_STATE', + IMPORT_STATE: 'IMPORT_STATE' + }; + /** + * Action creators to change the History state. + */ + var StoreDevtoolActions = { + performAction: function (action) { + if (typeof action.type === 'undefined') { + throw new Error('Actions may not have an undefined "type" property. ' + + 'Have you misspelled a constant?'); + } + return { type: ActionTypes.PERFORM_ACTION, action: action, timestamp: Date.now() }; + }, + reset: function () { + return { type: ActionTypes.RESET, timestamp: Date.now() }; + }, + rollback: function () { + return { type: ActionTypes.ROLLBACK, timestamp: Date.now() }; + }, + commit: function () { + return { type: ActionTypes.COMMIT, timestamp: Date.now() }; + }, + sweep: function () { + return { type: ActionTypes.SWEEP }; + }, + toggleAction: function (id) { + return { type: ActionTypes.TOGGLE_ACTION, id: id }; + }, + setActionsActive: function (start, end, active) { + if (active === void 0) { active = true; } + return { type: ActionTypes.SET_ACTIONS_ACTIVE, start: start, end: end, active: active }; + }, + jumpToState: function (index) { + return { type: ActionTypes.JUMP_TO_STATE, index: index }; + }, + importState: function (nextLiftedState) { + return { type: ActionTypes.IMPORT_STATE, nextLiftedState: nextLiftedState }; + } + }; + + function difference(first, second) { + return first.filter(function (item) { return second.indexOf(item) < 0; }); + } + /** + * Provides an app's view into the state of the lifted store. + */ + function unliftState(liftedState) { + var computedStates = liftedState.computedStates, currentStateIndex = liftedState.currentStateIndex; + var state = computedStates[currentStateIndex].state; + return state; + } + /** + * Lifts an app's action into an action on the lifted store. + */ + function liftAction(action) { + return StoreDevtoolActions.performAction(action); + } + function applyOperators(input$, operators) { + return operators.reduce(function (source$, _a) { + var operator = _a[0], args = _a.slice(1); + return operator.apply(source$, args); + }, input$); + } + + var ExtensionActionTypes = { + START: 'START', + DISPATCH: 'DISPATCH', + STOP: 'STOP', + ACTION: 'ACTION' + }; + var REDUX_DEVTOOLS_EXTENSION = new _angular_core.OpaqueToken('Redux Devtools Extension'); + var DevtoolsExtension = (function () { + function DevtoolsExtension(devtoolsExtension) { + this.instanceId = "ngrx-store-" + Date.now(); + this.devtoolsExtension = devtoolsExtension; + this.createActionStreams(); + } + DevtoolsExtension.prototype.notify = function (action, state) { + if (!this.devtoolsExtension) { + return; + } + this.devtoolsExtension.send(null, state, false, this.instanceId); + }; + DevtoolsExtension.prototype.createChangesObservable = function () { + var _this = this; + if (!this.devtoolsExtension) { + return rxjs_observable_empty.empty(); + } + return new rxjs_Observable.Observable(function (subscriber) { + var connection = _this.devtoolsExtension.connect({ instanceId: _this.instanceId }); + connection.subscribe(function (change) { return subscriber.next(change); }); + return connection.unsubscribe; + }); + }; + DevtoolsExtension.prototype.createActionStreams = function () { + var _this = this; + // Listens to all changes based on our instanceId + var changes$ = rxjs_operator_share.share.call(this.createChangesObservable()); + // Listen for the start action + var start$ = rxjs_operator_filter.filter.call(changes$, function (change) { return change.type === ExtensionActionTypes.START; }); + // Listen for the stop action + var stop$ = rxjs_operator_filter.filter.call(changes$, function (change) { return change.type === ExtensionActionTypes.STOP; }); + // Listen for lifted actions + var liftedActions$ = applyOperators(changes$, [ + [rxjs_operator_filter.filter, function (change) { return change.type === ExtensionActionTypes.DISPATCH; }], + [rxjs_operator_map.map, function (change) { return _this.unwrapAction(change.payload); }] + ]); + // Listen for unlifted actions + var actions$ = applyOperators(changes$, [ + [rxjs_operator_filter.filter, function (change) { return change.type === ExtensionActionTypes.ACTION; }], + [rxjs_operator_map.map, function (change) { return _this.unwrapAction(change.payload); }] + ]); + var actionsUntilStop$ = rxjs_operator_takeUntil.takeUntil.call(actions$, stop$); + var liftedUntilStop$ = rxjs_operator_takeUntil.takeUntil.call(liftedActions$, stop$); + // Only take the action sources between the start/stop events + this.actions$ = rxjs_operator_switchMap.switchMap.call(start$, function () { return actionsUntilStop$; }); + this.liftedActions$ = rxjs_operator_switchMap.switchMap.call(start$, function () { return liftedUntilStop$; }); + }; + DevtoolsExtension.prototype.unwrapAction = function (action) { + return typeof action === 'string' ? eval("(" + action + ")") : action; + }; + DevtoolsExtension.decorators = [ + { type: _angular_core.Injectable }, + ]; + /** @nocollapse */ + DevtoolsExtension.ctorParameters = [ + { type: undefined, decorators: [{ type: _angular_core.Inject, args: [REDUX_DEVTOOLS_EXTENSION,] },] }, + ]; + return DevtoolsExtension; + }()); + + var INIT_ACTION = { type: _ngrx_store.Dispatcher.INIT }; + /** + * Computes the next entry in the log by applying an action. + */ + function computeNextEntry(reducer, action, state, error) { + if (error) { + return { + state: state, + error: 'Interrupted by an error up the chain' + }; + } + var nextState = state; + var nextError; + try { + nextState = reducer(state, action); + } + catch (err) { + nextError = err.toString(); + console.error(err.stack || err); + } + return { + state: nextState, + error: nextError + }; + } + /** + * Runs the reducer on invalidated actions to get a fresh computation log. + */ + function recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds) { + // Optimization: exit early and return the same reference + // if we know nothing could have changed. + if (minInvalidatedStateIndex >= computedStates.length && + computedStates.length === stagedActionIds.length) { + return computedStates; + } + var nextComputedStates = computedStates.slice(0, minInvalidatedStateIndex); + for (var i = minInvalidatedStateIndex; i < stagedActionIds.length; i++) { + var actionId = stagedActionIds[i]; + var action = actionsById[actionId].action; + var previousEntry = nextComputedStates[i - 1]; + var previousState = previousEntry ? previousEntry.state : committedState; + var previousError = previousEntry ? previousEntry.error : undefined; + var shouldSkip = skippedActionIds.indexOf(actionId) > -1; + var entry = shouldSkip ? + previousEntry : + computeNextEntry(reducer, action, previousState, previousError); + nextComputedStates.push(entry); + } + return nextComputedStates; + } + function liftInitialState(initialCommittedState, monitorReducer) { + return { + monitorState: monitorReducer(undefined, {}), + nextActionId: 1, + actionsById: { 0: liftAction(INIT_ACTION) }, + stagedActionIds: [0], + skippedActionIds: [], + committedState: initialCommittedState, + currentStateIndex: 0, + computedStates: [] + }; + } + /** + * Creates a history state reducer from an app's reducer. + */ + function liftReducerWith(initialCommittedState, initialLiftedState, monitorReducer, options) { + if (options === void 0) { options = {}; } + /** + * Manages how the history actions modify the history state. + */ + return function (reducer) { return function (liftedState, liftedAction) { + var _a = liftedState || initialLiftedState, monitorState = _a.monitorState, actionsById = _a.actionsById, nextActionId = _a.nextActionId, stagedActionIds = _a.stagedActionIds, skippedActionIds = _a.skippedActionIds, committedState = _a.committedState, currentStateIndex = _a.currentStateIndex, computedStates = _a.computedStates; + if (!liftedState) { + // Prevent mutating initialLiftedState + actionsById = Object.create(actionsById); + } + function commitExcessActions(n) { + // Auto-commits n-number of excess actions. + var excess = n; + var idsToDelete = stagedActionIds.slice(1, excess + 1); + for (var i = 0; i < idsToDelete.length; i++) { + if (computedStates[i + 1].error) { + // Stop if error is found. Commit actions up to error. + excess = i; + idsToDelete = stagedActionIds.slice(1, excess + 1); + break; + } + else { + delete actionsById[idsToDelete[i]]; + } + } + skippedActionIds = skippedActionIds.filter(function (id) { return idsToDelete.indexOf(id) === -1; }); + stagedActionIds = [0].concat(stagedActionIds.slice(excess + 1)); + committedState = computedStates[excess].state; + computedStates = computedStates.slice(excess); + currentStateIndex = currentStateIndex > excess + ? currentStateIndex - excess + : 0; + } + // By default, agressively recompute every state whatever happens. + // This has O(n) performance, so we'll override this to a sensible + // value whenever we feel like we don't have to recompute the states. + var minInvalidatedStateIndex = 0; + switch (liftedAction.type) { + case ActionTypes.RESET: { + // Get back to the state the store was created with. + actionsById = { 0: liftAction(INIT_ACTION) }; + nextActionId = 1; + stagedActionIds = [0]; + skippedActionIds = []; + committedState = initialCommittedState; + currentStateIndex = 0; + computedStates = []; + break; + } + case ActionTypes.COMMIT: { + // Consider the last committed state the new starting point. + // Squash any staged actions into a single committed state. + actionsById = { 0: liftAction(INIT_ACTION) }; + nextActionId = 1; + stagedActionIds = [0]; + skippedActionIds = []; + committedState = computedStates[currentStateIndex].state; + currentStateIndex = 0; + computedStates = []; + break; + } + case ActionTypes.ROLLBACK: { + // Forget about any staged actions. + // Start again from the last committed state. + actionsById = { 0: liftAction(INIT_ACTION) }; + nextActionId = 1; + stagedActionIds = [0]; + skippedActionIds = []; + currentStateIndex = 0; + computedStates = []; + break; + } + case ActionTypes.TOGGLE_ACTION: { + // Toggle whether an action with given ID is skipped. + // Being skipped means it is a no-op during the computation. + var actionId_1 = liftedAction.id; + var index = skippedActionIds.indexOf(actionId_1); + if (index === -1) { + skippedActionIds = [actionId_1].concat(skippedActionIds); + } + else { + skippedActionIds = skippedActionIds.filter(function (id) { return id !== actionId_1; }); + } + // Optimization: we know history before this action hasn't changed + minInvalidatedStateIndex = stagedActionIds.indexOf(actionId_1); + break; + } + case ActionTypes.SET_ACTIONS_ACTIVE: { + // Toggle whether an action with given ID is skipped. + // Being skipped means it is a no-op during the computation. + var start = liftedAction.start, end = liftedAction.end, active = liftedAction.active; + var actionIds = []; + for (var i = start; i < end; i++) + actionIds.push(i); + if (active) { + skippedActionIds = difference(skippedActionIds, actionIds); + } + else { + skippedActionIds = skippedActionIds.concat(actionIds); + } + // Optimization: we know history before this action hasn't changed + minInvalidatedStateIndex = stagedActionIds.indexOf(start); + break; + } + case ActionTypes.JUMP_TO_STATE: { + // Without recomputing anything, move the pointer that tell us + // which state is considered the current one. Useful for sliders. + currentStateIndex = liftedAction.index; + // Optimization: we know the history has not changed. + minInvalidatedStateIndex = Infinity; + break; + } + case ActionTypes.SWEEP: { + // Forget any actions that are currently being skipped. + stagedActionIds = difference(stagedActionIds, skippedActionIds); + skippedActionIds = []; + currentStateIndex = Math.min(currentStateIndex, stagedActionIds.length - 1); + break; + } + case ActionTypes.PERFORM_ACTION: { + // Auto-commit as new actions come in. + if (options.maxAge && stagedActionIds.length === options.maxAge) { + commitExcessActions(1); + } + if (currentStateIndex === stagedActionIds.length - 1) { + currentStateIndex++; + } + var actionId = nextActionId++; + // Mutation! This is the hottest path, and we optimize on purpose. + // It is safe because we set a new key in a cache dictionary. + actionsById[actionId] = liftedAction; + stagedActionIds = stagedActionIds.concat([actionId]); + // Optimization: we know that only the new action needs computing. + minInvalidatedStateIndex = stagedActionIds.length - 1; + break; + } + case ActionTypes.IMPORT_STATE: { + // Completely replace everything. + (_b = liftedAction.nextLiftedState, monitorState = _b.monitorState, actionsById = _b.actionsById, nextActionId = _b.nextActionId, stagedActionIds = _b.stagedActionIds, skippedActionIds = _b.skippedActionIds, committedState = _b.committedState, currentStateIndex = _b.currentStateIndex, computedStates = _b.computedStates, _b); + break; + } + case _ngrx_store.Reducer.REPLACE: + case _ngrx_store.Dispatcher.INIT: { + // Always recompute states on hot reload and init. + minInvalidatedStateIndex = 0; + if (options.maxAge && stagedActionIds.length > options.maxAge) { + // States must be recomputed before committing excess. + computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds); + commitExcessActions(stagedActionIds.length - options.maxAge); + // Avoid double computation. + minInvalidatedStateIndex = Infinity; + } + break; + } + default: { + // If the action is not recognized, it's a monitor action. + // Optimization: a monitor action can't change history. + minInvalidatedStateIndex = Infinity; + break; + } + } + computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds); + monitorState = monitorReducer(monitorState, liftedAction); + return { + monitorState: monitorState, + actionsById: actionsById, + nextActionId: nextActionId, + stagedActionIds: stagedActionIds, + skippedActionIds: skippedActionIds, + committedState: committedState, + currentStateIndex: currentStateIndex, + computedStates: computedStates + }; + var _b; + }; }; + } + + var STORE_DEVTOOLS_CONFIG = new _angular_core.OpaqueToken('@ngrx/devtools Options'); + var INITIAL_OPTIONS = new _angular_core.OpaqueToken('@ngrx/devtools Initial Config'); + + var __extends = (undefined && undefined.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var DevtoolsDispatcher = (function (_super) { + __extends(DevtoolsDispatcher, _super); + function DevtoolsDispatcher() { + _super.apply(this, arguments); + } + DevtoolsDispatcher.decorators = [ + { type: _angular_core.Injectable }, + ]; + /** @nocollapse */ + DevtoolsDispatcher.ctorParameters = []; + return DevtoolsDispatcher; + }(_ngrx_store.Dispatcher)); + var StoreDevtools = (function () { + function StoreDevtools(dispatcher, actions$, reducers$, extension, initialState, config) { + var liftedInitialState = liftInitialState(initialState, config.monitor); + var liftReducer = liftReducerWith(initialState, liftedInitialState, config.monitor, { + maxAge: config.maxAge + }); + var liftedAction$ = applyOperators(actions$, [ + [rxjs_operator_skip.skip, 1], + [rxjs_operator_merge.merge, extension.actions$], + [rxjs_operator_map.map, liftAction], + [rxjs_operator_merge.merge, dispatcher, extension.liftedActions$], + [rxjs_operator_observeOn.observeOn, rxjs_scheduler_queue.queue] + ]); + var liftedReducer$ = rxjs_operator_map.map.call(reducers$, liftReducer); + var liftedStateSubject = new rxjs_ReplaySubject.ReplaySubject(1); + var liftedStateSubscription = applyOperators(liftedAction$, [ + [rxjs_operator_withLatestFrom.withLatestFrom, liftedReducer$], + [rxjs_operator_scan.scan, function (liftedState, _a) { + var action = _a[0], reducer = _a[1]; + var nextState = reducer(liftedState, action); + extension.notify(action, nextState); + return nextState; + }, liftedInitialState] + ]).subscribe(liftedStateSubject); + var liftedState$ = liftedStateSubject.asObservable(); + var state$ = rxjs_operator_map.map.call(liftedState$, unliftState); + this.stateSubscription = liftedStateSubscription; + this.dispatcher = dispatcher; + this.liftedState = liftedState$; + this.state = state$; + } + StoreDevtools.prototype.dispatch = function (action) { + this.dispatcher.dispatch(action); + }; + StoreDevtools.prototype.next = function (action) { + this.dispatcher.dispatch(action); + }; + StoreDevtools.prototype.error = function (error) { }; + StoreDevtools.prototype.complete = function () { }; + StoreDevtools.prototype.performAction = function (action) { + this.dispatch(StoreDevtoolActions.performAction(action)); + }; + StoreDevtools.prototype.reset = function () { + this.dispatch(StoreDevtoolActions.reset()); + }; + StoreDevtools.prototype.rollback = function () { + this.dispatch(StoreDevtoolActions.rollback()); + }; + StoreDevtools.prototype.commit = function () { + this.dispatch(StoreDevtoolActions.commit()); + }; + StoreDevtools.prototype.sweep = function () { + this.dispatch(StoreDevtoolActions.sweep()); + }; + StoreDevtools.prototype.toggleAction = function (id) { + this.dispatch(StoreDevtoolActions.toggleAction(id)); + }; + StoreDevtools.prototype.jumpToState = function (index) { + this.dispatch(StoreDevtoolActions.jumpToState(index)); + }; + StoreDevtools.prototype.importState = function (nextLiftedState) { + this.dispatch(StoreDevtoolActions.importState(nextLiftedState)); + }; + StoreDevtools.decorators = [ + { type: _angular_core.Injectable }, + ]; + /** @nocollapse */ + StoreDevtools.ctorParameters = [ + { type: DevtoolsDispatcher, }, + { type: _ngrx_store.Dispatcher, }, + { type: _ngrx_store.Reducer, }, + { type: DevtoolsExtension, }, + { type: undefined, decorators: [{ type: _angular_core.Inject, args: [_ngrx_store.INITIAL_STATE,] },] }, + { type: undefined, decorators: [{ type: _angular_core.Inject, args: [STORE_DEVTOOLS_CONFIG,] },] }, + ]; + return StoreDevtools; + }()); + + function _createReduxDevtoolsExtension() { + var legacyExtensionKey = 'devToolsExtension'; + var extensionKey = '__REDUX_DEVTOOLS_EXTENSION__'; + if (typeof window === 'object' && typeof window[legacyExtensionKey] !== 'undefined') { + return window[legacyExtensionKey]; + } + else if (typeof window === 'object' && typeof window[extensionKey] !== 'undefined') { + return window[extensionKey]; + } + else { + return null; + } + } + function _createState(devtools) { + return devtools.state; + } + function _createReducer(dispatcher, reducer) { + return new _ngrx_store.Reducer(dispatcher, reducer); + } + function _createStateIfExtension(extension, injector) { + if (!!extension) { + var devtools = injector.get(StoreDevtools); + return _createState(devtools); + } + else { + var initialState = injector.get(_ngrx_store.INITIAL_STATE); + var dispatcher = injector.get(_ngrx_store.Dispatcher); + var reducer = injector.get(_ngrx_store.Reducer); + return new _ngrx_store.State(initialState, dispatcher, reducer); + } + } + function _createReducerIfExtension(extension, injector) { + if (!!extension) { + var devtoolsDispatcher = injector.get(DevtoolsDispatcher); + var reducer = injector.get(_ngrx_store.INITIAL_REDUCER); + return _createReducer(devtoolsDispatcher, reducer); + } + else { + var dispatcher = injector.get(_ngrx_store.Dispatcher); + var reducer = injector.get(_ngrx_store.INITIAL_REDUCER); + return new _ngrx_store.Reducer(dispatcher, reducer); + } + } + function noMonitor() { + return null; + } + function _createOptions(_options) { + var DEFAULT_OPTIONS = { monitor: noMonitor }; + var options = typeof _options === 'function' ? _options() : _options; + options = Object.assign({}, DEFAULT_OPTIONS, options); + if (options.maxAge && options.maxAge < 2) { + throw new Error("Devtools 'maxAge' cannot be less than 2, got " + options.maxAge); + } + return options; + } + var StoreDevtoolsModule = (function () { + function StoreDevtoolsModule() { + } + StoreDevtoolsModule.instrumentStore = function (_options) { + if (_options === void 0) { _options = {}; } + return { + ngModule: StoreDevtoolsModule, + providers: [ + { + provide: _ngrx_store.State, + deps: [StoreDevtools], + useFactory: _createState + }, + { + provide: INITIAL_OPTIONS, + useValue: _options + }, + { + provide: _ngrx_store.Reducer, + deps: [DevtoolsDispatcher, _ngrx_store.INITIAL_REDUCER], + useFactory: _createReducer + }, + { + provide: STORE_DEVTOOLS_CONFIG, + deps: [INITIAL_OPTIONS], + useFactory: _createOptions + } + ] + }; + }; + StoreDevtoolsModule.instrumentOnlyWithExtension = function (_options) { + if (_options === void 0) { _options = {}; } + return { + ngModule: StoreDevtoolsModule, + providers: [ + { + provide: _ngrx_store.State, + deps: [REDUX_DEVTOOLS_EXTENSION, _angular_core.Injector], + useFactory: _createStateIfExtension + }, + { + provide: _ngrx_store.Reducer, + deps: [REDUX_DEVTOOLS_EXTENSION, _angular_core.Injector], + useFactory: _createReducerIfExtension + }, + { + provide: INITIAL_OPTIONS, + useValue: _options + }, + { + provide: STORE_DEVTOOLS_CONFIG, + deps: [INITIAL_OPTIONS], + useFactory: _createOptions + } + ] + }; + }; + StoreDevtoolsModule.decorators = [ + { type: _angular_core.NgModule, args: [{ + imports: [ + _ngrx_store.StoreModule + ], + providers: [ + DevtoolsExtension, + DevtoolsDispatcher, + StoreDevtools, + { + provide: REDUX_DEVTOOLS_EXTENSION, + useFactory: _createReduxDevtoolsExtension + } + ] + },] }, + ]; + /** @nocollapse */ + StoreDevtoolsModule.ctorParameters = []; + return StoreDevtoolsModule; + }()); + + exports.StoreDevtoolsModule = StoreDevtoolsModule; + exports.StoreDevtools = StoreDevtools; + + Object.defineProperty(exports, '__esModule', { value: true }); + + }))); + +/***/ }, +/* 63 */, +/* 64 */, +/* 65 */, +/* 66 */, +/* 67 */, +/* 68 */, +/* 69 */, +/* 70 */, +/* 71 */ +/***/ function(module, exports, __webpack_require__) { + + (function (global, factory) { + true ? factory(exports, __webpack_require__(4), __webpack_require__(23), __webpack_require__(61), __webpack_require__(48), __webpack_require__(72), __webpack_require__(62), __webpack_require__(30), __webpack_require__(44), __webpack_require__(73)) : + typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/common', 'rxjs/operator/filter', 'rxjs/operator/map', '@ngrx/core/operator/select', '@ngrx/store-devtools', 'rxjs/observable/merge', '@ngrx/store', '@ngrx/core/compose'], factory) : + (factory((global.ngrx = global.ngrx || {}, global.ngrx.storeLogMonitor = global.ngrx.storeLogMonitor || {}),global.ng.core,global.ng.common,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.ngrx.core,global.ngrx.storeDevtools,global.Rx.Observable,global.ngrx.store,global.ngrx.core)); + }(this, (function (exports,_angular_core,_angular_common,rxjs_operator_filter,rxjs_operator_map,_ngrx_core_operator_select,_ngrx_storeDevtools,rxjs_observable_merge,_ngrx_store,_ngrx_core_compose) { 'use strict'; + + // Most of these are according to this table: http://www.ssicom.org/js/x171166.htm + // However where nodejs readline diverges, they are adjusted to conform to it + var KEYCODES = { + nomod: { + escape: '\u001b', + space: ' ' // actually '\u0020' + }, + ctrl: { + ' ': '\u0000', + 'a': '\u0001', + 'b': '\u0002', + 'c': '\u0003', + 'd': '\u0004', + 'e': '\u0005', + 'f': '\u0006', + 'g': '\u0007', + 'h': '\u0008', + 'i': '\u0009', + 'j': '\u000a', + 'k': '\u000b', + 'm': '\u000c', + 'n': '\u000d', + 'l': '\u000e', + 'o': '\u000f', + 'p': '\u0010', + 'q': '\u0011', + 'r': '\u0012', + 's': '\u0013', + 't': '\u0014', + 'u': '\u0015', + 'v': '\u0016', + 'w': '\u0017', + 'x': '\u0018', + 'y': '\u0019', + 'z': '\u001a', + '[': '\u001b', + '\\': '\u001c', + ']': '\u001d', + '^': '\u001e', + '_': '\u001f', + 'space': '\u0000' + } + }; + + var CommanderComponent = (function () { + function CommanderComponent() { + var _this = this; + this.keydown$ = new _angular_core.EventEmitter(); + this._ignoreTags = ['INPUT', 'SELECT', 'TEXTAREA']; + this.keydown$ = new _angular_core.EventEmitter(); + var filtered$ = rxjs_operator_filter.filter.call(this.keydown$, function (e) { + if (_this._ignoreTags.indexOf(e.target.tagName) !== -1) { + return false; + } + if (e.target.isContentEditable) { + return false; + } + var command = _this.parseCommand(_this.shortcut); + if (!command) { + return false; + } + var charCode = e.keyCode || e.which; + var char = String.fromCharCode(charCode); + return command.name.toUpperCase() === char.toUpperCase() && + command.alt === e.altKey && + command.ctrl === e.ctrlKey && + command.meta === e.metaKey && + command.shift === e.shiftKey; + }); + this.command = rxjs_operator_map.map.call(filtered$, function (e) { + e.preventDefault(); + return { command: _this.shortcut }; + }); + } + CommanderComponent.prototype.parseCommand = function (s) { + var keyString = s.trim().toLowerCase(); + if (!/^(ctrl-|shift-|alt-|meta-){0,4}\w+$/.test(keyString)) { + throw new Error('The string to parse needs to be of the format "c", "ctrl-c", "shift-ctrl-c".'); + } + var parts = keyString.split('-'); + var key = { + ctrl: false, + meta: false, + shift: false, + alt: false + }; + var c; + key.name = parts.pop(); + while ((c = parts.pop())) { + key[c] = true; + } + if (key.ctrl) { + key.sequence = KEYCODES.ctrl[key.name] || key.name; + } + else { + key.sequence = KEYCODES.nomod[key.name] || key.name; + } + if (key.shift && key.sequence && key.sequence.length === 1) { + key.sequence = key.sequence.toUpperCase(); + } + return key; + }; + CommanderComponent.decorators = [ + { type: _angular_core.Component, args: [{ + selector: 'ngrx-commander', + template: '', + styles: [':host{ display: none }'], + host: { + '(document:keydown)': 'keydown$.emit($event)' + } + },] }, + ]; + /** @nocollapse */ + CommanderComponent.ctorParameters = []; + CommanderComponent.propDecorators = { + 'shortcut': [{ type: _angular_core.Input },], + 'command': [{ type: _angular_core.Output },], + }; + return CommanderComponent; + }()); + + var DockComponent = (function () { + function DockComponent() { + this.position = 'right'; + this.size = 0.3; + this.visible = true; + } + Object.defineProperty(DockComponent.prototype, "absoluteSize", { + get: function () { + return 100 * this.size + "%"; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DockComponent.prototype, "restSize", { + get: function () { + return (100 - (100 * this.size)) + "%"; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DockComponent.prototype, "leftPosition", { + get: function () { + return this.calculatePosition('left', 'right'); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DockComponent.prototype, "rightPosition", { + get: function () { + return this.calculatePosition('right', 'left'); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DockComponent.prototype, "topPosition", { + get: function () { + return this.calculatePosition('top', 'bottom'); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DockComponent.prototype, "bottomPosition", { + get: function () { + return this.calculatePosition('bottom', 'top'); + }, + enumerable: true, + configurable: true + }); + DockComponent.prototype.calculatePosition = function (primary, secondary) { + if (this.visible) { + switch (this.position) { + case secondary: + return this.restSize; + default: + return '0%'; + } + } + else { + switch (this.position) { + case primary: + return "-" + this.absoluteSize; + case secondary: + return '100%'; + default: + return '0%'; + } + } + }; + DockComponent.decorators = [ + { type: _angular_core.Component, args: [{ + selector: 'ngrx-dock', + template: "\n
\n
\n \n
\n
\n ", + styles: ["\n :host {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n transition: all 0.3s;\n z-index: 9999;\n }\n\n .dock {\n position: absolute;\n z-index: 1;\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);\n background-color: white;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n }\n\n .dock-content {\n width: 100%;\n height: 100%;\n overflow: auto;\n }\n "] + },] }, + ]; + /** @nocollapse */ + DockComponent.ctorParameters = []; + DockComponent.propDecorators = { + 'position': [{ type: _angular_core.Input },], + 'size': [{ type: _angular_core.Input },], + 'visible': [{ type: _angular_core.Input },], + 'leftPosition': [{ type: _angular_core.HostBinding, args: ['style.left',] },], + 'rightPosition': [{ type: _angular_core.HostBinding, args: ['style.right',] },], + 'topPosition': [{ type: _angular_core.HostBinding, args: ['style.top',] },], + 'bottomPosition': [{ type: _angular_core.HostBinding, args: ['style.bottom',] },], + }; + return DockComponent; + }()); + + var DockActions = (function () { + function DockActions() { + } + DockActions.prototype.toggleVisibility = function () { + return { type: DockActions.TOGGLE_VISIBILITY }; + }; + DockActions.prototype.changePosition = function () { + return { type: DockActions.CHANGE_POSITION }; + }; + DockActions.prototype.changeSize = function (size) { + return { type: DockActions.CHANGE_SIZE, payload: size }; + }; + DockActions.prototype.changeMonitor = function () { + return { type: DockActions.CHANGE_MONITOR }; + }; + DockActions.TOGGLE_VISIBILITY = '@@redux-devtools-log-monitor/TOGGLE_VISIBILITY'; + DockActions.CHANGE_POSITION = '@@redux-devtools-log-monitor/CHANGE_POSITION'; + DockActions.CHANGE_SIZE = '@@redux-devtools-log-monitor/CHANGE_SIZE'; + DockActions.CHANGE_MONITOR = '@@redux-devtools-log-monitor/CHANGE_MONITOR'; + DockActions.decorators = [ + { type: _angular_core.Injectable }, + ]; + /** @nocollapse */ + DockActions.ctorParameters = []; + return DockActions; + }()); + + var DockMonitorComponent = (function () { + function DockMonitorComponent(tools, actions) { + this.state$ = _ngrx_core_operator_select.select.call(tools.liftedState, function (s) { return s.monitorState; }); + this.visible$ = _ngrx_core_operator_select.select.call(this.state$, function (s) { return s.visible; }); + this.position$ = _ngrx_core_operator_select.select.call(this.state$, function (s) { return s.position; }); + this.size$ = _ngrx_core_operator_select.select.call(this.state$, function (s) { return s.size; }); + this.toggle$ = new _angular_core.EventEmitter(); + this.changePosition$ = new _angular_core.EventEmitter(); + this.actionsSubscription = rxjs_observable_merge.merge(rxjs_operator_map.map.call(this.toggle$, function () { return actions.toggleVisibility(); }), rxjs_operator_map.map.call(this.changePosition$, function () { return actions.changePosition(); })).subscribe(tools); + } + DockMonitorComponent.prototype.ngOnDestroy = function () { + this.actionsSubscription.unsubscribe(); + }; + DockMonitorComponent.decorators = [ + { type: _angular_core.Component, args: [{ + selector: 'dock-monitor', + changeDetection: _angular_core.ChangeDetectionStrategy.OnPush, + template: "\n \n \n\n \n \n \n " + },] }, + ]; + /** @nocollapse */ + DockMonitorComponent.ctorParameters = [ + { type: _ngrx_storeDevtools.StoreDevtools, }, + { type: DockActions, }, + ]; + DockMonitorComponent.propDecorators = { + 'toggleCommand': [{ type: _angular_core.Input },], + 'positionCommand': [{ type: _angular_core.Input },], + }; + return DockMonitorComponent; + }()); + + var POSITIONS = ['left', 'top', 'right', 'bottom']; + function useDockMonitor(_options) { + if (_options === void 0) { _options = {}; } + var options = Object.assign({ + position: 'right', + visible: true, + size: 0.3 + }, _options); + function position(state, action) { + if (state === void 0) { state = options.position; } + return (action.type === DockActions.CHANGE_POSITION) ? + POSITIONS[(POSITIONS.indexOf(state) + 1) % POSITIONS.length] : + state; + } + function size(state, action) { + if (state === void 0) { state = options.size; } + return (action.type === DockActions.CHANGE_SIZE) ? + action.size : + state; + } + function visible(state, action) { + if (state === void 0) { state = options.visible; } + return (action.type === DockActions.TOGGLE_VISIBILITY) ? + !state : + state; + } + return _ngrx_store.combineReducers({ + position: position, + visible: visible, + size: size + }); + } + + var DockMonitorModule = (function () { + function DockMonitorModule() { + } + DockMonitorModule.decorators = [ + { type: _angular_core.NgModule, args: [{ + imports: [ + _angular_common.CommonModule + ], + declarations: [ + CommanderComponent, + DockComponent, + DockMonitorComponent + ], + providers: [ + DockActions + ], + exports: [ + DockMonitorComponent + ] + },] }, + ]; + /** @nocollapse */ + DockMonitorModule.ctorParameters = []; + return DockMonitorModule; + }()); + + var KNOWN = { + Array: 'array', + Object: 'object', + Null: 'null', + Undefined: 'undefined', + Boolean: 'boolean', + Number: 'number', + String: 'string', + Symbol: 'symbol', + Function: 'function', + Iterable: 'iterable' + }; + function getTypeOf(object) { + var literalType = typeof object; + if (literalType === 'object') { + if (Array.isArray(object)) { + return KNOWN.Array; + } + if (object === null) { + return KNOWN.Null; + } + if (typeof object[Symbol.iterator] === 'function') { + return KNOWN.Iterable; + } + } + return literalType; + } + var arrayLength = function (value) { return value.length; }; + var lengthLabel = function (single, plural) { return function (length) { return (length + " " + (length === 1 ? single : plural)); }; }; + var typeIndicator = function (typeIndicator) { return function (input) { return (typeIndicator + " " + input); }; }; + var typeIdentity = function (type) { return function () { return type; }; }; + var withQuotes = function (val) { return ("\"" + val + "\""); }; + var toString = function (val) { return val.toString(); }; + var iterableToArray = function (value) { return Array.from(value); }; + var labelFactoriesForTypes = (_a = {}, + _a[KNOWN.Array] = _ngrx_core_compose.compose(typeIndicator('[]'), lengthLabel('item', 'items'), arrayLength), + _a[KNOWN.Object] = _ngrx_core_compose.compose(typeIndicator('{}'), lengthLabel('key', 'keys'), arrayLength, Object.getOwnPropertyNames), + _a[KNOWN.Null] = typeIdentity(KNOWN.Null), + _a[KNOWN.Undefined] = typeIdentity(KNOWN.Undefined), + _a[KNOWN.Boolean] = function (val) { return val ? 'true' : 'false'; }, + _a[KNOWN.Number] = toString, + _a[KNOWN.String] = withQuotes, + _a[KNOWN.Symbol] = _ngrx_core_compose.compose(withQuotes, toString), + _a[KNOWN.Function] = typeIdentity(KNOWN.Function), + _a[KNOWN.Iterable] = _ngrx_core_compose.compose(typeIndicator('()'), lengthLabel('entry', 'entries'), arrayLength, iterableToArray), + _a + ); + var getLabelFor = function (object) { return labelFactoriesForTypes[getTypeOf(object)](object); }; + function getChildrenFor(object) { + var literalType = getTypeOf(object); + if (literalType === KNOWN.Object) { + return Object.getOwnPropertyNames(object).map(function (name) { + return { key: name, value: object[name] }; + }); + } + else if (literalType === KNOWN.Array) { + return object.map(function (value, index) { + return { key: index, value: value }; + }); + } + else if (literalType === KNOWN.Iterable) { + return Array.from(object).map(function (value, index) { + return { key: index, value: value }; + }); + } + throw new TypeError("Tried to get children for non-enumerable type \"" + literalType + "\""); + } + var _a; + + var JsonNodeComponent = (function () { + function JsonNodeComponent() { + this.expanded = false; + } + Object.defineProperty(JsonNodeComponent.prototype, "value", { + set: function (value) { + this.label = getLabelFor(value); + this.type = getTypeOf(value); + if (this.type === KNOWN.Array || this.type === KNOWN.Object || this.type === KNOWN.Iterable) { + this.children = getChildrenFor(value); + } + else { + this.children = null; + } + }, + enumerable: true, + configurable: true + }); + JsonNodeComponent.prototype.toggle = function () { + if (this.children) { + this.expanded = !this.expanded; + } + }; + JsonNodeComponent.decorators = [ + { type: _angular_core.Component, args: [{ + selector: 'ngrx-json-node', + styles: ["\n :host {\n display: block;\n padding: 2px 2px 2px 20px;\n position: relative;\n color: #70AFCD;\n font-family: 'monaco', 'Consolas', 'Lucida Console', monospace;\n }\n .expanded-indicator {\n position: absolute;\n top: 7px;\n left: 5px;\n font-size: 10px;\n transition: transform 200ms;\n }\n\n .expanded .expanded-indicator {\n transform: rotate(90deg);\n }\n\n .node-key::after {\n content: ': ';\n display: inline;\n }\n\n .expanded .node-label {\n color: #BABBBD !important;\n }\n\n .node-label {\n color: #9AC05C;\n }\n\n .node-label.array, .node-label.null, .node-label.iterable {\n color: #D182C0;\n }\n\n .node-label.number, .node-label.undefined, .node-label.boolean {\n color: #F86936;\n }\n "], + template: "\n
\n \u25B6\n {{ key }}\n {{ label }}\n
\n
\n \n
\n " + },] }, + ]; + /** @nocollapse */ + JsonNodeComponent.ctorParameters = []; + JsonNodeComponent.propDecorators = { + 'key': [{ type: _angular_core.Input },], + 'expanded': [{ type: _angular_core.Input },], + 'value': [{ type: _angular_core.Input },], + }; + return JsonNodeComponent; + }()); + + var JsonTreeComponent = (function () { + function JsonTreeComponent() { + this.children = []; + this.expanded = true; + } + Object.defineProperty(JsonTreeComponent.prototype, "value", { + set: function (value) { + this.children = getChildrenFor(value); + }, + enumerable: true, + configurable: true + }); + JsonTreeComponent.decorators = [ + { type: _angular_core.Component, args: [{ + selector: 'ngrx-json-tree', + template: "\n \n " + },] }, + ]; + /** @nocollapse */ + JsonTreeComponent.ctorParameters = []; + JsonTreeComponent.propDecorators = { + 'expanded': [{ type: _angular_core.Input },], + 'value': [{ type: _angular_core.Input },], + }; + return JsonTreeComponent; + }()); + + var JsonTreeModule = (function () { + function JsonTreeModule() { + } + JsonTreeModule.decorators = [ + { type: _angular_core.NgModule, args: [{ + imports: [ + _angular_common.CommonModule + ], + declarations: [ + JsonNodeComponent, + JsonTreeComponent + ], + exports: [ + JsonTreeComponent + ] + },] }, + ]; + /** @nocollapse */ + JsonTreeModule.ctorParameters = []; + return JsonTreeModule; + }()); + + var LogMonitorComponent = (function () { + function LogMonitorComponent(devtools) { + this.devtools = devtools; + this.expandEntries = true; + this.canRevert$ = _ngrx_core_operator_select.select.call(devtools.liftedState, function (s) { return !(s.computedStates.length > 1); }); + this.canSweep$ = _ngrx_core_operator_select.select.call(devtools.liftedState, function (s) { return !(s.skippedActionIds.length > 0); }); + this.canCommit$ = _ngrx_core_operator_select.select.call(devtools.liftedState, function (s) { return !(s.computedStates.length > 1); }); + this.items$ = rxjs_operator_map.map.call(devtools.liftedState, function (_a) { + var actionsById = _a.actionsById, skippedActionIds = _a.skippedActionIds, stagedActionIds = _a.stagedActionIds, computedStates = _a.computedStates; + var actions = []; + for (var i = 0; i < stagedActionIds.length; i++) { + var actionId = stagedActionIds[i]; + var action = actionsById[actionId].action; + var _b = computedStates[i], state = _b.state, error = _b.error; + var previousState = void 0; + if (i > 0) { + previousState = computedStates[i - 1].state; + } + actions.push({ + key: actionId, + collapsed: skippedActionIds.indexOf(actionId) > -1, + action: action, + actionId: actionId, + state: state, + previousState: previousState, + error: error + }); + } + return actions; + }); + } + LogMonitorComponent.prototype.handleToggle = function (id) { + this.devtools.toggleAction(id); + }; + LogMonitorComponent.prototype.handleReset = function () { + this.devtools.reset(); + }; + LogMonitorComponent.prototype.handleRollback = function () { + this.devtools.rollback(); + }; + LogMonitorComponent.prototype.handleSweep = function () { + this.devtools.sweep(); + }; + LogMonitorComponent.prototype.handleCommit = function () { + this.devtools.commit(); + }; + LogMonitorComponent.decorators = [ + { type: _angular_core.Component, args: [{ + selector: 'log-monitor', + styles: ["\n :host {\n display: block;\n background-color: #2A2F3A;\n font-family: 'monaco', 'Consolas', 'Lucida Console', monospace;\n position: relative;\n overflow-y: hidden;\n width: 100%;\n height: 100%;\n min-width: 300px;\n direction: ltr;\n }\n\n .button-bar {\n text-align: center;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-color: transparent;\n z-index: 1;\n display: flex;\n flex-direction: row;\n padding: 0 4px;\n }\n\n .elements {\n position: absolute;\n left: 0;\n right: 0;\n top: 38px;\n bottom: 0;\n overflow-x: hidden;\n overflow-y: auto;\n }\n "], + template: "\n
\n \n Reset\n \n\n \n Revert\n \n\n \n Sweep\n \n\n \n Commit\n \n
\n
\n \n \n
\n " + },] }, + ]; + /** @nocollapse */ + LogMonitorComponent.ctorParameters = [ + { type: _ngrx_storeDevtools.StoreDevtools, }, + ]; + LogMonitorComponent.propDecorators = { + 'expandEntries': [{ type: _angular_core.Input },], + }; + return LogMonitorComponent; + }()); + + var LogMonitorButtonComponent = (function () { + function LogMonitorButtonComponent() { + this.action = new _angular_core.EventEmitter(); + } + LogMonitorButtonComponent.prototype.handleAction = function ($event) { + if (!this.disabled) { + this.action.next({}); + } + $event.stopPropagation(); + return false; + }; + LogMonitorButtonComponent.decorators = [ + { type: _angular_core.Component, args: [{ + selector: 'log-monitor-button', + template: "\n \n ", + styles: ["\n :host{\n flex-grow: 1;\n display: inline-block;\n font-family: 'monaco', 'Consolas', 'Lucida Console', monospace;\n cursor: pointer;\n font-weight: bold;\n border-radius: 3px;\n padding: 4px 8px;\n margin: 5px 3px 5px 3px;\n font-size: 0.8em;\n color: white;\n text-decoration: none;\n background-color: #4F5A65;\n }\n\n :host.disabled{\n opacity: 0.2;\n cursor: text;\n background-color: transparent;\n }\n "] + },] }, + ]; + /** @nocollapse */ + LogMonitorButtonComponent.ctorParameters = []; + LogMonitorButtonComponent.propDecorators = { + 'disabled': [{ type: _angular_core.HostBinding, args: ['class.disabled',] }, { type: _angular_core.Input },], + 'action': [{ type: _angular_core.Output },], + 'handleAction': [{ type: _angular_core.HostListener, args: ['click', ['$event'],] },], + }; + return LogMonitorButtonComponent; + }()); + + var LogMonitorEntryComponent = (function () { + function LogMonitorEntryComponent() { + this.expandEntries = false; + this.disabled = false; + this.toggle = new _angular_core.EventEmitter(); + } + Object.defineProperty(LogMonitorEntryComponent.prototype, "item", { + get: function () { + return this._item; + }, + set: function (value) { + this._item = value; + this.stateActionPair = { + state: value.state, + action: value.action + }; + }, + enumerable: true, + configurable: true + }); + LogMonitorEntryComponent.prototype.handleToggle = function () { + if (!this.disabled) { + this.toggle.next({ id: this.item.actionId }); + } + }; + LogMonitorEntryComponent.prototype.logPayload = function () { + console.log(this.item.action); + }; + LogMonitorEntryComponent.prototype.logState = function () { + console.log(this.item.state); + }; + LogMonitorEntryComponent.decorators = [ + { type: _angular_core.Component, args: [{ + selector: 'log-monitor-entry', + template: "\n
\n {{ item.action.type }}\n
\n
\n \n
\n ", + styles: ["\n :host{\n color: #FFFFFF;\n background-color: #4F5A65;\n cursor: pointer;\n }\n .title-bar{\n padding: 8px 0 7px 16px;\n background-color: rgba(0,0,0,0.1);\n }\n .action-bar{\n padding: 20px;\n }\n .collapsed{\n text-decoration: line-through;\n font-style: italic;\n opacity: 0.5;\n }\n "] + },] }, + ]; + /** @nocollapse */ + LogMonitorEntryComponent.ctorParameters = []; + LogMonitorEntryComponent.propDecorators = { + 'expandEntries': [{ type: _angular_core.Input },], + 'disabled': [{ type: _angular_core.Input },], + 'item': [{ type: _angular_core.Input },], + 'toggle': [{ type: _angular_core.Output },], + }; + return LogMonitorEntryComponent; + }()); + + var LogMonitorModule = (function () { + function LogMonitorModule() { + } + LogMonitorModule.decorators = [ + { type: _angular_core.NgModule, args: [{ + imports: [ + _angular_common.CommonModule, + JsonTreeModule + ], + declarations: [ + LogMonitorComponent, + LogMonitorButtonComponent, + LogMonitorEntryComponent + ], + exports: [ + LogMonitorComponent + ] + },] }, + ]; + /** @nocollapse */ + LogMonitorModule.ctorParameters = []; + return LogMonitorModule; + }()); + + var StoreLogMonitorComponent = (function () { + function StoreLogMonitorComponent() { + this.toggleCommand = 'ctrl-h'; + this.positionCommand = 'ctrl-m'; + this.expandEntries = false; + } + StoreLogMonitorComponent.decorators = [ + { type: _angular_core.Component, args: [{ + selector: 'ngrx-store-log-monitor', + template: "\n \n \n \n " + },] }, + ]; + /** @nocollapse */ + StoreLogMonitorComponent.ctorParameters = []; + StoreLogMonitorComponent.propDecorators = { + 'toggleCommand': [{ type: _angular_core.Input },], + 'positionCommand': [{ type: _angular_core.Input },], + 'expandEntries': [{ type: _angular_core.Input },], + }; + return StoreLogMonitorComponent; + }()); + + var StoreLogMonitorModule = (function () { + function StoreLogMonitorModule() { + } + StoreLogMonitorModule.decorators = [ + { type: _angular_core.NgModule, args: [{ + imports: [ + _angular_common.CommonModule, + DockMonitorModule, + LogMonitorModule + ], + declarations: [ + StoreLogMonitorComponent + ], + exports: [ + StoreLogMonitorComponent + ] + },] }, + ]; + /** @nocollapse */ + StoreLogMonitorModule.ctorParameters = []; + return StoreLogMonitorModule; + }()); + + exports.StoreLogMonitorModule = StoreLogMonitorModule; + exports.useLogMonitor = useDockMonitor; + + Object.defineProperty(exports, '__esModule', { value: true }); + + }))); + +/***/ }, +/* 72 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var pluck_1 = __webpack_require__(47); + var map_1 = __webpack_require__(48); + var distinctUntilChanged_1 = __webpack_require__(49); + function select(pathOrMapFn) { + var paths = []; + for (var _i = 1; _i < arguments.length; _i++) { + paths[_i - 1] = arguments[_i]; + } + var mapped$; + if (typeof pathOrMapFn === 'string') { + mapped$ = pluck_1.pluck.call.apply(pluck_1.pluck, [this, pathOrMapFn].concat(paths)); + } + else if (typeof pathOrMapFn === 'function') { + mapped$ = map_1.map.call(this, pathOrMapFn); + } + else { + throw new TypeError(("Unexpected type " + typeof pathOrMapFn + " in select operator,") + + " expected 'string' or 'function'"); + } + return distinctUntilChanged_1.distinctUntilChanged.call(mapped$); + } + exports.select = select; + + +/***/ }, +/* 73 */ +/***/ function(module, exports) { + + "use strict"; + exports.compose = function () { + var functions = []; + for (var _i = 0; _i < arguments.length; _i++) { + functions[_i - 0] = arguments[_i]; + } + return function (arg) { + if (functions.length === 0) { + return arg; + } + var last = functions[functions.length - 1]; + var rest = functions.slice(0, -1); + return rest.reduceRight(function (composed, fn) { return fn(composed); }, last(arg)); + }; + }; + + +/***/ }, +/* 74 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(75)); + + +/***/ }, +/* 75 */, +/* 76 */, +/* 77 */, +/* 78 */, +/* 79 */, +/* 80 */, +/* 81 */, +/* 82 */, +/* 83 */, +/* 84 */, +/* 85 */, +/* 86 */, +/* 87 */, +/* 88 */, +/* 89 */, +/* 90 */, +/* 91 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var core_1 = __webpack_require__(4); + var ng2_select2_component_1 = __webpack_require__(92); + var ng2_select2_component_2 = __webpack_require__(92); + exports.Select2Component = ng2_select2_component_2.Select2Component; + var Select2Module = (function () { + function Select2Module() { + } + return Select2Module; + }()); + Select2Module = __decorate([ + core_1.NgModule({ + declarations: [ng2_select2_component_1.Select2Component], + exports: [ng2_select2_component_1.Select2Component] + }) + ], Select2Module); + exports.Select2Module = Select2Module; + //# sourceMappingURL=ng2-select2.js.map + +/***/ }, +/* 92 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(jQuery) {"use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var Select2Component = (function () { + function Select2Component(renderer) { + this.renderer = renderer; + // enable / disable default style for select2 + this.cssImport = true; + // enable / disable select2 + this.disabled = false; + // emitter when value is changed + this.valueChanged = new core_1.EventEmitter(); + this.element = undefined; + this.check = false; + this.style = ".select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle;min-width:100px}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--classic .select2-results>.select2-results__options,.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:1px solid #000;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top,#fff 50%,#eee 100%);background-image:-o-linear-gradient(top,#fff 50%,#eee 100%);background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top,#eee 50%,#ccc 100%);background-image:-o-linear-gradient(top,#eee 50%,#ccc 100%);background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:4px 0 0 4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:0 0;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top,#fff 0,#eee 50%);background-image:-o-linear-gradient(top,#fff 0,#eee 50%);background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top,#eee 50%,#fff 100%);background-image:-o-linear-gradient(top,#eee 50%,#fff 100%);background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}"; + } + Select2Component.prototype.ngOnInit = function () { + if (this.cssImport) { + var head = document.getElementsByTagName('head')[0]; + var link = head.children[head.children.length - 1]; + if (!link.version) { + var newLink = this.renderer.createElement(head, 'style'); + this.renderer.setElementProperty(newLink, 'type', 'text/css'); + this.renderer.setElementProperty(newLink, 'version', 'select2'); + this.renderer.setElementProperty(newLink, 'innerHTML', this.style); + } + } + }; + Select2Component.prototype.ngOnChanges = function (changes) { + if (!this.element) { + return; + } + if (changes['data'] && JSON.stringify(changes['data'].previousValue) !== JSON.stringify(changes['data'].currentValue)) { + this.initPlugin(); + var newValue = this.element.val(); + this.valueChanged.emit({ + value: newValue + }); + } + if (changes['value'] && changes['value'].previousValue !== changes['value'].currentValue) { + var newValue = changes['value'].currentValue; + this.setElementValue(newValue); + this.valueChanged.emit({ + value: newValue + }); + } + if (changes['disabled'] && changes['disabled'].previousValue !== changes['disabled'].currentValue) { + this.renderer.setElementProperty(this.selector.nativeElement, 'disabled', this.disabled); + } + }; + Select2Component.prototype.ngAfterViewInit = function () { + var that = this; + this.element = jQuery(this.selector.nativeElement); + this.initPlugin(); + if (typeof this.value !== 'undefined') { + this.setElementValue(this.value); + } + this.element.on('select2:select select2:unselect', function () { + that.valueChanged.emit({ + value: that.element.val() + }); + }); + }; + Select2Component.prototype.ngOnDestroy = function () { + this.element.off("select2:select"); + }; + Select2Component.prototype.initPlugin = function () { + var _this = this; + if (!this.element.select2) { + if (!this.check) { + this.check = true; + console.log("Please add Select2 library (js file) to the project. You can download it from https://github.com/select2/select2/tree/master/dist/js."); + } + return; + } + // If select2 already initialized remove him and remove all tags inside + if (this.element.hasClass('select2-hidden-accessible') == true) { + this.element.select2('destroy'); + this.renderer.setElementProperty(this.selector.nativeElement, 'innerHTML', ''); + } + var options = { + data: this.data, + width: (this.width) ? this.width : 'resolve' + }; + Object.assign(options, this.options); + if (options.matcher) { + jQuery.fn.select2.amd.require(['select2/compat/matcher'], function (oldMatcher) { + options.matcher = oldMatcher(options.matcher); + _this.element.select2(options); + if (typeof _this.value !== 'undefined') { + _this.setElementValue(_this.value); + } + }); + } + else { + this.element.select2(options); + } + if (this.disabled) { + this.renderer.setElementProperty(this.selector.nativeElement, 'disabled', this.disabled); + } + }; + Select2Component.prototype.setElementValue = function (newValue) { + if (Array.isArray(newValue)) { + for (var _i = 0, _a = this.selector.nativeElement.options; _i < _a.length; _i++) { + var option = _a[_i]; + if (newValue.indexOf(option.value) > -1) { + this.renderer.setElementProperty(option, 'selected', 'true'); + } + } + } + else { + this.renderer.setElementProperty(this.selector.nativeElement, 'value', newValue); + } + this.element.val(newValue); + this.element.trigger('change.select2'); + }; + return Select2Component; + }()); + __decorate([ + core_1.ViewChild('selector'), + __metadata("design:type", core_1.ElementRef) + ], Select2Component.prototype, "selector", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Array) + ], Select2Component.prototype, "data", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Object) + ], Select2Component.prototype, "value", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], Select2Component.prototype, "cssImport", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", String) + ], Select2Component.prototype, "width", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], Select2Component.prototype, "disabled", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Object) + ], Select2Component.prototype, "options", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], Select2Component.prototype, "valueChanged", void 0); + Select2Component = __decorate([ + core_1.Component({ + selector: 'select2', + template: '', + encapsulation: core_1.ViewEncapsulation.None, + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", [core_1.Renderer]) + ], Select2Component); + exports.Select2Component = Select2Component; + //# sourceMappingURL=ng2-select2.component.js.map + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(93))) + +/***/ }, +/* 93 */, +/* 94 */, +/* 95 */, +/* 96 */, +/* 97 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(98)); + __export(__webpack_require__(116)); + + +/***/ }, +/* 98 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var router_1 = __webpack_require__(99); + var AddOnComponent = (function () { + function AddOnComponent(route) { + this.route = route; + this.name$ = route + .params + .select('name'); + } + return AddOnComponent; + }()); + AddOnComponent = __decorate([ + core_1.Component({ + selector: 'add-on', + template: __webpack_require__(114), + styles: [__webpack_require__(115)], + host: { + 'class': 'container-fluid' + } + }), + __metadata("design:paramtypes", [router_1.ActivatedRoute]) + ], AddOnComponent); + exports.AddOnComponent = AddOnComponent; + + +/***/ }, +/* 99 */, +/* 100 */, +/* 101 */, +/* 102 */, +/* 103 */, +/* 104 */, +/* 105 */, +/* 106 */, +/* 107 */, +/* 108 */, +/* 109 */, +/* 110 */, +/* 111 */, +/* 112 */, +/* 113 */, +/* 114 */ +/***/ function(module, exports) { + + module.exports = "
\r\n

\r\n \r\n {{ name$ | async }}\r\n

\r\n
\r\nTo be done..."; + +/***/ }, +/* 115 */ +/***/ function(module, exports) { + + module.exports = ":host {\n width: 100%;\n height: 100%;\n display: block; }\n" + +/***/ }, +/* 116 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var add_on_component_1 = __webpack_require__(98); + exports.addOnRoutes = [ + { + path: 'add-on/:name', + component: add_on_component_1.AddOnComponent + } + ]; + + +/***/ }, +/* 117 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var keyboard_slider_component_1 = __webpack_require__(118); + exports.KeyboardSliderComponent = keyboard_slider_component_1.KeyboardSliderComponent; + + +/***/ }, +/* 118 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var KeyboardSliderComponent = (function () { + function KeyboardSliderComponent() { + this.keyClick = new core_1.EventEmitter(); + this.keyHover = new core_1.EventEmitter(); + this.capture = new core_1.EventEmitter(); + } + KeyboardSliderComponent.prototype.ngOnChanges = function (changes) { + if (changes['layers']) { + this.layerAnimationState = this.layers.map(function () { return 'leftOut'; }); + this.layerAnimationState[this.currentLayer] = 'leftIn'; + } + var layerChange = changes['currentLayer']; + if (layerChange) { + var prevValue = layerChange.isFirstChange() ? layerChange.currentValue : layerChange.previousValue; + this.onLayerChange(prevValue, layerChange.currentValue); + } + }; + KeyboardSliderComponent.prototype.trackKeyboard = function (index) { + return index; + }; + KeyboardSliderComponent.prototype.onLayerChange = function (oldIndex, index) { + if (index > oldIndex) { + this.layerAnimationState[oldIndex] = 'leftOut'; + this.layerAnimationState[index] = 'leftIn'; + } + else { + this.layerAnimationState[oldIndex] = 'rightOut'; + this.layerAnimationState[index] = 'rightIn'; + } + }; + return KeyboardSliderComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", Array) + ], KeyboardSliderComponent.prototype, "layers", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], KeyboardSliderComponent.prototype, "currentLayer", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], KeyboardSliderComponent.prototype, "keybindAnimationEnabled", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], KeyboardSliderComponent.prototype, "capturingEnabled", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], KeyboardSliderComponent.prototype, "keyClick", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], KeyboardSliderComponent.prototype, "keyHover", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], KeyboardSliderComponent.prototype, "capture", void 0); + KeyboardSliderComponent = __decorate([ + core_1.Component({ + selector: 'keyboard-slider', + template: __webpack_require__(119), + styles: [__webpack_require__(120)], + changeDetection: core_1.ChangeDetectionStrategy.OnPush, + // We use 101%, because there was still a trace of the keyboard in the screen when animation was done + animations: [ + core_1.trigger('layerState', [ + core_1.state('leftIn, rightIn', core_1.style({ + transform: 'translateX(-50%)', + left: '50%' + })), + core_1.state('leftOut', core_1.style({ + transform: 'translateX(-101%)', + left: '0' + })), + core_1.state('rightOut', core_1.style({ + transform: 'translateX(0)', + left: '101%' + })), + core_1.transition('leftOut => leftIn, rightOut => leftIn', [ + core_1.animate('400ms ease-out', core_1.keyframes([ + core_1.style({ transform: 'translateX(0%)', left: '101%', offset: 0 }), + core_1.style({ transform: 'translateX(-50%)', left: '50%', offset: 1 }) + ])) + ]), + core_1.transition('leftIn => leftOut, rightIn => leftOut', [ + core_1.animate('400ms ease-out', core_1.keyframes([ + core_1.style({ transform: 'translateX(-50%)', left: '50%', offset: 0 }), + core_1.style({ transform: 'translateX(-101%)', left: '0%', offset: 1 }) + ])) + ]), + core_1.transition('* => rightIn', [ + core_1.animate('400ms ease-out', core_1.keyframes([ + core_1.style({ transform: 'translateX(-101%)', left: '0%', offset: 0 }), + core_1.style({ transform: 'translateX(-50%)', left: '50%', offset: 1 }) + ])) + ]), + core_1.transition('* => rightOut', [ + core_1.animate('400ms ease-out', core_1.keyframes([ + core_1.style({ transform: 'translateX(-50%)', left: '50%', offset: 0 }), + core_1.style({ transform: 'translateX(0%)', left: '101%', offset: 1 }) + ])) + ]), + core_1.transition(':leave', [ + core_1.animate('2000ms ease-out', core_1.keyframes([ + core_1.style({ opacity: 1, offset: 0 }), + core_1.style({ opacity: 0, offset: 1 }) + ])) + ]) + ]) + ] + }) + ], KeyboardSliderComponent); + exports.KeyboardSliderComponent = KeyboardSliderComponent; + + +/***/ }, +/* 119 */ +/***/ function(module, exports) { + + module.exports = "\r\n"; + +/***/ }, +/* 120 */ +/***/ function(module, exports) { + + module.exports = "svg-keyboard {\n width: 95%;\n max-width: 1400px;\n position: absolute;\n left: 0;\n transform: translateX(-101%);\n user-select: none; }\n" + +/***/ }, +/* 121 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(122)); + __export(__webpack_require__(132)); + __export(__webpack_require__(176)); + + +/***/ }, +/* 122 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var store_1 = __webpack_require__(44); + var BehaviorSubject_1 = __webpack_require__(45); + __webpack_require__(123); + __webpack_require__(125); + var actions_1 = __webpack_require__(127); + var KeymapAddComponent = (function () { + function KeymapAddComponent(store) { + this.store = store; + this.presetsAll$ = store.select(function (appState) { return appState.presetKeymaps; }); + this.filterExpression$ = new BehaviorSubject_1.BehaviorSubject(''); + this.presets$ = this.presetsAll$ + .combineLatest(this.filterExpression$, function (keymaps, filterExpression) { + return keymaps.filter(function (keymap) { return keymap.name.toLocaleLowerCase().includes(filterExpression); }); + }) + .publishReplay(1) + .refCount(); + } + KeymapAddComponent.prototype.filterKeyboards = function (filterExpression) { + this.filterExpression$.next(filterExpression); + }; + KeymapAddComponent.prototype.addKeymap = function (keymap) { + this.store.dispatch(actions_1.KeymapActions.addKeymap(keymap)); + }; + return KeymapAddComponent; + }()); + KeymapAddComponent = __decorate([ + core_1.Component({ + selector: 'keymap-add', + template: __webpack_require__(130), + styles: [__webpack_require__(131)], + host: { + 'class': 'container-fluid' + } + }), + __metadata("design:paramtypes", [store_1.Store]) + ], KeymapAddComponent); + exports.KeymapAddComponent = KeymapAddComponent; + + +/***/ }, +/* 123 */, +/* 124 */, +/* 125 */, +/* 126 */, +/* 127 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(128)); + __export(__webpack_require__(129)); + + +/***/ }, +/* 128 */ +/***/ function(module, exports) { + + "use strict"; + var KeymapActions; + (function (KeymapActions) { + KeymapActions.PREFIX = '[Keymap] '; + KeymapActions.ADD = KeymapActions.PREFIX + 'Add keymap'; + KeymapActions.DUPLICATE = KeymapActions.PREFIX + 'Duplicate keymap'; + KeymapActions.EDIT_ABBR = KeymapActions.PREFIX + 'Edit keymap abbreviation'; + KeymapActions.EDIT_NAME = KeymapActions.PREFIX + 'Edit keymap title'; + KeymapActions.SAVE_KEY = KeymapActions.PREFIX + 'Save key action'; + KeymapActions.SET_DEFAULT = KeymapActions.PREFIX + 'Set default option'; + KeymapActions.REMOVE = KeymapActions.PREFIX + 'Remove keymap'; + KeymapActions.CHECK_MACRO = KeymapActions.PREFIX + 'Check deleted macro'; + function addKeymap(item) { + return { + type: KeymapActions.ADD, + payload: item + }; + } + KeymapActions.addKeymap = addKeymap; + function setDefault(abbr) { + return { + type: KeymapActions.SET_DEFAULT, + payload: abbr + }; + } + KeymapActions.setDefault = setDefault; + function removeKeymap(abbr) { + return { + type: KeymapActions.REMOVE, + payload: abbr + }; + } + KeymapActions.removeKeymap = removeKeymap; + function duplicateKeymap(keymap) { + return { + type: KeymapActions.DUPLICATE, + payload: keymap + }; + } + KeymapActions.duplicateKeymap = duplicateKeymap; + function editKeymapName(abbr, name) { + return { + type: KeymapActions.EDIT_NAME, + payload: { + abbr: abbr, + name: name + } + }; + } + KeymapActions.editKeymapName = editKeymapName; + function editKeymapAbbr(abbr, newAbbr) { + return { + type: KeymapActions.EDIT_ABBR, + payload: { + abbr: abbr, + newAbbr: newAbbr + } + }; + } + KeymapActions.editKeymapAbbr = editKeymapAbbr; + function saveKey(keymap, layer, module, key, keyAction) { + return { + type: KeymapActions.SAVE_KEY, + payload: { + keymap: keymap, + layer: layer, + module: module, + key: key, + keyAction: keyAction + } + }; + } + KeymapActions.saveKey = saveKey; + function checkMacro(macro) { + return { + type: KeymapActions.CHECK_MACRO, + payload: macro + }; + } + KeymapActions.checkMacro = checkMacro; + })(KeymapActions = exports.KeymapActions || (exports.KeymapActions = {})); + + +/***/ }, +/* 129 */ +/***/ function(module, exports) { + + "use strict"; + var MacroActions; + (function (MacroActions) { + MacroActions.PREFIX = '[Macro] '; + MacroActions.DUPLICATE = MacroActions.PREFIX + 'Duplicate macro'; + MacroActions.EDIT_NAME = MacroActions.PREFIX + 'Edit macro title'; + MacroActions.REMOVE = MacroActions.PREFIX + 'Remove macro'; + MacroActions.ADD = MacroActions.PREFIX + 'Add macro'; + MacroActions.ADD_ACTION = MacroActions.PREFIX + 'Add macro action'; + MacroActions.SAVE_ACTION = MacroActions.PREFIX + 'Save macro action'; + MacroActions.DELETE_ACTION = MacroActions.PREFIX + 'Delete macro action'; + MacroActions.REORDER_ACTION = MacroActions.PREFIX + 'Reorder macro action'; + function addMacro() { + return { + type: MacroActions.ADD + }; + } + MacroActions.addMacro = addMacro; + function removeMacro(macroId) { + return { + type: MacroActions.REMOVE, + payload: macroId + }; + } + MacroActions.removeMacro = removeMacro; + function duplicateMacro(macro) { + return { + type: MacroActions.DUPLICATE, + payload: macro + }; + } + MacroActions.duplicateMacro = duplicateMacro; + function editMacroName(id, name) { + return { + type: MacroActions.EDIT_NAME, + payload: { + id: id, + name: name + } + }; + } + MacroActions.editMacroName = editMacroName; + function addMacroAction(id, action) { + return { + type: MacroActions.ADD_ACTION, + payload: { + id: id, + action: action + } + }; + } + MacroActions.addMacroAction = addMacroAction; + function saveMacroAction(id, index, action) { + return { + type: MacroActions.SAVE_ACTION, + payload: { + id: id, + index: index, + action: action + } + }; + } + MacroActions.saveMacroAction = saveMacroAction; + function deleteMacroAction(id, index, action) { + return { + type: MacroActions.DELETE_ACTION, + payload: { + id: id, + index: index, + action: action + } + }; + } + MacroActions.deleteMacroAction = deleteMacroAction; + function reorderMacroAction(id, oldIndex, newIndex) { + return { + type: MacroActions.REORDER_ACTION, + payload: { + id: id, + oldIndex: oldIndex, + newIndex: newIndex + } + }; + } + MacroActions.reorderMacroAction = reorderMacroAction; + })(MacroActions = exports.MacroActions || (exports.MacroActions = {})); + + +/***/ }, +/* 130 */ +/***/ function(module, exports) { + + module.exports = "

\r\n \r\n Add new keymap\r\n

\r\n\r\n
\r\n
\r\n

{{ keymap.name }}

\r\n

\r\n {{ keymap.description }}\r\n

\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Sorry, no keyboard found under this search query.\r\n
"; + +/***/ }, +/* 131 */ +/***/ function(module, exports) { + + module.exports = ":host {\n overflow-y: auto;\n display: block;\n height: 100%; }\n\n.uhk__layer-switcher--wrapper {\n position: relative; }\n .uhk__layer-switcher--wrapper:before {\n content: attr(data-title);\n display: inline-block;\n position: absolute;\n bottom: -0.3em;\n right: 100%;\n font-size: 2.4rem;\n padding-right: 0.25em;\n margin: 0; }\n\n.keymap__search {\n margin-top: 10px; }\n .keymap__search .input-group {\n width: 100%;\n max-width: 350px;\n float: left; }\n .keymap__search_amount {\n float: left;\n margin: 7px 0 0 20px; }\n\n.keymap__description {\n margin-bottom: 20px; }\n\n.keymap__list {\n margin-top: 40px; }\n .keymap__list_item {\n margin-bottom: 50px; }\n .keymap__list .btn-group-lg {\n margin: 30px 0 0;\n width: 100%;\n text-align: center; }\n .keymap__list .btn-group-lg .btn {\n float: none;\n padding-left: 50px;\n padding-right: 50px; }\n" + +/***/ }, +/* 132 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var router_1 = __webpack_require__(99); + __webpack_require__(133); + var store_1 = __webpack_require__(44); + __webpack_require__(134); + __webpack_require__(135); + __webpack_require__(137); + __webpack_require__(125); + __webpack_require__(138); + var file_saver_1 = __webpack_require__(139); + var user_configuration_1 = __webpack_require__(141); + var KeymapEditComponent = (function () { + function KeymapEditComponent(store, route) { + this.store = store; + this.route = route; + this.keymap$ = route + .params + .select('abbr') + .switchMap(function (abbr) { return store.let(user_configuration_1.getKeymap(abbr)); }) + .publishReplay(1) + .refCount(); + this.deletable$ = store.let(user_configuration_1.getKeymaps()) + .map(function (keymaps) { return keymaps.length > 1; }); + } + KeymapEditComponent.prototype.downloadKeymap = function () { + var _this = this; + var exportableJSON$ = this.keymap$ + .switchMap(function (keymap) { return _this.toExportableJSON(keymap); }) + .map(function (exportableJSON) { return JSON.stringify(exportableJSON); }); + this.keymap$ + .combineLatest(exportableJSON$) + .first() + .subscribe(function (latest) { + var keymap = latest[0]; + var exportableJSON = latest[1]; + var fileName = keymap.name + '_keymap.json'; + file_saver_1.saveAs(new Blob([exportableJSON], { type: 'application/json' }), fileName); + }); + }; + KeymapEditComponent.prototype.toExportableJSON = function (keymap) { + return this.store + .let(user_configuration_1.getUserConfiguration()) + .first() + .map(function (userConfiguration) { + return { + site: 'https://ultimatehackingkeyboard.com', + description: 'Ultimate Hacking Keyboard keymap', + keyboardModel: 'UHK60', + dataModelVersion: userConfiguration.dataModelVersion, + objectType: 'keymap', + objectValue: keymap.toJsonObject() + }; + }); + }; + return KeymapEditComponent; + }()); + KeymapEditComponent = __decorate([ + core_1.Component({ + selector: 'keymap-edit', + template: __webpack_require__(174), + styles: [__webpack_require__(175)], + host: { + 'class': 'container-fluid' + } + }), + __metadata("design:paramtypes", [store_1.Store, + router_1.ActivatedRoute]) + ], KeymapEditComponent); + exports.KeymapEditComponent = KeymapEditComponent; + + +/***/ }, +/* 133 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var Observable_1 = __webpack_require__(8); + var select_1 = __webpack_require__(72); + Observable_1.Observable.prototype.select = select_1.select; + + +/***/ }, +/* 134 */, +/* 135 */, +/* 136 */, +/* 137 */, +/* 138 */, +/* 139 */ +/***/ function(module, exports, __webpack_require__) { + + var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */ + var saveAs=saveAs||function(e){"use strict";if("undefined"==typeof navigator||!/MSIE [1-9]\./.test(navigator.userAgent)){var t=e.document,n=function(){return e.URL||e.webkitURL||e},o=t.createElementNS("http://www.w3.org/1999/xhtml","a"),r="download"in o,i=function(e){var t=new MouseEvent("click");e.dispatchEvent(t)},a=e.webkitRequestFileSystem,c=e.requestFileSystem||a||e.mozRequestFileSystem,u=function(t){(e.setImmediate||e.setTimeout)(function(){throw t},0)},f="application/octet-stream",s=0,d=500,l=function(t){var o=function(){"string"==typeof t?n().revokeObjectURL(t):t.remove()};e.chrome?o():setTimeout(o,d)},v=function(e,t,n){t=[].concat(t);for(var o=t.length;o--;){var r=e["on"+t[o]];if("function"==typeof r)try{r.call(e,n||e)}catch(i){u(i)}}},p=function(e){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["",e],{type:e.type}):e},w=function(t,u,d){d||(t=p(t));var w,y,m,S=this,h=t.type,O=!1,R=function(){v(S,"writestart progress write writeend".split(" "))},b=function(){if((O||!w)&&(w=n().createObjectURL(t)),y)y.location.href=w;else{var o=e.open(w,"_blank");void 0==o&&"undefined"!=typeof safari&&(e.location.href=w)}S.readyState=S.DONE,R(),l(w)},g=function(e){return function(){return S.readyState!==S.DONE?e.apply(this,arguments):void 0}},E={create:!0,exclusive:!1};return S.readyState=S.INIT,u||(u="download"),r?(w=n().createObjectURL(t),o.href=w,o.download=u,void setTimeout(function(){i(o),R(),l(w),S.readyState=S.DONE})):(e.chrome&&h&&h!==f&&(m=t.slice||t.webkitSlice,t=m.call(t,0,t.size,f),O=!0),a&&"download"!==u&&(u+=".download"),(h===f||a)&&(y=e),c?(s+=t.size,void c(e.TEMPORARY,s,g(function(e){e.root.getDirectory("saved",E,g(function(e){var n=function(){e.getFile(u,E,g(function(e){e.createWriter(g(function(n){n.onwriteend=function(t){y.location.href=e.toURL(),S.readyState=S.DONE,v(S,"writeend",t),l(e)},n.onerror=function(){var e=n.error;e.code!==e.ABORT_ERR&&b()},"writestart progress write abort".split(" ").forEach(function(e){n["on"+e]=S["on"+e]}),n.write(t),S.abort=function(){n.abort(),S.readyState=S.DONE},S.readyState=S.WRITING}),b)}),b)};e.getFile(u,{create:!1},g(function(e){e.remove(),n()}),g(function(e){e.code===e.NOT_FOUND_ERR?n():b()}))}),b)}),b)):void b())},y=w.prototype,m=function(e,t,n){return new w(e,t,n)};return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(e,t,n){return n||(e=p(e)),navigator.msSaveOrOpenBlob(e,t||"download")}:(y.abort=function(){var e=this;e.readyState=e.DONE,v(e,"abort")},y.readyState=y.INIT=0,y.WRITING=1,y.DONE=2,y.error=y.onwritestart=y.onprogress=y.onwrite=y.onabort=y.onerror=y.onwriteend=null,m)}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);"undefined"!=typeof module&&module.exports?module.exports.saveAs=saveAs:"undefined"!="function"&&null!==__webpack_require__(140)&&null!=__webpack_require__(96)&&!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function(){return saveAs}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + +/***/ }, +/* 140 */ +/***/ function(module, exports) { + + module.exports = function() { throw new Error("define cannot be used indirect"); }; + + +/***/ }, +/* 141 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + __webpack_require__(133); + __webpack_require__(137); + var Observable_1 = __webpack_require__(8); + var key_action_1 = __webpack_require__(142); + var Keymap_1 = __webpack_require__(158); + var Macro_1 = __webpack_require__(161); + var UserConfiguration_1 = __webpack_require__(172); + var Layer_1 = __webpack_require__(159); + var Module_1 = __webpack_require__(160); + var actions_1 = __webpack_require__(127); + var initialState = new UserConfiguration_1.UserConfiguration(); + /* tslint:disable:no-switch-case-fall-through */ + // tslint bug: https://github.com/palantir/tslint/issues/1538 + function default_1(state, action) { + if (state === void 0) { state = initialState; } + var changedUserConfiguration = Object.assign(new UserConfiguration_1.UserConfiguration(), state); + switch (action.type) { + case actions_1.KeymapActions.ADD: + case actions_1.KeymapActions.DUPLICATE: + { + var newKeymap = new Keymap_1.Keymap(action.payload); + newKeymap.abbreviation = generateAbbr(state.keymaps, newKeymap.abbreviation); + newKeymap.name = generateName(state.keymaps, newKeymap.name); + newKeymap.isDefault = (state.keymaps.length === 0); + changedUserConfiguration.keymaps = state.keymaps.concat(newKeymap); + break; + } + case actions_1.KeymapActions.EDIT_NAME: + { + var name_1 = generateName(state.keymaps, action.payload.name); + changedUserConfiguration.keymaps = state.keymaps.map(function (keymap) { + if (keymap.abbreviation === action.payload.abbr) { + keymap = Object.assign(new Keymap_1.Keymap(), keymap); + keymap.name = name_1; + } + return keymap; + }); + break; + } + case actions_1.KeymapActions.EDIT_ABBR: + var abbr_1 = generateAbbr(state.keymaps, action.payload.newAbbr); + changedUserConfiguration.keymaps = state.keymaps.map(function (keymap) { + if (keymap.abbreviation === action.payload.abbr) { + keymap = Object.assign(new Keymap_1.Keymap(), keymap); + keymap.abbreviation = abbr_1; + } + return keymap; + }); + break; + case actions_1.KeymapActions.SET_DEFAULT: + changedUserConfiguration.keymaps = state.keymaps.map(function (keymap) { + if (keymap.abbreviation === action.payload || keymap.isDefault) { + keymap = Object.assign(new Keymap_1.Keymap(), keymap); + keymap.isDefault = keymap.abbreviation === action.payload; + } + return keymap; + }); + break; + case actions_1.KeymapActions.REMOVE: + var isDefault_1; + var filtered = state.keymaps.filter(function (keymap) { + if (keymap.abbreviation === action.payload) { + isDefault_1 = keymap.isDefault; + return false; + } + return true; + }); + // If deleted one is default set default keymap to the first on the list of keymaps + if (isDefault_1 && filtered.length > 0) { + filtered[0].isDefault = true; + } + // Check for the deleted keymap in other keymaps + changedUserConfiguration.keymaps = filtered.map(function (keymap) { + keymap = Object.assign(new Keymap_1.Keymap(), keymap); + keymap.layers = checkExistence(keymap.layers, 'keymapAbbreviation', action.payload); + return keymap; + }); + break; + case actions_1.KeymapActions.SAVE_KEY: + { + var newKeymap_1 = Object.assign(new Keymap_1.Keymap(), action.payload.keymap); + newKeymap_1.layers = newKeymap_1.layers.slice(); + var layerIndex = action.payload.layer; + var newLayer = Object.assign(new Layer_1.Layer(), newKeymap_1.layers[layerIndex]); + newKeymap_1.layers[layerIndex] = newLayer; + var moduleIndex = action.payload.module; + var newModule = Object.assign(new Module_1.Module(), newLayer.modules[moduleIndex]); + newLayer.modules = newLayer.modules.slice(); + newLayer.modules[moduleIndex] = newModule; + var keyIndex = action.payload.key; + newModule.keyActions = newModule.keyActions.slice(); + newModule.keyActions[keyIndex] = key_action_1.Helper.createKeyAction(action.payload.keyAction); + changedUserConfiguration.keymaps = state.keymaps.map(function (keymap) { + if (keymap.abbreviation === newKeymap_1.abbreviation) { + keymap = newKeymap_1; + } + return keymap; + }); + break; + } + case actions_1.KeymapActions.CHECK_MACRO: + changedUserConfiguration.keymaps = state.keymaps.map(function (keymap) { + keymap = Object.assign(new Keymap_1.Keymap(), keymap); + keymap.layers = checkExistence(keymap.layers, '_macroId', action.payload); + return keymap; + }); + break; + case actions_1.MacroActions.ADD: + { + var newMacro = new Macro_1.Macro(); + newMacro.id = generateMacroId(state.macros); + newMacro.name = generateName(state.macros, 'New macro'); + newMacro.isLooped = false; + newMacro.isPrivate = true; + newMacro.macroActions = []; + changedUserConfiguration.macros = state.macros.concat(newMacro); + break; + } + case actions_1.MacroActions.DUPLICATE: + { + var newMacro = new Macro_1.Macro(action.payload); + newMacro.name = generateName(state.macros, newMacro.name); + newMacro.id = generateMacroId(state.macros); + changedUserConfiguration.macros = state.macros.concat(newMacro); + break; + } + case actions_1.MacroActions.EDIT_NAME: + { + var name_2 = generateName(state.macros, action.payload.name); + changedUserConfiguration.macros = state.macros.map(function (macro) { + if (macro.id === action.payload.id) { + macro.name = name_2; + } + return macro; + }); + break; + } + case actions_1.MacroActions.REMOVE: + changedUserConfiguration.macros = state.macros.filter(function (macro) { return macro.id !== action.payload; }); + break; + case actions_1.MacroActions.ADD_ACTION: + changedUserConfiguration.macros = state.macros.map(function (macro) { + if (macro.id === action.payload.id) { + macro = new Macro_1.Macro(macro); + macro.macroActions.push(action.payload.action); + } + return macro; + }); + break; + case actions_1.MacroActions.SAVE_ACTION: + changedUserConfiguration.macros = state.macros.map(function (macro) { + if (macro.id === action.payload.id) { + macro = new Macro_1.Macro(macro); + macro.macroActions[action.payload.index] = action.payload.action; + } + return macro; + }); + break; + case actions_1.MacroActions.DELETE_ACTION: + changedUserConfiguration.macros = state.macros.map(function (macro) { + if (macro.id === action.payload.id) { + macro = new Macro_1.Macro(macro); + macro.macroActions.splice(action.payload.index, 1); + } + return macro; + }); + break; + case actions_1.MacroActions.REORDER_ACTION: + changedUserConfiguration.macros = state.macros.map(function (macro) { + if (macro.id === action.payload.id) { + var newIndex = action.payload.newIndex; + // We need to reduce the new index for one when we are moving action down + if (newIndex > action.payload.oldIndex) { + --newIndex; + } + macro = new Macro_1.Macro(macro); + macro.macroActions.splice(newIndex, 0, macro.macroActions.splice(action.payload.oldIndex, 1)[0]); + } + return macro; + }); + break; + default: + break; + } + return changedUserConfiguration; + } + Object.defineProperty(exports, "__esModule", { value: true }); + exports.default = default_1; + function getUserConfiguration() { + return function (state$) { return state$ + .select(function (state) { return state.userConfiguration; }); }; + } + exports.getUserConfiguration = getUserConfiguration; + function getKeymaps() { + return function (state$) { return state$ + .select(function (state) { return state.userConfiguration.keymaps; }); }; + } + exports.getKeymaps = getKeymaps; + function getKeymap(abbr) { + if (abbr === undefined) { + return getDefaultKeymap(); + } + return function (state$) { return getKeymaps()(state$) + .map(function (keymaps) { + return keymaps.find(function (keymap) { return keymap.abbreviation === abbr; }); + }); }; + } + exports.getKeymap = getKeymap; + function getDefaultKeymap() { + return function (state$) { return getKeymaps()(state$) + .map(function (keymaps) { + return keymaps.find(function (keymap) { return keymap.isDefault; }); + }); }; + } + exports.getDefaultKeymap = getDefaultKeymap; + function getMacros() { + return function (state$) { return state$ + .select(function (state) { return state.userConfiguration.macros; }); }; + } + exports.getMacros = getMacros; + function getMacro(id) { + if (isNaN(id)) { + return function () { return Observable_1.Observable.of(undefined); }; + } + else { + return function (state$) { return getMacros()(state$) + .map(function (macros) { return macros.find(function (macro) { return macro.id === id; }); }); }; + } + } + exports.getMacro = getMacro; + function generateAbbr(keymaps, abbr) { + var chars = '23456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split(''); + var position = 0; + while (keymaps.some(function (keymap) { return keymap.abbreviation === abbr; })) { + abbr = abbr.substring(0, abbr.length - 1) + chars[position]; + ++position; + } + return abbr; + } + function generateName(items, name) { + var suffix = 2; + var oldName = name; + while (items.some(function (item) { return item.name === name; })) { + name = oldName + (" (" + suffix + ")"); + ++suffix; + } + return name; + } + function generateMacroId(macros) { + var newId = 0; + macros.forEach(function (macro) { + if (macro.id > newId) { + newId = macro.id; + } + }); + return newId + 1; + } + function checkExistence(layers, property, value) { + var newLayers = layers.map(function (layer) { + var newLayer = new Layer_1.Layer(layer); + newLayer.modules = layer.modules.map(function (module) { + module.keyActions.forEach(function (action, index) { + if (action && action.hasOwnProperty(property) && action[property] === value) { + module.keyActions[index] = undefined; + } + }); + return module; + }); + return newLayer; + }); + return newLayers; + } + + +/***/ }, +/* 142 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(143)); + __export(__webpack_require__(144)); + __export(__webpack_require__(147)); + __export(__webpack_require__(148)); + __export(__webpack_require__(149)); + __export(__webpack_require__(150)); + __export(__webpack_require__(151)); + __export(__webpack_require__(152)); + + +/***/ }, +/* 143 */ +/***/ function(module, exports) { + + /// + "use strict"; + var KeyActionId; + (function (KeyActionId) { + KeyActionId[KeyActionId["NoneAction"] = 0] = "NoneAction"; + KeyActionId[KeyActionId["KeystrokeAction"] = 1] = "KeystrokeAction"; + /* + 1 - 7 are reserved for KeystrokeAction + 3 bits: + 1: Do we have scancode? + 2: Do we have modifiers? + 3: Do we have longpress? + */ + KeyActionId[KeyActionId["LastKeystrokeAction"] = 7] = "LastKeystrokeAction"; + KeyActionId[KeyActionId["SwitchLayerAction"] = 8] = "SwitchLayerAction"; + KeyActionId[KeyActionId["SwitchKeymapAction"] = 9] = "SwitchKeymapAction"; + KeyActionId[KeyActionId["MouseAction"] = 10] = "MouseAction"; + KeyActionId[KeyActionId["PlayMacroAction"] = 11] = "PlayMacroAction"; + })(KeyActionId = exports.KeyActionId || (exports.KeyActionId = {})); + exports.keyActionType = { + NoneAction: 'none', + KeystrokeAction: 'keystroke', + SwitchLayerAction: 'switchLayer', + SwitchKeymapAction: 'switchKeymap', + MouseAction: 'mouse', + PlayMacroAction: 'playMacro' + }; + var KeyAction = (function () { + function KeyAction() { + } + KeyAction.prototype.assertKeyActionType = function (jsObject) { + var keyActionClassname = this.constructor.name; + var keyActionTypeString = exports.keyActionType[keyActionClassname]; + if (jsObject.keyActionType !== keyActionTypeString) { + throw "Invalid " + keyActionClassname + ".keyActionType: " + jsObject.keyActionType; + } + }; + KeyAction.prototype.readAndAssertKeyActionId = function (buffer) { + var classname = this.constructor.name; + var readKeyActionId = buffer.readUInt8(); + var keyActionId = KeyActionId[classname]; + if (keyActionId === KeyActionId.KeystrokeAction) { + if (readKeyActionId < KeyActionId.KeystrokeAction || readKeyActionId > KeyActionId.LastKeystrokeAction) { + throw "Invalid " + classname + " first byte: " + readKeyActionId; + } + } + else if (readKeyActionId !== keyActionId) { + throw "Invalid " + classname + " first byte: " + readKeyActionId; + } + return readKeyActionId; + }; + return KeyAction; + }()); + exports.KeyAction = KeyAction; + + +/***/ }, +/* 144 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var assert_1 = __webpack_require__(145); + var LongPressAction_1 = __webpack_require__(146); + var KeyAction_1 = __webpack_require__(143); + var KeystrokeActionFlag; + (function (KeystrokeActionFlag) { + KeystrokeActionFlag[KeystrokeActionFlag["scancode"] = 1] = "scancode"; + KeystrokeActionFlag[KeystrokeActionFlag["modifierMask"] = 2] = "modifierMask"; + KeystrokeActionFlag[KeystrokeActionFlag["longPressAction"] = 4] = "longPressAction"; + })(KeystrokeActionFlag = exports.KeystrokeActionFlag || (exports.KeystrokeActionFlag = {})); + var MODIFIERS = ['LCtrl', 'LShift', 'LAlt', 'LSuper', 'RCtrl', 'RShift', 'RAlt', 'RSuper']; + var KeystrokeAction = (function (_super) { + __extends(KeystrokeAction, _super); + function KeystrokeAction(other) { + var _this = _super.call(this) || this; + if (!other) { + return _this; + } + _this.scancode = other.scancode; + _this.modifierMask = other.modifierMask; + _this.longPressAction = other.longPressAction; + return _this; + } + KeystrokeAction.prototype.fromJsonObject = function (jsonObject) { + this.assertKeyActionType(jsonObject); + this.scancode = jsonObject.scancode; + this.modifierMask = jsonObject.modifierMask; + this.longPressAction = LongPressAction_1.LongPressAction[jsonObject.longPressAction]; + return this; + }; + KeystrokeAction.prototype.fromBinary = function (buffer) { + var keyActionId = this.readAndAssertKeyActionId(buffer); + var flags = keyActionId - KeyAction_1.KeyActionId.KeystrokeAction; + if (flags & KeystrokeActionFlag.scancode) { + this.scancode = buffer.readUInt8(); + } + if (flags & KeystrokeActionFlag.modifierMask) { + this.modifierMask = buffer.readUInt8(); + } + if (flags & KeystrokeActionFlag.longPressAction) { + this.longPressAction = buffer.readUInt8(); + } + return this; + }; + KeystrokeAction.prototype.toJsonObject = function () { + var jsonObject = { + keyActionType: KeyAction_1.keyActionType.KeystrokeAction + }; + if (this.hasScancode()) { + jsonObject.scancode = this.scancode; + } + if (this.hasActiveModifier()) { + jsonObject.modifierMask = this.modifierMask; + } + if (this.hasLongPressAction()) { + jsonObject.longPressAction = LongPressAction_1.LongPressAction[this.longPressAction]; + } + return jsonObject; + }; + KeystrokeAction.prototype.toBinary = function (buffer) { + var flags = 0; + var bufferData = []; + if (this.hasScancode()) { + flags |= KeystrokeActionFlag.scancode; + bufferData.push(this.scancode); + } + if (this.hasActiveModifier()) { + flags |= KeystrokeActionFlag.modifierMask; + bufferData.push(this.modifierMask); + } + if (this.hasLongPressAction()) { + flags |= KeystrokeActionFlag.longPressAction; + bufferData.push(this.longPressAction); + } + buffer.writeUInt8(KeyAction_1.KeyActionId.KeystrokeAction + flags); + for (var i = 0; i < bufferData.length; ++i) { + buffer.writeUInt8(bufferData[i]); + } + }; + KeystrokeAction.prototype.toString = function () { + var properties = []; + if (this.hasScancode()) { + properties.push("scancode=\"" + this.scancode + "\""); + } + if (this.hasActiveModifier()) { + properties.push("modifierMask=\"" + this.modifierMask + "\""); + } + if (this.hasLongPressAction()) { + properties.push("longPressAction=\"" + this.longPressAction + "\""); + } + return ""; + }; + KeystrokeAction.prototype.isActive = function (modifier) { + return (this.modifierMask & modifier) > 0; + }; + KeystrokeAction.prototype.hasActiveModifier = function () { + return this.modifierMask > 0; + }; + KeystrokeAction.prototype.hasLongPressAction = function () { + return this.longPressAction !== undefined; + }; + KeystrokeAction.prototype.hasScancode = function () { + return !!this.scancode; + }; + KeystrokeAction.prototype.hasOnlyOneActiveModifier = function () { + return this.modifierMask !== 0 && !(this.modifierMask & this.modifierMask - 1); + }; + KeystrokeAction.prototype.getModifierList = function () { + var modifierList = []; + var modifierMask = this.modifierMask; + for (var i = 0; modifierMask !== 0; ++i, modifierMask >>= 1) { + if (modifierMask & 1) { + modifierList.push(MODIFIERS[i]); + } + } + return modifierList; + }; + return KeystrokeAction; + }(KeyAction_1.KeyAction)); + __decorate([ + assert_1.assertUInt8, + __metadata("design:type", Number) + ], KeystrokeAction.prototype, "scancode", void 0); + __decorate([ + assert_1.assertUInt8, + __metadata("design:type", Number) + ], KeystrokeAction.prototype, "modifierMask", void 0); + __decorate([ + assert_1.assertEnum(LongPressAction_1.LongPressAction), + __metadata("design:type", Number) + ], KeystrokeAction.prototype, "longPressAction", void 0); + exports.KeystrokeAction = KeystrokeAction; + + +/***/ }, +/* 145 */ +/***/ function(module, exports) { + + "use strict"; + function assertUInt8(target, key) { + return assertInteger(target, key, 0, 0xFF); + } + exports.assertUInt8 = assertUInt8; + function assertInt8(target, key) { + return assertInteger(target, key, -0x80, 0x7F); + } + exports.assertInt8 = assertInt8; + function assertUInt16(target, key) { + return assertInteger(target, key, 0, 0xFFFF); + } + exports.assertUInt16 = assertUInt16; + function assertInt16(target, key) { + return assertInteger(target, key, -0x8000, 0x7FFF); + } + exports.assertInt16 = assertInt16; + function assertUInt32(target, key) { + return assertInteger(target, key, 0, 0xFFFFFFFF); + } + exports.assertUInt32 = assertUInt32; + function assertInt32(target, key) { + return assertInteger(target, key, -0x80000000, 0x7FFFFFFF); + } + exports.assertInt32 = assertInt32; + function assertCompactLength(target, key) { + return assertUInt16(target, key); + } + exports.assertCompactLength = assertCompactLength; + function assertInteger(target, key, min, max) { + var priv = '_' + key; + function getter() { + return this[priv]; + } + function setter(newVal) { + if (this[priv] !== newVal) { + if (newVal < min || newVal > max) { + throw target.constructor.name + "." + key + ": " + + ("Integer " + newVal + " is outside the valid [" + min + ", " + max + "] interval"); + } + this[priv] = newVal; + } + } + Object.defineProperty(target, key, { + get: getter, + set: setter, + enumerable: true, + configurable: true + }); + } + function assertEnum(enumerated) { + return function (target, key) { + var priv = '_' + key; + function getter() { + return this[priv]; + } + function setter(newVal) { + if (this[priv] !== newVal) { + if (enumerated[newVal] === undefined) { + throw target.constructor.name + "." + key + ": " + newVal + " is not enum"; + } + this[priv] = newVal; + } + } + Object.defineProperty(target, key, { + get: getter, + set: setter, + enumerable: true, + configurable: true + }); + }; + } + exports.assertEnum = assertEnum; + + +/***/ }, +/* 146 */ +/***/ function(module, exports) { + + "use strict"; + var LongPressAction; + (function (LongPressAction) { + LongPressAction[LongPressAction["leftCtrl"] = 0] = "leftCtrl"; + LongPressAction[LongPressAction["leftShift"] = 1] = "leftShift"; + LongPressAction[LongPressAction["leftAlt"] = 2] = "leftAlt"; + LongPressAction[LongPressAction["leftSuper"] = 3] = "leftSuper"; + LongPressAction[LongPressAction["rightCtrl"] = 4] = "rightCtrl"; + LongPressAction[LongPressAction["rightShift"] = 5] = "rightShift"; + LongPressAction[LongPressAction["rightAlt"] = 6] = "rightAlt"; + LongPressAction[LongPressAction["rightSuper"] = 7] = "rightSuper"; + LongPressAction[LongPressAction["mod"] = 8] = "mod"; + LongPressAction[LongPressAction["fn"] = 9] = "fn"; + LongPressAction[LongPressAction["mouse"] = 10] = "mouse"; + })(LongPressAction = exports.LongPressAction || (exports.LongPressAction = {})); + ; + + +/***/ }, +/* 147 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var assert_1 = __webpack_require__(145); + var KeyAction_1 = __webpack_require__(143); + var MouseActionParam; + (function (MouseActionParam) { + MouseActionParam[MouseActionParam["leftClick"] = 0] = "leftClick"; + MouseActionParam[MouseActionParam["middleClick"] = 1] = "middleClick"; + MouseActionParam[MouseActionParam["rightClick"] = 2] = "rightClick"; + MouseActionParam[MouseActionParam["moveUp"] = 3] = "moveUp"; + MouseActionParam[MouseActionParam["moveDown"] = 4] = "moveDown"; + MouseActionParam[MouseActionParam["moveLeft"] = 5] = "moveLeft"; + MouseActionParam[MouseActionParam["moveRight"] = 6] = "moveRight"; + MouseActionParam[MouseActionParam["scrollUp"] = 7] = "scrollUp"; + MouseActionParam[MouseActionParam["scrollDown"] = 8] = "scrollDown"; + MouseActionParam[MouseActionParam["scrollLeft"] = 9] = "scrollLeft"; + MouseActionParam[MouseActionParam["scrollRight"] = 10] = "scrollRight"; + MouseActionParam[MouseActionParam["accelerate"] = 11] = "accelerate"; + MouseActionParam[MouseActionParam["decelerate"] = 12] = "decelerate"; + })(MouseActionParam = exports.MouseActionParam || (exports.MouseActionParam = {})); + var MouseAction = (function (_super) { + __extends(MouseAction, _super); + function MouseAction(other) { + var _this = _super.call(this) || this; + if (!other) { + return _this; + } + _this.mouseAction = other.mouseAction; + return _this; + } + MouseAction.prototype.fromJsonObject = function (jsObject) { + this.assertKeyActionType(jsObject); + this.mouseAction = MouseActionParam[jsObject.mouseAction]; + return this; + }; + MouseAction.prototype.fromBinary = function (buffer) { + this.readAndAssertKeyActionId(buffer); + this.mouseAction = buffer.readUInt8(); + return this; + }; + MouseAction.prototype.toJsonObject = function () { + return { + keyActionType: KeyAction_1.keyActionType.MouseAction, + mouseAction: MouseActionParam[this.mouseAction] + }; + }; + MouseAction.prototype.toBinary = function (buffer) { + buffer.writeUInt8(KeyAction_1.KeyActionId.MouseAction); + buffer.writeUInt8(this.mouseAction); + }; + MouseAction.prototype.toString = function () { + return ""; + }; + return MouseAction; + }(KeyAction_1.KeyAction)); + __decorate([ + assert_1.assertEnum(MouseActionParam), + __metadata("design:type", Number) + ], MouseAction.prototype, "mouseAction", void 0); + exports.MouseAction = MouseAction; + + +/***/ }, +/* 148 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var KeyAction_1 = __webpack_require__(143); + /** + * NoneAction is only intended for binary serialization of undefined key actions + * DO NOT use it as a real KeyAction + * + */ + var NoneAction = (function (_super) { + __extends(NoneAction, _super); + function NoneAction() { + return _super !== null && _super.apply(this, arguments) || this; + } + NoneAction.prototype.fromJsonObject = function (jsonObject) { + this.assertKeyActionType(jsonObject); + return this; + }; + NoneAction.prototype.fromBinary = function (buffer) { + this.readAndAssertKeyActionId(buffer); + return this; + }; + NoneAction.prototype.toJsonObject = function () { + return { + keyActionType: KeyAction_1.keyActionType.NoneAction + }; + }; + NoneAction.prototype.toBinary = function (buffer) { + buffer.writeUInt8(KeyAction_1.KeyActionId.NoneAction); + }; + NoneAction.prototype.toString = function () { + return ''; + }; + return NoneAction; + }(KeyAction_1.KeyAction)); + exports.NoneAction = NoneAction; + + +/***/ }, +/* 149 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var assert_1 = __webpack_require__(145); + var KeyAction_1 = __webpack_require__(143); + var PlayMacroAction = (function (_super) { + __extends(PlayMacroAction, _super); + function PlayMacroAction(parameter) { + var _this = _super.call(this) || this; + if (!parameter) { + return _this; + } + if (parameter instanceof PlayMacroAction) { + _this.macroId = parameter.macroId; + } + else { + _this.macroId = parameter.id; + } + return _this; + } + PlayMacroAction.prototype.fromJsonObject = function (jsonObject, macros) { + this.assertKeyActionType(jsonObject); + this.macroId = macros[jsonObject.macroIndex].id; + return this; + }; + PlayMacroAction.prototype.fromBinary = function (buffer, macros) { + this.readAndAssertKeyActionId(buffer); + var macroIndex = buffer.readUInt8(); + this.macroId = macros[macroIndex].id; + return this; + }; + PlayMacroAction.prototype.toJsonObject = function (macros) { + var _this = this; + return { + keyActionType: KeyAction_1.keyActionType.PlayMacroAction, + macroIndex: macros.findIndex(function (macro) { return macro.id === _this.macroId; }) + }; + }; + PlayMacroAction.prototype.toBinary = function (buffer, macros) { + var _this = this; + buffer.writeUInt8(KeyAction_1.KeyActionId.PlayMacroAction); + buffer.writeUInt8(macros.findIndex(function (macro) { return macro.id === _this.macroId; })); + }; + PlayMacroAction.prototype.toString = function () { + return ""; + }; + return PlayMacroAction; + }(KeyAction_1.KeyAction)); + __decorate([ + assert_1.assertUInt8, + __metadata("design:type", Number) + ], PlayMacroAction.prototype, "macroId", void 0); + exports.PlayMacroAction = PlayMacroAction; + + +/***/ }, +/* 150 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var KeyAction_1 = __webpack_require__(143); + var SwitchKeymapAction = (function (_super) { + __extends(SwitchKeymapAction, _super); + function SwitchKeymapAction(parameter) { + var _this = _super.call(this) || this; + if (!parameter) { + return _this; + } + if (parameter instanceof SwitchKeymapAction) { + _this.keymapAbbreviation = parameter.keymapAbbreviation; + } + else { + _this.keymapAbbreviation = parameter.abbreviation; + } + return _this; + } + SwitchKeymapAction.prototype.fromJsonObject = function (jsonObject) { + this.assertKeyActionType(jsonObject); + this.keymapAbbreviation = jsonObject.keymapAbbreviation; + return this; + }; + SwitchKeymapAction.prototype.fromBinary = function (buffer) { + this.readAndAssertKeyActionId(buffer); + this.keymapAbbreviation = buffer.readString(); + return this; + }; + SwitchKeymapAction.prototype.toJsonObject = function () { + return { + keyActionType: KeyAction_1.keyActionType.SwitchKeymapAction, + keymapAbbreviation: this.keymapAbbreviation + }; + }; + SwitchKeymapAction.prototype.toBinary = function (buffer) { + buffer.writeUInt8(KeyAction_1.KeyActionId.SwitchKeymapAction); + buffer.writeString(this.keymapAbbreviation); + }; + SwitchKeymapAction.prototype.toString = function () { + return ""; + }; + return SwitchKeymapAction; + }(KeyAction_1.KeyAction)); + exports.SwitchKeymapAction = SwitchKeymapAction; + + +/***/ }, +/* 151 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var assert_1 = __webpack_require__(145); + var KeyAction_1 = __webpack_require__(143); + var LayerName; + (function (LayerName) { + LayerName[LayerName["mod"] = 0] = "mod"; + LayerName[LayerName["fn"] = 1] = "fn"; + LayerName[LayerName["mouse"] = 2] = "mouse"; + })(LayerName = exports.LayerName || (exports.LayerName = {})); + var SwitchLayerAction = (function (_super) { + __extends(SwitchLayerAction, _super); + function SwitchLayerAction(other) { + var _this = _super.call(this) || this; + if (!other) { + return _this; + } + _this.isLayerToggleable = other.isLayerToggleable; + _this.layer = other.layer; + return _this; + } + SwitchLayerAction.prototype.fromJsonObject = function (jsonObject) { + this.assertKeyActionType(jsonObject); + this.layer = LayerName[jsonObject.layer]; + this.isLayerToggleable = jsonObject.toggle; + return this; + }; + SwitchLayerAction.prototype.fromBinary = function (buffer) { + this.readAndAssertKeyActionId(buffer); + this.layer = buffer.readUInt8(); + this.isLayerToggleable = buffer.readBoolean(); + return this; + }; + SwitchLayerAction.prototype.toJsonObject = function () { + return { + keyActionType: KeyAction_1.keyActionType.SwitchLayerAction, + layer: LayerName[this.layer], + toggle: this.isLayerToggleable + }; + }; + SwitchLayerAction.prototype.toBinary = function (buffer) { + buffer.writeUInt8(KeyAction_1.KeyActionId.SwitchLayerAction); + buffer.writeUInt8(this.layer); + buffer.writeBoolean(this.isLayerToggleable); + }; + SwitchLayerAction.prototype.toString = function () { + return ""; + }; + return SwitchLayerAction; + }(KeyAction_1.KeyAction)); + __decorate([ + assert_1.assertEnum(LayerName), + __metadata("design:type", Number) + ], SwitchLayerAction.prototype, "layer", void 0); + exports.SwitchLayerAction = SwitchLayerAction; + + +/***/ }, +/* 152 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var UhkBuffer_1 = __webpack_require__(153); + var index_1 = __webpack_require__(142); + var Helper = (function () { + function Helper() { + } + Helper.createKeyAction = function (source, macros) { + if (source instanceof index_1.KeyAction) { + return Helper.fromKeyAction(source); + } + else if (source instanceof UhkBuffer_1.UhkBuffer) { + return Helper.fromUhkBuffer(source, macros); + } + else { + return Helper.fromJSONObject(source, macros); + } + }; + Helper.fromUhkBuffer = function (buffer, macros) { + var keyActionFirstByte = buffer.readUInt8(); + buffer.backtrack(); + if (keyActionFirstByte >= index_1.KeyActionId.KeystrokeAction && keyActionFirstByte < index_1.KeyActionId.LastKeystrokeAction) { + return new index_1.KeystrokeAction().fromBinary(buffer); + } + switch (keyActionFirstByte) { + case index_1.KeyActionId.NoneAction: + buffer.readUInt8(); // Read type just to skip it + return undefined; + case index_1.KeyActionId.SwitchLayerAction: + return new index_1.SwitchLayerAction().fromBinary(buffer); + case index_1.KeyActionId.SwitchKeymapAction: + return new index_1.SwitchKeymapAction().fromBinary(buffer); + case index_1.KeyActionId.MouseAction: + return new index_1.MouseAction().fromBinary(buffer); + case index_1.KeyActionId.PlayMacroAction: + return new index_1.PlayMacroAction().fromBinary(buffer, macros); + default: + throw "Invalid KeyAction first byte: " + keyActionFirstByte; + } + }; + Helper.fromKeyAction = function (keyAction) { + var newKeyAction; + if (keyAction instanceof index_1.KeystrokeAction) { + newKeyAction = new index_1.KeystrokeAction(keyAction); + } + else if (keyAction instanceof index_1.SwitchLayerAction) { + newKeyAction = new index_1.SwitchLayerAction(keyAction); + } + else if (keyAction instanceof index_1.SwitchKeymapAction) { + newKeyAction = new index_1.SwitchKeymapAction(keyAction); + } + else if (keyAction instanceof index_1.MouseAction) { + newKeyAction = new index_1.MouseAction(keyAction); + } + else if (keyAction instanceof index_1.PlayMacroAction) { + newKeyAction = new index_1.PlayMacroAction(keyAction); + } + return newKeyAction; + }; + Helper.fromJSONObject = function (keyAction, macros) { + if (!keyAction) { + return; + } + switch (keyAction.keyActionType) { + case index_1.keyActionType.KeystrokeAction: + return new index_1.KeystrokeAction().fromJsonObject(keyAction); + case index_1.keyActionType.SwitchLayerAction: + return new index_1.SwitchLayerAction().fromJsonObject(keyAction); + case index_1.keyActionType.SwitchKeymapAction: + return new index_1.SwitchKeymapAction().fromJsonObject(keyAction); + case index_1.keyActionType.MouseAction: + return new index_1.MouseAction().fromJsonObject(keyAction); + case index_1.keyActionType.PlayMacroAction: + return new index_1.PlayMacroAction().fromJsonObject(keyAction, macros); + default: + throw "Invalid KeyAction.keyActionType: \"" + keyAction.keyActionType + "\""; + } + }; + return Helper; + }()); + exports.Helper = Helper; + + +/***/ }, +/* 153 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(Buffer, process) {"use strict"; + var UhkBuffer = (function () { + function UhkBuffer() { + this._enableDump = false; + this.offset = 0; + this.bytesToBacktrack = 0; + this.buffer = new Buffer(UhkBuffer.eepromSize); + this.buffer.fill(0); + } + UhkBuffer.simpleElementWriter = function (buffer, element) { + element.toBinary(buffer); // TODO: Remove any + }; + UhkBuffer.prototype.readInt8 = function () { + var value = this.buffer.readInt8(this.offset); + this.dump("i8(" + value + ")"); + this.bytesToBacktrack = 1; + this.offset += this.bytesToBacktrack; + return value; + }; + UhkBuffer.prototype.writeInt8 = function (value) { + this.dump("i8(" + value + ")"); + this.buffer.writeInt8(value, this.offset); + this.offset += 1; + }; + UhkBuffer.prototype.readUInt8 = function () { + var value = this.buffer.readUInt8(this.offset); + this.dump("u8(" + value + ")"); + this.bytesToBacktrack = 1; + this.offset += this.bytesToBacktrack; + return value; + }; + UhkBuffer.prototype.writeUInt8 = function (value) { + this.dump("u8(" + value + ")"); + this.buffer.writeUInt8(value, this.offset); + this.offset += 1; + }; + UhkBuffer.prototype.readInt16 = function () { + var value = this.buffer.readInt16LE(this.offset); + this.dump("i16(" + value + ")"); + this.bytesToBacktrack = 2; + this.offset += this.bytesToBacktrack; + return value; + }; + UhkBuffer.prototype.writeInt16 = function (value) { + this.dump("i16(" + value + ")"); + this.buffer.writeInt16LE(value, this.offset); + this.offset += 2; + }; + UhkBuffer.prototype.readUInt16 = function () { + var value = this.buffer.readUInt16LE(this.offset); + this.dump("u16(" + value + ")"); + this.bytesToBacktrack = 2; + this.offset += this.bytesToBacktrack; + return value; + }; + UhkBuffer.prototype.writeUInt16 = function (value) { + this.dump("u16(" + value + ")"); + this.buffer.writeUInt16LE(value, this.offset); + this.offset += 2; + }; + UhkBuffer.prototype.readInt32 = function () { + var value = this.buffer.readInt32LE(this.offset); + this.dump("i32(" + value + ")"); + this.bytesToBacktrack = 4; + this.offset += this.bytesToBacktrack; + return value; + }; + UhkBuffer.prototype.writeInt32 = function (value) { + this.dump("i32(" + value + ")"); + this.buffer.writeInt32LE(value, this.offset); + this.offset += 4; + }; + UhkBuffer.prototype.readUInt32 = function () { + var value = this.buffer.readUInt32LE(this.offset); + this.dump("u32(" + value + ")"); + this.bytesToBacktrack = 4; + this.offset += this.bytesToBacktrack; + return value; + }; + UhkBuffer.prototype.writeUInt32 = function (value) { + this.dump("u32(" + value + ")"); + this.buffer.writeUInt32LE(value, this.offset); + this.offset += 4; + }; + UhkBuffer.prototype.readCompactLength = function () { + var length = this.readUInt8(); + if (length === UhkBuffer.longCompactLengthPrefix) { + length += this.readUInt8() << 8; + } + return length; + }; + UhkBuffer.prototype.writeCompactLength = function (length) { + if (length >= UhkBuffer.longCompactLengthPrefix) { + this.writeUInt8(UhkBuffer.longCompactLengthPrefix); + this.writeUInt16(length); + } + else { + this.writeUInt8(length); + } + }; + UhkBuffer.prototype.readString = function () { + var stringByteLength = this.readCompactLength(); + var str = this.buffer.toString(UhkBuffer.stringEncoding, this.offset, this.offset + stringByteLength); + this.dump(UhkBuffer.stringEncoding + "(" + str + ")"); + this.bytesToBacktrack = stringByteLength; + this.offset += stringByteLength; + return str; + }; + UhkBuffer.prototype.writeString = function (str) { + var stringByteLength = Buffer.byteLength(str, UhkBuffer.stringEncoding); + if (stringByteLength > UhkBuffer.maxCompactLength) { + throw "Cannot serialize string: " + stringByteLength + " bytes is larger\n than the maximum allowed length of " + UhkBuffer.maxCompactLength + " bytes"; + } + this.writeCompactLength(stringByteLength); + this.dump(UhkBuffer.stringEncoding + "(" + str + ")"); + this.buffer.write(str, this.offset, stringByteLength, UhkBuffer.stringEncoding); + this.offset += stringByteLength; + }; + UhkBuffer.prototype.readBoolean = function () { + return this.readUInt8() !== 0; + }; + UhkBuffer.prototype.writeBoolean = function (bool) { + this.writeUInt8(bool ? 1 : 0); + }; + UhkBuffer.prototype.readArray = function (elementReader) { + var array = []; + var length = this.readCompactLength(); + for (var i = 0; i < length; ++i) { + array.push(elementReader(this, i)); + } + return array; + }; + UhkBuffer.prototype.writeArray = function (array, elementWriter) { + if (elementWriter === void 0) { elementWriter = UhkBuffer.simpleElementWriter; } + var length = array.length; + this.writeCompactLength(length); + for (var i = 0; i < length; ++i) { + elementWriter(this, array[i], i); + } + }; + UhkBuffer.prototype.backtrack = function () { + this.offset -= this.bytesToBacktrack; + this.bytesToBacktrack = 0; + }; + UhkBuffer.prototype.getBufferContent = function () { + return this.buffer.slice(0, this.offset); + }; + Object.defineProperty(UhkBuffer.prototype, "enableDump", { + get: function () { + return this._enableDump; + }, + set: function (value) { + if (value) { + UhkBuffer.isFirstElementToDump = true; + } + this._enableDump = value; + }, + enumerable: true, + configurable: true + }); + UhkBuffer.prototype.dump = function (value) { + if (!this.enableDump) { + return; + } + if (!UhkBuffer.isFirstElementToDump) { + process.stdout.write(', '); + } + process.stdout.write(value); + if (UhkBuffer.isFirstElementToDump) { + UhkBuffer.isFirstElementToDump = false; + } + }; + return UhkBuffer; + }()); + UhkBuffer.eepromSize = 32 * 1024; + UhkBuffer.maxCompactLength = 0xFFFF; + UhkBuffer.longCompactLengthPrefix = 0xFF; + UhkBuffer.stringEncoding = 'utf8'; + UhkBuffer.isFirstElementToDump = false; + exports.UhkBuffer = UhkBuffer; + + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(154).Buffer, __webpack_require__(1))) + +/***/ }, +/* 154 */, +/* 155 */, +/* 156 */, +/* 157 */, +/* 158 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var Layer_1 = __webpack_require__(159); + var Keymap = (function () { + function Keymap(keymap) { + if (!keymap) { + return; + } + this.name = keymap.name; + this.description = keymap.description; + this.abbreviation = keymap.abbreviation; + this.isDefault = keymap.isDefault; + this.layers = keymap.layers.map(function (layer) { return new Layer_1.Layer(layer); }); + } + Keymap.prototype.fromJsonObject = function (jsonObject, macros) { + this.isDefault = jsonObject.isDefault; + this.abbreviation = jsonObject.abbreviation; + this.name = jsonObject.name; + this.description = jsonObject.description; + this.layers = jsonObject.layers.map(function (layer) { return new Layer_1.Layer().fromJsonObject(layer, macros); }); + return this; + }; + Keymap.prototype.fromBinary = function (buffer, macros) { + this.abbreviation = buffer.readString(); + this.isDefault = buffer.readBoolean(); + this.name = buffer.readString(); + this.description = buffer.readString(); + this.layers = buffer.readArray(function (uhkBuffer) { + return new Layer_1.Layer().fromBinary(uhkBuffer, macros); + }); + return this; + }; + Keymap.prototype.toJsonObject = function (macros) { + return { + isDefault: this.isDefault, + abbreviation: this.abbreviation, + name: this.name, + description: this.description, + layers: this.layers.map(function (layer) { return layer.toJsonObject(macros); }) + }; + }; + Keymap.prototype.toBinary = function (buffer, macros) { + buffer.writeString(this.abbreviation); + buffer.writeBoolean(this.isDefault); + buffer.writeString(this.name); + buffer.writeString(this.description); + buffer.writeArray(this.layers, function (uhkBuffer, layer) { + layer.toBinary(uhkBuffer, macros); + }); + }; + Keymap.prototype.toString = function () { + return ""; + }; + return Keymap; + }()); + exports.Keymap = Keymap; + + +/***/ }, +/* 159 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var Module_1 = __webpack_require__(160); + var Layer = (function () { + function Layer(layers) { + if (!layers) { + return; + } + this.modules = layers.modules.map(function (module) { return new Module_1.Module(module); }); + } + Layer.prototype.fromJsonObject = function (jsonObject, macros) { + this.modules = jsonObject.modules.map(function (module) { return new Module_1.Module().fromJsonObject(module, macros); }); + return this; + }; + Layer.prototype.fromBinary = function (buffer, macros) { + this.modules = buffer.readArray(function (uhkBuffer) { + return new Module_1.Module().fromBinary(uhkBuffer, macros); + }); + return this; + }; + Layer.prototype.toJsonObject = function (macros) { + return { + modules: this.modules.map(function (module) { return module.toJsonObject(macros); }) + }; + }; + Layer.prototype.toBinary = function (buffer, macros) { + buffer.writeArray(this.modules, function (uhkBuffer, module) { + module.toBinary(uhkBuffer, macros); + }); + }; + Layer.prototype.toString = function () { + return ""; + }; + return Layer; + }()); + exports.Layer = Layer; + + +/***/ }, +/* 160 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var assert_1 = __webpack_require__(145); + var key_action_1 = __webpack_require__(142); + var key_action_2 = __webpack_require__(142); + var PointerRole; + (function (PointerRole) { + PointerRole[PointerRole["none"] = 0] = "none"; + PointerRole[PointerRole["move"] = 1] = "move"; + PointerRole[PointerRole["scroll"] = 2] = "scroll"; + })(PointerRole || (PointerRole = {})); + var Module = (function () { + function Module(other) { + if (!other) { + return; + } + this.id = other.id; + this.keyActions = other.keyActions.map(function (keyAction) { return key_action_1.Helper.createKeyAction(keyAction); }); + this.pointerRole = other.pointerRole; + } + Module.prototype.fromJsonObject = function (jsonObject, macros) { + this.id = jsonObject.id; + this.pointerRole = PointerRole[jsonObject.pointerRole]; + this.keyActions = jsonObject.keyActions.map(function (keyAction) { + return key_action_1.Helper.createKeyAction(keyAction, macros); + }); + return this; + }; + Module.prototype.fromBinary = function (buffer, macros) { + this.id = buffer.readUInt8(); + this.pointerRole = buffer.readUInt8(); + var keyActionsLength = buffer.readCompactLength(); + this.keyActions = []; + for (var i = 0; i < keyActionsLength; ++i) { + this.keyActions.push(key_action_1.Helper.createKeyAction(buffer, macros)); + } + return this; + }; + Module.prototype.toJsonObject = function (macros) { + return { + id: this.id, + pointerRole: PointerRole[this.pointerRole], + keyActions: this.keyActions.map(function (keyAction) { + if (keyAction && (macros || !(keyAction instanceof key_action_2.PlayMacroAction || keyAction instanceof key_action_2.SwitchLayerAction))) { + return keyAction.toJsonObject(macros); + } + }) + }; + }; + Module.prototype.toBinary = function (buffer, macros) { + buffer.writeUInt8(this.id); + buffer.writeUInt8(this.pointerRole); + var noneAction = new key_action_1.NoneAction(); + var keyActions = this.keyActions.map(function (keyAction) { + if (keyAction) { + return keyAction; + } + return noneAction; + }); + buffer.writeArray(keyActions, function (uhkBuffer, keyAction) { + keyAction.toBinary(uhkBuffer, macros); + }); + }; + Module.prototype.toString = function () { + return ""; + }; + return Module; + }()); + __decorate([ + assert_1.assertUInt8, + __metadata("design:type", Number) + ], Module.prototype, "id", void 0); + __decorate([ + assert_1.assertEnum(PointerRole), + __metadata("design:type", Number) + ], Module.prototype, "pointerRole", void 0); + exports.Module = Module; + + +/***/ }, +/* 161 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var assert_1 = __webpack_require__(145); + var macro_action_1 = __webpack_require__(162); + var Macro = (function () { + function Macro(other) { + if (!other) { + return; + } + this.id = other.id; + this.isLooped = other.isLooped; + this.isPrivate = other.isPrivate; + this.name = other.name; + this.macroActions = other.macroActions.map(function (macroAction) { return macro_action_1.Helper.createMacroAction(macroAction); }); + } + Macro.prototype.fromJsonObject = function (jsonObject) { + this.isLooped = jsonObject.isLooped; + this.isPrivate = jsonObject.isPrivate; + this.name = jsonObject.name; + this.macroActions = jsonObject.macroActions.map(function (macroAction) { return macro_action_1.Helper.createMacroAction(macroAction); }); + return this; + }; + Macro.prototype.fromBinary = function (buffer) { + this.isLooped = buffer.readBoolean(); + this.isPrivate = buffer.readBoolean(); + this.name = buffer.readString(); + var macroActionsLength = buffer.readCompactLength(); + this.macroActions = []; + for (var i = 0; i < macroActionsLength; ++i) { + this.macroActions.push(macro_action_1.Helper.createMacroAction(buffer)); + } + return this; + }; + Macro.prototype.toJsonObject = function () { + return { + isLooped: this.isLooped, + isPrivate: this.isPrivate, + name: this.name, + macroActions: this.macroActions.map(function (macroAction) { return macroAction.toJsonObject(); }) + }; + }; + Macro.prototype.toBinary = function (buffer) { + buffer.writeBoolean(this.isLooped); + buffer.writeBoolean(this.isPrivate); + buffer.writeString(this.name); + buffer.writeArray(this.macroActions); + }; + Macro.prototype.toString = function () { + return ""; + }; + return Macro; + }()); + __decorate([ + assert_1.assertUInt8, + __metadata("design:type", Number) + ], Macro.prototype, "id", void 0); + exports.Macro = Macro; + + +/***/ }, +/* 162 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(163)); + __export(__webpack_require__(165)); + __export(__webpack_require__(166)); + __export(__webpack_require__(164)); + __export(__webpack_require__(168)); + __export(__webpack_require__(167)); + __export(__webpack_require__(169)); + __export(__webpack_require__(170)); + __export(__webpack_require__(171)); + + +/***/ }, +/* 163 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var assert_1 = __webpack_require__(145); + var MacroAction_1 = __webpack_require__(164); + var DelayMacroAction = (function (_super) { + __extends(DelayMacroAction, _super); + function DelayMacroAction(other) { + var _this = _super.call(this) || this; + if (!other) { + return _this; + } + _this.delay = other.delay; + return _this; + } + DelayMacroAction.prototype.fromJsonObject = function (jsObject) { + this.assertMacroActionType(jsObject); + this.delay = jsObject.delay; + return this; + }; + DelayMacroAction.prototype.fromBinary = function (buffer) { + this.readAndAssertMacroActionId(buffer); + this.delay = buffer.readUInt16(); + return this; + }; + DelayMacroAction.prototype.toJsonObject = function () { + return { + macroActionType: MacroAction_1.macroActionType.DelayMacroAction, + delay: this.delay + }; + }; + DelayMacroAction.prototype.toBinary = function (buffer) { + buffer.writeUInt8(MacroAction_1.MacroActionId.DelayMacroAction); + buffer.writeUInt16(this.delay); + }; + DelayMacroAction.prototype.toString = function () { + return ""; + }; + return DelayMacroAction; + }(MacroAction_1.MacroAction)); + __decorate([ + assert_1.assertUInt16, + __metadata("design:type", Number) + ], DelayMacroAction.prototype, "delay", void 0); + exports.DelayMacroAction = DelayMacroAction; + + +/***/ }, +/* 164 */ +/***/ function(module, exports) { + + "use strict"; + var MacroActionId; + (function (MacroActionId) { + MacroActionId[MacroActionId["KeyMacroAction"] = 0] = "KeyMacroAction"; + /* + 0 - 8 are reserved for KeyMacroAction + PressKeyMacroAction with scancode: 0 + PressKeyMacroAction with modifiers: 1 + PressKeyMacroAction with scancode and modifiers 2 + HoldKeyMacroAction with scancode: 3 + HoldKeyMacroAction with modifiers: 4 + HoldKeyMacroAction with scancode and modifiers 5 + ReleaseKeyMacroAction with scancode: 6 + ReleaseKeyMacroAction with modifiers: 7 + ReleaseKeyMacroAction with scancode and modifiers 8 + */ + MacroActionId[MacroActionId["LastKeyMacroAction"] = 8] = "LastKeyMacroAction"; + MacroActionId[MacroActionId["MouseButtonMacroAction"] = 9] = "MouseButtonMacroAction"; + /* + 9 - 11 are reserved for MouseButtonMacroAction + PressMouseButtonsMacroAction = 9, + HoldMouseButtonsMacroAction = 10, + ReleaseMouseButtonsMacroAction = 11, + */ + MacroActionId[MacroActionId["LastMouseButtonMacroAction"] = 11] = "LastMouseButtonMacroAction"; + MacroActionId[MacroActionId["MoveMouseMacroAction"] = 12] = "MoveMouseMacroAction"; + MacroActionId[MacroActionId["ScrollMouseMacroAction"] = 13] = "ScrollMouseMacroAction"; + MacroActionId[MacroActionId["DelayMacroAction"] = 14] = "DelayMacroAction"; + MacroActionId[MacroActionId["TextMacroAction"] = 15] = "TextMacroAction"; + })(MacroActionId = exports.MacroActionId || (exports.MacroActionId = {})); + var MacroSubAction; + (function (MacroSubAction) { + MacroSubAction[MacroSubAction["press"] = 0] = "press"; + MacroSubAction[MacroSubAction["hold"] = 1] = "hold"; + MacroSubAction[MacroSubAction["release"] = 2] = "release"; + })(MacroSubAction = exports.MacroSubAction || (exports.MacroSubAction = {})); + exports.macroActionType = { + KeyMacroAction: 'key', + MouseButtonMacroAction: 'mouseButton', + MoveMouseMacroAction: 'moveMouse', + ScrollMouseMacroAction: 'scrollMouse', + DelayMacroAction: 'delay', + TextMacroAction: 'text' + }; + var MacroAction = (function () { + function MacroAction() { + } + MacroAction.prototype.assertMacroActionType = function (jsObject) { + var macroActionClassname = this.constructor.name; + var macroActionTypeString = exports.macroActionType[macroActionClassname]; + if (jsObject.macroActionType !== macroActionTypeString) { + throw "Invalid " + macroActionClassname + ".macroActionType: " + jsObject.macroActionType; + } + }; + MacroAction.prototype.readAndAssertMacroActionId = function (buffer) { + var classname = this.constructor.name; + var readMacroActionId = buffer.readUInt8(); + var macroActionId = MacroActionId[classname]; + if (macroActionId === MacroActionId.KeyMacroAction) { + if (readMacroActionId < MacroActionId.KeyMacroAction || readMacroActionId > MacroActionId.LastKeyMacroAction) { + throw "Invalid " + classname + " first byte: " + readMacroActionId; + } + } + else if (macroActionId === MacroActionId.MouseButtonMacroAction) { + if (readMacroActionId < MacroActionId.MouseButtonMacroAction || + readMacroActionId > MacroActionId.LastMouseButtonMacroAction) { + throw "Invalid " + classname + " first byte: " + readMacroActionId; + } + } + else if (readMacroActionId !== macroActionId) { + throw "Invalid " + classname + " first byte: " + readMacroActionId; + } + return readMacroActionId; + }; + return MacroAction; + }()); + exports.MacroAction = MacroAction; + + +/***/ }, +/* 165 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var key_action_1 = __webpack_require__(142); + var DelayMacroAction_1 = __webpack_require__(163); + var KeyMacroAction_1 = __webpack_require__(166); + var MacroAction_1 = __webpack_require__(164); + var MouseButtonMacroAction_1 = __webpack_require__(167); + var MoveMouseMacroAction_1 = __webpack_require__(168); + var ScrollMouseMacroAction_1 = __webpack_require__(169); + var TextMacroAction_1 = __webpack_require__(170); + var EditableMacroAction = (function () { + function EditableMacroAction(jsObject) { + if (!jsObject) { + return; + } + this.macroActionType = jsObject.macroActionType; + switch (this.macroActionType) { + case MacroAction_1.macroActionType.KeyMacroAction: + this.action = MacroAction_1.MacroSubAction[jsObject.action]; + this.scancode = jsObject.scancode; + this.modifierMask = jsObject.modifierMask; + break; + case MacroAction_1.macroActionType.MouseButtonMacroAction: + this.action = MacroAction_1.MacroSubAction[jsObject.action]; + this.mouseButtonsMask = jsObject.mouseButtonsMask; + break; + case MacroAction_1.macroActionType.MoveMouseMacroAction: + this.moveX = jsObject.x; + this.moveY = jsObject.y; + break; + case MacroAction_1.macroActionType.ScrollMouseMacroAction: + this.scrollX = jsObject.x; + this.scrollY = jsObject.y; + break; + case MacroAction_1.macroActionType.TextMacroAction: + this.text = jsObject.text; + break; + case MacroAction_1.macroActionType.DelayMacroAction: + this.delay = jsObject.delay; + break; + default: + break; + } + } + EditableMacroAction.prototype.toJsObject = function () { + return { + macroActionType: this.macroActionType, + action: this.action, + delay: this.delay, + text: this.text, + scancode: this.scancode, + modifierMask: this.modifierMask, + mouseButtonsMask: this.mouseButtonsMask, + mouseMove: { + x: this.moveX, + y: this.moveY + }, + mouseScroll: { + x: this.scrollX, + y: this.scrollY + } + }; + }; + EditableMacroAction.prototype.fromKeyAction = function (keyAction) { + var data = keyAction.toJsonObject(); + this.scancode = data.scancode; + this.modifierMask = data.modifierMask; + }; + EditableMacroAction.prototype.toKeystrokeAction = function () { + var data = this.toJsObject(); + data.keyActionType = key_action_1.keyActionType.KeystrokeAction; + return (new key_action_1.KeystrokeAction().fromJsonObject(data)); + }; + EditableMacroAction.prototype.setMouseButtons = function (buttonStates) { + var bitmask = 0; + for (var i = 0; i < buttonStates.length; i++) { + bitmask |= Number(buttonStates[i]) << i; + } + this.mouseButtonsMask = bitmask; + }; + EditableMacroAction.prototype.getMouseButtons = function () { + var enabledMouseButtons = []; + for (var bitmask = this.mouseButtonsMask; bitmask; bitmask >>>= 1) { + enabledMouseButtons.push(Boolean(bitmask & 1)); + } + return enabledMouseButtons; + }; + EditableMacroAction.prototype.toClass = function () { + switch (this.macroActionType) { + // Delay action + case MacroAction_1.macroActionType.DelayMacroAction: + return new DelayMacroAction_1.DelayMacroAction().fromJsonObject({ + macroActionType: this.macroActionType, + delay: this.delay + }); + // Text action + case MacroAction_1.macroActionType.TextMacroAction: + return new TextMacroAction_1.TextMacroAction().fromJsonObject({ + macroActionType: this.macroActionType, + text: this.text + }); + // Keypress action + case MacroAction_1.macroActionType.KeyMacroAction: + return new KeyMacroAction_1.KeyMacroAction().fromJsonObject({ + macroActionType: this.macroActionType, + action: MacroAction_1.MacroSubAction[this.action], + scancode: this.scancode, + modifierMask: this.modifierMask + }); + // Mouse actions + case MacroAction_1.macroActionType.MouseButtonMacroAction: + return new MouseButtonMacroAction_1.MouseButtonMacroAction().fromJsonObject({ + macroActionType: this.macroActionType, + action: MacroAction_1.MacroSubAction[this.action], + mouseButtonsMask: this.mouseButtonsMask + }); + case MacroAction_1.macroActionType.MoveMouseMacroAction: + return new MoveMouseMacroAction_1.MoveMouseMacroAction().fromJsonObject({ + macroActionType: this.macroActionType, + x: this.moveX, + y: this.moveY + }); + case MacroAction_1.macroActionType.ScrollMouseMacroAction: + return new ScrollMouseMacroAction_1.ScrollMouseMacroAction().fromJsonObject({ + macroActionType: this.macroActionType, + x: this.scrollX, + y: this.scrollY + }); + default: + throw new Error('Macro action type is missing or not implemented.'); + } + }; + EditableMacroAction.prototype.isKeyAction = function () { + return this.macroActionType === MacroAction_1.macroActionType.KeyMacroAction; + }; + EditableMacroAction.prototype.isMouseButtonAction = function () { + return this.macroActionType === MacroAction_1.macroActionType.MouseButtonMacroAction; + }; + EditableMacroAction.prototype.isOnlyHoldAction = function () { + return this.action === MacroAction_1.MacroSubAction.hold; + }; + EditableMacroAction.prototype.isOnlyPressAction = function () { + return this.action === MacroAction_1.MacroSubAction.press; + }; + EditableMacroAction.prototype.isOnlyReleaseAction = function () { + return this.action === MacroAction_1.MacroSubAction.release; + }; + return EditableMacroAction; + }()); + exports.EditableMacroAction = EditableMacroAction; + + +/***/ }, +/* 166 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var assert_1 = __webpack_require__(145); + var MacroAction_1 = __webpack_require__(164); + var NUM_OF_COMBINATIONS = 3; // Cases: scancode, modifer, both + var KeyMacroAction = (function (_super) { + __extends(KeyMacroAction, _super); + function KeyMacroAction(other) { + var _this = _super.call(this) || this; + if (!other) { + return _this; + } + _this.action = other.action; + _this.scancode = other.scancode; + _this.modifierMask = other.modifierMask; + return _this; + } + KeyMacroAction.prototype.fromJsonObject = function (jsObject) { + this.assertMacroActionType(jsObject); + this.action = MacroAction_1.MacroSubAction[jsObject.action]; + this.scancode = jsObject.scancode; + this.modifierMask = jsObject.modifierMask; + return this; + }; + KeyMacroAction.prototype.fromBinary = function (buffer) { + var macroActionId = this.readAndAssertMacroActionId(buffer); + var keyMacroType = macroActionId - MacroAction_1.MacroActionId.KeyMacroAction; + this.action = Math.floor(keyMacroType / NUM_OF_COMBINATIONS); + keyMacroType %= NUM_OF_COMBINATIONS; + if (keyMacroType % 2 === 0) { + this.scancode = buffer.readUInt8(); + } + if (keyMacroType !== 0) { + this.modifierMask = buffer.readUInt8(); + } + return this; + }; + KeyMacroAction.prototype.toJsonObject = function () { + var jsObject = { + macroActionType: MacroAction_1.macroActionType.KeyMacroAction, + action: MacroAction_1.MacroSubAction[this.action] + }; + if (this.hasScancode()) { + jsObject.scancode = this.scancode; + } + if (this.hasModifiers()) { + jsObject.modifierMask = this.modifierMask; + } + return jsObject; + }; + KeyMacroAction.prototype.toBinary = function (buffer) { + var keyMacroType = MacroAction_1.MacroActionId.KeyMacroAction; + keyMacroType += NUM_OF_COMBINATIONS * this.action; + if (this.hasModifiers()) { + ++keyMacroType; + if (this.hasScancode()) { + ++keyMacroType; + } + } + buffer.writeUInt8(keyMacroType); + if (this.hasScancode()) { + buffer.writeUInt8(this.scancode); + } + if (this.hasModifiers()) { + buffer.writeUInt8(this.modifierMask); + } + }; + KeyMacroAction.prototype.toString = function () { + return ""; + }; + KeyMacroAction.prototype.isModifierActive = function (modifier) { + return (this.modifierMask & modifier) > 0; + }; + KeyMacroAction.prototype.hasScancode = function () { + return !!this.scancode; + }; + KeyMacroAction.prototype.hasModifiers = function () { + return !!this.modifierMask; + }; + KeyMacroAction.prototype.isHoldAction = function () { + return this.action === MacroAction_1.MacroSubAction.hold; + }; + KeyMacroAction.prototype.isPressAction = function () { + return this.action === MacroAction_1.MacroSubAction.press; + }; + KeyMacroAction.prototype.isReleaseAction = function () { + return this.action === MacroAction_1.MacroSubAction.release; + }; + return KeyMacroAction; + }(MacroAction_1.MacroAction)); + __decorate([ + assert_1.assertEnum(MacroAction_1.MacroSubAction), + __metadata("design:type", Number) + ], KeyMacroAction.prototype, "action", void 0); + __decorate([ + assert_1.assertUInt8, + __metadata("design:type", Number) + ], KeyMacroAction.prototype, "scancode", void 0); + __decorate([ + assert_1.assertUInt8, + __metadata("design:type", Number) + ], KeyMacroAction.prototype, "modifierMask", void 0); + exports.KeyMacroAction = KeyMacroAction; + + +/***/ }, +/* 167 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var assert_1 = __webpack_require__(145); + var MacroAction_1 = __webpack_require__(164); + var MouseButtons; + (function (MouseButtons) { + MouseButtons[MouseButtons["Left"] = 1] = "Left"; + MouseButtons[MouseButtons["Middle"] = 2] = "Middle"; + MouseButtons[MouseButtons["Right"] = 4] = "Right"; + })(MouseButtons = exports.MouseButtons || (exports.MouseButtons = {})); + ; + var MouseButtonMacroAction = (function (_super) { + __extends(MouseButtonMacroAction, _super); + function MouseButtonMacroAction(other) { + var _this = _super.call(this) || this; + if (!other) { + return _this; + } + _this.action = other.action; + _this.mouseButtonsMask = other.mouseButtonsMask; + return _this; + } + MouseButtonMacroAction.prototype.fromJsonObject = function (jsObject) { + this.assertMacroActionType(jsObject); + this.action = MacroAction_1.MacroSubAction[jsObject.action]; + this.mouseButtonsMask = jsObject.mouseButtonsMask; + return this; + }; + MouseButtonMacroAction.prototype.fromBinary = function (buffer) { + var macroActionId = this.readAndAssertMacroActionId(buffer); + this.action = macroActionId - MacroAction_1.MacroActionId.MouseButtonMacroAction; + this.mouseButtonsMask = buffer.readUInt8(); + return this; + }; + MouseButtonMacroAction.prototype.toJsonObject = function () { + return { + macroActionType: MacroAction_1.macroActionType.MouseButtonMacroAction, + action: MacroAction_1.MacroSubAction[this.action], + mouseButtonsMask: this.mouseButtonsMask + }; + }; + MouseButtonMacroAction.prototype.toBinary = function (buffer) { + buffer.writeUInt8(MacroAction_1.MacroActionId.MouseButtonMacroAction + this.action); + buffer.writeUInt8(this.mouseButtonsMask); + }; + MouseButtonMacroAction.prototype.setMouseButtons = function (buttonStates) { + var bitmask = 0; + for (var i = 0; i < buttonStates.length; i++) { + bitmask |= Number(buttonStates[i]) << i; + } + this.mouseButtonsMask = bitmask; + }; + MouseButtonMacroAction.prototype.getMouseButtons = function () { + var enabledMouseButtons = []; + for (var bitmask = this.mouseButtonsMask; bitmask; bitmask >>>= 1) { + enabledMouseButtons.push(Boolean(bitmask & 1)); + } + return enabledMouseButtons; + }; + MouseButtonMacroAction.prototype.toString = function () { + return ""; + }; + MouseButtonMacroAction.prototype.hasButtons = function () { + return this.mouseButtonsMask !== 0; + }; + MouseButtonMacroAction.prototype.isOnlyHoldAction = function () { + return this.action === MacroAction_1.MacroSubAction.hold; + }; + MouseButtonMacroAction.prototype.isOnlyPressAction = function () { + return this.action === MacroAction_1.MacroSubAction.press; + }; + MouseButtonMacroAction.prototype.isOnlyReleaseAction = function () { + return this.action === MacroAction_1.MacroSubAction.release; + }; + return MouseButtonMacroAction; + }(MacroAction_1.MacroAction)); + __decorate([ + assert_1.assertEnum(MacroAction_1.MacroSubAction), + __metadata("design:type", Number) + ], MouseButtonMacroAction.prototype, "action", void 0); + __decorate([ + assert_1.assertUInt8, + __metadata("design:type", Number) + ], MouseButtonMacroAction.prototype, "mouseButtonsMask", void 0); + exports.MouseButtonMacroAction = MouseButtonMacroAction; + + +/***/ }, +/* 168 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var assert_1 = __webpack_require__(145); + var MacroAction_1 = __webpack_require__(164); + var MoveMouseMacroAction = (function (_super) { + __extends(MoveMouseMacroAction, _super); + function MoveMouseMacroAction(other) { + var _this = _super.call(this) || this; + if (!other) { + return _this; + } + _this.x = other.x; + _this.y = other.y; + return _this; + } + MoveMouseMacroAction.prototype.fromJsonObject = function (jsObject) { + this.assertMacroActionType(jsObject); + this.x = jsObject.x; + this.y = jsObject.y; + return this; + }; + MoveMouseMacroAction.prototype.fromBinary = function (buffer) { + this.readAndAssertMacroActionId(buffer); + this.x = buffer.readInt16(); + this.y = buffer.readInt16(); + return this; + }; + MoveMouseMacroAction.prototype.toJsonObject = function () { + return { + macroActionType: MacroAction_1.macroActionType.MoveMouseMacroAction, + x: this.x, + y: this.y + }; + }; + MoveMouseMacroAction.prototype.toBinary = function (buffer) { + buffer.writeUInt8(MacroAction_1.MacroActionId.MoveMouseMacroAction); + buffer.writeInt16(this.x); + buffer.writeInt16(this.y); + }; + MoveMouseMacroAction.prototype.toString = function () { + return ""; + }; + return MoveMouseMacroAction; + }(MacroAction_1.MacroAction)); + __decorate([ + assert_1.assertInt16, + __metadata("design:type", Number) + ], MoveMouseMacroAction.prototype, "x", void 0); + __decorate([ + assert_1.assertInt16, + __metadata("design:type", Number) + ], MoveMouseMacroAction.prototype, "y", void 0); + exports.MoveMouseMacroAction = MoveMouseMacroAction; + + +/***/ }, +/* 169 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var assert_1 = __webpack_require__(145); + var MacroAction_1 = __webpack_require__(164); + var ScrollMouseMacroAction = (function (_super) { + __extends(ScrollMouseMacroAction, _super); + function ScrollMouseMacroAction(other) { + var _this = _super.call(this) || this; + if (!other) { + return _this; + } + _this.x = other.x; + _this.y = other.y; + return _this; + } + ScrollMouseMacroAction.prototype.fromJsonObject = function (jsObject) { + this.assertMacroActionType(jsObject); + this.x = jsObject.x; + this.y = jsObject.y; + return this; + }; + ScrollMouseMacroAction.prototype.fromBinary = function (buffer) { + this.readAndAssertMacroActionId(buffer); + this.x = buffer.readInt16(); + this.y = buffer.readInt16(); + return this; + }; + ScrollMouseMacroAction.prototype.toJsonObject = function () { + return { + macroActionType: MacroAction_1.macroActionType.ScrollMouseMacroAction, + x: this.x, + y: this.y + }; + }; + ScrollMouseMacroAction.prototype.toBinary = function (buffer) { + buffer.writeUInt8(MacroAction_1.MacroActionId.ScrollMouseMacroAction); + buffer.writeInt16(this.x); + buffer.writeInt16(this.y); + }; + ScrollMouseMacroAction.prototype.toString = function () { + return ""; + }; + return ScrollMouseMacroAction; + }(MacroAction_1.MacroAction)); + __decorate([ + assert_1.assertInt16, + __metadata("design:type", Number) + ], ScrollMouseMacroAction.prototype, "x", void 0); + __decorate([ + assert_1.assertInt16, + __metadata("design:type", Number) + ], ScrollMouseMacroAction.prototype, "y", void 0); + exports.ScrollMouseMacroAction = ScrollMouseMacroAction; + + +/***/ }, +/* 170 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var MacroAction_1 = __webpack_require__(164); + var TextMacroAction = (function (_super) { + __extends(TextMacroAction, _super); + function TextMacroAction(other) { + var _this = _super.call(this) || this; + if (!other) { + return _this; + } + _this.text = other.text; + return _this; + } + TextMacroAction.prototype.fromJsonObject = function (jsObject) { + this.assertMacroActionType(jsObject); + this.text = jsObject.text; + return this; + }; + TextMacroAction.prototype.fromBinary = function (buffer) { + this.readAndAssertMacroActionId(buffer); + this.text = buffer.readString(); + return this; + }; + TextMacroAction.prototype.toJsonObject = function () { + return { + macroActionType: MacroAction_1.macroActionType.TextMacroAction, + text: this.text + }; + }; + TextMacroAction.prototype.toBinary = function (buffer) { + buffer.writeUInt8(MacroAction_1.MacroActionId.TextMacroAction); + buffer.writeString(this.text); + }; + TextMacroAction.prototype.toString = function () { + return ""; + }; + return TextMacroAction; + }(MacroAction_1.MacroAction)); + exports.TextMacroAction = TextMacroAction; + + +/***/ }, +/* 171 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var UhkBuffer_1 = __webpack_require__(153); + var index_1 = __webpack_require__(162); + var Helper = (function () { + function Helper() { + } + Helper.createMacroAction = function (source) { + if (source instanceof index_1.MacroAction) { + return Helper.fromMacroAction(source); + } + else if (source instanceof UhkBuffer_1.UhkBuffer) { + return Helper.fromUhkBuffer(source); + } + else { + return Helper.fromJSONObject(source); + } + }; + Helper.fromUhkBuffer = function (buffer) { + var macroActionFirstByte = buffer.readUInt8(); + buffer.backtrack(); + if (macroActionFirstByte >= index_1.MacroActionId.KeyMacroAction && macroActionFirstByte <= index_1.MacroActionId.LastKeyMacroAction) { + return new index_1.KeyMacroAction().fromBinary(buffer); + } + else if (macroActionFirstByte >= index_1.MacroActionId.MouseButtonMacroAction && + macroActionFirstByte <= index_1.MacroActionId.LastMouseButtonMacroAction) { + return new index_1.MouseButtonMacroAction().fromBinary(buffer); + } + switch (macroActionFirstByte) { + case index_1.MacroActionId.MoveMouseMacroAction: + return new index_1.MoveMouseMacroAction().fromBinary(buffer); + case index_1.MacroActionId.ScrollMouseMacroAction: + return new index_1.ScrollMouseMacroAction().fromBinary(buffer); + case index_1.MacroActionId.DelayMacroAction: + return new index_1.DelayMacroAction().fromBinary(buffer); + case index_1.MacroActionId.TextMacroAction: + return new index_1.TextMacroAction().fromBinary(buffer); + default: + throw "Invalid MacroAction first byte: " + macroActionFirstByte; + } + }; + Helper.fromMacroAction = function (macroAction) { + var newMacroAction; + if (macroAction instanceof index_1.KeyMacroAction) { + newMacroAction = new index_1.KeyMacroAction(macroAction); + } + else if (macroAction instanceof index_1.MouseButtonMacroAction) { + newMacroAction = new index_1.MouseButtonMacroAction(macroAction); + } + else if (macroAction instanceof index_1.MoveMouseMacroAction) { + newMacroAction = new index_1.MoveMouseMacroAction(macroAction); + } + else if (macroAction instanceof index_1.ScrollMouseMacroAction) { + newMacroAction = new index_1.ScrollMouseMacroAction(macroAction); + } + else if (macroAction instanceof index_1.DelayMacroAction) { + newMacroAction = new index_1.DelayMacroAction(macroAction); + } + else if (macroAction instanceof index_1.TextMacroAction) { + newMacroAction = new index_1.TextMacroAction(macroAction); + } + return newMacroAction; + }; + Helper.fromJSONObject = function (macroAction) { + switch (macroAction.macroActionType) { + case index_1.macroActionType.KeyMacroAction: + return new index_1.KeyMacroAction().fromJsonObject(macroAction); + case index_1.macroActionType.MouseButtonMacroAction: + return new index_1.MouseButtonMacroAction().fromJsonObject(macroAction); + case index_1.macroActionType.MoveMouseMacroAction: + return new index_1.MoveMouseMacroAction().fromJsonObject(macroAction); + case index_1.macroActionType.ScrollMouseMacroAction: + return new index_1.ScrollMouseMacroAction().fromJsonObject(macroAction); + case index_1.macroActionType.DelayMacroAction: + return new index_1.DelayMacroAction().fromJsonObject(macroAction); + case index_1.macroActionType.TextMacroAction: + return new index_1.TextMacroAction().fromJsonObject(macroAction); + default: + throw "Invalid MacroAction.macroActionType: \"" + macroAction.macroActionType + "\""; + } + }; + return Helper; + }()); + exports.Helper = Helper; + + +/***/ }, +/* 172 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var assert_1 = __webpack_require__(145); + var Keymap_1 = __webpack_require__(158); + var Macro_1 = __webpack_require__(161); + var ModuleConfiguration_1 = __webpack_require__(173); + var UserConfiguration = (function () { + function UserConfiguration() { + } + UserConfiguration.prototype.fromJsonObject = function (jsonObject) { + var _this = this; + this.dataModelVersion = jsonObject.dataModelVersion; + this.moduleConfigurations = jsonObject.moduleConfigurations.map(function (moduleConfiguration) { + return new ModuleConfiguration_1.ModuleConfiguration().fromJsonObject(moduleConfiguration); + }); + this.macros = jsonObject.macros.map(function (macroJsonObject, index) { + var macro = new Macro_1.Macro().fromJsonObject(macroJsonObject); + macro.id = index; + return macro; + }); + this.keymaps = jsonObject.keymaps.map(function (keymap) { return new Keymap_1.Keymap().fromJsonObject(keymap, _this.macros); }); + return this; + }; + UserConfiguration.prototype.fromBinary = function (buffer) { + var _this = this; + this.dataModelVersion = buffer.readUInt16(); + this.moduleConfigurations = buffer.readArray(function (uhkBuffer) { + return new ModuleConfiguration_1.ModuleConfiguration().fromBinary(uhkBuffer); + }); + this.macros = buffer.readArray(function (uhkBuffer, index) { + var macro = new Macro_1.Macro().fromBinary(uhkBuffer); + macro.id = index; + return macro; + }); + this.keymaps = buffer.readArray(function (uhkBuffer) { return new Keymap_1.Keymap().fromBinary(uhkBuffer, _this.macros); }); + return this; + }; + UserConfiguration.prototype.toJsonObject = function () { + var _this = this; + return { + dataModelVersion: this.dataModelVersion, + moduleConfigurations: this.moduleConfigurations.map(function (moduleConfiguration) { return moduleConfiguration.toJsonObject(); }), + keymaps: this.keymaps.map(function (keymap) { return keymap.toJsonObject(_this.macros); }), + macros: this.macros.map(function (macro) { return macro.toJsonObject(); }) + }; + }; + UserConfiguration.prototype.toBinary = function (buffer) { + var _this = this; + buffer.writeUInt16(this.dataModelVersion); + buffer.writeArray(this.moduleConfigurations); + buffer.writeArray(this.macros); + buffer.writeArray(this.keymaps, function (uhkBuffer, keymap) { + keymap.toBinary(uhkBuffer, _this.macros); + }); + }; + UserConfiguration.prototype.toString = function () { + return ""; + }; + UserConfiguration.prototype.getKeymap = function (keymapAbbreviation) { + return this.keymaps.find(function (keymap) { return keymapAbbreviation === keymap.abbreviation; }); + }; + UserConfiguration.prototype.getMacro = function (macroId) { + return this.macros.find(function (macro) { return macroId === macro.id; }); + }; + return UserConfiguration; + }()); + __decorate([ + assert_1.assertUInt16, + __metadata("design:type", Number) + ], UserConfiguration.prototype, "dataModelVersion", void 0); + exports.UserConfiguration = UserConfiguration; + + +/***/ }, +/* 173 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var assert_1 = __webpack_require__(145); + var ModuleConfiguration = (function () { + function ModuleConfiguration() { + } + ModuleConfiguration.prototype.fromJsonObject = function (jsonObject) { + this.id = jsonObject.id; + this.initialPointerSpeed = jsonObject.initialPointerSpeed; + this.pointerAcceleration = jsonObject.pointerAcceleration; + this.maxPointerSpeed = jsonObject.maxPointerSpeed; + return this; + }; + ModuleConfiguration.prototype.fromBinary = function (buffer) { + this.id = buffer.readUInt8(); + this.initialPointerSpeed = buffer.readUInt8(); + this.pointerAcceleration = buffer.readUInt8(); + this.maxPointerSpeed = buffer.readUInt8(); + return this; + }; + ModuleConfiguration.prototype.toJsonObject = function () { + return { + id: this.id, + initialPointerSpeed: this.initialPointerSpeed, + pointerAcceleration: this.pointerAcceleration, + maxPointerSpeed: this.maxPointerSpeed + }; + }; + ModuleConfiguration.prototype.toBinary = function (buffer) { + buffer.writeUInt8(this.id); + buffer.writeUInt8(this.initialPointerSpeed); + buffer.writeUInt8(this.pointerAcceleration); + buffer.writeUInt8(this.maxPointerSpeed); + }; + ModuleConfiguration.prototype.toString = function () { + return ""; + }; + return ModuleConfiguration; + }()); + __decorate([ + assert_1.assertUInt8, + __metadata("design:type", Number) + ], ModuleConfiguration.prototype, "id", void 0); + __decorate([ + assert_1.assertUInt8, + __metadata("design:type", Number) + ], ModuleConfiguration.prototype, "initialPointerSpeed", void 0); + __decorate([ + assert_1.assertUInt8, + __metadata("design:type", Number) + ], ModuleConfiguration.prototype, "pointerAcceleration", void 0); + __decorate([ + assert_1.assertUInt8, + __metadata("design:type", Number) + ], ModuleConfiguration.prototype, "maxPointerSpeed", void 0); + exports.ModuleConfiguration = ModuleConfiguration; + + +/***/ }, +/* 174 */ +/***/ function(module, exports) { + + module.exports = "\r\n\r\n
\r\n Sorry, there is no keymap with this abbreviation.\r\n
"; + +/***/ }, +/* 175 */ +/***/ function(module, exports) { + + module.exports = ":host {\n width: 100%;\n display: block; }\n\n.not-found {\n margin-top: 30px;\n font-size: 16px;\n text-align: center; }\n" + +/***/ }, +/* 176 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var store_1 = __webpack_require__(44); + var Keymap_1 = __webpack_require__(158); + var actions_1 = __webpack_require__(127); + var KeymapHeaderComponent = (function () { + function KeymapHeaderComponent(store, renderer) { + this.store = store; + this.renderer = renderer; + this.downloadClick = new core_1.EventEmitter(); + } + KeymapHeaderComponent.prototype.ngOnChanges = function (changes) { + if (changes['keymap']) { + this.setKeymapTitle(); + } + if (changes['deletable']) { + this.setTrashTitle(); + } + }; + KeymapHeaderComponent.prototype.setDefault = function () { + if (!this.keymap.isDefault) { + this.store.dispatch(actions_1.KeymapActions.setDefault(this.keymap.abbreviation)); + } + }; + KeymapHeaderComponent.prototype.removeKeymap = function () { + if (this.deletable) { + this.store.dispatch(actions_1.KeymapActions.removeKeymap(this.keymap.abbreviation)); + } + }; + KeymapHeaderComponent.prototype.duplicateKeymap = function () { + this.store.dispatch(actions_1.KeymapActions.duplicateKeymap(this.keymap)); + }; + KeymapHeaderComponent.prototype.editKeymapName = function (name) { + if (name.length === 0) { + this.renderer.setElementProperty(this.keymapName.nativeElement, 'value', this.keymap.name); + return; + } + this.store.dispatch(actions_1.KeymapActions.editKeymapName(this.keymap.abbreviation, name)); + }; + KeymapHeaderComponent.prototype.editKeymapAbbr = function (newAbbr) { + if (newAbbr.length !== 3) { + this.renderer.setElementProperty(this.keymapAbbr.nativeElement, 'value', this.keymap.abbreviation); + return; + } + newAbbr = newAbbr.toUpperCase(); + this.store.dispatch(actions_1.KeymapActions.editKeymapAbbr(this.keymap.abbreviation, newAbbr)); + }; + KeymapHeaderComponent.prototype.setKeymapTitle = function () { + this.starTitle = this.keymap.isDefault + ? 'This is the default keymap which gets activated when powering the keyboard.' + : 'Makes this keymap the default keymap which gets activated when powering the keyboard.'; + }; + KeymapHeaderComponent.prototype.setTrashTitle = function () { + this.trashTitle = this.deletable ? '' : 'The last keymap cannot be deleted.'; + }; + KeymapHeaderComponent.prototype.onDownloadIconClick = function () { + this.downloadClick.emit(); + }; + return KeymapHeaderComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", Keymap_1.Keymap) + ], KeymapHeaderComponent.prototype, "keymap", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], KeymapHeaderComponent.prototype, "deletable", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], KeymapHeaderComponent.prototype, "downloadClick", void 0); + __decorate([ + core_1.ViewChild('name'), + __metadata("design:type", core_1.ElementRef) + ], KeymapHeaderComponent.prototype, "keymapName", void 0); + __decorate([ + core_1.ViewChild('abbr'), + __metadata("design:type", core_1.ElementRef) + ], KeymapHeaderComponent.prototype, "keymapAbbr", void 0); + KeymapHeaderComponent = __decorate([ + core_1.Component({ + selector: 'keymap-header', + template: __webpack_require__(177), + styles: [__webpack_require__(178)], + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", [store_1.Store, core_1.Renderer]) + ], KeymapHeaderComponent); + exports.KeymapHeaderComponent = KeymapHeaderComponent; + + +/***/ }, +/* 177 */ +/***/ function(module, exports) { + + module.exports = "
\r\n

\r\n \r\n keymap\r\n ()\r\n \r\n \r\n \r\n \r\n

\r\n
"; + +/***/ }, +/* 178 */ +/***/ function(module, exports) { + + module.exports = ":host {\n display: block; }\n\n.keymap__is-default.fa-star-o {\n cursor: pointer; }\n .keymap__is-default.fa-star-o:hover {\n color: #337ab7; }\n\n.keymap__remove {\n font-size: 0.75em;\n top: 8px; }\n .keymap__remove:not(.disabled):hover {\n cursor: pointer;\n color: #900; }\n .keymap__remove.disabled {\n opacity: 0.25; }\n\n.keymap__duplicate {\n font-size: 0.75em;\n top: 7px;\n margin-right: 15px;\n position: relative; }\n .keymap__duplicate:hover {\n cursor: pointer;\n color: #337ab7; }\n\n.layer__download {\n top: 10px;\n font-size: 0.8em;\n position: relative;\n margin-right: 10px; }\n .layer__download:hover {\n cursor: pointer;\n color: #337ab7; }\n\n.pane-title {\n margin-bottom: 1em; }\n .pane-title__name, .pane-title__abbrev {\n border: none;\n border-bottom: 2px dotted #999;\n padding: 0;\n margin: 0 0.25rem; }\n .pane-title__name:focus, .pane-title__abbrev:focus {\n box-shadow: 0 0 0 1px #ccc, 0 0 5px 0 #ccc;\n border-color: transparent; }\n .pane-title__name {\n width: 290px;\n text-overflow: ellipsis; }\n .pane-title__abbrev {\n width: 90px;\n text-align: center; }\n" + +/***/ }, +/* 179 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(180)); + + +/***/ }, +/* 180 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var LayersComponent = (function () { + function LayersComponent() { + this.select = new core_1.EventEmitter(); + this.buttons = ['Base', 'Mod', 'Fn', 'Mouse']; + this.current = 0; + } + LayersComponent.prototype.selectLayer = function (index) { + if (this.current === index) { + return; + } + this.select.emit({ + oldIndex: this.current, + index: index + }); + this.current = index; + }; + return LayersComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], LayersComponent.prototype, "current", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], LayersComponent.prototype, "select", void 0); + LayersComponent = __decorate([ + core_1.Component({ + selector: 'layers', + template: __webpack_require__(181), + styles: [__webpack_require__(182)] + }), + __metadata("design:paramtypes", []) + ], LayersComponent); + exports.LayersComponent = LayersComponent; + + +/***/ }, +/* 181 */ +/***/ function(module, exports) { + + module.exports = "
\r\n \r\n \r\n \r\n
"; + +/***/ }, +/* 182 */ +/***/ function(module, exports) { + + module.exports = ":host {\n display: block; }\n :host.disabled button {\n cursor: no-drop;\n background: rgba(204, 204, 204, 0.43);\n pointer-events: none; }\n :host.disabled button.btn-primary {\n background: #7c7c7c;\n border-color: #7c7c7c; }\n\nbutton {\n margin: 2px; }\n\n.uhk__layer-switcher--wrapper {\n position: relative;\n margin-bottom: 2rem; }\n .uhk__layer-switcher--wrapper:before {\n content: attr(data-title);\n display: inline-block;\n position: absolute;\n bottom: -0.3em;\n right: 100%;\n font-size: 2.4rem;\n padding-right: 0.25em;\n margin: 0; }\n" + +/***/ }, +/* 183 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(184)); + __export(__webpack_require__(187)); + __export(__webpack_require__(190)); + __export(__webpack_require__(193)); + __export(__webpack_require__(194)); + __export(__webpack_require__(199)); + __export(__webpack_require__(205)); + __export(__webpack_require__(209)); + + +/***/ }, +/* 184 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var router_1 = __webpack_require__(99); + var store_1 = __webpack_require__(44); + var actions_1 = __webpack_require__(127); + var user_configuration_1 = __webpack_require__(141); + var MacroEditComponent = (function () { + function MacroEditComponent(store, route) { + var _this = this; + this.store = store; + this.route = route; + this.subscription = route + .params + .select('id') + .switchMap(function (id) { return store.let(user_configuration_1.getMacro(+id)); }) + .subscribe(function (macro) { + _this.macro = macro; + }); + this.isNew = this.route.snapshot.params['empty'] === 'new'; + } + MacroEditComponent.prototype.ngOnDestroy = function () { + this.subscription.unsubscribe(); + }; + MacroEditComponent.prototype.addAction = function (macroId, action) { + this.store.dispatch(actions_1.MacroActions.addMacroAction(macroId, action)); + }; + MacroEditComponent.prototype.editAction = function (macroId, index, action) { + this.store.dispatch(actions_1.MacroActions.saveMacroAction(macroId, index, action)); + }; + MacroEditComponent.prototype.deleteAction = function (macroId, index, action) { + this.store.dispatch(actions_1.MacroActions.deleteMacroAction(macroId, index, action)); + }; + MacroEditComponent.prototype.reorderAction = function (macroId, oldIndex, newIndex) { + this.store.dispatch(actions_1.MacroActions.reorderMacroAction(macroId, oldIndex, newIndex)); + }; + return MacroEditComponent; + }()); + MacroEditComponent = __decorate([ + core_1.Component({ + selector: 'macro-edit', + template: __webpack_require__(185), + styles: [__webpack_require__(186)], + host: { + 'class': 'container-fluid' + } + }), + __metadata("design:paramtypes", [store_1.Store, router_1.ActivatedRoute]) + ], MacroEditComponent); + exports.MacroEditComponent = MacroEditComponent; + + +/***/ }, +/* 185 */ +/***/ function(module, exports) { + + module.exports = "\r\n\r\n
\r\n There is no macro with id {{ route.params.select('id') | async }}.\r\n
"; + +/***/ }, +/* 186 */ +/***/ function(module, exports) { + + module.exports = ":host {\n width: 100%;\n height: 100%;\n display: block; }\n\n.not-found {\n margin-top: 30px;\n font-size: 16px;\n text-align: center; }\n" + +/***/ }, +/* 187 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var ng2_dragula_1 = __webpack_require__(74); + var Macro_1 = __webpack_require__(161); + var index_1 = __webpack_require__(183); + var MacroListComponent = (function () { + function MacroListComponent(dragulaService) { + var _this = this; + this.dragulaService = dragulaService; + this.add = new core_1.EventEmitter(); + this.edit = new core_1.EventEmitter(); + this.delete = new core_1.EventEmitter(); + this.reorder = new core_1.EventEmitter(); + this.newMacro = undefined; + this.activeEdit = undefined; + this.showNew = false; + /* tslint:disable:no-unused-variable: Used by Dragula. */ + dragulaService.setOptions('macroActions', { + moves: function (el, container, handle) { + return handle.className.includes('action--movable'); + } + }); + dragulaService.drag.subscribe(function (value) { + _this.dragIndex = +value[1].getAttribute('data-index'); + }); + dragulaService.drop.subscribe(function (value) { + if (value[4]) { + _this.reorder.emit({ + macroId: _this.macro.id, + oldIndex: _this.dragIndex, + newIndex: +value[4].getAttribute('data-index') + }); + } + }); + } + MacroListComponent.prototype.showNewAction = function () { + this.hideActiveEditor(); + this.newMacro = undefined; + this.showNew = true; + }; + MacroListComponent.prototype.hideNewAction = function () { + this.showNew = false; + }; + MacroListComponent.prototype.addNewAction = function (macroAction) { + this.add.emit({ + macroId: this.macro.id, + action: macroAction + }); + this.newMacro = undefined; + this.showNew = false; + }; + MacroListComponent.prototype.editAction = function (index) { + // Hide other editors when clicking edit button of a macro action + this.hideActiveEditor(); + this.showNew = false; + this.activeEdit = index; + }; + MacroListComponent.prototype.cancelAction = function () { + this.activeEdit = undefined; + }; + MacroListComponent.prototype.saveAction = function (macroAction, index) { + this.edit.emit({ + macroId: this.macro.id, + index: index, + action: macroAction + }); + this.hideActiveEditor(); + }; + MacroListComponent.prototype.deleteAction = function (macroAction, index) { + this.delete.emit({ + macroId: this.macro.id, + index: index, + action: macroAction + }); + this.hideActiveEditor(); + }; + MacroListComponent.prototype.hideActiveEditor = function () { + if (this.activeEdit !== undefined) { + this.macroItems.toArray()[this.activeEdit].cancelEdit(); + } + }; + return MacroListComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", Macro_1.Macro) + ], MacroListComponent.prototype, "macro", void 0); + __decorate([ + core_1.ViewChildren(core_1.forwardRef(function () { return index_1.MacroItemComponent; })), + __metadata("design:type", core_1.QueryList) + ], MacroListComponent.prototype, "macroItems", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], MacroListComponent.prototype, "add", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], MacroListComponent.prototype, "edit", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], MacroListComponent.prototype, "delete", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], MacroListComponent.prototype, "reorder", void 0); + MacroListComponent = __decorate([ + core_1.Component({ + animations: [ + core_1.trigger('toggler', [ + core_1.state('inactive', core_1.style({ + height: '0px' + })), + core_1.state('active', core_1.style({ + height: '*' + })), + core_1.transition('inactive <=> active', core_1.animate('500ms ease-out')) + ]), + core_1.trigger('togglerNew', [ + core_1.state('void', core_1.style({ + height: '0px' + })), + core_1.state('active', core_1.style({ + height: '*' + })), + core_1.transition(':enter', core_1.animate('500ms ease-out')), + core_1.transition(':leave', core_1.animate('500ms ease-out')) + ]) + ], + selector: 'macro-list', + template: __webpack_require__(188), + styles: [__webpack_require__(189)], + viewProviders: [ng2_dragula_1.DragulaService] + }), + __metadata("design:paramtypes", [ng2_dragula_1.DragulaService]) + ], MacroListComponent); + exports.MacroListComponent = MacroListComponent; + + +/***/ }, +/* 188 */ +/***/ function(module, exports) { + + module.exports = "
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
"; + +/***/ }, +/* 189 */ +/***/ function(module, exports) { + + module.exports = ":host {\n display: flex;\n flex-direction: column;\n height: 100%; }\n :host .list-container {\n display: flex;\n flex: 1; }\n\n.main-wrapper {\n width: 500px; }\n\nh1 {\n margin-bottom: 3rem; }\n\n.action--edit__form {\n background-color: #fff;\n margin-left: -0.5rem;\n margin-right: -15px;\n margin-top: 15px;\n padding-top: 15px;\n border-top: 1px solid #ddd; }\n\n.action--item {\n padding-left: 8px; }\n .action--item.active, .action--item.active:hover {\n background-color: white;\n font-weight: bold;\n color: black;\n border-color: black;\n z-index: 10; }\n\n.list-group {\n overflow: auto; }\n\n.macro__name {\n border-bottom: 2px dotted #999;\n padding: 0 0.5rem;\n margin: 0 0.25rem; }\n\n.macro-settings {\n border: 1px solid black;\n border-top-color: #999;\n z-index: 100; }\n .macro-settings .helper {\n position: absolute;\n display: block;\n height: 13px;\n background: #fff;\n width: 100%;\n left: 0;\n top: -14px; }\n\n.action--item.active.callout,\n.macro-settings.callout {\n box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.5); }\n\n.macro-actions-container {\n margin-bottom: 0;\n border-radius: 4px;\n border: 1px solid #ddd;\n border-bottom: 0; }\n\n.list-group-item .move-handle:hover {\n cursor: move; }\n\n.flex-button-wrapper {\n display: flex;\n flex-direction: row-reverse; }\n\n.flex-button {\n align-self: flex-end; }\n\n.add-new__action-container {\n overflow: hidden;\n flex-shrink: 0;\n border-top: 1px solid #ddd; }\n\n.add-new__action-item {\n border-radius: 0 0 4px 4px;\n border-top: 0;\n padding: 0; }\n .add-new__action-item:hover {\n cursor: pointer; }\n .add-new__action-item--link {\n width: 50%;\n float: left;\n padding: 10px 5px;\n text-align: center;\n color: #337ab7; }\n .add-new__action-item--link:first-of-type {\n border-right: 1px solid #ddd; }\n .add-new__action-item--link:hover {\n text-decoration: none;\n background: #e6e6e6; }\n .add-new__action-item .fa-circle {\n color: #c00; }\n\n.gu-mirror {\n position: fixed;\n margin: 0;\n z-index: 9999;\n opacity: 0.8; }\n\n.gu-hide {\n display: none; }\n\n.gu-unselectable {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n" + +/***/ }, +/* 190 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var store_1 = __webpack_require__(44); + var Macro_1 = __webpack_require__(161); + var actions_1 = __webpack_require__(127); + var MacroHeaderComponent = (function () { + function MacroHeaderComponent(store, renderer) { + this.store = store; + this.renderer = renderer; + } + MacroHeaderComponent.prototype.ngOnChanges = function () { + if (this.isNew) { + this.renderer.invokeElementMethod(this.macroName.nativeElement, 'select', []); + } + }; + MacroHeaderComponent.prototype.ngAfterViewInit = function () { + if (this.isNew) { + this.renderer.invokeElementMethod(this.macroName.nativeElement, 'select', []); + } + }; + MacroHeaderComponent.prototype.removeMacro = function () { + this.store.dispatch(actions_1.MacroActions.removeMacro(this.macro.id)); + }; + MacroHeaderComponent.prototype.duplicateMacro = function () { + this.store.dispatch(actions_1.MacroActions.duplicateMacro(this.macro)); + }; + MacroHeaderComponent.prototype.editMacroName = function (name) { + if (name.length === 0) { + this.renderer.setElementProperty(this.macroName.nativeElement, 'value', this.macro.name); + return; + } + this.store.dispatch(actions_1.MacroActions.editMacroName(this.macro.id, name)); + }; + return MacroHeaderComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", Macro_1.Macro) + ], MacroHeaderComponent.prototype, "macro", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], MacroHeaderComponent.prototype, "isNew", void 0); + __decorate([ + core_1.ViewChild('macroName'), + __metadata("design:type", core_1.ElementRef) + ], MacroHeaderComponent.prototype, "macroName", void 0); + MacroHeaderComponent = __decorate([ + core_1.Component({ + selector: 'macro-header', + template: __webpack_require__(191), + styles: [__webpack_require__(192)], + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", [store_1.Store, core_1.Renderer]) + ], MacroHeaderComponent); + exports.MacroHeaderComponent = MacroHeaderComponent; + + +/***/ }, +/* 191 */ +/***/ function(module, exports) { + + module.exports = "
\r\n

\r\n \r\n \r\n \r\n \r\n

\r\n
"; + +/***/ }, +/* 192 */ +/***/ function(module, exports) { + + module.exports = ".macro__remove {\n font-size: 0.75em;\n top: 8px; }\n .macro__remove:hover {\n cursor: pointer;\n color: #900; }\n\n.macro__duplicate {\n font-size: 0.75em;\n top: 7px;\n margin-right: 15px;\n position: relative; }\n .macro__duplicate:hover {\n cursor: pointer;\n color: #337ab7; }\n\n.pane-title {\n margin-bottom: 1em; }\n .pane-title__name {\n border: none;\n border-bottom: 2px dotted #999;\n padding: 0;\n margin: 0 0.25rem;\n width: 330px;\n text-overflow: ellipsis; }\n .pane-title__name:focus {\n box-shadow: 0 0 0 1px #ccc, 0 0 5px 0 #ccc;\n border-color: transparent; }\n" + +/***/ }, +/* 193 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var macro_edit_component_1 = __webpack_require__(184); + var not_found_1 = __webpack_require__(194); + exports.macroRoutes = [ + { + path: 'macro', + component: not_found_1.MacroNotFoundComponent, + canActivate: [not_found_1.MacroNotFoundGuard] + }, + { + path: 'macro/:id', + component: macro_edit_component_1.MacroEditComponent + }, + { + path: 'macro/:id/:empty', + component: macro_edit_component_1.MacroEditComponent + } + ]; + + +/***/ }, +/* 194 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var macro_not_found_component_1 = __webpack_require__(195); + exports.MacroNotFoundComponent = macro_not_found_component_1.MacroNotFoundComponent; + var macro_not_found_guard_service_1 = __webpack_require__(198); + exports.MacroNotFoundGuard = macro_not_found_guard_service_1.MacroNotFoundGuard; + + +/***/ }, +/* 195 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var core_1 = __webpack_require__(4); + var MacroNotFoundComponent = (function () { + function MacroNotFoundComponent() { + } + return MacroNotFoundComponent; + }()); + MacroNotFoundComponent = __decorate([ + core_1.Component({ + selector: 'macro-not-found', + template: __webpack_require__(196), + styles: [__webpack_require__(197)] + }) + ], MacroNotFoundComponent); + exports.MacroNotFoundComponent = MacroNotFoundComponent; + + +/***/ }, +/* 196 */ +/***/ function(module, exports) { + + module.exports = "
\r\n You don't have any macros. Try to add one!\r\n
"; + +/***/ }, +/* 197 */ +/***/ function(module, exports) { + + module.exports = ".not-found {\n margin-top: 30px;\n font-size: 16px;\n text-align: center; }\n" + +/***/ }, +/* 198 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var router_1 = __webpack_require__(99); + __webpack_require__(135); + __webpack_require__(137); + var store_1 = __webpack_require__(44); + var user_configuration_1 = __webpack_require__(141); + var MacroNotFoundGuard = (function () { + function MacroNotFoundGuard(store, router) { + this.store = store; + this.router = router; + } + MacroNotFoundGuard.prototype.canActivate = function () { + var _this = this; + return this.store + .let(user_configuration_1.getMacros()) + .map(function (macros) { + var hasMacros = macros.length > 0; + if (hasMacros) { + _this.router.navigate(['/macro', macros[0].id]); + } + return !hasMacros; + }); + }; + return MacroNotFoundGuard; + }()); + MacroNotFoundGuard = __decorate([ + core_1.Injectable(), + __metadata("design:paramtypes", [store_1.Store, router_1.Router]) + ], MacroNotFoundGuard); + exports.MacroNotFoundGuard = MacroNotFoundGuard; + + +/***/ }, +/* 199 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var macro_item_component_1 = __webpack_require__(200); + exports.MacroItemComponent = macro_item_component_1.MacroItemComponent; + + +/***/ }, +/* 200 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var KeyModifiers_1 = __webpack_require__(201); + var macro_action_1 = __webpack_require__(162); + var mapper_service_1 = __webpack_require__(202); + var MacroItemComponent = (function () { + function MacroItemComponent(mapper) { + this.mapper = mapper; + this.save = new core_1.EventEmitter(); + this.cancel = new core_1.EventEmitter(); + this.edit = new core_1.EventEmitter(); + this.delete = new core_1.EventEmitter(); + this.newItem = false; + } + MacroItemComponent.prototype.ngOnInit = function () { + this.updateView(); + if (!this.macroAction) { + this.editing = true; + this.newItem = true; + } + }; + MacroItemComponent.prototype.ngOnChanges = function (changes) { + if (changes['macroAction']) { + this.updateView(); + } + }; + MacroItemComponent.prototype.saveEditedAction = function (editedAction) { + this.macroAction = editedAction; + this.editing = false; + this.updateView(); + this.save.emit(editedAction); + }; + MacroItemComponent.prototype.editAction = function () { + if (!this.editable || this.editing) { + return; + } + this.editing = true; + this.edit.emit(); + }; + MacroItemComponent.prototype.cancelEdit = function () { + this.editing = false; + this.cancel.emit(); + }; + MacroItemComponent.prototype.deleteAction = function () { + this.delete.emit(); + }; + MacroItemComponent.prototype.updateView = function () { + if (!this.macroAction) { + this.title = 'New macro action'; + } + else if (this.macroAction instanceof macro_action_1.DelayMacroAction) { + // Delay + this.iconName = 'clock'; + var action = this.macroAction; + var delay_1 = action.delay > 0 ? action.delay / 1000 : 0; + this.title = "Delay of " + delay_1 + "s"; + } + else if (this.macroAction instanceof macro_action_1.TextMacroAction) { + // Write text + var action = this.macroAction; + this.iconName = 'font'; + this.title = "Write text: " + action.text; + } + else if (this.macroAction instanceof macro_action_1.KeyMacroAction) { + // Key pressed/held/released + var action = this.macroAction; + this.setKeyActionContent(action); + } + else if (this.macroAction instanceof macro_action_1.MouseButtonMacroAction) { + // Mouse button clicked/held/released + var action = this.macroAction; + this.setMouseButtonActionContent(action); + } + else if (this.macroAction instanceof macro_action_1.MoveMouseMacroAction || this.macroAction instanceof macro_action_1.ScrollMouseMacroAction) { + // Mouse moved or scrolled + this.setMouseMoveScrollActionContent(this.macroAction); + } + else { + this.title = this.macroAction.constructor.name; + } + }; + MacroItemComponent.prototype.setKeyActionContent = function (action) { + if (!action.hasScancode() && !action.hasModifiers()) { + this.title = 'Invalid keypress'; + return; + } + if (action.isPressAction()) { + // Press key + this.iconName = 'hand-pointer'; + this.title = 'Press key: '; + } + else if (action.isHoldAction()) { + // Hold key + this.iconName = 'hand-rock'; + this.title = 'Hold key: '; + } + else if (action.isReleaseAction()) { + // Release key + this.iconName = 'hand-paper'; + this.title = 'Release key: '; + } + if (action.hasScancode()) { + var scancode = (this.mapper.scanCodeToText(action.scancode) || ['Unknown']).join(' '); + if (scancode) { + this.title += scancode; + } + } + if (action.hasModifiers()) { + // Press/hold/release modifiers + for (var i = KeyModifiers_1.KeyModifiers.leftCtrl; i !== KeyModifiers_1.KeyModifiers.rightGui; i <<= 1) { + if (action.isModifierActive(i)) { + this.title += ' ' + KeyModifiers_1.KeyModifiers[i]; + } + } + } + }; + MacroItemComponent.prototype.setMouseMoveScrollActionContent = function (action) { + var typedAction; + if (action instanceof macro_action_1.MoveMouseMacroAction) { + // Move mouse pointer + this.iconName = 'mouse-pointer'; + this.title = 'Move pointer'; + typedAction = this.macroAction; + } + else { + // Scroll mouse + this.iconName = 'mouse-pointer'; + this.title = 'Scroll'; + typedAction = this.macroAction; + } + var needAnd; + if (Math.abs(typedAction.x) !== 0) { + this.title += " by " + Math.abs(typedAction.x) + "px " + (typedAction.x > 0 ? 'left' : 'right'); + needAnd = true; + } + if (Math.abs(typedAction.y) !== 0) { + this.title += " " + (needAnd ? 'and' : 'by') + " " + Math.abs(typedAction.y) + "px " + (typedAction.y > 0 ? 'down' : 'up'); + } + }; + MacroItemComponent.prototype.setMouseButtonActionContent = function (action) { + // Press/hold/release mouse buttons + if (action.isOnlyPressAction()) { + this.iconName = 'mouse-pointer'; + this.title = 'Click mouse button: '; + } + else if (action.isOnlyHoldAction()) { + this.iconName = 'hand-rock'; + this.title = 'Hold mouse button: '; + } + else if (action.isOnlyReleaseAction()) { + this.iconName = 'hand-paper'; + this.title = 'Release mouse button: '; + } + var buttonLabels = ['Left', 'Middle', 'Right']; + var selectedButtons = action.getMouseButtons(); + var selectedButtonLabels = []; + selectedButtons.forEach(function (isSelected, idx) { + if (isSelected && buttonLabels[idx]) { + selectedButtonLabels.push(buttonLabels[idx]); + } + }); + this.title += selectedButtonLabels.join(', '); + }; + return MacroItemComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", macro_action_1.MacroAction) + ], MacroItemComponent.prototype, "macroAction", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], MacroItemComponent.prototype, "editable", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], MacroItemComponent.prototype, "deletable", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], MacroItemComponent.prototype, "movable", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], MacroItemComponent.prototype, "save", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], MacroItemComponent.prototype, "cancel", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], MacroItemComponent.prototype, "edit", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], MacroItemComponent.prototype, "delete", void 0); + MacroItemComponent = __decorate([ + core_1.Component({ + animations: [ + core_1.trigger('toggler', [ + core_1.state('inactive', core_1.style({ + height: '0px' + })), + core_1.state('active', core_1.style({ + height: '*' + })), + core_1.transition('inactive <=> active', core_1.animate('500ms ease-out')) + ]) + ], + selector: 'macro-item', + template: __webpack_require__(203), + styles: [__webpack_require__(204)], + host: { 'class': 'macro-item' } + }), + __metadata("design:paramtypes", [mapper_service_1.MapperService]) + ], MacroItemComponent); + exports.MacroItemComponent = MacroItemComponent; + + +/***/ }, +/* 201 */ +/***/ function(module, exports) { + + "use strict"; + var KeyModifiers; + (function (KeyModifiers) { + KeyModifiers[KeyModifiers["leftCtrl"] = 1] = "leftCtrl"; + KeyModifiers[KeyModifiers["leftShift"] = 2] = "leftShift"; + KeyModifiers[KeyModifiers["leftAlt"] = 4] = "leftAlt"; + KeyModifiers[KeyModifiers["leftGui"] = 8] = "leftGui"; + KeyModifiers[KeyModifiers["rightCtrl"] = 16] = "rightCtrl"; + KeyModifiers[KeyModifiers["rightShift"] = 32] = "rightShift"; + KeyModifiers[KeyModifiers["rightAlt"] = 64] = "rightAlt"; + KeyModifiers[KeyModifiers["rightGui"] = 128] = "rightGui"; + })(KeyModifiers = exports.KeyModifiers || (exports.KeyModifiers = {})); + + +/***/ }, +/* 202 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + /* tslint:disable:variable-name */ + var __svg__ = { filename: __webpack_require__.p +"assets/compiled_sprite.svg" }; + /* tslint:enable:variable-name */ + var core_1 = __webpack_require__(4); + var MapperService = (function () { + function MapperService() { + this.initScanCodeTextMap(); + this.initScanCodeFileName(); + this.initNameToFileNames(); + } + MapperService.prototype.scanCodeToText = function (scanCode) { + return this.scanCodeTextMap.get(scanCode); + }; + MapperService.prototype.hasScancodeIcon = function (scancode) { + return this.scanCodeFileName.has(scancode); + }; + MapperService.prototype.scanCodeToSvgImagePath = function (scanCode) { + var fileName = this.scanCodeFileName.get(scanCode); + if (fileName) { + return 'assets/compiled_sprite.svg#' + fileName; + } + return undefined; + }; + MapperService.prototype.getIcon = function (iconName) { + return 'assets/compiled_sprite.svg#' + this.nameToFileName.get(iconName); + }; + MapperService.prototype.modifierMapper = function (x) { + if (x < 8) { + return Math.floor(x / 2) * 4 + 1 - x; // 1, 0, 3, 2, 5, 4, 7, 6 + } + else { + return x; + } + }; + // TODO: read the mapping from JSON + MapperService.prototype.initScanCodeTextMap = function () { + this.scanCodeTextMap = new Map(); + this.scanCodeTextMap.set(4, ['A']); + this.scanCodeTextMap.set(5, ['B']); + this.scanCodeTextMap.set(6, ['C']); + this.scanCodeTextMap.set(7, ['D']); + this.scanCodeTextMap.set(8, ['E']); + this.scanCodeTextMap.set(9, ['F']); + this.scanCodeTextMap.set(10, ['G']); + this.scanCodeTextMap.set(11, ['H']); + this.scanCodeTextMap.set(12, ['I']); + this.scanCodeTextMap.set(13, ['J']); + this.scanCodeTextMap.set(14, ['K']); + this.scanCodeTextMap.set(15, ['L']); + this.scanCodeTextMap.set(16, ['M']); + this.scanCodeTextMap.set(17, ['N']); + this.scanCodeTextMap.set(18, ['O']); + this.scanCodeTextMap.set(19, ['P']); + this.scanCodeTextMap.set(20, ['Q']); + this.scanCodeTextMap.set(21, ['R']); + this.scanCodeTextMap.set(22, ['S']); + this.scanCodeTextMap.set(23, ['T']); + this.scanCodeTextMap.set(24, ['U']); + this.scanCodeTextMap.set(25, ['V']); + this.scanCodeTextMap.set(26, ['W']); + this.scanCodeTextMap.set(27, ['X']); + this.scanCodeTextMap.set(28, ['Y']); + this.scanCodeTextMap.set(29, ['Z']); + this.scanCodeTextMap.set(30, ['1', '!']); + this.scanCodeTextMap.set(31, ['2', '@']); + this.scanCodeTextMap.set(32, ['3', '#']); + this.scanCodeTextMap.set(33, ['4', '$']); + this.scanCodeTextMap.set(34, ['5', '%']); + this.scanCodeTextMap.set(35, ['6', '^']); + this.scanCodeTextMap.set(36, ['7', '&']); + this.scanCodeTextMap.set(37, ['8', '*']); + this.scanCodeTextMap.set(38, ['9', '(']); + this.scanCodeTextMap.set(39, ['0', ')']); + this.scanCodeTextMap.set(40, ['Enter']); + this.scanCodeTextMap.set(41, ['Esc']); + this.scanCodeTextMap.set(42, ['Backspace']); + this.scanCodeTextMap.set(43, ['Tab']); + this.scanCodeTextMap.set(44, ['Space']); + this.scanCodeTextMap.set(45, ['-', '_']); + this.scanCodeTextMap.set(46, ['=', '+']); + this.scanCodeTextMap.set(47, ['[', '{']); + this.scanCodeTextMap.set(48, [']', '}']); + this.scanCodeTextMap.set(49, ['\\', '|']); + this.scanCodeTextMap.set(50, ['NON_US_HASHMARK_AND_TILDE']); + this.scanCodeTextMap.set(51, [';', ':']); + this.scanCodeTextMap.set(52, ['\'', '"']); + this.scanCodeTextMap.set(53, ['`', '~']); + this.scanCodeTextMap.set(54, [',', '<']); + this.scanCodeTextMap.set(55, ['.', '>']); + this.scanCodeTextMap.set(56, ['/', '?']); + this.scanCodeTextMap.set(57, ['Caps Lock']); + this.scanCodeTextMap.set(58, ['F1']); + this.scanCodeTextMap.set(59, ['F2']); + this.scanCodeTextMap.set(60, ['F3']); + this.scanCodeTextMap.set(61, ['F4']); + this.scanCodeTextMap.set(62, ['F5']); + this.scanCodeTextMap.set(63, ['F6']); + this.scanCodeTextMap.set(64, ['F7']); + this.scanCodeTextMap.set(65, ['F8']); + this.scanCodeTextMap.set(66, ['F9']); + this.scanCodeTextMap.set(67, ['F10']); + this.scanCodeTextMap.set(68, ['F11']); + this.scanCodeTextMap.set(69, ['F12']); + this.scanCodeTextMap.set(70, ['PrtScn']); + this.scanCodeTextMap.set(71, ['Scroll Lock']); + this.scanCodeTextMap.set(72, ['Pause']); + this.scanCodeTextMap.set(73, ['Insert']); + this.scanCodeTextMap.set(74, ['Home']); + this.scanCodeTextMap.set(75, ['PgUp']); + this.scanCodeTextMap.set(76, ['Del']); + this.scanCodeTextMap.set(77, ['End']); + this.scanCodeTextMap.set(78, ['PgDn']); + this.scanCodeTextMap.set(79, ['Right Arrow']); + this.scanCodeTextMap.set(80, ['Left Arrow']); + this.scanCodeTextMap.set(81, ['Down Arrow']); + this.scanCodeTextMap.set(82, ['Up Arrow']); + this.scanCodeTextMap.set(83, ['Num Lock']); + this.scanCodeTextMap.set(84, ['/']); + this.scanCodeTextMap.set(85, ['*']); + this.scanCodeTextMap.set(86, ['-']); + this.scanCodeTextMap.set(87, ['+']); + this.scanCodeTextMap.set(88, ['Enter']); + this.scanCodeTextMap.set(89, ['end', '1']); + this.scanCodeTextMap.set(90, ['2']); + this.scanCodeTextMap.set(91, ['pgdn', '3']); + this.scanCodeTextMap.set(92, ['4']); + this.scanCodeTextMap.set(93, ['5']); + this.scanCodeTextMap.set(94, ['6']); + this.scanCodeTextMap.set(95, ['home', '7']); + this.scanCodeTextMap.set(96, ['8']); + this.scanCodeTextMap.set(97, ['pgup', '9']); + this.scanCodeTextMap.set(98, ['Insert', '0']); + this.scanCodeTextMap.set(99, ['Del', '.']); + this.scanCodeTextMap.set(104, ['F13']); + this.scanCodeTextMap.set(105, ['F14']); + this.scanCodeTextMap.set(106, ['F15']); + this.scanCodeTextMap.set(107, ['F16']); + this.scanCodeTextMap.set(108, ['F17']); + this.scanCodeTextMap.set(109, ['F18']); + this.scanCodeTextMap.set(110, ['F19']); + this.scanCodeTextMap.set(111, ['F20']); + this.scanCodeTextMap.set(112, ['F21']); + this.scanCodeTextMap.set(113, ['F22']); + this.scanCodeTextMap.set(114, ['F23']); + this.scanCodeTextMap.set(115, ['F24']); + this.scanCodeTextMap.set(118, ['Menu']); + this.scanCodeTextMap.set(176, ['00']); + this.scanCodeTextMap.set(177, ['000']); + this.scanCodeTextMap.set(232, ['Play']); + this.scanCodeTextMap.set(233, ['Stop']); + this.scanCodeTextMap.set(234, ['Prev']); + this.scanCodeTextMap.set(235, ['Next']); + this.scanCodeTextMap.set(236, ['Eject']); + this.scanCodeTextMap.set(237, ['Vol +']); + this.scanCodeTextMap.set(238, ['Vol -']); + this.scanCodeTextMap.set(239, ['Mute']); + this.scanCodeTextMap.set(240, ['WWW']); + this.scanCodeTextMap.set(241, ['Bckwrd']); + this.scanCodeTextMap.set(242, ['Frwrd']); + this.scanCodeTextMap.set(243, ['Cancel']); + }; + MapperService.prototype.initScanCodeFileName = function () { + this.scanCodeFileName = new Map(); + this.scanCodeFileName.set(79, 'icon-kbd__mod--arrow-right'); + this.scanCodeFileName.set(80, 'icon-kbd__mod--arrow-left'); + this.scanCodeFileName.set(81, 'icon-kbd__mod--arrow-down'); + this.scanCodeFileName.set(82, 'icon-kbd__mod--arrow-up'); + this.scanCodeFileName.set(118, 'icon-kbd__mod--menu'); + }; + MapperService.prototype.initNameToFileNames = function () { + this.nameToFileName = new Map(); + this.nameToFileName.set('toggle', 'icon-kbd__fn--toggle'); + this.nameToFileName.set('switch-keymap', 'icon-kbd__mod--switch-keymap'); + this.nameToFileName.set('macro', 'icon-icon__macro'); + this.nameToFileName.set('shift', 'icon-kbd__default--modifier-shift'); + this.nameToFileName.set('option', 'icon-kbd__default--modifier-option'); + this.nameToFileName.set('command', 'icon-kbd__default--modifier-command'); + this.nameToFileName.set('mouse', 'icon-kbd__mouse'); + this.nameToFileName.set('left-arrow', 'icon-kbd__mod--arrow-left'); + this.nameToFileName.set('right-arrow', 'icon-kbd__mod--arrow-right'); + this.nameToFileName.set('down-arrow', 'icon-kbd__mod--arrow-down'); + this.nameToFileName.set('up-arrow', 'icon-kbd__mod--arrow-up'); + this.nameToFileName.set('scroll-left', 'icon-kbd__mouse--scroll-left'); + this.nameToFileName.set('scroll-right', 'icon-kbd__mouse--scroll-right'); + this.nameToFileName.set('scroll-down', 'icon-kbd__mouse--scroll-down'); + this.nameToFileName.set('scroll-up', 'icon-kbd__mouse--scroll-up'); + }; + return MapperService; + }()); + MapperService = __decorate([ + core_1.Injectable(), + __metadata("design:paramtypes", []) + ], MapperService); + exports.MapperService = MapperService; + + +/***/ }, +/* 203 */ +/***/ function(module, exports) { + + module.exports = "
\r\n \r\n
\r\n \r\n
{{ title }}
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
"; + +/***/ }, +/* 204 */ +/***/ function(module, exports) { + + module.exports = ":host {\n overflow: hidden;\n display: block; }\n :host.macro-item:first-of-type .list-group-item {\n border-radius: 4px 4px 0 0; }\n :host.macro-item:last-of-type .list-group-item {\n border-bottom: 0; }\n :host.gu-transit {\n opacity: 0.2; }\n :host.gu-transit .list-group-item {\n background: #f5f5f5; }\n\n.action--item {\n display: flex;\n flex-shrink: 0;\n border: 0;\n border-bottom: 1px solid #ddd; }\n .action--item icon {\n margin: 0 5px; }\n .action--item > div {\n display: flex;\n flex: 1; }\n .action--item:first-child {\n border-radius: 0; }\n .action--item.is-editing {\n background: #f5f5f5; }\n .action--item--wrap {\n justify-content: space-between; }\n .action--item--wrap.pointer:hover {\n cursor: pointer;\n color: #337ab7; }\n\n.action--title {\n display: flex;\n flex: 1; }\n\n.action--movable:hover {\n cursor: move; }\n\n.list-group-item {\n margin-bottom: 0; }\n\n.macro-action-editor__container {\n padding-top: 0;\n padding-bottom: 0;\n border-radius: 0;\n border: none;\n overflow: hidden; }\n" + +/***/ }, +/* 205 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var macro_action_editor_component_1 = __webpack_require__(206); + exports.MacroActionEditorComponent = macro_action_editor_component_1.MacroActionEditorComponent; + + +/***/ }, +/* 206 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var macro_action_1 = __webpack_require__(162); + var TabName; + (function (TabName) { + TabName[TabName["Keypress"] = 0] = "Keypress"; + TabName[TabName["Text"] = 1] = "Text"; + TabName[TabName["Mouse"] = 2] = "Mouse"; + TabName[TabName["Delay"] = 3] = "Delay"; + })(TabName || (TabName = {})); + ; + var MacroActionEditorComponent = (function () { + function MacroActionEditorComponent() { + this.save = new core_1.EventEmitter(); + this.cancel = new core_1.EventEmitter(); + /* tslint:disable:variable-name: It is an enum type. So it can start with uppercase. */ + /* tslint:disable:no-unused-variable: It is used in the template. */ + this.TabName = TabName; + } + /* tslint:enable:no-unused-variable */ + /* tslint:enable:variable-name */ + MacroActionEditorComponent.prototype.ngOnInit = function () { + var macroAction = this.macroAction ? this.macroAction : new macro_action_1.TextMacroAction(); + this.editableMacroAction = new macro_action_1.EditableMacroAction(macroAction.toJsonObject()); + var tab = this.getTabName(this.editableMacroAction); + this.activeTab = tab; + }; + MacroActionEditorComponent.prototype.onCancelClick = function () { + this.cancel.emit(); + }; + MacroActionEditorComponent.prototype.onSaveClick = function () { + try { + var action = this.editableMacroAction; + if (action.isKeyAction()) { + // Could updating the saved keys be done in a better way? + var tab = this.selectedTab; + action.fromKeyAction(tab.getKeyAction()); + } + this.save.emit(action.toClass()); + } + catch (e) { + // TODO: show error dialog + console.error(e); + } + }; + MacroActionEditorComponent.prototype.selectTab = function (tab) { + this.activeTab = tab; + this.editableMacroAction.macroActionType = this.getTabMacroActionType(tab); + }; + MacroActionEditorComponent.prototype.getTabName = function (action) { + switch (action.macroActionType) { + // Delay action + case macro_action_1.macroActionType.DelayMacroAction: + return TabName.Delay; + // Text action + case macro_action_1.macroActionType.TextMacroAction: + return TabName.Text; + // Keypress actions + case macro_action_1.macroActionType.KeyMacroAction: + return TabName.Keypress; + // Mouse actions + case macro_action_1.macroActionType.MouseButtonMacroAction: + case macro_action_1.macroActionType.MoveMouseMacroAction: + case macro_action_1.macroActionType.ScrollMouseMacroAction: + return TabName.Mouse; + default: + return TabName.Keypress; + } + }; + MacroActionEditorComponent.prototype.getTabMacroActionType = function (tab) { + switch (tab) { + case TabName.Delay: + return macro_action_1.macroActionType.DelayMacroAction; + case TabName.Keypress: + return macro_action_1.macroActionType.KeyMacroAction; + case TabName.Mouse: + return macro_action_1.macroActionType.MouseButtonMacroAction; + case TabName.Text: + return macro_action_1.macroActionType.TextMacroAction; + default: + throw new Error('Could not get macro action type'); + } + }; + return MacroActionEditorComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", macro_action_1.MacroAction) + ], MacroActionEditorComponent.prototype, "macroAction", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], MacroActionEditorComponent.prototype, "save", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], MacroActionEditorComponent.prototype, "cancel", void 0); + __decorate([ + core_1.ViewChild('tab'), + __metadata("design:type", Object) + ], MacroActionEditorComponent.prototype, "selectedTab", void 0); + MacroActionEditorComponent = __decorate([ + core_1.Component({ + selector: 'macro-action-editor', + template: __webpack_require__(207), + styles: [__webpack_require__(208)], + host: { 'class': 'macro-action-editor' } + }) + ], MacroActionEditorComponent); + exports.MacroActionEditorComponent = MacroActionEditorComponent; + + +/***/ }, +/* 207 */ +/***/ function(module, exports) { + + module.exports = "
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
"; + +/***/ }, +/* 208 */ +/***/ function(module, exports) { + + module.exports = ":host {\n display: block;\n width: 100%; }\n\n.action--editor {\n padding-top: 0;\n padding-bottom: 0;\n border-radius: 0;\n border: 0; }\n\n.nav {\n padding-bottom: 1rem; }\n .nav li a {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .nav li a.selected {\n font-style: italic; }\n .nav li a:hover {\n cursor: pointer; }\n .nav li.active {\n z-index: 2; }\n .nav li.active a.selected {\n font-style: normal; }\n .nav li.active a:after {\n content: '';\n display: block;\n position: absolute;\n width: 0;\n height: 0;\n top: 0;\n right: -4rem;\n border-color: transparent transparent transparent #337ab7;\n border-style: solid;\n border-width: 2rem; }\n\n.editor__tabs, .editor__tab-links {\n padding-top: 1rem; }\n\n.editor__tabs {\n border-left: 1px solid #ddd;\n margin-left: -1.6rem;\n padding-left: 3rem; }\n\n.editor__actions {\n float: right; }\n .editor__actions-container {\n background: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom: 1px solid #ddd;\n padding: 1rem 1.5rem; }\n\n.flex-button-wrapper {\n display: flex;\n flex-direction: row-reverse; }\n\n.flex-button {\n align-self: flex-end; }\n" + +/***/ }, +/* 209 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var delay_1 = __webpack_require__(210); + exports.MacroDelayTabComponent = delay_1.MacroDelayTabComponent; + var key_1 = __webpack_require__(214); + exports.MacroKeyTabComponent = key_1.MacroKeyTabComponent; + var mouse_1 = __webpack_require__(246); + exports.MacroMouseTabComponent = mouse_1.MacroMouseTabComponent; + var text_1 = __webpack_require__(250); + exports.MacroTextTabComponent = text_1.MacroTextTabComponent; + + +/***/ }, +/* 210 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var macro_delay_component_1 = __webpack_require__(211); + exports.MacroDelayTabComponent = macro_delay_component_1.MacroDelayTabComponent; + + +/***/ }, +/* 211 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var macro_action_1 = __webpack_require__(162); + var INITIAL_DELAY = 0.5; // In seconds + var MacroDelayTabComponent = (function () { + /* tslint:enable:no-unused-variable */ + function MacroDelayTabComponent() { + /* tslint:disable:no-unused-variable: It is used in the template. */ + this.presets = [0.3, 0.5, 0.8, 1, 2, 3, 4, 5]; + } + MacroDelayTabComponent.prototype.ngOnInit = function () { + this.delay = this.macroAction.delay > 0 ? this.macroAction.delay / 1000 : INITIAL_DELAY; + }; + MacroDelayTabComponent.prototype.setDelay = function (value) { + this.delay = value; + this.macroAction.delay = this.delay * 1000; + }; + return MacroDelayTabComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", macro_action_1.EditableMacroAction) + ], MacroDelayTabComponent.prototype, "macroAction", void 0); + __decorate([ + core_1.ViewChild('macroDelayInput'), + __metadata("design:type", core_1.ElementRef) + ], MacroDelayTabComponent.prototype, "input", void 0); + MacroDelayTabComponent = __decorate([ + core_1.Component({ + selector: 'macro-delay-tab', + template: __webpack_require__(212), + styles: [__webpack_require__(213)], + host: { 'class': 'macro__delay' }, + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", []) + ], MacroDelayTabComponent); + exports.MacroDelayTabComponent = MacroDelayTabComponent; + + +/***/ }, +/* 212 */ +/***/ function(module, exports) { + + module.exports = "
\r\n
\r\n
\r\n

Enter delay in seconds

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Choose a preset
\r\n \r\n
\r\n
\r\n
\r\n"; + +/***/ }, +/* 213 */ +/***/ function(module, exports) { + + module.exports = ":host {\n display: flex;\n flex-direction: column;\n position: relative; }\n\n.macro-delay__presets {\n margin-top: 1rem; }\n .macro-delay__presets button {\n margin-right: 0.25rem;\n margin-bottom: 0.25rem; }\n" + +/***/ }, +/* 214 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var macro_key_component_1 = __webpack_require__(215); + exports.MacroKeyTabComponent = macro_key_component_1.MacroKeyTabComponent; + + +/***/ }, +/* 215 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var macro_action_1 = __webpack_require__(162); + var tab_1 = __webpack_require__(216); + var tab_2 = __webpack_require__(216); + var TabName; + (function (TabName) { + TabName[TabName["Keypress"] = 0] = "Keypress"; + TabName[TabName["Hold"] = 1] = "Hold"; + TabName[TabName["Release"] = 2] = "Release"; + })(TabName || (TabName = {})); + var MacroKeyTabComponent = (function () { + function MacroKeyTabComponent() { + /* tslint:disable:variable-name: It is an enum type. So it can start with uppercase. */ + /* tslint:disable:no-unused-variable: It is used in the template. */ + this.TabName = TabName; + } + /* tslint:enable:no-unused-variable */ + /* tslint:enable:variable-name */ + MacroKeyTabComponent.prototype.ngOnInit = function () { + this.defaultKeyAction = this.macroAction.toKeystrokeAction(); + this.selectTab(this.getTabName(this.macroAction)); + }; + MacroKeyTabComponent.prototype.selectTab = function (tab) { + this.activeTab = tab; + this.macroAction.action = this.getActionType(tab); + }; + MacroKeyTabComponent.prototype.getTabName = function (action) { + if (!action.action || action.isOnlyPressAction()) { + return TabName.Keypress; + } + else if (action.isOnlyHoldAction()) { + return TabName.Hold; + } + else if (action.isOnlyReleaseAction()) { + return TabName.Release; + } + }; + MacroKeyTabComponent.prototype.getActionType = function (tab) { + switch (tab) { + case TabName.Keypress: + return macro_action_1.MacroSubAction.press; + case TabName.Hold: + return macro_action_1.MacroSubAction.hold; + case TabName.Release: + return macro_action_1.MacroSubAction.release; + default: + throw new Error('Invalid tab type'); + } + }; + MacroKeyTabComponent.prototype.getKeyAction = function () { + return this.keypressTab.toKeyAction(); + }; + return MacroKeyTabComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", macro_action_1.EditableMacroAction) + ], MacroKeyTabComponent.prototype, "macroAction", void 0); + __decorate([ + core_1.ViewChild('tab'), + __metadata("design:type", tab_2.Tab) + ], MacroKeyTabComponent.prototype, "selectedTab", void 0); + __decorate([ + core_1.ViewChild('keypressTab'), + __metadata("design:type", tab_1.KeypressTabComponent) + ], MacroKeyTabComponent.prototype, "keypressTab", void 0); + MacroKeyTabComponent = __decorate([ + core_1.Component({ + selector: 'macro-key-tab', + template: __webpack_require__(244), + styles: [ + __webpack_require__(208), + __webpack_require__(245) + ], + host: { 'class': 'macro__mouse' } + }) + ], MacroKeyTabComponent); + exports.MacroKeyTabComponent = MacroKeyTabComponent; + + +/***/ }, +/* 216 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(217)); + var keymap_1 = __webpack_require__(218); + exports.KeymapTabComponent = keymap_1.KeymapTabComponent; + var keypress_1 = __webpack_require__(222); + exports.KeypressTabComponent = keypress_1.KeypressTabComponent; + var layer_1 = __webpack_require__(228); + exports.LayerTabComponent = layer_1.LayerTabComponent; + var macro_1 = __webpack_require__(232); + exports.MacroTabComponent = macro_1.MacroTabComponent; + var mouse_1 = __webpack_require__(236); + exports.MouseTabComponent = mouse_1.MouseTabComponent; + var none_1 = __webpack_require__(240); + exports.NoneTabComponent = none_1.NoneTabComponent; + + +/***/ }, +/* 217 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var Tab = (function () { + function Tab() { + this.validAction = new core_1.EventEmitter(); + } + return Tab; + }()); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], Tab.prototype, "validAction", void 0); + exports.Tab = Tab; + + +/***/ }, +/* 218 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(219)); + + +/***/ }, +/* 219 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var key_action_1 = __webpack_require__(142); + var tab_1 = __webpack_require__(217); + var KeymapTabComponent = (function (_super) { + __extends(KeymapTabComponent, _super); + function KeymapTabComponent() { + var _this = _super.call(this) || this; + _this.keymapOptions = []; + return _this; + } + KeymapTabComponent.prototype.ngOnInit = function () { + this.keymapOptions = this.keymaps + .map(function (keymap) { + return { + id: keymap.abbreviation, + text: keymap.name + }; + }); + if (this.keymaps.length > 0) { + this.selectedKeymap = this.keymaps[0]; + } + }; + KeymapTabComponent.prototype.ngOnChanges = function () { + this.fromKeyAction(this.defaultKeyAction); + this.validAction.emit(true); + }; + // TODO: change to the correct type when the wrapper has added it. + KeymapTabComponent.prototype.onChange = function (event) { + if (event.value === '-1') { + this.selectedKeymap = undefined; + } + else { + this.selectedKeymap = this.keymaps.find(function (keymap) { return keymap.abbreviation === event.value; }); + } + }; + KeymapTabComponent.prototype.keyActionValid = function () { + return !!this.selectedKeymap; + }; + KeymapTabComponent.prototype.fromKeyAction = function (keyAction) { + if (!(keyAction instanceof key_action_1.SwitchKeymapAction)) { + return false; + } + var switchKeymapAction = keyAction; + this.selectedKeymap = this.keymaps + .find(function (keymap) { return keymap.abbreviation === switchKeymapAction.keymapAbbreviation; }); + }; + KeymapTabComponent.prototype.toKeyAction = function () { + if (!this.keyActionValid()) { + throw new Error('KeyAction is not valid. No selected keymap!'); + } + var keymapAction = new key_action_1.SwitchKeymapAction(); + keymapAction.keymapAbbreviation = this.selectedKeymap.abbreviation; + return keymapAction; + }; + return KeymapTabComponent; + }(tab_1.Tab)); + __decorate([ + core_1.Input(), + __metadata("design:type", key_action_1.KeyAction) + ], KeymapTabComponent.prototype, "defaultKeyAction", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Array) + ], KeymapTabComponent.prototype, "keymaps", void 0); + KeymapTabComponent = __decorate([ + core_1.Component({ + selector: 'keymap-tab', + template: __webpack_require__(220), + styles: [__webpack_require__(221)], + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", []) + ], KeymapTabComponent); + exports.KeymapTabComponent = KeymapTabComponent; + + +/***/ }, +/* 220 */ +/***/ function(module, exports) { + + module.exports = "\r\n"; + +/***/ }, +/* 221 */ +/***/ function(module, exports) { + + module.exports = ":host {\n display: flex;\n flex-direction: column; }\n :host > span {\n text-align: center; }\n :host > div {\n display: flex;\n margin-top: 2px; }\n :host > div b {\n display: flex;\n align-items: center;\n margin-right: 7px; }\n :host > div select2 {\n flex: 1; }\n :host > div:last-child {\n margin-top: 10px; }\n :host > div:last-child img {\n max-height: 100%;\n max-width: 100%; }\n\n.empty {\n display: flex; }\n .empty img {\n display: flex;\n width: 100%;\n height: 100%;\n position: relative; }\n" + +/***/ }, +/* 222 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(223)); + + +/***/ }, +/* 223 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(jQuery) {"use strict"; + var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var key_action_1 = __webpack_require__(142); + var tab_1 = __webpack_require__(217); + var mapper_service_1 = __webpack_require__(202); + var KeypressTabComponent = (function (_super) { + __extends(KeypressTabComponent, _super); + function KeypressTabComponent(mapper) { + var _this = _super.call(this) || this; + _this.mapper = mapper; + _this.scanCodeTemplateResult = function (state) { + if (!state.id) { + return state.text; + } + if (state.additional && state.additional.explanation) { + return jQuery('' + + '' + state.text + '' + + ' ' + + state.additional.explanation + + '' + + ''); + } + else { + return jQuery('' + state.text + ''); + } + }; + _this.leftModifiers = ['LShift', 'LCtrl', 'LSuper', 'LAlt']; + _this.rightModifiers = ['RShift', 'RCtrl', 'RSuper', 'RAlt']; + _this.scanCodeGroups = [{ + id: '0', + text: 'None' + }]; + _this.scanCodeGroups = _this.scanCodeGroups.concat(__webpack_require__(224)); + _this.longPressGroups = __webpack_require__(225); + _this.leftModifierSelects = Array(_this.leftModifiers.length).fill(false); + _this.rightModifierSelects = Array(_this.rightModifiers.length).fill(false); + _this.scanCode = 0; + _this.selectedLongPressIndex = -1; + _this.options = { + templateResult: _this.scanCodeTemplateResult, + matcher: function (term, text, data) { + var found = text.toUpperCase().indexOf(term.toUpperCase()) > -1; + if (!found && data.additional && data.additional.explanation) { + found = data.additional.explanation.toUpperCase().indexOf(term.toUpperCase()) > -1; + } + return found; + } + }; + return _this; + } + KeypressTabComponent.prototype.ngOnChanges = function () { + this.fromKeyAction(this.defaultKeyAction); + this.validAction.emit(this.keyActionValid()); + }; + KeypressTabComponent.prototype.keyActionValid = function (keystrokeAction) { + if (!keystrokeAction) { + keystrokeAction = this.toKeyAction(); + } + return (keystrokeAction) ? (keystrokeAction.scancode > 0 || keystrokeAction.modifierMask > 0) : false; + }; + KeypressTabComponent.prototype.onKeysCapture = function (event) { + if (event.code) { + this.scanCode = event.code; + } + else { + this.scanCode = 0; + } + this.leftModifierSelects = event.left; + this.rightModifierSelects = event.right; + this.validAction.emit(this.keyActionValid()); + }; + KeypressTabComponent.prototype.fromKeyAction = function (keyAction) { + if (!(keyAction instanceof key_action_1.KeystrokeAction)) { + return false; + } + var keystrokeAction = keyAction; + // Restore scancode + this.scanCode = keystrokeAction.scancode || 0; + var leftModifiersLength = this.leftModifiers.length; + // Restore modifiers + for (var i = 0; i < leftModifiersLength; ++i) { + this.leftModifierSelects[this.mapper.modifierMapper(i)] = ((keystrokeAction.modifierMask >> i) & 1) === 1; + } + for (var i = leftModifiersLength; i < leftModifiersLength + this.rightModifierSelects.length; ++i) { + var index = this.mapper.modifierMapper(i) - leftModifiersLength; + this.rightModifierSelects[index] = ((keystrokeAction.modifierMask >> i) & 1) === 1; + } + // Restore longPressAction + if (keystrokeAction.longPressAction !== undefined) { + this.selectedLongPressIndex = this.mapper.modifierMapper(keystrokeAction.longPressAction); + } + return true; + }; + KeypressTabComponent.prototype.toKeyAction = function () { + var keystrokeAction = new key_action_1.KeystrokeAction(); + keystrokeAction.scancode = this.scanCode; + keystrokeAction.modifierMask = 0; + var modifiers = this.leftModifierSelects.concat(this.rightModifierSelects).map(function (x) { return x ? 1 : 0; }); + for (var i = 0; i < modifiers.length; ++i) { + keystrokeAction.modifierMask |= modifiers[i] << this.mapper.modifierMapper(i); + } + keystrokeAction.longPressAction = this.selectedLongPressIndex === -1 + ? undefined + : this.mapper.modifierMapper(this.selectedLongPressIndex); + if (this.keyActionValid(keystrokeAction)) { + return keystrokeAction; + } + }; + KeypressTabComponent.prototype.toggleModifier = function (right, index) { + var modifierSelects = right ? this.rightModifierSelects : this.leftModifierSelects; + modifierSelects[index] = !modifierSelects[index]; + this.validAction.emit(this.keyActionValid()); + }; + KeypressTabComponent.prototype.onLongpressChange = function (event) { + this.selectedLongPressIndex = +event.value; + }; + KeypressTabComponent.prototype.onScancodeChange = function (event) { + this.scanCode = +event.value; + this.validAction.emit(this.keyActionValid()); + }; + return KeypressTabComponent; + }(tab_1.Tab)); + __decorate([ + core_1.Input(), + __metadata("design:type", key_action_1.KeyAction) + ], KeypressTabComponent.prototype, "defaultKeyAction", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], KeypressTabComponent.prototype, "longPressEnabled", void 0); + KeypressTabComponent = __decorate([ + core_1.Component({ + selector: 'keypress-tab', + template: __webpack_require__(226), + styles: [__webpack_require__(227)] + }), + __metadata("design:paramtypes", [mapper_service_1.MapperService]) + ], KeypressTabComponent); + exports.KeypressTabComponent = KeypressTabComponent; + + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(93))) + +/***/ }, +/* 224 */ +/***/ function(module, exports) { + + module.exports = [ + { + "text": "Alphabet", + "children": [ + { + "id": "4", + "text": "A" + }, + { + "id": "5", + "text": "B" + }, + { + "id": "6", + "text": "C" + }, + { + "id": "7", + "text": "D" + }, + { + "id": "8", + "text": "E" + }, + { + "id": "9", + "text": "F" + }, + { + "id": "10", + "text": "G" + }, + { + "id": "11", + "text": "H" + }, + { + "id": "12", + "text": "I" + }, + { + "id": "13", + "text": "J" + }, + { + "id": "14", + "text": "K" + }, + { + "id": "15", + "text": "L" + }, + { + "id": "16", + "text": "M" + }, + { + "id": "17", + "text": "N" + }, + { + "id": "18", + "text": "O" + }, + { + "id": "19", + "text": "P" + }, + { + "id": "20", + "text": "Q" + }, + { + "id": "21", + "text": "R" + }, + { + "id": "22", + "text": "S" + }, + { + "id": "23", + "text": "T" + }, + { + "id": "24", + "text": "U" + }, + { + "id": "25", + "text": "V" + }, + { + "id": "26", + "text": "W" + }, + { + "id": "27", + "text": "X" + }, + { + "id": "28", + "text": "Y" + }, + { + "id": "29", + "text": "Z" + } + ] + }, + { + "text": "Number Row", + "children": [ + { + "id": "30", + "text": "1 !" + }, + { + "id": "31", + "text": "2 @" + }, + { + "id": "32", + "text": "3 #" + }, + { + "id": "33", + "text": "4 $" + }, + { + "id": "34", + "text": "5 %" + }, + { + "id": "35", + "text": "6 ^" + }, + { + "id": "36", + "text": "7 &" + }, + { + "id": "37", + "text": "8 *" + }, + { + "id": "38", + "text": "9 (" + }, + { + "id": "39", + "text": "0 )" + } + ] + }, + { + "text": "Whitespace", + "children": [ + { + "id": "40", + "additional": { + "explanation": "Return" + }, + "text": "Enter" + }, + { + "id": "41", + "text": "Escape" + }, + { + "id": "42", + "text": "Backspace" + }, + { + "id": "43", + "text": "Tab" + }, + { + "id": "44", + "text": "Space" + } + ] + }, + { + "text": "Punctuation", + "children": [ + { + "id": "45", + "text": "- _" + }, + { + "id": "46", + "text": "= +" + }, + { + "id": "47", + "text": "[ {" + }, + { + "id": "48", + "text": "] }" + }, + { + "id": "49", + "text": "\\ |" + }, + { + "id": "51", + "text": "; :" + }, + { + "id": "52", + "text": "' \"" + }, + { + "id": "53", + "text": "` ~" + }, + { + "id": "54", + "text": ", <" + }, + { + "id": "55", + "text": ". >" + }, + { + "id": "56", + "text": "/ ?" + } + ] + }, + { + "text": "Function keys", + "children": [ + { + "id": "58", + "text": "F1" + }, + { + "id": "59", + "text": "F2" + }, + { + "id": "60", + "text": "F3" + }, + { + "id": "61", + "text": "F4" + }, + { + "id": "62", + "text": "F5" + }, + { + "id": "63", + "text": "F6" + }, + { + "id": "64", + "text": "F7" + }, + { + "id": "65", + "text": "F8" + }, + { + "id": "66", + "text": "F9" + }, + { + "id": "67", + "text": "F10" + }, + { + "id": "68", + "text": "F11" + }, + { + "id": "69", + "text": "F12" + }, + { + "id": "104", + "text": "F13" + }, + { + "id": "105", + "text": "F14" + }, + { + "id": "106", + "text": "F15" + }, + { + "id": "107", + "text": "F16" + }, + { + "id": "108", + "text": "F17" + }, + { + "id": "109", + "text": "F18" + }, + { + "id": "110", + "text": "F19" + }, + { + "id": "111", + "text": "F20" + }, + { + "id": "112", + "text": "F21" + }, + { + "id": "113", + "text": "F22" + }, + { + "id": "114", + "text": "F23" + }, + { + "id": "115", + "text": "F24" + } + ] + }, + { + "text": "Navigation", + "children": [ + { + "id": "74", + "text": "Home" + }, + { + "id": "75", + "additional": { + "explanation": "PgUp pageup" + }, + "text": "Page Up" + }, + { + "id": "77", + "text": "End" + }, + { + "id": "78", + "additional": { + "explanation": "PgDn pagedown" + }, + "text": "Page Down" + }, + { + "id": "79", + "additional": { + "explanation": "ArrowRight" + }, + "text": "Right Arrow" + }, + { + "id": "80", + "additional": { + "explanation": "ArrowLeft" + }, + "text": "Left Arrow" + }, + { + "id": "81", + "additional": { + "explanation": "ArrowDown" + }, + "text": "Down Arrow" + }, + { + "id": "82", + "additional": { + "explanation": "ArrowUp" + }, + "text": "Up Arrow" + } + ] + }, + { + "text": "Numpad", + "children": [ + { + "id": "83", + "text": "NumLock" + }, + { + "id": "84", + "additional": { + "explanation": "slash" + }, + "text": "/" + }, + { + "id": "85", + "additional": { + "explanation": "asterisk" + }, + "text": "*" + }, + { + "id": "86", + "additional": { + "explanation": "minus" + }, + "text": "-" + }, + { + "id": "87", + "additional": { + "explanation": "plus" + }, + "text": "+" + }, + { + "id": "88", + "text": "Enter" + }, + { + "id": "89", + "additional": { + "explanation": "one" + }, + "text": "1" + }, + { + "id": "90", + "additional": { + "explanation": "two" + }, + "text": "2" + }, + { + "id": "91", + "additional": { + "explanation": "three" + }, + "text": "3" + }, + { + "id": "92", + "additional": { + "explanation": "four" + }, + "text": "4" + }, + { + "id": "93", + "additional": { + "explanation": "five" + }, + "text": "5" + }, + { + "id": "94", + "additional": { + "explanation": "six" + }, + "text": "6" + }, + { + "id": "95", + "additional": { + "explanation": "seven" + }, + "text": "7" + }, + { + "id": "96", + "additional": { + "explanation": "eight" + }, + "text": "8" + }, + { + "id": "97", + "additional": { + "explanation": "nine" + }, + "text": "9" + }, + { + "id": "98", + "additional": { + "explanation": "zero" + }, + "text": "0" + }, + { + "id": "99", + "additional": { + "explanation": "Period" + }, + "text": "." + }, + { + "id": "176", + "additional": { + "explanation": "Doublezero" + }, + "text": "00" + }, + { + "id": "177", + "additional": { + "explanation": "Triplezero" + }, + "text": "000" + } + ] + }, + { + "text": "Misc", + "children": [ + { + "id": "118", + "text": "Menu" + }, + { + "id": "73", + "text": "Insert" + }, + { + "id": "76", + "additional": { + "explanation": "Delete Forward" + }, + "text": "Delete" + }, + { + "id": "57", + "text": "CapsLock" + }, + { + "id": "70", + "text": "PrintScreen" + }, + { + "id": "71", + "text": "ScrollLock" + }, + { + "id": "72", + "text": "Pause" + } + ] + }, + { + "text": "Media Keys", + "children": [ + { + "id": "127", + "text": "Mute" + }, + { + "id": "128", + "text": "Volume Up" + }, + { + "id": "129", + "text": "Volume Down" + }, + { + "id": "", + "text": "Next Track" + }, + { + "id": "", + "text": "Previous Track" + }, + { + "id": "", + "text": "Stop" + }, + { + "id": "", + "text": "Play/Pause" + }, + { + "id": "", + "text": "Eject" + } + ] + } + ]; + +/***/ }, +/* 225 */ +/***/ function(module, exports) { + + module.exports = [ + { + "id": "-1", + "text": "None" + }, + { + "text": "Modifiers", + "children": [ + { + "id": "0", + "text": "LShift" + }, + { + "id": "1", + "text": "LCtrl" + }, + { + "id": "2", + "text": "LSuper" + }, + { + "id": "3", + "text": "LAlt" + }, + { + "id": "4", + "text": "RShift" + }, + { + "id": "5", + "text": "RCtrl" + }, + { + "id": "6", + "text": "RSuper" + }, + { + "id": "7", + "text": "RAlt" + } + ] + }, + { + "text": "Layer switcher", + "children": [ + { + "id": "8", + "text": "Mod" + }, + { + "id": "9", + "text": "Mouse" + }, + { + "id": "10", + "text": "Fn" + } + ] + } + ]; + +/***/ }, +/* 226 */ +/***/ function(module, exports) { + + module.exports = "
\r\n Scancode:\r\n \r\n \r\n
\r\n
\r\n Modifiers:\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Long press action:\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n When a key is configured as layer switcher key, you can't assign other functions to it.\r\n To assign a scancode to the key, set the Layer action to None.\r\n
"; + +/***/ }, +/* 227 */ +/***/ function(module, exports) { + + module.exports = ":host {\n display: flex;\n flex-direction: column;\n position: relative; }\n :host .scancode-options {\n margin-bottom: 10px;\n margin-top: 2px; }\n :host .scancode-options > b {\n position: relative;\n top: 2px; }\n :host .modifier-options > b {\n position: relative;\n top: -9px;\n margin-right: 4px; }\n :host .modifier-options .btn-toolbar {\n display: inline-block; }\n :host .long-press-container {\n display: flex;\n margin-top: 3rem; }\n :host .long-press-container > b {\n margin-right: 0.6em;\n align-items: center;\n display: flex; }\n :host .long-press-container .secondary-role {\n width: 135px; }\n :host .long-press-container icon {\n margin-left: 0.6em; }\n :host .setting-label.disabled {\n color: #999; }\n :host .disabled-state--text {\n display: none;\n position: absolute;\n top: 50%;\n margin-top: -4rem;\n color: #31708f;\n padding-right: 40px; }\n :host .disabled-state--text .fa {\n font-size: 2.6rem;\n float: left;\n padding: 1rem 1.5rem 2rem; }\n :host.disabled .scancode-options,\n :host.disabled .modifier-options,\n :host.disabled .long-press-container {\n visibility: hidden; }\n :host.disabled .disabled-state--text {\n display: block; }\n" + +/***/ }, +/* 228 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(229)); + + +/***/ }, +/* 229 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var key_action_1 = __webpack_require__(142); + var tab_1 = __webpack_require__(217); + var LayerTabComponent = (function (_super) { + __extends(LayerTabComponent, _super); + function LayerTabComponent() { + var _this = _super.call(this) || this; + _this.toggleData = [ + { + id: false, + text: 'Activate' + }, + { + id: true, + text: 'Toggle' + } + ]; + _this.layerData = [ + { + id: 0, + text: 'Mod' + }, + { + id: 1, + text: 'Fn' + }, + { + id: 2, + text: 'Mouse' + } + ]; + _this.toggle = false; + _this.layer = key_action_1.LayerName.mod; + return _this; + } + LayerTabComponent.prototype.ngOnChanges = function (changes) { + if (changes['defaultKeyAction']) { + this.fromKeyAction(this.defaultKeyAction); + } + if (changes['currentLayer']) { + this.isNotBase = this.currentLayer > 0; + } + this.validAction.emit(true); + }; + LayerTabComponent.prototype.keyActionValid = function () { + return !this.isNotBase; + }; + LayerTabComponent.prototype.fromKeyAction = function (keyAction) { + if (!(keyAction instanceof key_action_1.SwitchLayerAction)) { + return false; + } + var switchLayerAction = keyAction; + this.toggle = switchLayerAction.isLayerToggleable; + this.layer = switchLayerAction.layer; + return true; + }; + LayerTabComponent.prototype.toKeyAction = function () { + var keyAction = new key_action_1.SwitchLayerAction(); + keyAction.isLayerToggleable = this.toggle; + keyAction.layer = this.layer; + if (!this.keyActionValid()) { + throw new Error('KeyAction is invalid!'); + } + return keyAction; + }; + LayerTabComponent.prototype.toggleChanged = function (value) { + this.toggle = value === 'true'; + }; + LayerTabComponent.prototype.layerChanged = function (value) { + this.layer = +value; + }; + return LayerTabComponent; + }(tab_1.Tab)); + __decorate([ + core_1.Input(), + __metadata("design:type", key_action_1.KeyAction) + ], LayerTabComponent.prototype, "defaultKeyAction", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], LayerTabComponent.prototype, "currentLayer", void 0); + __decorate([ + core_1.HostBinding('class.no-base'), + __metadata("design:type", Boolean) + ], LayerTabComponent.prototype, "isNotBase", void 0); + LayerTabComponent = __decorate([ + core_1.Component({ + selector: 'layer-tab', + template: __webpack_require__(230), + styles: [__webpack_require__(231)] + }), + __metadata("design:paramtypes", []) + ], LayerTabComponent); + exports.LayerTabComponent = LayerTabComponent; + + +/***/ }, +/* 230 */ +/***/ function(module, exports) { + + module.exports = "\r\n"; + +/***/ }, +/* 231 */ +/***/ function(module, exports) { + + module.exports = ":host {\n display: flex;\n margin: 0 -5px; }\n :host.no-base {\n justify-content: center; }\n :host > span,\n :host > select {\n margin: 0 5px;\n display: flex;\n align-items: center; }\n\nselect {\n background-color: #fff;\n border: 1px solid #aaa;\n border-radius: 4px;\n padding: 4px 20px 4px 8px; }\n" + +/***/ }, +/* 232 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(233)); + + +/***/ }, +/* 233 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var store_1 = __webpack_require__(44); + var key_action_1 = __webpack_require__(142); + var tab_1 = __webpack_require__(217); + var user_configuration_1 = __webpack_require__(141); + var MacroTabComponent = (function (_super) { + __extends(MacroTabComponent, _super); + function MacroTabComponent(store) { + var _this = _super.call(this) || this; + _this.store = store; + _this.subscription = store.let(user_configuration_1.getMacros()) + .subscribe(function (macros) { return _this.macros = macros; }); + _this.macroOptions = []; + _this.selectedMacroIndex = 0; + return _this; + } + MacroTabComponent.prototype.ngOnInit = function () { + this.macroOptions = this.macros.map(function (macro, index) { + return { + id: index.toString(), + text: macro.name + }; + }); + }; + MacroTabComponent.prototype.ngOnChanges = function () { + this.fromKeyAction(this.defaultKeyAction); + this.validAction.emit(true); + }; + // TODO: change to the correct type when the wrapper has added it. + MacroTabComponent.prototype.onChange = function (event) { + this.selectedMacroIndex = +event.value; + }; + MacroTabComponent.prototype.keyActionValid = function () { + return this.selectedMacroIndex >= 0; + }; + MacroTabComponent.prototype.fromKeyAction = function (keyAction) { + if (!(keyAction instanceof key_action_1.PlayMacroAction)) { + return false; + } + var playMacroAction = keyAction; + this.selectedMacroIndex = this.macros.findIndex(function (macro) { return playMacroAction.macroId === macro.id; }); + return true; + }; + MacroTabComponent.prototype.toKeyAction = function () { + if (!this.keyActionValid()) { + throw new Error('KeyAction is not valid. No selected macro!'); + } + var keymapAction = new key_action_1.PlayMacroAction(); + keymapAction.macroId = this.macros[this.selectedMacroIndex].id; + return keymapAction; + }; + MacroTabComponent.prototype.ngOnDestroy = function () { + this.subscription.unsubscribe(); + }; + return MacroTabComponent; + }(tab_1.Tab)); + __decorate([ + core_1.Input(), + __metadata("design:type", key_action_1.KeyAction) + ], MacroTabComponent.prototype, "defaultKeyAction", void 0); + MacroTabComponent = __decorate([ + core_1.Component({ + selector: 'macro-tab', + template: __webpack_require__(234), + styles: [__webpack_require__(235)] + }), + __metadata("design:paramtypes", [store_1.Store]) + ], MacroTabComponent); + exports.MacroTabComponent = MacroTabComponent; + + +/***/ }, +/* 234 */ +/***/ function(module, exports) { + + module.exports = "\r\n"; + +/***/ }, +/* 235 */ +/***/ function(module, exports) { + + module.exports = ":host {\n display: flex;\n flex-direction: column; }\n :host > span {\n text-align: center; }\n :host .macro-selector {\n display: flex;\n margin-top: 2px; }\n :host .macro-selector b {\n display: flex;\n align-items: center;\n margin-right: 7px; }\n :host .macro-selector select2 {\n flex: 1; }\n :host .macro-action-container {\n display: flex;\n flex-direction: column;\n min-height: 200px;\n max-height: 300px;\n margin: 20px 0;\n overflow-x: hidden;\n overflow-y: auto;\n border-radius: 4px;\n border: 1px solid #ddd; }\n :host .macro-action-container .list-group {\n margin-bottom: 0;\n border: 0; }\n" + +/***/ }, +/* 236 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(237)); + + +/***/ }, +/* 237 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var key_action_1 = __webpack_require__(142); + var tab_1 = __webpack_require__(217); + var MouseTabComponent = (function (_super) { + __extends(MouseTabComponent, _super); + function MouseTabComponent() { + var _this = _super.call(this) || this; + /* tslint:disable:variable-name: It is an enum type. So it can start with uppercase. */ + /* tslint:disable:no-unused-variable: It is used in the template. */ + _this.MouseActionParam = key_action_1.MouseActionParam; + _this.selectedPageIndex = 0; + _this.pages = ['Move', 'Scroll', 'Click', 'Speed']; + return _this; + } + MouseTabComponent.prototype.ngOnChanges = function () { + this.fromKeyAction(this.defaultKeyAction); + this.validAction.emit(this.keyActionValid()); + }; + MouseTabComponent.prototype.keyActionValid = function () { + return this.mouseActionParam !== undefined; + }; + MouseTabComponent.prototype.fromKeyAction = function (keyAction) { + if (!(keyAction instanceof key_action_1.MouseAction)) { + return false; + } + var mouseAction = keyAction; + this.mouseActionParam = mouseAction.mouseAction; + if (mouseAction.mouseAction === key_action_1.MouseActionParam.moveUp) { + this.selectedPageIndex = 0; + } + switch (mouseAction.mouseAction) { + case key_action_1.MouseActionParam.moveDown: + case key_action_1.MouseActionParam.moveUp: + case key_action_1.MouseActionParam.moveLeft: + case key_action_1.MouseActionParam.moveRight: + this.selectedPageIndex = 0; + break; + case key_action_1.MouseActionParam.scrollDown: + case key_action_1.MouseActionParam.scrollUp: + case key_action_1.MouseActionParam.scrollLeft: + case key_action_1.MouseActionParam.scrollRight: + this.selectedPageIndex = 1; + break; + case key_action_1.MouseActionParam.leftClick: + case key_action_1.MouseActionParam.middleClick: + case key_action_1.MouseActionParam.rightClick: + this.selectedPageIndex = 2; + break; + case key_action_1.MouseActionParam.decelerate: + case key_action_1.MouseActionParam.accelerate: + this.selectedPageIndex = 3; + break; + default: + return false; + } + return true; + }; + MouseTabComponent.prototype.toKeyAction = function () { + var mouseAction = new key_action_1.MouseAction(); + mouseAction.mouseAction = this.mouseActionParam; + return mouseAction; + }; + MouseTabComponent.prototype.changePage = function (index) { + if (index < -1 || index > 3) { + console.error("Invalid index error: " + index); + return; + } + this.selectedPageIndex = index; + this.mouseActionParam = undefined; + this.validAction.emit(false); + }; + MouseTabComponent.prototype.setMouseActionParam = function (mouseActionParam) { + this.mouseActionParam = mouseActionParam; + this.validAction.emit(true); + }; + return MouseTabComponent; + }(tab_1.Tab)); + __decorate([ + core_1.Input(), + __metadata("design:type", key_action_1.KeyAction) + ], MouseTabComponent.prototype, "defaultKeyAction", void 0); + MouseTabComponent = __decorate([ + core_1.Component({ + selector: 'mouse-tab', + template: __webpack_require__(238), + styles: [__webpack_require__(239)] + }), + __metadata("design:paramtypes", []) + ], MouseTabComponent); + exports.MouseTabComponent = MouseTabComponent; + + +/***/ }, +/* 238 */ +/***/ function(module, exports) { + + module.exports = "
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

Press this key along with mouse movement/scrolling to accelerate/decelerate the speed of the action.

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n

You can set the multiplier in the settings.

\r\n
\r\n
\r\n
\r\n
\r\n
"; + +/***/ }, +/* 239 */ +/***/ function(module, exports) { + + module.exports = ":host {\n display: flex; }\n :host.popover-content {\n padding: 10px;\n display: flex;\n align-items: center; }\n :host .mouse-action .nav {\n border-right: 1px solid #ccc; }\n :host .mouse-action .nav li a {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n :host .mouse-action .nav li a.selected {\n font-style: italic; }\n :host .mouse-action .nav li.active a.selected {\n font-style: normal; }\n :host .mouse-action .nav li.active a:after {\n content: '';\n display: block;\n position: absolute;\n width: 0;\n height: 0;\n top: 0;\n right: -4rem;\n border-color: transparent transparent transparent #337ab7;\n border-style: solid;\n border-width: 2rem; }\n :host .help-text--mouse-speed {\n margin-bottom: 2rem;\n font-size: 0.9em;\n color: #666; }\n :host .help-text--mouse-speed p {\n margin: 0; }\n :host .details .btn-placeholder {\n visibility: hidden; }\n\n.mouse__config--speed .btn-default {\n font-size: 25px;\n line-height: 22px;\n padding-top: 4px;\n padding-bottom: 4px; }\n .mouse__config--speed .btn-default span {\n font-size: 13px;\n display: block;\n text-align: center; }\n\n.help-text--mouse-speed.last-help {\n margin-bottom: 0;\n margin-top: 2rem; }\n" + +/***/ }, +/* 240 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(241)); + + +/***/ }, +/* 241 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var core_1 = __webpack_require__(4); + var tab_1 = __webpack_require__(217); + var NoneTabComponent = (function (_super) { + __extends(NoneTabComponent, _super); + function NoneTabComponent() { + return _super !== null && _super.apply(this, arguments) || this; + } + NoneTabComponent.prototype.ngOnChanges = function (event) { + this.validAction.emit(true); + }; + NoneTabComponent.prototype.keyActionValid = function () { + return true; + }; + NoneTabComponent.prototype.fromKeyAction = function () { + return false; + }; + NoneTabComponent.prototype.toKeyAction = function () { + return undefined; + }; + return NoneTabComponent; + }(tab_1.Tab)); + NoneTabComponent = __decorate([ + core_1.Component({ + selector: 'none-tab', + template: __webpack_require__(242), + styles: [__webpack_require__(243)] + }) + ], NoneTabComponent); + exports.NoneTabComponent = NoneTabComponent; + + +/***/ }, +/* 242 */ +/***/ function(module, exports) { + + module.exports = "This key is unassigned and has no functionality."; + +/***/ }, +/* 243 */ +/***/ function(module, exports) { + + module.exports = ":host {\n display: flex;\n justify-content: center;\n padding: 2rem 0; }\n" + +/***/ }, +/* 244 */ +/***/ function(module, exports) { + + module.exports = "
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Press key

\r\n

Hold key

\r\n

Release key

\r\n \r\n
\r\n
\r\n
"; + +/***/ }, +/* 245 */ +/***/ function(module, exports) { + + module.exports = ".macro-key__container {\n padding: 0; }\n\n.macro-key__types {\n margin-left: 0;\n padding: 0 0 1rem; }\n\n.macro-key__action {\n padding-left: 3rem;\n padding-bottom: 1rem; }\n .macro-key__action-container {\n margin-top: -1rem;\n padding-top: 1rem;\n border-left: 1px solid #ddd; }\n\n.fa {\n min-width: 14px; }\n" + +/***/ }, +/* 246 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var macro_mouse_component_1 = __webpack_require__(247); + exports.MacroMouseTabComponent = macro_mouse_component_1.MacroMouseTabComponent; + + +/***/ }, +/* 247 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var macro_action_1 = __webpack_require__(162); + var tab_1 = __webpack_require__(216); + var TabName; + (function (TabName) { + TabName[TabName["Move"] = 0] = "Move"; + TabName[TabName["Scroll"] = 1] = "Scroll"; + TabName[TabName["Click"] = 2] = "Click"; + TabName[TabName["Hold"] = 3] = "Hold"; + TabName[TabName["Release"] = 4] = "Release"; + })(TabName || (TabName = {})); + var MacroMouseTabComponent = (function () { + /* tslint:enable:no-unused-variable */ + /* tslint:enable:variable-name */ + function MacroMouseTabComponent() { + /* tslint:disable:variable-name: It is an enum type. So it can start with uppercase. */ + /* tslint:disable:no-unused-variable: It is used in the template. */ + this.TabName = TabName; + this.buttonLabels = ['Left', 'Middle', 'Right']; + this.selectedButtons = Array(this.buttonLabels.length).fill(false); + } + MacroMouseTabComponent.prototype.ngOnInit = function () { + var tabName = this.getTabName(this.macroAction); + this.selectTab(tabName); + var buttonActions = [TabName.Click, TabName.Hold, TabName.Release]; + if (buttonActions.includes(this.activeTab)) { + this.selectedButtons = this.macroAction.getMouseButtons(); + } + }; + MacroMouseTabComponent.prototype.selectTab = function (tab) { + this.activeTab = tab; + this.macroAction.macroActionType = this.getMacroActionType(tab); + if (this.macroAction.macroActionType === macro_action_1.macroActionType.MouseButtonMacroAction) { + this.macroAction.action = this.getAction(tab); + } + }; + MacroMouseTabComponent.prototype.setMouseClick = function (index) { + this.selectedButtons[index] = !this.selectedButtons[index]; + this.macroAction.setMouseButtons(this.selectedButtons); + }; + MacroMouseTabComponent.prototype.hasButton = function (index) { + return this.selectedButtons[index]; + }; + MacroMouseTabComponent.prototype.getAction = function (tab) { + switch (tab) { + case TabName.Click: + return macro_action_1.MacroSubAction.press; + case TabName.Hold: + return macro_action_1.MacroSubAction.hold; + case TabName.Release: + return macro_action_1.MacroSubAction.release; + default: + throw new Error('Invalid tab name'); + } + }; + MacroMouseTabComponent.prototype.getTabName = function (action) { + if (action.macroActionType === macro_action_1.macroActionType.MouseButtonMacroAction) { + if (!action.action || action.isOnlyPressAction()) { + return TabName.Click; + } + else if (action.isOnlyPressAction()) { + return TabName.Hold; + } + else if (action.isOnlyReleaseAction()) { + return TabName.Release; + } + } + else if (action.macroActionType === macro_action_1.macroActionType.MoveMouseMacroAction) { + return TabName.Move; + } + else if (action.macroActionType === macro_action_1.macroActionType.ScrollMouseMacroAction) { + return TabName.Scroll; + } + return TabName.Move; + }; + MacroMouseTabComponent.prototype.getMacroActionType = function (tab) { + if (tab === TabName.Click || tab === TabName.Hold || tab === TabName.Release) { + return macro_action_1.macroActionType.MouseButtonMacroAction; + } + else if (tab === TabName.Move) { + return macro_action_1.macroActionType.MoveMouseMacroAction; + } + else if (tab === TabName.Scroll) { + return macro_action_1.macroActionType.ScrollMouseMacroAction; + } + }; + return MacroMouseTabComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", macro_action_1.EditableMacroAction) + ], MacroMouseTabComponent.prototype, "macroAction", void 0); + __decorate([ + core_1.ViewChild('tab'), + __metadata("design:type", tab_1.Tab) + ], MacroMouseTabComponent.prototype, "selectedTab", void 0); + MacroMouseTabComponent = __decorate([ + core_1.Component({ + selector: 'macro-mouse-tab', + template: __webpack_require__(248), + styles: [ + __webpack_require__(208), + __webpack_require__(249) + ], + host: { 'class': 'macro__mouse' } + }), + __metadata("design:paramtypes", []) + ], MacroMouseTabComponent); + exports.MacroMouseTabComponent = MacroMouseTabComponent; + + +/***/ }, +/* 248 */ +/***/ function(module, exports) { + + module.exports = "
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Move pointer

\r\n

Use negative values to move down or left from current position.

\r\n
\r\n
\r\n \r\n pixels\r\n
\r\n
\r\n \r\n pixels\r\n
\r\n
\r\n
\r\n
\r\n

Scroll

\r\n

Use negative values to move down or left from current position.

\r\n
\r\n
\r\n \r\n pixels\r\n
\r\n
\r\n \r\n pixels\r\n
\r\n
\r\n
\r\n
\r\n

Click mouse button

\r\n

Hold mouse button

\r\n

Release mouse button

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
"; + +/***/ }, +/* 249 */ +/***/ function(module, exports) { + + module.exports = ".macro-mouse__container {\n padding: 0; }\n\n.macro-mouse__types {\n border-right: 1px solid #ddd;\n border-left: 0;\n margin-top: -1rem;\n margin-left: 0;\n padding: 1rem 0; }\n\n.macro-mouse__actions {\n padding-left: 3rem;\n padding-bottom: 1rem; }\n\n.macro-mouse__buttons {\n margin-top: 3rem;\n margin-bottom: 1rem; }\n\n.fa {\n min-width: 14px; }\n\n.form-horizontal .form-group {\n margin: 0 0 0.5rem; }\n\n.form-horizontal label {\n display: inline-block;\n margin-right: 0.5rem; }\n\n.form-horizontal .form-control {\n display: inline-block;\n width: 60%; }\n" + +/***/ }, +/* 250 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var macro_text_component_1 = __webpack_require__(251); + exports.MacroTextTabComponent = macro_text_component_1.MacroTextTabComponent; + + +/***/ }, +/* 251 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var macro_action_1 = __webpack_require__(162); + var MacroTextTabComponent = (function () { + function MacroTextTabComponent(renderer) { + this.renderer = renderer; + } + MacroTextTabComponent.prototype.ngAfterViewInit = function () { + this.renderer.invokeElementMethod(this.input.nativeElement, 'focus'); + }; + MacroTextTabComponent.prototype.onTextChange = function () { + this.macroAction.text = this.input.nativeElement.value; + }; + return MacroTextTabComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", macro_action_1.EditableMacroAction) + ], MacroTextTabComponent.prototype, "macroAction", void 0); + __decorate([ + core_1.ViewChild('macroTextInput'), + __metadata("design:type", core_1.ElementRef) + ], MacroTextTabComponent.prototype, "input", void 0); + MacroTextTabComponent = __decorate([ + core_1.Component({ + selector: 'macro-text-tab', + template: __webpack_require__(252), + styles: [__webpack_require__(253)], + host: { 'class': 'macro__text' } + }), + __metadata("design:paramtypes", [core_1.Renderer]) + ], MacroTextTabComponent); + exports.MacroTextTabComponent = MacroTextTabComponent; + + +/***/ }, +/* 252 */ +/***/ function(module, exports) { + + module.exports = "
\r\n

Type text

\r\n

Input the text you want to type with this macro action.

\r\n \r\n
"; + +/***/ }, +/* 253 */ +/***/ function(module, exports) { + + module.exports = ":host {\n display: flex;\n flex-direction: column;\n position: relative; }\n\n.macro__text-input {\n width: 100%;\n min-height: 10rem;\n margin-bottom: 1rem; }\n" + +/***/ }, +/* 254 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(255)); + + +/***/ }, +/* 255 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var NotificationComponent = (function () { + function NotificationComponent() { + } + return NotificationComponent; + }()); + NotificationComponent = __decorate([ + core_1.Component({ + selector: 'notification', + template: __webpack_require__(256), + styles: [__webpack_require__(257)] + }), + __metadata("design:paramtypes", []) + ], NotificationComponent); + exports.NotificationComponent = NotificationComponent; + + +/***/ }, +/* 256 */ +/***/ function(module, exports) { + + module.exports = "Keymap removed\r\nUndo\r\n×"; + +/***/ }, +/* 257 */ +/***/ function(module, exports) { + + module.exports = ":host {\n padding: 1rem 1.5rem;\n box-shadow: 0 0 0 1px #000;\n border-radius: 0.5rem;\n position: absolute;\n top: 2rem;\n right: 2rem;\n z-index: 10000;\n background-color: #333;\n color: #eee;\n display: none; }\n\n.action {\n margin-left: 1rem;\n margin-right: 1rem;\n color: #5bc0de;\n text-transform: uppercase;\n font-weight: bold; }\n .action:focus, .action:active, .action:hover {\n text-decoration: none;\n color: #5bc0de; }\n\n.dismiss {\n position: relative;\n bottom: 1px;\n color: #ccc; }\n .dismiss:hover {\n cursor: pointer;\n color: #fff; }\n" + +/***/ }, +/* 258 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(259)); + + +/***/ }, +/* 259 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var store_1 = __webpack_require__(44); + var key_action_1 = __webpack_require__(142); + var Keymap_1 = __webpack_require__(158); + var tab_1 = __webpack_require__(217); + var user_configuration_1 = __webpack_require__(141); + var TabName; + (function (TabName) { + TabName[TabName["Keypress"] = 0] = "Keypress"; + TabName[TabName["Layer"] = 1] = "Layer"; + TabName[TabName["Mouse"] = 2] = "Mouse"; + TabName[TabName["Macro"] = 3] = "Macro"; + TabName[TabName["Keymap"] = 4] = "Keymap"; + TabName[TabName["None"] = 5] = "None"; + })(TabName || (TabName = {})); + var PopoverComponent = (function () { + function PopoverComponent(store) { + var _this = this; + this.store = store; + this.cancel = new core_1.EventEmitter(); + this.remap = new core_1.EventEmitter(); + this.tabName = TabName; + this.leftArrow = false; + this.rightArrow = false; + this.topPosition = 0; + this.leftPosition = 0; + this.animationState = 'closed'; + this.keymaps$ = store.let(user_configuration_1.getKeymaps()) + .map(function (keymaps) { + return keymaps.filter(function (keymap) { return _this.currentKeymap.abbreviation !== keymap.abbreviation; }); + }); + } + PopoverComponent.prototype.ngOnChanges = function (change) { + if (this.keyPosition && this.wrapPosition && (change['keyPosition'] || change['wrapPosition'])) { + this.calculatePosition(); + } + if (change['defaultKeyAction']) { + var tab = void 0; + if (this.defaultKeyAction instanceof key_action_1.KeystrokeAction) { + tab = TabName.Keypress; + } + else if (this.defaultKeyAction instanceof key_action_1.SwitchLayerAction) { + tab = TabName.Layer; + } + else if (this.defaultKeyAction instanceof key_action_1.MouseAction) { + tab = TabName.Mouse; + } + else if (this.defaultKeyAction instanceof key_action_1.PlayMacroAction) { + tab = TabName.Macro; + } + else if (this.defaultKeyAction instanceof key_action_1.SwitchKeymapAction) { + tab = TabName.Keymap; + } + else { + tab = TabName.None; + } + this.selectTab(tab); + } + if (change['visible']) { + if (change['visible'].currentValue) { + this.animationState = 'opened'; + } + else { + this.animationState = 'closed'; + } + } + }; + PopoverComponent.prototype.onCancelClick = function () { + this.cancel.emit(undefined); + }; + PopoverComponent.prototype.onRemapKey = function () { + if (this.keyActionValid) { + try { + var keyAction = this.selectedTab.toKeyAction(); + this.remap.emit(keyAction); + } + catch (e) { + // TODO: show error dialog + console.error(e); + } + } + }; + PopoverComponent.prototype.onEscape = function () { + this.cancel.emit(); + }; + PopoverComponent.prototype.selectTab = function (tab) { + this.activeTab = tab; + }; + PopoverComponent.prototype.onOverlay = function () { + this.cancel.emit(undefined); + }; + PopoverComponent.prototype.calculatePosition = function () { + var offsetLeft = this.wrapPosition.left + 265; // 265 is a width of the side menu with a margin + var popover = this.popoverHost.nativeElement; + var newLeft = this.keyPosition.left + (this.keyPosition.width / 2); + this.leftArrow = newLeft < offsetLeft; + this.rightArrow = (newLeft + popover.offsetWidth) > offsetLeft + this.wrapPosition.width; + if (this.leftArrow) { + newLeft = this.keyPosition.left; + } + else if (this.rightArrow) { + newLeft = this.keyPosition.left - popover.offsetWidth + this.keyPosition.width; + } + else { + newLeft -= popover.offsetWidth / 2; + } + // 7 is a space between a bottom key position and a popover + this.topPosition = this.keyPosition.top + this.keyPosition.height + 7 + window.scrollY; + this.leftPosition = newLeft; + }; + return PopoverComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", key_action_1.KeyAction) + ], PopoverComponent.prototype, "defaultKeyAction", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Keymap_1.Keymap) + ], PopoverComponent.prototype, "currentKeymap", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], PopoverComponent.prototype, "currentLayer", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", ClientRect) + ], PopoverComponent.prototype, "keyPosition", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", ClientRect) + ], PopoverComponent.prototype, "wrapPosition", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], PopoverComponent.prototype, "visible", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], PopoverComponent.prototype, "cancel", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], PopoverComponent.prototype, "remap", void 0); + __decorate([ + core_1.ViewChild('tab'), + __metadata("design:type", tab_1.Tab) + ], PopoverComponent.prototype, "selectedTab", void 0); + __decorate([ + core_1.ViewChild('popover'), + __metadata("design:type", core_1.ElementRef) + ], PopoverComponent.prototype, "popoverHost", void 0); + __decorate([ + core_1.HostListener('keydown.escape'), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) + ], PopoverComponent.prototype, "onEscape", null); + PopoverComponent = __decorate([ + core_1.Component({ + selector: 'popover', + template: __webpack_require__(260), + styles: [__webpack_require__(261)], + animations: [ + core_1.trigger('popover', [ + core_1.state('closed', core_1.style({ + transform: 'translateY(30px)', + visibility: 'hidden', + opacity: 0 + })), + core_1.state('opened', core_1.style({ + transform: 'translateY(0)', + visibility: 'visible', + opacity: 1 + })), + core_1.transition('opened => closed', [ + core_1.animate('200ms ease-out', core_1.keyframes([ + core_1.style({ transform: 'translateY(0)', visibility: 'visible', opacity: 1, offset: 0 }), + core_1.style({ transform: 'translateY(30px)', visibility: 'hidden', opacity: 0, offset: 1 }) + ])) + ]), + core_1.transition('closed => opened', [ + core_1.style({ + visibility: 'visible' + }), + core_1.animate('200ms ease-out', core_1.keyframes([ + core_1.style({ transform: 'translateY(30px)', opacity: 0, offset: 0 }), + core_1.style({ transform: 'translateY(0)', opacity: 1, offset: 1 }) + ])) + ]) + ]) + ] + }), + __metadata("design:paramtypes", [store_1.Store]) + ], PopoverComponent); + exports.PopoverComponent = PopoverComponent; + + +/***/ }, +/* 260 */ +/***/ function(module, exports) { + + module.exports = "
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n"; + +/***/ }, +/* 261 */ +/***/ function(module, exports) { + + module.exports = ".popover {\n display: flex;\n flex-direction: column;\n padding: 0;\n max-width: 568px;\n width: 100%;\n user-select: none; }\n .popover.leftArrow .arrowCustom {\n transform: none;\n left: 22px; }\n .popover.rightArrow .arrowCustom {\n transform: none;\n right: 22px;\n left: auto; }\n .popover > .container-fluid {\n overflow: hidden; }\n\n.nav-tabs > li {\n overflow: hidden; }\n\n.arrowCustom {\n position: absolute;\n top: -16px;\n left: 50%;\n transform: translateX(-50%);\n width: 41px;\n height: 16px; }\n .arrowCustom:before {\n content: '';\n width: 0;\n height: 0;\n border-left: 21px solid transparent;\n border-right: 21px solid transparent;\n border-bottom: 17px solid rgba(0, 0, 0, 0.2);\n display: block;\n position: absolute;\n top: -1px; }\n .arrowCustom:after {\n content: '';\n width: 0;\n height: 0;\n border-left: 20px solid transparent;\n border-right: 20px solid transparent;\n border-bottom: 16px solid #f7f7f7;\n display: block;\n position: absolute;\n top: 0; }\n\n.popover-action {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-top: 1px solid #ebebeb;\n border-radius: 0 0 5px 5px;\n text-align: right; }\n\n.popover-title.menu-tabs {\n padding: 0.5rem 0.5rem 0;\n display: block; }\n .popover-title.menu-tabs .nav-tabs {\n position: relative;\n top: 1px;\n display: flex; }\n .popover-title.menu-tabs .nav-tabs .menu-tabs--item {\n display: flex;\n align-items: center;\n cursor: pointer; }\n .popover-title.menu-tabs .nav-tabs .menu-tabs--item i {\n margin-right: 0.25em; }\n\n.popover-content {\n padding: 10px 24px; }\n\n.popover-overlay {\n position: fixed;\n width: 100%;\n height: 0;\n top: 0;\n left: 0;\n z-index: 1050;\n background: transparent;\n transition: background 200ms ease-out, height 0ms 200ms linear; }\n .popover-overlay.display {\n height: 100%;\n background: rgba(0, 0, 0, 0.2);\n transition: background 200ms ease-out; }\n\n.select2-item {\n position: relative;\n font-size: 1.5rem; }\n .select2-item.keymap-name--wrapper {\n padding-left: 50px; }\n .select2-item .layout-segment-code {\n height: 2rem;\n position: absolute;\n left: 0;\n top: 50%;\n margin-top: -1rem; }\n" + +/***/ }, +/* 262 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(263)); + + +/***/ }, +/* 263 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var capture_service_1 = __webpack_require__(264); + var CaptureKeystrokeButtonComponent = (function () { + function CaptureKeystrokeButtonComponent(captureService) { + this.captureService = captureService; + this.capture = new core_1.EventEmitter(); + this.record = false; + this.captureService.initModifiers(); + this.captureService.populateMapping(); + this.scanCodePressed = false; + } + CaptureKeystrokeButtonComponent.prototype.onKeyUp = function (e) { + if (this.scanCodePressed) { + e.preventDefault(); + this.scanCodePressed = false; + } + else if (this.record && !this.first) { + e.preventDefault(); + this.saveScanCode(); + } + }; + CaptureKeystrokeButtonComponent.prototype.onKeyDown = function (e) { + var code = e.keyCode; + var enter = 13; + if (this.record) { + e.preventDefault(); + e.stopPropagation(); + this.first = false; + if (this.captureService.hasMap(code)) { + this.saveScanCode(this.captureService.getMap(code)); + this.scanCodePressed = true; + } + else { + this.captureService.setModifier((e.location === 1), code); + } + } + else if (code === enter) { + this.record = true; + this.first = true; + } + }; + CaptureKeystrokeButtonComponent.prototype.onFocusOut = function () { + this.record = false; + this.reset(); + }; + CaptureKeystrokeButtonComponent.prototype.start = function () { + this.record = true; + }; + CaptureKeystrokeButtonComponent.prototype.saveScanCode = function (code) { + this.record = false; + var left = this.captureService.getModifiers(true); + var right = this.captureService.getModifiers(false); + this.capture.emit({ + code: code, + left: left, + right: right + }); + this.reset(); + }; + CaptureKeystrokeButtonComponent.prototype.reset = function () { + this.first = false; + this.captureService.initModifiers(); + }; + return CaptureKeystrokeButtonComponent; + }()); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], CaptureKeystrokeButtonComponent.prototype, "capture", void 0); + __decorate([ + core_1.HostListener('keyup', ['$event']), + __metadata("design:type", Function), + __metadata("design:paramtypes", [KeyboardEvent]), + __metadata("design:returntype", void 0) + ], CaptureKeystrokeButtonComponent.prototype, "onKeyUp", null); + __decorate([ + core_1.HostListener('keydown', ['$event']), + __metadata("design:type", Function), + __metadata("design:paramtypes", [KeyboardEvent]), + __metadata("design:returntype", void 0) + ], CaptureKeystrokeButtonComponent.prototype, "onKeyDown", null); + __decorate([ + core_1.HostListener('focusout'), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) + ], CaptureKeystrokeButtonComponent.prototype, "onFocusOut", null); + CaptureKeystrokeButtonComponent = __decorate([ + core_1.Component({ + selector: 'capture-keystroke-button', + template: __webpack_require__(265), + styles: [__webpack_require__(266)] + }), + __metadata("design:paramtypes", [capture_service_1.CaptureService]) + ], CaptureKeystrokeButtonComponent); + exports.CaptureKeystrokeButtonComponent = CaptureKeystrokeButtonComponent; + + +/***/ }, +/* 264 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var CaptureService = (function () { + function CaptureService() { + this.leftModifiers = new Map(); + this.rightModifiers = new Map(); + this.mapping = new Map(); + } + CaptureService.prototype.getMap = function (code) { + return this.mapping.get(code); + }; + CaptureService.prototype.hasMap = function (code) { + return this.mapping.has(code); + }; + CaptureService.prototype.setModifier = function (left, code) { + return left ? this.leftModifiers.set(code, true) : this.rightModifiers.set(code, true); + }; + CaptureService.prototype.getModifiers = function (left) { + return left ? this.reMap(this.leftModifiers) : this.reMap(this.rightModifiers); + }; + CaptureService.prototype.initModifiers = function () { + this.leftModifiers.set(16, false); // Shift + this.leftModifiers.set(17, false); // Ctrl + this.leftModifiers.set(18, false); // Alt + this.leftModifiers.set(91, false); // Super + this.rightModifiers.set(16, false); // Shift + this.rightModifiers.set(17, false); // Ctrl + this.rightModifiers.set(18, false); // Alt + this.rightModifiers.set(91, false); // Super + }; + CaptureService.prototype.populateMapping = function () { + this.mapping.set(8, 42); // Backspace + this.mapping.set(9, 43); // Tab + this.mapping.set(13, 40); // Enter + this.mapping.set(19, 72); // Pause/break + this.mapping.set(20, 57); // Caps lock + this.mapping.set(27, 41); // Escape + this.mapping.set(32, 44); // (space) + this.mapping.set(33, 75); // Page up + this.mapping.set(34, 78); // Page down + this.mapping.set(35, 77); // End + this.mapping.set(36, 74); // Home + this.mapping.set(37, 80); // Left arrow + this.mapping.set(38, 82); // Up arrow + this.mapping.set(39, 79); // Right arrow + this.mapping.set(40, 81); // Down arrow + this.mapping.set(45, 73); // Insert + this.mapping.set(46, 76); // Delete + this.mapping.set(48, 39); // 0 + this.mapping.set(49, 30); // 1 + this.mapping.set(50, 31); // 2 + this.mapping.set(51, 32); // 3 + this.mapping.set(52, 33); // 4 + this.mapping.set(53, 34); // 5 + this.mapping.set(54, 35); // 6 + this.mapping.set(55, 36); // 7 + this.mapping.set(56, 37); // 8 + this.mapping.set(57, 38); // 9 + this.mapping.set(65, 4); // A + this.mapping.set(66, 5); // B + this.mapping.set(67, 6); // C + this.mapping.set(68, 7); // D + this.mapping.set(69, 8); // E + this.mapping.set(70, 9); // F + this.mapping.set(71, 10); // G + this.mapping.set(72, 11); // H + this.mapping.set(73, 12); // I + this.mapping.set(74, 13); // J + this.mapping.set(75, 14); // K + this.mapping.set(76, 15); // L + this.mapping.set(77, 16); // M + this.mapping.set(78, 17); // N + this.mapping.set(79, 18); // O + this.mapping.set(80, 19); // P + this.mapping.set(81, 20); // Q + this.mapping.set(82, 21); // R + this.mapping.set(83, 22); // S + this.mapping.set(84, 23); // T + this.mapping.set(85, 24); // U + this.mapping.set(86, 25); // V + this.mapping.set(87, 26); // W + this.mapping.set(88, 27); // X + this.mapping.set(89, 28); // Y + this.mapping.set(90, 29); // Z + this.mapping.set(93, 118); // Menu + this.mapping.set(96, 98); // Num pad 0 + this.mapping.set(97, 89); // Num pad 1 + this.mapping.set(98, 90); // Num pad 2 + this.mapping.set(99, 91); // Num pad 3 + this.mapping.set(100, 92); // Num pad 4 + this.mapping.set(101, 93); // Num pad 5 + this.mapping.set(102, 94); // Num pad 6 + this.mapping.set(103, 95); // Num pad 7 + this.mapping.set(104, 96); // Num pad 8 + this.mapping.set(105, 97); // Num pad 9 + this.mapping.set(106, 85); // Multiply + this.mapping.set(107, 87); // Add + this.mapping.set(109, 86); // Subtract + this.mapping.set(110, 99); // Decimal point + this.mapping.set(111, 84); // Divide + this.mapping.set(112, 58); // F1 + this.mapping.set(113, 59); // F2 + this.mapping.set(114, 60); // F3 + this.mapping.set(115, 61); // F4 + this.mapping.set(116, 62); // F5 + this.mapping.set(117, 63); // F6 + this.mapping.set(118, 64); // F7 + this.mapping.set(119, 65); // F8 + this.mapping.set(120, 66); // F9 + this.mapping.set(121, 67); // F10 + this.mapping.set(122, 68); // F11 + this.mapping.set(123, 69); // F12 + this.mapping.set(144, 83); // Num lock + this.mapping.set(145, 71); // Scroll lock + this.mapping.set(186, 51); // Semi-colon + this.mapping.set(187, 46); // Equal sign + this.mapping.set(188, 54); // Comma + this.mapping.set(189, 45); // Dash + this.mapping.set(190, 55); // Period + this.mapping.set(191, 56); // Forward slash + this.mapping.set(192, 53); // Grave accent + this.mapping.set(219, 47); // Open bracket + this.mapping.set(220, 49); // Back slash + this.mapping.set(221, 48); // Close bracket + this.mapping.set(222, 52); // Single quote + }; + CaptureService.prototype.reMap = function (value) { + return [value.get(16), value.get(17), value.get(91), value.get(18)]; + }; + return CaptureService; + }()); + CaptureService = __decorate([ + core_1.Injectable(), + __metadata("design:paramtypes", []) + ], CaptureService); + exports.CaptureService = CaptureService; + + +/***/ }, +/* 265 */ +/***/ function(module, exports) { + + module.exports = ""; + +/***/ }, +/* 266 */ +/***/ function(module, exports) { + + module.exports = "button {\n display: inline-block;\n margin: 0 0 0 0.25rem; }\n\n.fa-circle {\n color: #c00; }\n" + +/***/ }, +/* 267 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(268)); + + +/***/ }, +/* 268 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var IconComponent = (function () { + function IconComponent() { + } + IconComponent.prototype.ngOnInit = function () { }; + return IconComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", String) + ], IconComponent.prototype, "name", void 0); + IconComponent = __decorate([ + core_1.Component({ + selector: 'icon', + template: __webpack_require__(269), + styles: [__webpack_require__(270)] + }), + __metadata("design:paramtypes", []) + ], IconComponent); + exports.IconComponent = IconComponent; + + +/***/ }, +/* 269 */ +/***/ function(module, exports) { + + module.exports = "
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
"; + +/***/ }, +/* 270 */ +/***/ function(module, exports) { + + module.exports = ":host {\n display: flex;\n align-items: center; }\n\n.action--edit:hover {\n color: #337ab7;\n cursor: pointer; }\n\n.action--trash:hover {\n color: #d9534f;\n cursor: pointer; }\n" + +/***/ }, +/* 271 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(272)); + __export(__webpack_require__(275)); + + +/***/ }, +/* 272 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var SettingsComponent = (function () { + function SettingsComponent() { + } + return SettingsComponent; + }()); + SettingsComponent = __decorate([ + core_1.Component({ + selector: 'settings', + template: __webpack_require__(273), + styles: [__webpack_require__(274)], + host: { + 'class': 'container-fluid' + } + }), + __metadata("design:paramtypes", []) + ], SettingsComponent); + exports.SettingsComponent = SettingsComponent; + + +/***/ }, +/* 273 */ +/***/ function(module, exports) { + + module.exports = "
\r\n

\r\n \r\n Settings\r\n

\r\n
\r\nTo be done..."; + +/***/ }, +/* 274 */ +/***/ function(module, exports) { + + module.exports = ":host {\n width: 100%;\n height: 100%;\n display: block; }\n" + +/***/ }, +/* 275 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var settings_component_1 = __webpack_require__(272); + exports.settingsRoutes = [ + { + path: 'settings', + component: settings_component_1.SettingsComponent + } + ]; + + +/***/ }, +/* 276 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(277)); + + +/***/ }, +/* 277 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var store_1 = __webpack_require__(44); + __webpack_require__(278); + __webpack_require__(137); + __webpack_require__(135); + var actions_1 = __webpack_require__(127); + var user_configuration_1 = __webpack_require__(141); + var SideMenuComponent = (function () { + function SideMenuComponent(store, renderer) { + this.store = store; + this.renderer = renderer; + this.animation = { + keymap: 'active', + macro: 'active', + addon: 'active' + }; + this.keymaps$ = store.let(user_configuration_1.getKeymaps()) + .map(function (keymaps) { return keymaps.slice(); }) // Creating a new array reference, because the sort is working in place + .do(function (keymaps) { + keymaps.sort(function (first, second) { return first.name.localeCompare(second.name); }); + }); + this.macros$ = store.let(user_configuration_1.getMacros()) + .map(function (macros) { return macros.slice(); }) // Creating a new array reference, because the sort is working in place + .do(function (macros) { + macros.sort(function (first, second) { return first.name.localeCompare(second.name); }); + }); + } + SideMenuComponent.prototype.toggleHide = function (event, type) { + var header = event.target.classList; + var show = false; + if (header.contains('fa-chevron-down')) { + show = true; + this.animation[type] = 'active'; + } + else { + this.animation[type] = 'inactive'; + } + this.renderer.setElementClass(event.target, 'fa-chevron-up', show); + this.renderer.setElementClass(event.target, 'fa-chevron-down', !show); + }; + SideMenuComponent.prototype.addMacro = function () { + this.store.dispatch(actions_1.MacroActions.addMacro()); + }; + return SideMenuComponent; + }()); + SideMenuComponent = __decorate([ + core_1.Component({ + animations: [ + core_1.trigger('toggler', [ + core_1.state('inactive', core_1.style({ + height: '0px' + })), + core_1.state('active', core_1.style({ + height: '*' + })), + core_1.transition('inactive <=> active', core_1.animate('500ms ease-out')) + ]) + ], + selector: 'side-menu', + template: __webpack_require__(280), + styles: [__webpack_require__(281)] + }), + __metadata("design:paramtypes", [store_1.Store, core_1.Renderer]) + ], SideMenuComponent); + exports.SideMenuComponent = SideMenuComponent; + + +/***/ }, +/* 278 */, +/* 279 */, +/* 280 */ +/***/ function(module, exports) { + + module.exports = "\r\n"; + +/***/ }, +/* 281 */ +/***/ function(module, exports) { + + module.exports = ":host {\n background-color: #f5f5f5;\n border-right: 1px solid #ccc;\n position: fixed;\n overflow-y: auto;\n width: 250px;\n height: 100%; }\n\na {\n color: #333; }\n\nul {\n padding: 0;\n margin: 0; }\n ul li {\n list-style: none;\n padding: 0; }\n ul ul {\n overflow: hidden; }\n\n.sidebar__level-1 {\n padding: 0.5rem 1rem;\n font-size: 2rem;\n line-height: 3rem;\n cursor: default; }\n .sidebar__level-1:hover .fa-chevron-up,\n .sidebar__level-1:hover .fa-chevron-down {\n display: inline-block; }\n .sidebar__level-1--item {\n margin-top: 0; }\n .sidebar__level-1--item:nth-child(1) {\n margin: 0; }\n .sidebar__level-1 .sidebar__name {\n width: 100%;\n display: block; }\n .sidebar__level-1 .fa-chevron-up,\n .sidebar__level-1 .fa-chevron-down {\n margin-right: 1rem;\n font-size: 1.5rem;\n position: relative;\n top: 0.5rem;\n display: none;\n cursor: pointer; }\n\n.sidebar__level-2--item {\n padding: 0 20px 0 0;\n position: relative; }\n .sidebar__level-2--item.active {\n background-color: #555;\n color: #fff; }\n .sidebar__level-2--item.active .fa-star {\n color: #fff; }\n .sidebar__level-2--item.active:hover {\n background-color: #555; }\n .sidebar__level-2--item:hover {\n cursor: pointer; }\n .sidebar__level-2--item .fa.pull-right {\n position: relative;\n top: 2px; }\n .sidebar__level-2--item .fa-star {\n color: #666; }\n .sidebar__level-2--item a {\n display: block;\n width: 100%;\n padding: 0 15px 0 30px; }\n .sidebar__level-2--item a:hover, .sidebar__level-2--item a:focus {\n text-decoration: none; }\n\n.sidebar__level-1:hover, .sidebar__level-2:hover {\n background-color: rgba(0, 0, 0, 0.05); }\n\n.sidebar__level-1.active, .sidebar__level-2.active {\n background-color: rgba(0, 0, 0, 0.18); }\n\n.sidebar__fav {\n position: absolute;\n right: 19px;\n top: 3px; }\n\n.menu--bottom {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%; }\n .menu--bottom .sidebar__level-1 {\n display: block;\n padding: 1rem;\n cursor: pointer; }\n .menu--bottom .sidebar__level-1:hover {\n text-decoration: none; }\n" + +/***/ }, +/* 282 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(283)); + + +/***/ }, +/* 283 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var module_1 = __webpack_require__(284); + var SvgKeyboardComponent = (function () { + function SvgKeyboardComponent() { + this.keyClick = new core_1.EventEmitter(); + this.keyHover = new core_1.EventEmitter(); + this.capture = new core_1.EventEmitter(); + this.modules = []; + this.svgAttributes = this.getKeyboardSvgAttributes(); + } + SvgKeyboardComponent.prototype.ngOnInit = function () { + this.modules = this.getSvgModules(); + }; + SvgKeyboardComponent.prototype.onKeyClick = function (moduleId, keyId, keyTarget) { + this.keyClick.emit({ + moduleId: moduleId, + keyId: keyId, + keyTarget: keyTarget + }); + }; + SvgKeyboardComponent.prototype.onCapture = function (moduleId, keyId, captured) { + this.capture.emit({ + moduleId: moduleId, + keyId: keyId, + captured: captured + }); + }; + SvgKeyboardComponent.prototype.onKeyHover = function (keyId, event, over, moduleId) { + this.keyHover.emit({ + moduleId: moduleId, + event: event, + over: over, + keyId: keyId + }); + }; + SvgKeyboardComponent.prototype.getKeyboardSvgAttributes = function () { + var svg = this.getBaseLayer(); + return { + viewBox: svg.$.viewBox, + transform: svg.g[0].$.transform, + fill: svg.g[0].$.fill + }; + }; + SvgKeyboardComponent.prototype.getSvgModules = function () { + var modules = this.getBaseLayer().g[0].g.map(function (obj) { return new module_1.SvgModule(obj); }); + return [modules[1], modules[0]]; // TODO: remove if the svg will be correct + }; + SvgKeyboardComponent.prototype.getBaseLayer = function () { + return __webpack_require__(289).svg; + }; + return SvgKeyboardComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", Array) + ], SvgKeyboardComponent.prototype, "moduleConfig", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], SvgKeyboardComponent.prototype, "keybindAnimationEnabled", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], SvgKeyboardComponent.prototype, "capturingEnabled", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], SvgKeyboardComponent.prototype, "keyClick", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], SvgKeyboardComponent.prototype, "keyHover", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], SvgKeyboardComponent.prototype, "capture", void 0); + SvgKeyboardComponent = __decorate([ + core_1.Component({ + selector: 'svg-keyboard', + template: __webpack_require__(290), + styles: [__webpack_require__(291)], + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", []) + ], SvgKeyboardComponent); + exports.SvgKeyboardComponent = SvgKeyboardComponent; + + +/***/ }, +/* 284 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(285)); + __export(__webpack_require__(288)); + + +/***/ }, +/* 285 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var SvgModuleComponent = (function () { + function SvgModuleComponent() { + this.keyClick = new core_1.EventEmitter(); + this.keyHover = new core_1.EventEmitter(); + this.capture = new core_1.EventEmitter(); + this.keyboardKeys = []; + } + SvgModuleComponent.prototype.onKeyClick = function (index, keyTarget) { + this.keyClick.emit({ + index: index, + keyTarget: keyTarget + }); + }; + SvgModuleComponent.prototype.onKeyHover = function (index, event, over) { + this.keyHover.emit({ + index: index, + event: event, + over: over + }); + }; + SvgModuleComponent.prototype.onCapture = function (index, captured) { + this.capture.emit({ + index: index, + captured: captured + }); + }; + return SvgModuleComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", Array) + ], SvgModuleComponent.prototype, "coverages", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Array) + ], SvgModuleComponent.prototype, "keyboardKeys", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Array) + ], SvgModuleComponent.prototype, "keyActions", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], SvgModuleComponent.prototype, "keybindAnimationEnabled", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], SvgModuleComponent.prototype, "capturingEnabled", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], SvgModuleComponent.prototype, "keyClick", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], SvgModuleComponent.prototype, "keyHover", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], SvgModuleComponent.prototype, "capture", void 0); + SvgModuleComponent = __decorate([ + core_1.Component({ + selector: 'g[svg-module]', + template: __webpack_require__(286), + styles: [__webpack_require__(287)], + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", []) + ], SvgModuleComponent); + exports.SvgModuleComponent = SvgModuleComponent; + + +/***/ }, +/* 286 */ +/***/ function(module, exports) { + + module.exports = "\r\n"; + +/***/ }, +/* 287 */ +/***/ function(module, exports) { + + module.exports = ":host {\n position: relative; }\n" + +/***/ }, +/* 288 */ +/***/ function(module, exports) { + + "use strict"; + var SvgModule = (function () { + function SvgModule(obj) { + this.keyboardKeys = obj.rect.map(function (rect) { return rect.$; }).map(function (rect) { + rect.height = +rect.height; + rect.width = +rect.width; + return rect; + }); + this.coverages = obj.path; + this.attributes = obj.$; + } + return SvgModule; + }()); + exports.SvgModule = SvgModule; + + +/***/ }, +/* 289 */ +/***/ function(module, exports) { + + module.exports = {"svg":{"$":{"xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:cc":"http://creativecommons.org/ns#","xmlns:rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","xmlns:svg":"http://www.w3.org/2000/svg","xmlns":"http://www.w3.org/2000/svg","xmlns:sodipodi":"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd","xmlns:inkscape":"http://www.inkscape.org/namespaces/inkscape","version":"1.1","width":"1024.3346","height":"471.36612","viewBox":"0 0 1024.3346 471.36612","style":"overflow:visible;","id":"SvgjsSvg1006","inkscape:version":"0.91 r","sodipodi:docname":"base-layer.svg"},"metadata":[{"$":{"id":"metadata230"},"rdf:RDF":[{"cc:Work":[{"$":{"rdf:about":""},"dc:format":["image/svg+xml"],"dc:type":[{"$":{"rdf:resource":"http://purl.org/dc/dcmitype/StillImage"}}]}]}]}],"defs":[{"$":{"id":"defs228"}}],"sodipodi:namedview":[{"$":{"pagecolor":"#ffffff","bordercolor":"#666666","borderopacity":"1","objecttolerance":"10","gridtolerance":"10","guidetolerance":"10","inkscape:pageopacity":"0","inkscape:pageshadow":"2","inkscape:window-width":"1920","inkscape:window-height":"1028","id":"namedview226","showgrid":"false","inkscape:zoom":"1.046533","inkscape:cx":"461.77814","inkscape:cy":"312.8806","inkscape:window-x":"0","inkscape:window-y":"25","inkscape:window-maximized":"1","inkscape:current-layer":"left-parts"}}],"text":[{"$":{"x":"495.03632","y":"20","style":"font-size:34px;fill:#000000;font-family:Sans;text-align:center;text-anchor:middle;display:none;","font-family":"Helvetica, Arial, sans-serif","id":"layer-text"},"tspan":[{"_":"\r\n Base layer\r\n ","$":{"x":"495.03632","dy":"20.8","id":"SvgjsTspan1235"}}]}],"g":[{"$":{"transform":"translate(0 -580.99607)","style":"stroke:none;","id":"root","fill":"#333333"},"g":[{"$":{"transform":"translate(221.57008 1101.7666)","id":"left-parts"},"path":[{"$":{"d":"m 272.81516,-456.8166 -110.96971,0 c -0.32924,0 -0.65827,-0.0468 -0.97472,-0.1386 -0.31645,-0.0918 -0.62027,-0.22866 -0.89995,-0.40551 -0.27968,-0.17684 -0.53514,-0.39367 -0.7565,-0.64244 -0.22135,-0.24877 -0.40854,-0.52944 -0.55411,-0.83133 -0.14558,-0.3019 -0.24947,-0.62497 -0.30744,-0.95668 -3.11169,-17.80554 -6.22337,-35.61107 -9.33505,-53.41661 -0.16174,-0.9255 -0.46824,-1.8252 -0.90498,-2.65546 -0.43675,-0.83027 -1.00365,-1.59085 -1.67347,-2.24448 -0.66982,-0.65363 -1.44238,-1.20007 -2.2801,-1.61231 -0.83772,-0.41224 -1.74031,-0.69012 -2.66354,-0.81983 -0.92322,-0.12971 -1.86673,-0.11121 -2.78423,0.0544 l -352.97851,63.7382 c -0.81059,0.14636 -1.60096,0.40708 -2.34074,0.77257 -0.73979,0.3655 -1.42881,0.83571 -2.04035,1.39272 -0.61154,0.55702 -1.14547,1.20071 -1.58116,1.90622 -0.43571,0.70551 -0.77307,1.47267 -0.99931,2.2718 -0.22626,0.79913 -0.34137,1.63006 -0.34137,2.4609 l 0,389.594539 c 0,0.936363 0.14626,1.872858 0.43247,2.764016 0.2862,0.891158 0.7123,1.736655 1.25787,2.494964 0.54557,0.75831 1.21044,1.429141 1.96201,1.979608 0.75157,0.550465 1.58955,0.980376 2.47279,1.269152 0.88324,0.288776 1.8114,0.436358 2.73944,0.436358 l 342.7307,-1.4e-5 c 1.77165,0 3.54314,-1.7716 3.54314,-3.5432 0,-12.931979 0,-22.981768 0,-34.5827 0,-1.7717 -1.77149,-3.545 -3.54314,-3.545 l -322.73675,0.0013 c -2.79101,0 -5.3291,-2.56086 -5.3291,-5.376898 l 0,-329.455425 c 0,-2.81604 2.53809,-5.3769 5.3291,-5.3769 l 463.75521,0 c 0.93041,0 1.77697,-0.85444 1.77697,-1.79353 0,-7.80504 0,-14.68214 0,-21.94355 0,-0.94218 -0.84656,-1.79632 -1.77697,-1.79632","id":"left-case"}}],"rect":[{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-194.89622","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-0"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-127.57339","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-1"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-60.250557","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-2"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"7.072278","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-3"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"74.395111","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-4"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"141.71794","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-5"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"209.04079","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-6"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-194.89622","y":"-360.50003","height":"63.779526","width":"95.669289","id":"key-7"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-95.683624","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-8"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-28.360792","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-9"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"38.962044","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-10"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"106.28487","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-11"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"173.60771","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-12"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-194.89622","y":"-293.17719","height":"63.779526","width":"111.61417","id":"key-13"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-79.419846","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-14"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-11.778116","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-15"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"55.863617","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-16"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"123.50535","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-17"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"191.14708","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-18"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-194.89622","y":"-225.85435","height":"63.779526","width":"143.50394","id":"key-19"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-47.14032","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-20"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"20.891174","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-21"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"88.922668","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-22"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"156.95416","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-23"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"224.98566","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-24"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-194.89622","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-25"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-111.98284","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-26"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-29.069458","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-27"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"53.843929","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-28"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"137.11165","y":"-158.53151","height":"63.779526","width":"131.10236","id":"key-29"}},{"$":{"rx":"3.4856062","ry":"3.5433071","x":"137.11165","y":"-91.071709","height":"41.667309","width":"131.10236","id":"key-30"}}],"text":[{"$":{"y":"-435.0346495","x":"-163.006457","font-size":"19","id":"SvgjsText1084","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"~","$":{"x":"-163.006457","dy":"30.400000000000002","id":"SvgjsTspan1085"}},{"_":"`","$":{"x":"-163.006457","dy":"30.400000000000002","id":"SvgjsTspan1086"}}]},{"$":{"y":"-435.0346495","x":"-95.683627","font-size":"19","id":"SvgjsText1087","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"!","$":{"x":"-95.683627","dy":"30.400000000000002","id":"SvgjsTspan1088"}},{"_":"1","$":{"x":"-95.683627","dy":"30.400000000000002","id":"SvgjsTspan1089"}}]},{"$":{"y":"-435.0346495","x":"-28.360794000000002","font-size":"19","id":"SvgjsText1090","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"@","$":{"x":"-28.360794000000002","dy":"30.400000000000002","id":"SvgjsTspan1091"}},{"_":"2","$":{"x":"-28.360794000000002","dy":"30.400000000000002","id":"SvgjsTspan1092"}}]},{"$":{"y":"-435.0346495","x":"38.962041","font-size":"19","id":"SvgjsText1093","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"#","$":{"x":"38.962041","dy":"30.400000000000002","id":"SvgjsTspan1094"}},{"_":"3","$":{"x":"38.962041","dy":"30.400000000000002","id":"SvgjsTspan1095"}}]},{"$":{"y":"-435.0346495","x":"106.284874","font-size":"19","id":"SvgjsText1096","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"$","$":{"x":"106.284874","dy":"30.400000000000002","id":"SvgjsTspan1097"}},{"_":"4","$":{"x":"106.284874","dy":"30.400000000000002","id":"SvgjsTspan1098"}}]},{"$":{"y":"-435.0346495","x":"173.607703","font-size":"19","id":"SvgjsText1099","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"%","$":{"x":"173.607703","dy":"30.400000000000002","id":"SvgjsTspan1100"}},{"_":"5","$":{"x":"173.607703","dy":"30.400000000000002","id":"SvgjsTspan1101"}}]},{"$":{"y":"-435.0346495","x":"240.93055299999997","font-size":"19","id":"SvgjsText1102","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"^","$":{"x":"240.93055299999997","dy":"30.400000000000002","id":"SvgjsTspan1103"}},{"_":"6","$":{"x":"240.93055299999997","dy":"30.400000000000002","id":"SvgjsTspan1104"}}]},{"$":{"y":"-352.50870449999996","x":"-147.0615755","font-size":"19","id":"SvgjsText1125","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Tab\r\n ","$":{"x":"-147.0615755","dy":"30.400000000000002","id":"SvgjsTspan1126"}}]},{"$":{"y":"-352.50870449999996","x":"-63.79386099999999","font-size":"19","id":"SvgjsText1127","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Q\r\n ","$":{"x":"-63.79386099999999","dy":"30.400000000000002","id":"SvgjsTspan1128"}}]},{"$":{"y":"-352.50870449999996","x":"3.5289709999999985","font-size":"19","id":"SvgjsText1129","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n W\r\n ","$":{"x":"3.5289709999999985","dy":"30.400000000000002","id":"SvgjsTspan1130"}}]},{"$":{"y":"-352.50870449999996","x":"70.851807","font-size":"19","id":"SvgjsText1131","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n E\r\n ","$":{"x":"70.851807","dy":"30.400000000000002","id":"SvgjsTspan1132"}}]},{"$":{"y":"-352.50870449999996","x":"138.174633","font-size":"19","id":"SvgjsText1133","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n R\r\n ","$":{"x":"138.174633","dy":"30.400000000000002","id":"SvgjsTspan1134"}}]},{"$":{"y":"-352.50870449999996","x":"205.49747299999999","font-size":"19","id":"SvgjsText1135","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n T\r\n ","$":{"x":"205.49747299999999","dy":"30.400000000000002","id":"SvgjsTspan1136"}}]},{"$":{"y":"-285.1858645","x":"-139.089135","font-size":"19","id":"SvgjsText1156","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Mouse\r\n ","$":{"x":"-139.089135","dy":"30.400000000000002","id":"SvgjsTspan1157"}}]},{"$":{"y":"-285.1858645","x":"-47.530083000000005","font-size":"19","id":"SvgjsText1158","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n A\r\n ","$":{"x":"-47.530083000000005","dy":"30.400000000000002","id":"SvgjsTspan1159"}}]},{"$":{"y":"-285.1858645","x":"20.111646999999998","font-size":"19","id":"SvgjsText1160","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n S\r\n ","$":{"x":"20.111646999999998","dy":"30.400000000000002","id":"SvgjsTspan1161"}}]},{"$":{"y":"-285.1858645","x":"87.75337999999999","font-size":"19","id":"SvgjsText1162","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n D\r\n ","$":{"x":"87.75337999999999","dy":"30.400000000000002","id":"SvgjsTspan1163"}}]},{"$":{"y":"-285.1858645","x":"155.395113","font-size":"19","id":"SvgjsText1164","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n F\r\n ","$":{"x":"155.395113","dy":"30.400000000000002","id":"SvgjsTspan1165"}}]},{"$":{"y":"-285.1858645","x":"223.03684299999998","font-size":"19","id":"SvgjsText1166","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n G\r\n ","$":{"x":"223.03684299999998","dy":"30.400000000000002","id":"SvgjsTspan1167"}}]},{"$":{"y":"-217.86302450000002","x":"-123.14425","font-size":"19","id":"SvgjsText1184","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Shift\r\n ","$":{"x":"-123.14425","dy":"30.400000000000002","id":"SvgjsTspan1185"}}]},{"$":{"y":"-217.86302450000002","x":"-15.250557000000004","font-size":"19","id":"SvgjsText1186","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Z\r\n ","$":{"x":"-15.250557000000004","dy":"30.400000000000002","id":"SvgjsTspan1187"}}]},{"$":{"y":"-217.86302450000002","x":"52.780936999999994","font-size":"19","id":"SvgjsText1188","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n X\r\n ","$":{"x":"52.780936999999994","dy":"30.400000000000002","id":"SvgjsTspan1189"}}]},{"$":{"y":"-217.86302450000002","x":"120.812431","font-size":"19","id":"SvgjsText1190","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n C\r\n ","$":{"x":"120.812431","dy":"30.400000000000002","id":"SvgjsTspan1191"}}]},{"$":{"y":"-217.86302450000002","x":"188.843923","font-size":"19","id":"SvgjsText1192","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n V\r\n ","$":{"x":"188.843923","dy":"30.400000000000002","id":"SvgjsTspan1193"}}]},{"$":{"y":"-217.86302450000002","x":"256.875423","font-size":"19","id":"SvgjsText1194","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n B\r\n ","$":{"x":"256.875423","dy":"30.400000000000002","id":"SvgjsTspan1195"}}]},{"$":{"y":"-150.5401845","x":"-155.0340145","font-size":"19","id":"SvgjsText1211","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Ctrl\r\n ","$":{"x":"-155.0340145","dy":"30.400000000000002","id":"SvgjsTspan1212"}}]},{"$":{"y":"-150.5401845","x":"-72.1206345","font-size":"19","id":"SvgjsText1213","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Super\r\n ","$":{"x":"-72.1206345","dy":"30.400000000000002","id":"SvgjsTspan1214"}}]},{"$":{"y":"-150.5401845","x":"10.7927475","font-size":"19","id":"SvgjsText1215","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Alt\r\n ","$":{"x":"10.7927475","dy":"30.400000000000002","id":"SvgjsTspan1216"}}]},{"$":{"y":"-150.5401845","x":"93.7061345","font-size":"19","id":"SvgjsText1217","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Fn\r\n ","$":{"x":"93.7061345","dy":"30.400000000000002","id":"SvgjsTspan1218"}}]},{"$":{"y":"-150.5401845","x":"202.66282999999999","font-size":"19","id":"SvgjsText1219","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Mod\r\n ","$":{"x":"202.66282999999999","dy":"30.400000000000002","id":"SvgjsTspan1220"}}]},{"$":{"y":"-94.136492","x":"202.66282999999999","font-size":"19","id":"SvgjsText1231","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Space\r\n ","$":{"x":"202.66282999999999","dy":"30.400000000000002","id":"SvgjsTspan1232"}}]}]},{"$":{"transform":"translate(44.404903 1101.7674)","id":"right-parts"},"path":[{"$":{"d":"m 951.05862,-431.2832 c 2.791,0 5.32908,2.56086 5.32908,5.3769 l 0,329.455425 c 0,2.816038 -2.53808,5.376898 -5.32908,5.376898 l -370.67909,-0.0013 c -1.77166,0 -3.54347,1.7733 -3.54347,3.545 0,12.895215 0,23.315027 0,34.58266 0,1.7716 1.77181,3.5432 3.54347,3.5432 l 390.67297,1.44e-4 c 0.92804,0 1.85621,-0.147582 2.73944,-0.436358 0.88324,-0.288776 1.72122,-0.718687 2.47277,-1.269152 0.75157,-0.550467 1.41644,-1.221298 1.96201,-1.979608 0.54557,-0.758309 0.97166,-1.603806 1.25787,-2.494964 0.2862,-0.891158 0.43247,-1.827653 0.43247,-2.764016 l 0,-389.434639 c 0,-0.83901 -0.11739,-1.67813 -0.34806,-2.4845 -0.23066,-0.80638 -0.57456,-1.57983 -1.01841,-2.28986 -0.44385,-0.71002 -0.98756,-1.35643 -1.60971,-1.91378 -0.62215,-0.55735 -1.3226,-1.0255 -2.07365,-1.38629 -0.75105,-0.36078 -1.55253,-0.61412 -2.37301,-0.75058 -130.52433,-21.7076 -270.93602,-45.05959 -384.94144,-64.01992 -0.91165,-0.15162 -1.8469,-0.15828 -2.76061,-0.0195 -0.91372,0.13871 -1.8056,0.42276 -2.63265,0.83829 -0.82706,0.41551 -1.58903,0.96236 -2.24949,1.61394 -0.66047,0.65158 -1.21924,1.40768 -1.64996,2.2319 -0.43072,0.82422 -0.73327,1.71631 -0.8936,2.63375 -3.12168,17.84567 -6.23258,35.69325 -9.35634,53.53854 -0.058,0.33171 -0.16187,0.65478 -0.30744,0.95668 -0.14556,0.30189 -0.33275,0.58256 -0.5541,0.83133 -0.22136,0.24877 -0.47683,0.4656 -0.7565,0.64244 -0.27967,0.17685 -0.5835,0.31372 -0.89995,0.40551 -0.31645,0.0919 -0.64548,0.1386 -0.97471,0.1386 l -109.19782,-2e-5 c -0.93043,-10e-6 -1.77697,0.85413 -1.77697,1.79631 10e-6,7.4108 -1e-5,15.64271 0,21.94355 0,0.93909 0.84654,1.79353 1.77697,1.79353 l 495.73901,0","id":"right-case"}}],"rect":[{"$":{"rx":"3.5433071","ry":"3.5433071","x":"453.52896","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-0"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"520.85181","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-1"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"588.17462","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-2"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"655.4975","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-3"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"722.82031","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-4"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"790.14313","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-5"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"857.466","y":"-427.82285","height":"63.779526","width":"95.669289","id":"key-6"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"418.09589","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-7"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"485.41873","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-8"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"552.74158","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-9"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"620.06439","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-10"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"687.38727","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-11"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"754.71008","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-12"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"822.0329","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-13"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"889.35571","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-14"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"435.67072","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-15"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"503.31244","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-16"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"570.95416","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-17"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"638.59589","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-18"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"706.23761","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-19"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"773.87939","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-20"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"841.52112","y":"-293.17719","height":"63.779526","width":"111.61417","id":"key-21"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"469.47385","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-22"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"537.50537","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-23"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"605.53687","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-24"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"673.56836","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-25"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"741.59985","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-26"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"809.63135","y":"-225.85435","height":"63.779526","width":"143.50394","id":"key-27"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"448.92267","y":"-158.53151","height":"63.779526","width":"124.37008","id":"key-28"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"576.83606","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-29"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"659.74945","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-30"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"742.66284","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-31"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"825.57623","y":"-158.53151","height":"63.779526","width":"127.55905","id":"key-32"}},{"$":{"rx":"3.493542","ry":"3.5433071","x":"448.92267","y":"-91.071663","height":"41.667309","width":"124.37009","id":"key-33"}}],"text":[{"$":{"y":"-435.0346495","x":"485.418723","font-size":"19","id":"SvgjsText1105","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"&","$":{"x":"485.418723","dy":"30.400000000000002","id":"SvgjsTspan1106"}},{"_":"7","$":{"x":"485.418723","dy":"30.400000000000002","id":"SvgjsTspan1107"}}]},{"$":{"y":"-435.0346495","x":"552.741573","font-size":"19","id":"SvgjsText1108","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"*","$":{"x":"552.741573","dy":"30.400000000000002","id":"SvgjsTspan1109"}},{"_":"8","$":{"x":"552.741573","dy":"30.400000000000002","id":"SvgjsTspan1110"}}]},{"$":{"y":"-435.0346495","x":"620.064383","font-size":"19","id":"SvgjsText1111","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"(","$":{"x":"620.064383","dy":"30.400000000000002","id":"SvgjsTspan1112"}},{"_":"9","$":{"x":"620.064383","dy":"30.400000000000002","id":"SvgjsTspan1113"}}]},{"$":{"y":"-435.0346495","x":"687.387263","font-size":"19","id":"SvgjsText1114","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":")","$":{"x":"687.387263","dy":"30.400000000000002","id":"SvgjsTspan1115"}},{"_":"0","$":{"x":"687.387263","dy":"30.400000000000002","id":"SvgjsTspan1116"}}]},{"$":{"y":"-435.0346495","x":"754.710073","font-size":"19","id":"SvgjsText1117","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"_","$":{"x":"754.710073","dy":"30.400000000000002","id":"SvgjsTspan1118"}},{"_":"-","$":{"x":"754.710073","dy":"30.400000000000002","id":"SvgjsTspan1119"}}]},{"$":{"y":"-435.0346495","x":"822.0328930000001","font-size":"19","id":"SvgjsText1120","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"+","$":{"x":"822.0328930000001","dy":"30.400000000000002","id":"SvgjsTspan1121"}},{"_":"=","$":{"x":"822.0328930000001","dy":"30.400000000000002","id":"SvgjsTspan1122"}}]},{"$":{"y":"-419.8315245","x":"905.3006445","font-size":"19","id":"SvgjsText1123","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n ←\r\n ","$":{"x":"905.3006445","dy":"30.400000000000002","id":"SvgjsTspan1124"}}]},{"$":{"y":"-352.50870449999996","x":"449.985653","font-size":"19","id":"SvgjsText1137","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Y\r\n ","$":{"x":"449.985653","dy":"30.400000000000002","id":"SvgjsTspan1138"}}]},{"$":{"y":"-352.50870449999996","x":"517.308493","font-size":"19","id":"SvgjsText1139","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n U\r\n ","$":{"x":"517.308493","dy":"30.400000000000002","id":"SvgjsTspan1140"}}]},{"$":{"y":"-352.50870449999996","x":"584.631343","font-size":"19","id":"SvgjsText1141","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n I\r\n ","$":{"x":"584.631343","dy":"30.400000000000002","id":"SvgjsTspan1142"}}]},{"$":{"y":"-352.50870449999996","x":"651.954153","font-size":"19","id":"SvgjsText1143","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n O\r\n ","$":{"x":"651.954153","dy":"30.400000000000002","id":"SvgjsTspan1144"}}]},{"$":{"y":"-352.50870449999996","x":"719.277033","font-size":"19","id":"SvgjsText1145","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n P\r\n ","$":{"x":"719.277033","dy":"30.400000000000002","id":"SvgjsTspan1146"}}]},{"$":{"y":"-367.71182949999996","x":"786.599843","font-size":"19","id":"SvgjsText1147","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"{","$":{"x":"786.599843","dy":"30.400000000000002","id":"SvgjsTspan1148"}},{"_":"[","$":{"x":"786.599843","dy":"30.400000000000002","id":"SvgjsTspan1149"}}]},{"$":{"y":"-367.71182949999996","x":"853.9226630000001","font-size":"19","id":"SvgjsText1150","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"}","$":{"x":"853.9226630000001","dy":"30.400000000000002","id":"SvgjsTspan1151"}},{"_":"]","$":{"x":"853.9226630000001","dy":"30.400000000000002","id":"SvgjsTspan1152"}}]},{"$":{"y":"-367.71182949999996","x":"921.2454730000001","font-size":"19","id":"SvgjsText1153","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"|","$":{"x":"921.2454730000001","dy":"30.400000000000002","id":"SvgjsTspan1154"}},{"_":"\\","$":{"x":"921.2454730000001","dy":"30.400000000000002","id":"SvgjsTspan1155"}}]},{"$":{"y":"-285.1858645","x":"467.56048300000003","font-size":"19","id":"SvgjsText1168","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n H\r\n ","$":{"x":"467.56048300000003","dy":"30.400000000000002","id":"SvgjsTspan1169"}}]},{"$":{"y":"-285.1858645","x":"535.2022029999999","font-size":"19","id":"SvgjsText1170","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n J\r\n ","$":{"x":"535.2022029999999","dy":"30.400000000000002","id":"SvgjsTspan1171"}}]},{"$":{"y":"-285.1858645","x":"602.843923","font-size":"19","id":"SvgjsText1172","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n K\r\n ","$":{"x":"602.843923","dy":"30.400000000000002","id":"SvgjsTspan1173"}}]},{"$":{"y":"-285.1858645","x":"670.4856530000001","font-size":"19","id":"SvgjsText1174","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n L\r\n ","$":{"x":"670.4856530000001","dy":"30.400000000000002","id":"SvgjsTspan1175"}}]},{"$":{"y":"-300.3889895","x":"738.127373","font-size":"19","id":"SvgjsText1176","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":":","$":{"x":"738.127373","dy":"30.400000000000002","id":"SvgjsTspan1177"}},{"_":";","$":{"x":"738.127373","dy":"30.400000000000002","id":"SvgjsTspan1178"}}]},{"$":{"y":"-300.3889895","x":"805.769153","font-size":"19","id":"SvgjsText1179","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\"","$":{"x":"805.769153","dy":"30.400000000000002","id":"SvgjsTspan1180"}},{"_":"'","$":{"x":"805.769153","dy":"30.400000000000002","id":"SvgjsTspan1181"}}]},{"$":{"y":"-285.1858645","x":"897.328205","font-size":"19","id":"SvgjsText1182","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Enter\r\n ","$":{"x":"897.328205","dy":"30.400000000000002","id":"SvgjsTspan1183"}}]},{"$":{"y":"-217.86302450000002","x":"501.36361300000004","font-size":"19","id":"SvgjsText1196","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n N\r\n ","$":{"x":"501.36361300000004","dy":"30.400000000000002","id":"SvgjsTspan1197"}}]},{"$":{"y":"-217.86302450000002","x":"569.395133","font-size":"19","id":"SvgjsText1198","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n M\r\n ","$":{"x":"569.395133","dy":"30.400000000000002","id":"SvgjsTspan1199"}}]},{"$":{"y":"-233.06614950000002","x":"637.426633","font-size":"19","id":"SvgjsText1200","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"<","$":{"x":"637.426633","dy":"30.400000000000002","id":"SvgjsTspan1201"}},{"_":",","$":{"x":"637.426633","dy":"30.400000000000002","id":"SvgjsTspan1202"}}]},{"$":{"y":"-233.06614950000002","x":"705.458123","font-size":"19","id":"SvgjsText1203","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":">","$":{"x":"705.458123","dy":"30.400000000000002","id":"SvgjsTspan1204"}},{"_":".","$":{"x":"705.458123","dy":"30.400000000000002","id":"SvgjsTspan1205"}}]},{"$":{"y":"-233.06614950000002","x":"773.489613","font-size":"19","id":"SvgjsText1206","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"?","$":{"x":"773.489613","dy":"30.400000000000002","id":"SvgjsTspan1207"}},{"_":"/","$":{"x":"773.489613","dy":"30.400000000000002","id":"SvgjsTspan1208"}}]},{"$":{"y":"-217.86302450000002","x":"881.38332","font-size":"19","id":"SvgjsText1209","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Shift\r\n ","$":{"x":"881.38332","dy":"30.400000000000002","id":"SvgjsTspan1210"}}]},{"$":{"y":"-150.5401845","x":"511.10771","font-size":"19","id":"SvgjsText1221","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Space\r\n ","$":{"x":"511.10771","dy":"30.400000000000002","id":"SvgjsTspan1222"}}]},{"$":{"y":"-150.5401845","x":"616.6982654999999","font-size":"19","id":"SvgjsText1223","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Fn\r\n ","$":{"x":"616.6982654999999","dy":"30.400000000000002","id":"SvgjsTspan1224"}}]},{"$":{"y":"-150.5401845","x":"699.6116555","font-size":"19","id":"SvgjsText1225","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Alt\r\n ","$":{"x":"699.6116555","dy":"30.400000000000002","id":"SvgjsTspan1226"}}]},{"$":{"y":"-150.5401845","x":"782.5250454999999","font-size":"19","id":"SvgjsText1227","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Super\r\n ","$":{"x":"782.5250454999999","dy":"30.400000000000002","id":"SvgjsTspan1228"}}]},{"$":{"y":"-150.5401845","x":"889.355755","font-size":"19","id":"SvgjsText1229","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Ctrl\r\n ","$":{"x":"889.355755","dy":"30.400000000000002","id":"SvgjsTspan1230"}}]},{"$":{"y":"-94.136446","x":"511.107715","font-size":"19","id":"SvgjsText1233","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Mod\r\n ","$":{"x":"511.107715","dy":"30.400000000000002","id":"SvgjsTspan1234"}}]}]}]}]}} + +/***/ }, +/* 290 */ +/***/ function(module, exports) { + + module.exports = "\r\n \r\n \r\n \r\n"; + +/***/ }, +/* 291 */ +/***/ function(module, exports) { + + module.exports = ":host {\n display: flex;\n width: 100%;\n height: 100%;\n position: relative; }\n" + +/***/ }, +/* 292 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var svg_icon_text_key_1 = __webpack_require__(293); + exports.SvgIconTextKeyComponent = svg_icon_text_key_1.SvgIconTextKeyComponent; + var svg_keyboard_key_1 = __webpack_require__(296); + exports.SvgKeyboardKeyComponent = svg_keyboard_key_1.SvgKeyboardKeyComponent; + var svg_keystroke_key_1 = __webpack_require__(300); + exports.SvgKeystrokeKeyComponent = svg_keystroke_key_1.SvgKeystrokeKeyComponent; + var svg_mouse_key_1 = __webpack_require__(304); + exports.SvgMouseKeyComponent = svg_mouse_key_1.SvgMouseKeyComponent; + var svg_mouse_click_key_1 = __webpack_require__(307); + exports.SvgMouseClickKeyComponent = svg_mouse_click_key_1.SvgMouseClickKeyComponent; + var svg_mouse_move_key_1 = __webpack_require__(310); + exports.SvgMouseMoveKeyComponent = svg_mouse_move_key_1.SvgMouseMoveKeyComponent; + var svg_mouse_speed_key_1 = __webpack_require__(313); + exports.SvgMouseSpeedKeyComponent = svg_mouse_speed_key_1.SvgMouseSpeedKeyComponent; + var svg_mouse_scroll_key_1 = __webpack_require__(316); + exports.SvgMouseScrollKeyComponent = svg_mouse_scroll_key_1.SvgMouseScrollKeyComponent; + var svg_one_line_text_key_1 = __webpack_require__(319); + exports.SvgOneLineTextKeyComponent = svg_one_line_text_key_1.SvgOneLineTextKeyComponent; + var svg_single_icon_key_1 = __webpack_require__(322); + exports.SvgSingleIconKeyComponent = svg_single_icon_key_1.SvgSingleIconKeyComponent; + var svg_switch_keymap_key_1 = __webpack_require__(325); + exports.SvgSwitchKeymapKeyComponent = svg_switch_keymap_key_1.SvgSwitchKeymapKeyComponent; + var svg_text_icon_key_1 = __webpack_require__(328); + exports.SvgTextIconKeyComponent = svg_text_icon_key_1.SvgTextIconKeyComponent; + var svg_two_line_text_key_1 = __webpack_require__(331); + exports.SvgTwoLineTextKeyComponent = svg_two_line_text_key_1.SvgTwoLineTextKeyComponent; + + +/***/ }, +/* 293 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(294)); + + +/***/ }, +/* 294 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var SvgIconTextKeyComponent = (function () { + function SvgIconTextKeyComponent() { + } + SvgIconTextKeyComponent.prototype.ngOnInit = function () { + this.useWidth = this.width / 3; + this.useHeight = this.height / 3; + this.useX = (this.width > 2 * this.height) ? 0 : this.width / 3; + this.useY = (this.width > 2 * this.height) ? this.height / 3 : this.height / 10; + this.textY = (this.width > 2 * this.height) ? this.height / 2 : this.height * 0.6; + this.spanX = (this.width > 2 * this.height) ? this.width * 0.6 : this.width / 2; + }; + return SvgIconTextKeyComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], SvgIconTextKeyComponent.prototype, "width", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], SvgIconTextKeyComponent.prototype, "height", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", String) + ], SvgIconTextKeyComponent.prototype, "icon", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", String) + ], SvgIconTextKeyComponent.prototype, "text", void 0); + SvgIconTextKeyComponent = __decorate([ + core_1.Component({ + selector: 'g[svg-icon-text-key]', + template: __webpack_require__(295), + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", []) + ], SvgIconTextKeyComponent); + exports.SvgIconTextKeyComponent = SvgIconTextKeyComponent; + + +/***/ }, +/* 295 */ +/***/ function(module, exports) { + + module.exports = "\r\n\r\n\r\n {{ text }}\r\n"; + +/***/ }, +/* 296 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(297)); + + +/***/ }, +/* 297 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var store_1 = __webpack_require__(44); + var key_action_1 = __webpack_require__(142); + var KeyModifiers_1 = __webpack_require__(201); + var capture_service_1 = __webpack_require__(264); + var mapper_service_1 = __webpack_require__(202); + var user_configuration_1 = __webpack_require__(141); + var LabelTypes; + (function (LabelTypes) { + LabelTypes[LabelTypes["KeystrokeKey"] = 0] = "KeystrokeKey"; + LabelTypes[LabelTypes["MouseKey"] = 1] = "MouseKey"; + LabelTypes[LabelTypes["OneLineText"] = 2] = "OneLineText"; + LabelTypes[LabelTypes["TwoLineText"] = 3] = "TwoLineText"; + LabelTypes[LabelTypes["TextIcon"] = 4] = "TextIcon"; + LabelTypes[LabelTypes["SingleIcon"] = 5] = "SingleIcon"; + LabelTypes[LabelTypes["SwitchKeymap"] = 6] = "SwitchKeymap"; + LabelTypes[LabelTypes["IconText"] = 7] = "IconText"; + })(LabelTypes || (LabelTypes = {})); + var SvgKeyboardKeyComponent = (function () { + function SvgKeyboardKeyComponent(mapper, store, element, captureService, renderer) { + var _this = this; + this.mapper = mapper; + this.store = store; + this.element = element; + this.captureService = captureService; + this.renderer = renderer; + this.keyClick = new core_1.EventEmitter(); + this.capture = new core_1.EventEmitter(); + this.enumLabelTypes = LabelTypes; + this.changeAnimation = 'inactive'; + this.subscription = store.let(user_configuration_1.getMacros()) + .subscribe(function (macros) { return _this.macros = macros; }); + this.reset(); + this.captureService.populateMapping(); + this.scanCodePressed = false; + } + SvgKeyboardKeyComponent.prototype.onClick = function () { + this.reset(); + this.keyClick.emit(this.element.nativeElement); + }; + SvgKeyboardKeyComponent.prototype.onMouseDown = function (e) { + if ((e.which === 2 || e.button === 1) && this.capturingEnabled) { + e.preventDefault(); + this.renderer.invokeElementMethod(this.element.nativeElement, 'focus'); + if (this.recording) { + this.reset(); + } + else { + this.recording = true; + this.recordAnimation = 'active'; + } + } + }; + SvgKeyboardKeyComponent.prototype.onKeyUpe = function (e) { + if (this.scanCodePressed) { + e.preventDefault(); + this.scanCodePressed = false; + } + else if (this.recording) { + e.preventDefault(); + this.saveScanCode(); + } + }; + SvgKeyboardKeyComponent.prototype.onKeyDown = function (e) { + var code = e.keyCode; + if (this.recording) { + e.preventDefault(); + if (this.captureService.hasMap(code)) { + this.saveScanCode(this.captureService.getMap(code)); + this.scanCodePressed = true; + } + else { + this.captureService.setModifier((e.location === 1), code); + } + } + }; + SvgKeyboardKeyComponent.prototype.onFocusOut = function () { + this.reset(); + }; + SvgKeyboardKeyComponent.prototype.ngOnInit = function () { + this.setLabels(); + }; + SvgKeyboardKeyComponent.prototype.ngOnChanges = function (changes) { + if (changes['keyAction']) { + this.setLabels(); + if (this.keybindAnimationEnabled) { + this.changeAnimation = 'active'; + } + } + }; + SvgKeyboardKeyComponent.prototype.ngOnDestroy = function () { + this.subscription.unsubscribe(); + }; + SvgKeyboardKeyComponent.prototype.onChangeAnimationDone = function () { + this.changeAnimation = 'inactive'; + }; + SvgKeyboardKeyComponent.prototype.onRecordingAnimationDone = function () { + if (this.recording && this.recordAnimation === 'inactive') { + this.recordAnimation = 'active'; + } + else { + this.recordAnimation = 'inactive'; + } + }; + SvgKeyboardKeyComponent.prototype.reset = function () { + this.recording = false; + this.changeAnimation = 'inactive'; + this.captureService.initModifiers(); + }; + SvgKeyboardKeyComponent.prototype.saveScanCode = function (code) { + if (code === void 0) { code = 0; } + this.recording = false; + this.changeAnimation = 'inactive'; + var left = this.captureService.getModifiers(true); + var right = this.captureService.getModifiers(false); + this.capture.emit({ + code: code, + left: left, + right: right + }); + this.captureService.initModifiers(); + }; + SvgKeyboardKeyComponent.prototype.setLabels = function () { + if (!this.keyAction) { + this.labelSource = undefined; + this.labelType = LabelTypes.OneLineText; + return; + } + this.labelType = LabelTypes.OneLineText; + if (this.keyAction instanceof key_action_1.KeystrokeAction) { + var keyAction = this.keyAction; + var newLabelSource = void 0; + if (!keyAction.hasActiveModifier() && keyAction.hasScancode()) { + var scancode = keyAction.scancode; + newLabelSource = this.mapper.scanCodeToText(scancode); + if (this.mapper.hasScancodeIcon(scancode)) { + this.labelSource = this.mapper.scanCodeToSvgImagePath(scancode); + this.labelType = LabelTypes.SingleIcon; + } + else if (newLabelSource !== undefined) { + if (newLabelSource.length === 1) { + this.labelSource = newLabelSource[0]; + this.labelType = LabelTypes.OneLineText; + } + else { + this.labelSource = newLabelSource; + this.labelType = LabelTypes.TwoLineText; + } + } + } + else if (keyAction.hasOnlyOneActiveModifier() && !keyAction.hasScancode()) { + newLabelSource = []; + switch (keyAction.modifierMask) { + case KeyModifiers_1.KeyModifiers.leftCtrl: + case KeyModifiers_1.KeyModifiers.rightCtrl: + newLabelSource.push('Ctrl'); + break; + case KeyModifiers_1.KeyModifiers.leftShift: + case KeyModifiers_1.KeyModifiers.rightShift: + newLabelSource.push('Shift'); + break; + case KeyModifiers_1.KeyModifiers.leftAlt: + case KeyModifiers_1.KeyModifiers.rightAlt: + newLabelSource.push('Alt'); + break; + case KeyModifiers_1.KeyModifiers.leftGui: + case KeyModifiers_1.KeyModifiers.rightGui: + newLabelSource.push('Super'); + break; + default: + newLabelSource.push('Undefined'); + break; + } + this.labelSource = newLabelSource; + } + else { + this.labelType = LabelTypes.KeystrokeKey; + this.labelSource = this.keyAction; + } + } + else if (this.keyAction instanceof key_action_1.SwitchLayerAction) { + var keyAction = this.keyAction; + var newLabelSource = void 0; + switch (keyAction.layer) { + case key_action_1.LayerName.mod: + newLabelSource = 'Mod'; + break; + case key_action_1.LayerName.fn: + newLabelSource = 'Fn'; + break; + case key_action_1.LayerName.mouse: + newLabelSource = 'Mouse'; + break; + default: + break; + } + if (keyAction.isLayerToggleable) { + this.labelType = LabelTypes.TextIcon; + this.labelSource = { + text: newLabelSource, + icon: this.mapper.getIcon('toggle') + }; + } + else { + this.labelType = LabelTypes.OneLineText; + this.labelSource = newLabelSource; + } + } + else if (this.keyAction instanceof key_action_1.SwitchKeymapAction) { + var keyAction = this.keyAction; + this.labelType = LabelTypes.SwitchKeymap; + this.labelSource = keyAction.keymapAbbreviation; + } + else if (this.keyAction instanceof key_action_1.PlayMacroAction) { + var keyAction_1 = this.keyAction; + var macro = this.macros.find(function (_macro) { return _macro.id === keyAction_1.macroId; }); + this.labelType = LabelTypes.IconText; + this.labelSource = { + icon: this.mapper.getIcon('macro'), + text: macro.name + }; + } + else if (this.keyAction instanceof key_action_1.MouseAction) { + this.labelType = LabelTypes.MouseKey; + this.labelSource = this.keyAction; + } + else { + this.labelSource = undefined; + } + }; + return SvgKeyboardKeyComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", String) + ], SvgKeyboardKeyComponent.prototype, "id", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", String) + ], SvgKeyboardKeyComponent.prototype, "rx", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", String) + ], SvgKeyboardKeyComponent.prototype, "ry", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], SvgKeyboardKeyComponent.prototype, "height", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], SvgKeyboardKeyComponent.prototype, "width", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", key_action_1.KeyAction) + ], SvgKeyboardKeyComponent.prototype, "keyAction", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], SvgKeyboardKeyComponent.prototype, "keybindAnimationEnabled", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], SvgKeyboardKeyComponent.prototype, "capturingEnabled", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], SvgKeyboardKeyComponent.prototype, "keyClick", void 0); + __decorate([ + core_1.Output(), + __metadata("design:type", Object) + ], SvgKeyboardKeyComponent.prototype, "capture", void 0); + __decorate([ + core_1.HostListener('click'), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) + ], SvgKeyboardKeyComponent.prototype, "onClick", null); + __decorate([ + core_1.HostListener('mousedown', ['$event']), + __metadata("design:type", Function), + __metadata("design:paramtypes", [MouseEvent]), + __metadata("design:returntype", void 0) + ], SvgKeyboardKeyComponent.prototype, "onMouseDown", null); + __decorate([ + core_1.HostListener('keyup', ['$event']), + __metadata("design:type", Function), + __metadata("design:paramtypes", [KeyboardEvent]), + __metadata("design:returntype", void 0) + ], SvgKeyboardKeyComponent.prototype, "onKeyUpe", null); + __decorate([ + core_1.HostListener('keydown', ['$event']), + __metadata("design:type", Function), + __metadata("design:paramtypes", [KeyboardEvent]), + __metadata("design:returntype", void 0) + ], SvgKeyboardKeyComponent.prototype, "onKeyDown", null); + __decorate([ + core_1.HostListener('focusout'), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) + ], SvgKeyboardKeyComponent.prototype, "onFocusOut", null); + SvgKeyboardKeyComponent = __decorate([ + core_1.Component({ + animations: [ + core_1.trigger('change', [ + core_1.transition('inactive => active', [ + core_1.style({ fill: '#fff' }), + core_1.group([ + core_1.animate('1s ease-out', core_1.style({ + fill: '#333' + })) + ]) + ]) + ]), + core_1.trigger('recording', [ + core_1.state('inactive', core_1.style({ + fill: 'rgba(204, 0, 0, 1)' + })), + core_1.state('active', core_1.style({ + fill: 'rgba(204, 0, 0, 0.6)' + })), + core_1.transition('inactive <=> active', core_1.animate('600ms ease-in-out')) + ]) + ], + selector: 'g[svg-keyboard-key]', + template: __webpack_require__(298), + styles: [__webpack_require__(299)] + }), + __metadata("design:paramtypes", [mapper_service_1.MapperService, + store_1.Store, + core_1.ElementRef, + capture_service_1.CaptureService, + core_1.Renderer]) + ], SvgKeyboardKeyComponent); + exports.SvgKeyboardKeyComponent = SvgKeyboardKeyComponent; + + +/***/ }, +/* 298 */ +/***/ function(module, exports) { + + module.exports = "\r\n\r\n\r\n"; + +/***/ }, +/* 299 */ +/***/ function(module, exports) { + + module.exports = ":host {\n cursor: pointer;\n outline: none; }\n :host /deep/ text {\n dominant-baseline: central; }\n :host:hover {\n fill: #494949; }\n" + +/***/ }, +/* 300 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(301)); + + +/***/ }, +/* 301 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var key_action_1 = __webpack_require__(142); + var KeyModifiers_1 = __webpack_require__(201); + var mapper_service_1 = __webpack_require__(202); + var SvgAttributes = (function () { + function SvgAttributes() { + this.width = 0; + this.height = 0; + this.x = 0; + this.y = 0; + this.disabled = true; + } + return SvgAttributes; + }()); + var Modifiers; + (function (Modifiers) { + Modifiers[Modifiers["Shift"] = 0] = "Shift"; + Modifiers[Modifiers["Control"] = 1] = "Control"; + Modifiers[Modifiers["Alt"] = 2] = "Alt"; + Modifiers[Modifiers["Command"] = 3] = "Command"; + })(Modifiers || (Modifiers = {})); + var SvgKeystrokeKeyComponent = (function () { + function SvgKeystrokeKeyComponent(mapper) { + this.mapper = mapper; + this.modifierIconNames = {}; + this.textContainer = new SvgAttributes(); + this.modifierContainer = new SvgAttributes(); + this.shift = new SvgAttributes(); + this.control = new SvgAttributes(); + this.option = new SvgAttributes(); + this.command = new SvgAttributes(); + } + SvgKeystrokeKeyComponent.prototype.ngOnInit = function () { + this.viewBox = [0, 0, this.width, this.height].join(' '); + this.modifierIconNames.shift = this.mapper.getIcon('shift'); + this.modifierIconNames.option = this.mapper.getIcon('option'); + this.modifierIconNames.command = this.mapper.getIcon('command'); + var bottomSideMode = this.width < this.height * 1.8; + var heightWidthRatio = this.height / this.width; + if (bottomSideMode) { + var maxIconWidth = this.width / 4; + var maxIconHeight = this.height; + var iconScalingFactor = 0.8; + var iconWidth = iconScalingFactor * heightWidthRatio * maxIconWidth; + var iconHeight = iconScalingFactor * maxIconHeight; + this.modifierContainer.width = this.width; + this.modifierContainer.height = this.height / 5; + this.modifierContainer.y = this.height - this.modifierContainer.height; + this.shift.width = iconWidth; + this.shift.height = iconHeight; + this.shift.x = (maxIconWidth - iconWidth) / 2; + this.shift.y = (maxIconHeight - iconHeight) / 2; + this.control.width = iconWidth; + this.control.height = iconHeight; + this.control.x = this.shift.x + maxIconWidth; + this.control.y = this.shift.y; + this.option.width = iconWidth; + this.option.height = iconHeight; + this.option.x = this.control.x + maxIconWidth; + this.option.y = this.shift.y; + this.command.width = iconWidth; + this.command.height = iconHeight; + this.command.x = this.option.x + maxIconWidth; + this.command.y = this.shift.y; + this.textContainer.y = -this.modifierContainer.height / 2; + } + else { + this.modifierContainer.width = this.width / 4; + this.modifierContainer.height = this.height; + this.modifierContainer.x = this.width - this.modifierContainer.width; + var length_1 = Math.min(this.modifierContainer.width / 2, this.modifierContainer.height / 2); + var iconScalingFactor = 0.8; + var iconWidth = iconScalingFactor * this.width * (length_1 / this.modifierContainer.width); + var iconHeight = iconScalingFactor * this.height * (length_1 / this.modifierContainer.height); + this.shift.width = iconWidth; + this.shift.height = iconHeight; + this.shift.x = this.width / 4 - iconWidth / 2; + this.shift.y = this.height / 4 - iconHeight / 2; + this.control.width = iconWidth; + this.control.height = iconHeight; + this.control.x = this.shift.x + this.width / 2; + this.control.y = this.shift.y; + this.option.width = iconWidth; + this.option.height = iconHeight; + this.option.x = this.shift.x; + this.option.y = this.shift.y + this.height / 2; + this.command.width = iconWidth; + this.command.height = iconHeight; + this.command.x = this.option.x + this.width / 2; + this.command.y = this.option.y; + this.textContainer.x = -this.modifierContainer.width / 2; + } + this.textContainer.width = this.width; + this.textContainer.height = this.height; + }; + SvgKeystrokeKeyComponent.prototype.ngOnChanges = function () { + var newLabelSource; + if (this.keystrokeAction.hasScancode()) { + var scancode = this.keystrokeAction.scancode; + newLabelSource = this.mapper.scanCodeToText(scancode); + if (newLabelSource) { + if (newLabelSource.length === 1) { + this.labelSource = newLabelSource[0]; + this.labelType = 'one-line'; + } + else { + this.labelSource = newLabelSource; + this.labelType = 'two-line'; + } + } + else { + this.labelSource = this.mapper.scanCodeToSvgImagePath(scancode); + this.labelType = 'icon'; + } + } + else { + this.labelType = 'empty'; + } + this.shift.disabled = !this.keystrokeAction.isActive(KeyModifiers_1.KeyModifiers.leftShift | KeyModifiers_1.KeyModifiers.rightShift); + this.control.disabled = !this.keystrokeAction.isActive(KeyModifiers_1.KeyModifiers.leftCtrl | KeyModifiers_1.KeyModifiers.rightCtrl); + this.option.disabled = !this.keystrokeAction.isActive(KeyModifiers_1.KeyModifiers.leftAlt | KeyModifiers_1.KeyModifiers.rightAlt); + this.command.disabled = !this.keystrokeAction.isActive(KeyModifiers_1.KeyModifiers.leftGui | KeyModifiers_1.KeyModifiers.rightGui); + }; + return SvgKeystrokeKeyComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], SvgKeystrokeKeyComponent.prototype, "height", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], SvgKeystrokeKeyComponent.prototype, "width", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", key_action_1.KeystrokeAction) + ], SvgKeystrokeKeyComponent.prototype, "keystrokeAction", void 0); + SvgKeystrokeKeyComponent = __decorate([ + core_1.Component({ + selector: 'g[svg-keystroke-key]', + template: __webpack_require__(302), + styles: [__webpack_require__(303)], + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", [mapper_service_1.MapperService]) + ], SvgKeystrokeKeyComponent); + exports.SvgKeystrokeKeyComponent = SvgKeystrokeKeyComponent; + + +/***/ }, +/* 302 */ +/***/ function(module, exports) { + + module.exports = "\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n C\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"; + +/***/ }, +/* 303 */ +/***/ function(module, exports) { + + module.exports = ".disabled {\n fill: gray; }\n\ntext {\n font-size: 100px; }\n" + +/***/ }, +/* 304 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(305)); + + +/***/ }, +/* 305 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var key_action_1 = __webpack_require__(142); + var SvgMouseKeyComponent = (function () { + function SvgMouseKeyComponent() { + } + SvgMouseKeyComponent.prototype.ngOnChanges = function () { + switch (this.mouseAction.mouseAction) { + case key_action_1.MouseActionParam.leftClick: + this.type = 'click'; + this.param = 'Left'; + break; + case key_action_1.MouseActionParam.rightClick: + this.type = 'click'; + this.param = 'Right'; + break; + case key_action_1.MouseActionParam.middleClick: + this.type = 'click'; + this.param = 'Middle'; + break; + case key_action_1.MouseActionParam.scrollDown: + this.type = 'scroll'; + this.param = 'down'; + break; + case key_action_1.MouseActionParam.scrollLeft: + this.type = 'scroll'; + this.param = 'left'; + break; + case key_action_1.MouseActionParam.scrollRight: + this.type = 'scroll'; + this.param = 'right'; + break; + case key_action_1.MouseActionParam.scrollUp: + this.type = 'scroll'; + this.param = 'up'; + break; + case key_action_1.MouseActionParam.moveDown: + this.type = 'move'; + this.param = 'down'; + break; + case key_action_1.MouseActionParam.moveLeft: + this.type = 'move'; + this.param = 'left'; + break; + case key_action_1.MouseActionParam.moveRight: + this.type = 'move'; + this.param = 'right'; + break; + case key_action_1.MouseActionParam.moveUp: + this.type = 'move'; + this.param = 'up'; + break; + case key_action_1.MouseActionParam.accelerate: + this.type = 'speed'; + this.param = true; + break; + case key_action_1.MouseActionParam.decelerate: + this.type = 'speed'; + this.param = false; + break; + default: + break; + } + }; + return SvgMouseKeyComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", key_action_1.MouseAction) + ], SvgMouseKeyComponent.prototype, "mouseAction", void 0); + SvgMouseKeyComponent = __decorate([ + core_1.Component({ + selector: 'g[svg-mouse-key]', + template: __webpack_require__(306), + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", []) + ], SvgMouseKeyComponent); + exports.SvgMouseKeyComponent = SvgMouseKeyComponent; + + +/***/ }, +/* 306 */ +/***/ function(module, exports) { + + module.exports = "\r\n \r\n \r\n \r\n \r\n"; + +/***/ }, +/* 307 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(308)); + + +/***/ }, +/* 308 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var mapper_service_1 = __webpack_require__(202); + var SvgMouseClickKeyComponent = (function () { + function SvgMouseClickKeyComponent(mapper) { + this.mapper = mapper; + this.icon = this.mapper.getIcon('mouse'); + } + SvgMouseClickKeyComponent.prototype.ngOnInit = function () { }; + return SvgMouseClickKeyComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", String) + ], SvgMouseClickKeyComponent.prototype, "button", void 0); + SvgMouseClickKeyComponent = __decorate([ + core_1.Component({ + selector: 'g[svg-mouse-click-key]', + template: __webpack_require__(309), + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", [mapper_service_1.MapperService]) + ], SvgMouseClickKeyComponent); + exports.SvgMouseClickKeyComponent = SvgMouseClickKeyComponent; + + +/***/ }, +/* 309 */ +/***/ function(module, exports) { + + module.exports = "\r\n\r\n\r\n Click \r\n\r\n\r\n {{ button }} \r\n"; + +/***/ }, +/* 310 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(311)); + + +/***/ }, +/* 311 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var mapper_service_1 = __webpack_require__(202); + var SvgMouseMoveKeyComponent = (function () { + function SvgMouseMoveKeyComponent(mapper) { + this.mapper = mapper; + } + SvgMouseMoveKeyComponent.prototype.ngOnChanges = function () { + this.mouseIcon = this.mapper.getIcon('mouse'); + this.directionIcon = this.mapper.getIcon(this.direction + "-arrow"); + }; + return SvgMouseMoveKeyComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", String) + ], SvgMouseMoveKeyComponent.prototype, "direction", void 0); + SvgMouseMoveKeyComponent = __decorate([ + core_1.Component({ + selector: 'g[svg-mouse-move-key]', + template: __webpack_require__(312), + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", [mapper_service_1.MapperService]) + ], SvgMouseMoveKeyComponent); + exports.SvgMouseMoveKeyComponent = SvgMouseMoveKeyComponent; + + +/***/ }, +/* 312 */ +/***/ function(module, exports) { + + module.exports = "\r\n\r\n Move \r\n\r\n"; + +/***/ }, +/* 313 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(314)); + + +/***/ }, +/* 314 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var mapper_service_1 = __webpack_require__(202); + var SvgMouseSpeedKeyComponent = (function () { + function SvgMouseSpeedKeyComponent(mapper) { + this.mapper = mapper; + this.icon = this.mapper.getIcon('mouse'); + } + SvgMouseSpeedKeyComponent.prototype.ngOnChanges = function () { + this.sign = this.plus ? '+' : '-'; + }; + return SvgMouseSpeedKeyComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], SvgMouseSpeedKeyComponent.prototype, "plus", void 0); + SvgMouseSpeedKeyComponent = __decorate([ + core_1.Component({ + selector: 'g[svg-mouse-speed-key]', + template: __webpack_require__(315), + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", [mapper_service_1.MapperService]) + ], SvgMouseSpeedKeyComponent); + exports.SvgMouseSpeedKeyComponent = SvgMouseSpeedKeyComponent; + + +/***/ }, +/* 315 */ +/***/ function(module, exports) { + + module.exports = "\r\n\r\n\r\n Speed \r\n\r\n\r\n {{ sign }} \r\n"; + +/***/ }, +/* 316 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(317)); + + +/***/ }, +/* 317 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var mapper_service_1 = __webpack_require__(202); + var SvgMouseScrollKeyComponent = (function () { + function SvgMouseScrollKeyComponent(mapper) { + this.mapper = mapper; + } + SvgMouseScrollKeyComponent.prototype.ngOnChanges = function () { + this.mouseIcon = this.mapper.getIcon('mouse'); + this.directionIcon = this.mapper.getIcon("scroll-" + this.direction); + }; + return SvgMouseScrollKeyComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", String) + ], SvgMouseScrollKeyComponent.prototype, "direction", void 0); + SvgMouseScrollKeyComponent = __decorate([ + core_1.Component({ + selector: 'g[svg-mouse-scroll-key]', + template: __webpack_require__(318), + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", [mapper_service_1.MapperService]) + ], SvgMouseScrollKeyComponent); + exports.SvgMouseScrollKeyComponent = SvgMouseScrollKeyComponent; + + +/***/ }, +/* 318 */ +/***/ function(module, exports) { + + module.exports = "\r\n\r\n Scroll \r\n\r\n"; + +/***/ }, +/* 319 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(320)); + + +/***/ }, +/* 320 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var SvgOneLineTextKeyComponent = (function () { + function SvgOneLineTextKeyComponent() { + } + SvgOneLineTextKeyComponent.prototype.ngOnInit = function () { + this.textY = this.height / 2; + this.spanX = this.width / 2; + }; + return SvgOneLineTextKeyComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], SvgOneLineTextKeyComponent.prototype, "height", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], SvgOneLineTextKeyComponent.prototype, "width", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", String) + ], SvgOneLineTextKeyComponent.prototype, "text", void 0); + SvgOneLineTextKeyComponent = __decorate([ + core_1.Component({ + selector: 'g[svg-one-line-text-key]', + template: __webpack_require__(321), + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", []) + ], SvgOneLineTextKeyComponent); + exports.SvgOneLineTextKeyComponent = SvgOneLineTextKeyComponent; + + +/***/ }, +/* 321 */ +/***/ function(module, exports) { + + module.exports = " \r\n {{ text }}\r\n "; + +/***/ }, +/* 322 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(323)); + + +/***/ }, +/* 323 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var SvgSingleIconKeyComponent = (function () { + function SvgSingleIconKeyComponent() { + } + SvgSingleIconKeyComponent.prototype.ngOnInit = function () { + this.svgWidth = this.width / 3; + this.svgHeight = this.height / 3; + }; + return SvgSingleIconKeyComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], SvgSingleIconKeyComponent.prototype, "width", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], SvgSingleIconKeyComponent.prototype, "height", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", String) + ], SvgSingleIconKeyComponent.prototype, "icon", void 0); + SvgSingleIconKeyComponent = __decorate([ + core_1.Component({ + selector: 'g[svg-single-icon-key]', + template: __webpack_require__(324), + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", []) + ], SvgSingleIconKeyComponent); + exports.SvgSingleIconKeyComponent = SvgSingleIconKeyComponent; + + +/***/ }, +/* 324 */ +/***/ function(module, exports) { + + module.exports = "\r\n"; + +/***/ }, +/* 325 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(326)); + + +/***/ }, +/* 326 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var mapper_service_1 = __webpack_require__(202); + var SvgSwitchKeymapKeyComponent = (function () { + function SvgSwitchKeymapKeyComponent(mapperService) { + this.mapperService = mapperService; + } + SvgSwitchKeymapKeyComponent.prototype.ngOnInit = function () { + this.icon = this.mapperService.getIcon('switch-keymap'); + this.useWidth = this.width / 4; + this.useHeight = this.height / 4; + this.useX = this.width * 3 / 8; + this.useY = this.height / 5; + this.textY = this.height * 2 / 3; + this.spanX = this.width / 2; + }; + return SvgSwitchKeymapKeyComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], SvgSwitchKeymapKeyComponent.prototype, "width", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], SvgSwitchKeymapKeyComponent.prototype, "height", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", String) + ], SvgSwitchKeymapKeyComponent.prototype, "abbreviation", void 0); + SvgSwitchKeymapKeyComponent = __decorate([ + core_1.Component({ + selector: 'g[svg-switch-keymap-key]', + template: __webpack_require__(327), + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", [mapper_service_1.MapperService]) + ], SvgSwitchKeymapKeyComponent); + exports.SvgSwitchKeymapKeyComponent = SvgSwitchKeymapKeyComponent; + + +/***/ }, +/* 327 */ +/***/ function(module, exports) { + + module.exports = "\r\n\r\n\r\n {{ abbreviation }}\r\n"; + +/***/ }, +/* 328 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(329)); + + +/***/ }, +/* 329 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var SvgTextIconKeyComponent = (function () { + function SvgTextIconKeyComponent() { + } + SvgTextIconKeyComponent.prototype.ngOnInit = function () { + this.useWidth = this.width / 3; + this.useHeight = this.height / 3; + this.useX = (this.width > 2 * this.height) ? this.width * 0.6 : this.width / 3; + this.useY = (this.width > 2 * this.height) ? this.height / 3 : this.height / 2; + this.textY = (this.width > 2 * this.height) ? this.height / 2 : this.height / 3; + this.textAnchor = (this.width > 2 * this.height) ? 'end' : 'middle'; + this.spanX = (this.width > 2 * this.height) ? 0.6 * this.width : this.width / 2; + }; + return SvgTextIconKeyComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], SvgTextIconKeyComponent.prototype, "width", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], SvgTextIconKeyComponent.prototype, "height", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", String) + ], SvgTextIconKeyComponent.prototype, "text", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", String) + ], SvgTextIconKeyComponent.prototype, "icon", void 0); + SvgTextIconKeyComponent = __decorate([ + core_1.Component({ + selector: 'g[svg-text-icon-key]', + template: __webpack_require__(330), + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", []) + ], SvgTextIconKeyComponent); + exports.SvgTextIconKeyComponent = SvgTextIconKeyComponent; + + +/***/ }, +/* 330 */ +/***/ function(module, exports) { + + module.exports = " \r\n {{ text }}\r\n \r\n\r\n"; + +/***/ }, +/* 331 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(332)); + + +/***/ }, +/* 332 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var SvgTwoLineTextKeyComponent = (function () { + function SvgTwoLineTextKeyComponent() { + this.spanYs = []; + } + SvgTwoLineTextKeyComponent.prototype.ngOnInit = function () { + this.textY = this.height / 2; + this.spanX = this.width / 2; + for (var i = 0; i < this.texts.length; ++i) { + this.spanYs.push((0.75 - i * 0.5) * this.height); + } + }; + return SvgTwoLineTextKeyComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], SvgTwoLineTextKeyComponent.prototype, "height", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Number) + ], SvgTwoLineTextKeyComponent.prototype, "width", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Array) + ], SvgTwoLineTextKeyComponent.prototype, "texts", void 0); + SvgTwoLineTextKeyComponent = __decorate([ + core_1.Component({ + selector: 'g[svg-two-line-text-key]', + template: __webpack_require__(333), + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", []) + ], SvgTwoLineTextKeyComponent); + exports.SvgTwoLineTextKeyComponent = SvgTwoLineTextKeyComponent; + + +/***/ }, +/* 333 */ +/***/ function(module, exports) { + + module.exports = "\r\n {{ text }}\r\n "; + +/***/ }, +/* 334 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(335)); + + +/***/ }, +/* 335 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var Observable_1 = __webpack_require__(8); + __webpack_require__(336); + __webpack_require__(137); + var store_1 = __webpack_require__(44); + var mapper_service_1 = __webpack_require__(202); + var key_action_1 = __webpack_require__(142); + var Keymap_1 = __webpack_require__(158); + var LongPressAction_1 = __webpack_require__(146); + var util_1 = __webpack_require__(337); + var actions_1 = __webpack_require__(127); + var popover_1 = __webpack_require__(258); + var SvgKeyboardWrapComponent = (function () { + function SvgKeyboardWrapComponent(store, mapper, element, renderer) { + this.store = store; + this.mapper = mapper; + this.element = element; + this.renderer = renderer; + this.popoverEnabled = true; + this.tooltipEnabled = false; + this.currentLayer = 0; + this.keyEditConfig = { + moduleId: undefined, + keyId: undefined + }; + this.tooltipData = { + posTop: 0, + posLeft: 0, + content: Observable_1.Observable.of([]), + show: false + }; + } + Object.defineProperty(SvgKeyboardWrapComponent.prototype, "space", { + get: function () { + return this.popoverEnabled; + }, + enumerable: true, + configurable: true + }); + SvgKeyboardWrapComponent.prototype.onResize = function () { + if (this.wrapHost) { + this.wrapPosition = this.wrapHost.getBoundingClientRect(); + } + if (this.keyElement) { + this.keyPosition = this.keyElement.getBoundingClientRect(); + } + }; + SvgKeyboardWrapComponent.prototype.ngOnInit = function () { + this.wrapHost = this.element.nativeElement; + this.wrapPosition = this.wrapHost.getBoundingClientRect(); + }; + SvgKeyboardWrapComponent.prototype.ngOnChanges = function (changes) { + var keymapChanges = changes['keymap']; + if (keymapChanges) { + this.popoverShown = false; + this.layers = this.keymap.layers; + if (keymapChanges.previousValue.abbreviation !== keymapChanges.currentValue.abbreviation) { + this.currentLayer = 0; + this.keybindAnimationEnabled = keymapChanges.isFirstChange(); + } + else { + this.keybindAnimationEnabled = true; + } + } + }; + SvgKeyboardWrapComponent.prototype.onKeyClick = function (moduleId, keyId, keyTarget) { + if (!this.popoverShown && this.popoverEnabled) { + this.keyEditConfig = { + moduleId: moduleId, + keyId: keyId + }; + var keyActionToEdit = this.layers[this.currentLayer].modules[moduleId].keyActions[keyId]; + this.keyElement = keyTarget; + this.showPopover(keyActionToEdit); + } + }; + SvgKeyboardWrapComponent.prototype.onKeyHover = function (moduleId, event, over, keyId) { + if (this.tooltipEnabled) { + var keyActionToEdit = this.layers[this.currentLayer].modules[moduleId].keyActions[keyId]; + if (over) { + this.showTooltip(keyActionToEdit, event); + } + else { + this.hideTooltip(); + } + } + }; + SvgKeyboardWrapComponent.prototype.onCapture = function (moduleId, keyId, captured) { + var keystrokeAction = new key_action_1.KeystrokeAction(); + var modifiers = captured.left.concat(captured.right).map(function (x) { return x ? 1 : 0; }); + keystrokeAction.scancode = captured.code; + keystrokeAction.modifierMask = 0; + for (var i = 0; i < modifiers.length; ++i) { + keystrokeAction.modifierMask |= modifiers[i] << this.mapper.modifierMapper(i); + } + this.store.dispatch(actions_1.KeymapActions.saveKey(this.keymap, this.currentLayer, moduleId, keyId, keystrokeAction)); + }; + SvgKeyboardWrapComponent.prototype.onRemap = function (keyAction) { + this.store.dispatch(actions_1.KeymapActions.saveKey(this.keymap, this.currentLayer, this.keyEditConfig.moduleId, this.keyEditConfig.keyId, keyAction)); + this.hidePopover(); + }; + SvgKeyboardWrapComponent.prototype.showPopover = function (keyAction) { + this.keyPosition = this.keyElement.getBoundingClientRect(); + this.popoverInitKeyAction = keyAction; + this.popoverShown = true; + this.renderer.invokeElementMethod(this.popover.nativeElement, 'focus'); + }; + SvgKeyboardWrapComponent.prototype.showTooltip = function (keyAction, event) { + if (keyAction === undefined) { + return; + } + var el = event.target || event.srcElement; + var position = el.getBoundingClientRect(); + var posLeft = this.tooltipData.posLeft; + var posTop = this.tooltipData.posTop; + if (el.tagName === 'g') { + posLeft = position.left + (position.width / 2); + posTop = position.top + position.height; + } + this.tooltipData = { + posLeft: posLeft, + posTop: posTop, + content: this.getKeyActionContent(keyAction), + show: true + }; + }; + SvgKeyboardWrapComponent.prototype.hideTooltip = function () { + this.tooltipData.show = false; + }; + SvgKeyboardWrapComponent.prototype.hidePopover = function () { + this.popoverShown = false; + }; + SvgKeyboardWrapComponent.prototype.selectLayer = function (index) { + this.currentLayer = index; + }; + SvgKeyboardWrapComponent.prototype.getSelectedLayer = function () { + return this.currentLayer; + }; + SvgKeyboardWrapComponent.prototype.getKeyActionContent = function (keyAction) { + if (keyAction instanceof key_action_1.KeystrokeAction) { + var keystrokeAction = keyAction; + var content = []; + content.push({ + name: 'Action type', + value: 'Keystroke' + }); + if (keystrokeAction.hasScancode()) { + var value = keystrokeAction.scancode.toString(); + var scanCodeTexts = (this.mapper.scanCodeToText(keystrokeAction.scancode) || []).join(', '); + if (scanCodeTexts.length > 0) { + value += ' (' + scanCodeTexts + ')'; + } + content.push({ + name: 'Scancode', + value: value + }); + } + if (keystrokeAction.hasActiveModifier()) { + content.push({ + name: 'Modifiers', + value: keystrokeAction.getModifierList().join(', ') + }); + } + if (keystrokeAction.hasLongPressAction()) { + content.push({ + name: 'Long press', + value: LongPressAction_1.LongPressAction[keystrokeAction.longPressAction] + }); + } + return Observable_1.Observable.of(content); + } + else if (keyAction instanceof key_action_1.MouseAction) { + var mouseAction = keyAction; + var content = [ + { + name: 'Action type', + value: 'Mouse' + }, + { + name: 'Action', + value: util_1.camelCaseToSentence(key_action_1.MouseActionParam[mouseAction.mouseAction]) + } + ]; + return Observable_1.Observable.of(content); + } + else if (keyAction instanceof key_action_1.PlayMacroAction) { + var playMacroAction_1 = keyAction; + return this.store + .select(function (appState) { return appState.userConfiguration.macros; }) + .map(function (macroState) { return macroState.find(function (macro) { + return macro.id === playMacroAction_1.macroId; + }).name; }) + .map(function (macroName) { + var content = [ + { + name: 'Action type', + value: 'Play macro' + }, + { + name: 'Macro name', + value: macroName + } + ]; + return content; + }); + } + else if (keyAction instanceof key_action_1.SwitchKeymapAction) { + var switchKeymapAction_1 = keyAction; + return this.store + .select(function (appState) { return appState.userConfiguration.keymaps; }) + .map(function (keymaps) { return keymaps.find(function (keymap) { return keymap.abbreviation === switchKeymapAction_1.keymapAbbreviation; }).name; }) + .map(function (keymapName) { + var content = [ + { + name: 'Action type', + value: 'Switch keymap' + }, + { + name: 'Keymap', + value: keymapName + } + ]; + return content; + }); + } + else if (keyAction instanceof key_action_1.SwitchLayerAction) { + var switchLayerAction = keyAction; + var content = [ + { + name: 'Action type', + value: 'Switch layer' + }, + { + name: 'Layer', + value: util_1.capitalizeFirstLetter(key_action_1.LayerName[switchLayerAction.layer]) + }, + { + name: 'Toogle', + value: switchLayerAction.isLayerToggleable ? 'On' : 'Off' + } + ]; + return Observable_1.Observable.of(content); + } + return Observable_1.Observable.of([]); + }; + return SvgKeyboardWrapComponent; + }()); + __decorate([ + core_1.Input(), + __metadata("design:type", Keymap_1.Keymap) + ], SvgKeyboardWrapComponent.prototype, "keymap", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], SvgKeyboardWrapComponent.prototype, "popoverEnabled", void 0); + __decorate([ + core_1.Input(), + __metadata("design:type", Boolean) + ], SvgKeyboardWrapComponent.prototype, "tooltipEnabled", void 0); + __decorate([ + core_1.ViewChild(popover_1.PopoverComponent, { read: core_1.ElementRef }), + __metadata("design:type", core_1.ElementRef) + ], SvgKeyboardWrapComponent.prototype, "popover", void 0); + __decorate([ + core_1.HostBinding('class.space'), + __metadata("design:type", Object), + __metadata("design:paramtypes", []) + ], SvgKeyboardWrapComponent.prototype, "space", null); + __decorate([ + core_1.HostListener('window:resize'), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) + ], SvgKeyboardWrapComponent.prototype, "onResize", null); + SvgKeyboardWrapComponent = __decorate([ + core_1.Component({ + selector: 'svg-keyboard-wrap', + template: __webpack_require__(338), + styles: [__webpack_require__(339)], + changeDetection: core_1.ChangeDetectionStrategy.OnPush + }), + __metadata("design:paramtypes", [store_1.Store, + mapper_service_1.MapperService, + core_1.ElementRef, + core_1.Renderer]) + ], SvgKeyboardWrapComponent); + exports.SvgKeyboardWrapComponent = SvgKeyboardWrapComponent; + + +/***/ }, +/* 336 */, +/* 337 */ +/***/ function(module, exports) { + + "use strict"; + // Source: http://stackoverflow.com/questions/13720256/javascript-regex-camelcase-to-sentence + function camelCaseToSentence(camelCasedText) { + return camelCasedText.replace(/^[a-z]|[A-Z]/g, function (v, i) { + return i === 0 ? v.toUpperCase() : ' ' + v.toLowerCase(); + }); + } + exports.camelCaseToSentence = camelCaseToSentence; + function capitalizeFirstLetter(text) { + return text.charAt(0).toUpperCase() + text.slice(1); + } + exports.capitalizeFirstLetter = capitalizeFirstLetter; + + +/***/ }, +/* 338 */ +/***/ function(module, exports) { + + module.exports = ""; + +/***/ }, +/* 339 */ +/***/ function(module, exports) { + + module.exports = ":host {\n width: 100%;\n display: block; }\n :host.space {\n margin-bottom: 405px; }\n\nkeyboard-slider {\n display: block;\n position: relative;\n overflow: hidden;\n /* TODO create dynamic */\n height: 500px;\n margin-top: 30px; }\n\n.tooltip {\n position: fixed;\n transform: translate(-50%, -6px);\n display: none; }\n .tooltip-inner {\n background: #fff;\n color: #000;\n box-shadow: 0 1px 5px #000;\n text-align: left; }\n .tooltip-inner p {\n margin-bottom: 2px; }\n .tooltip-inner p:last-of-type {\n margin-bottom: 0; }\n .tooltip.bottom .tooltip-arrow {\n border-bottom-color: #fff;\n top: 1px; }\n .tooltip.in {\n display: block;\n opacity: 1; }\n" + +/***/ }, +/* 340 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(341)); + __export(__webpack_require__(345)); + + +/***/ }, +/* 341 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var core_1 = __webpack_require__(4); + var MainAppComponent = (function () { + function MainAppComponent() { + } + return MainAppComponent; + }()); + MainAppComponent = __decorate([ + core_1.Component({ + selector: 'main-app', + template: __webpack_require__(342), + styles: [ + __webpack_require__(343), + __webpack_require__(344) + ], + encapsulation: core_1.ViewEncapsulation.None + }) + ], MainAppComponent); + exports.MainAppComponent = MainAppComponent; + + +/***/ }, +/* 342 */ +/***/ function(module, exports) { + + module.exports = "\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n"; + +/***/ }, +/* 343 */ +/***/ function(module, exports) { + + module.exports = "main-app {\n display: block;\n min-height: 100vh;\n width: 100%;\n overflow: hidden;\n position: relative; }\n main-app .select2-container--default .select2-selection--single .select2-selection__rendered {\n line-height: 26px; }\n\n.main-content {\n margin-left: 250px; }\n\n.select2-container {\n z-index: 1100; }\n .select2-container .scancode--searchterm {\n text-align: right;\n color: #b7b7b7; }\n\n.select2-item {\n display: flex;\n justify-content: space-between; }\n\n.select2-results {\n text-align: left; }\n\n.nav-pills > li > a {\n cursor: pointer; }\n\n.select2-container--default .select2-dropdown--below .select2-results > .select2-results__options {\n max-height: 300px; }\n" + +/***/ }, +/* 344 */ +/***/ function(module, exports) { + + module.exports = "/* GitHub ribbon */\n.github-fork-ribbon {\n background-color: #a00;\n overflow: hidden;\n white-space: nowrap;\n position: fixed;\n right: -50px;\n bottom: 40px;\n z-index: 2000;\n /* stylelint-disable indentation */\n -webkit-transform: rotate(-45deg);\n -moz-transform: rotate(-45deg);\n -ms-transform: rotate(-45deg);\n -o-transform: rotate(-45deg);\n transform: rotate(-45deg);\n -webkit-box-shadow: 0 0 10px #888;\n -moz-box-shadow: 0 0 10px #888;\n box-shadow: 0 0 10px #888;\n /* stylelint-enable indentation */ }\n .github-fork-ribbon a {\n border: 1px solid #faa;\n color: #fff;\n display: block;\n font: bold 81.25% 'Helvetica Neue', Helvetica, Arial, sans-serif;\n margin: 1px 0;\n padding: 10px 50px;\n text-align: center;\n text-decoration: none;\n text-shadow: 0 0 5px #444; }\n" + +/***/ }, +/* 345 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var router_1 = __webpack_require__(99); + var add_on_1 = __webpack_require__(97); + var keymap_1 = __webpack_require__(346); + var macro_1 = __webpack_require__(183); + var settings_1 = __webpack_require__(271); + var appRoutes = keymap_1.keymapRoutes.concat(macro_1.macroRoutes, add_on_1.addOnRoutes, settings_1.settingsRoutes); + exports.appRoutingProviders = []; + exports.routing = router_1.RouterModule.forRoot(appRoutes, { useHash: true }); + + +/***/ }, +/* 346 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(347)); + + +/***/ }, +/* 347 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var keymap_add_component_1 = __webpack_require__(122); + var edit_1 = __webpack_require__(348); + exports.keymapRoutes = [ + { + path: '', + redirectTo: '/keymap', + pathMatch: 'full' + }, + { + path: 'keymap', + component: edit_1.KeymapEditComponent, + canActivate: [edit_1.KeymapEditGuard] + }, + { + path: 'keymap/add', + component: keymap_add_component_1.KeymapAddComponent + }, + { + path: 'keymap/:abbr', + component: edit_1.KeymapEditComponent + } + ]; + + +/***/ }, +/* 348 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var keymap_edit_component_1 = __webpack_require__(132); + exports.KeymapEditComponent = keymap_edit_component_1.KeymapEditComponent; + var keymap_edit_guard_service_1 = __webpack_require__(349); + exports.KeymapEditGuard = keymap_edit_guard_service_1.KeymapEditGuard; + + +/***/ }, +/* 349 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var router_1 = __webpack_require__(99); + var Observable_1 = __webpack_require__(8); + __webpack_require__(336); + __webpack_require__(278); + __webpack_require__(135); + __webpack_require__(138); + var store_1 = __webpack_require__(44); + var user_configuration_1 = __webpack_require__(141); + var KeymapEditGuard = (function () { + function KeymapEditGuard(store, router) { + this.store = store; + this.router = router; + } + KeymapEditGuard.prototype.canActivate = function () { + var _this = this; + return this.store + .let(user_configuration_1.getKeymaps()) + .do(function (keymaps) { + var defaultKeymap = keymaps.find(function (keymap) { return keymap.isDefault; }); + _this.router.navigate(['/keymap', defaultKeymap.abbreviation]); + }) + .switchMap(function () { return Observable_1.Observable.of(false); }); + }; + return KeymapEditGuard; + }()); + KeymapEditGuard = __decorate([ + core_1.Injectable(), + __metadata("design:paramtypes", [store_1.Store, router_1.Router]) + ], KeymapEditGuard); + exports.KeymapEditGuard = KeymapEditGuard; + + +/***/ }, +/* 350 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(351)); + + +/***/ }, +/* 351 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var cancelable_directive_1 = __webpack_require__(352); + exports.CancelableDirective = cancelable_directive_1.CancelableDirective; + + +/***/ }, +/* 352 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var CancelableDirective = (function () { + function CancelableDirective(elementRef, renderer) { + this.elementRef = elementRef; + this.renderer = renderer; + } + CancelableDirective.prototype.onFocus = function () { + this.originalValue = this.elementRef.nativeElement.value; + }; + CancelableDirective.prototype.onEscape = function () { + this.renderer.setElementProperty(this.elementRef.nativeElement, 'value', this.originalValue); + this.renderer.invokeElementMethod(this.elementRef.nativeElement, 'blur'); + }; + return CancelableDirective; + }()); + __decorate([ + core_1.HostListener('focus'), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) + ], CancelableDirective.prototype, "onFocus", null); + __decorate([ + core_1.HostListener('keyup.escape'), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) + ], CancelableDirective.prototype, "onEscape", null); + CancelableDirective = __decorate([ + core_1.Directive({ + selector: '[cancelable]' + }), + __metadata("design:paramtypes", [core_1.ElementRef, core_1.Renderer]) + ], CancelableDirective); + exports.CancelableDirective = CancelableDirective; + + +/***/ }, +/* 353 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + } + __export(__webpack_require__(354)); + __export(__webpack_require__(356)); + + +/***/ }, +/* 354 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var router_1 = __webpack_require__(99); + var effects_1 = __webpack_require__(29); + var store_1 = __webpack_require__(44); + __webpack_require__(278); + __webpack_require__(137); + __webpack_require__(355); + var actions_1 = __webpack_require__(127); + var KeymapEffects = (function () { + function KeymapEffects(actions$, router, store) { + var _this = this; + this.actions$ = actions$; + this.router = router; + this.store = store; + this.addOrDuplicate$ = this.actions$ + .ofType(actions_1.KeymapActions.ADD, actions_1.KeymapActions.DUPLICATE) + .withLatestFrom(this.store) + .map(function (latest) { return latest[1].userConfiguration.keymaps; }) + .do(function (keymaps) { + _this.router.navigate(['/keymap', keymaps[keymaps.length - 1].abbreviation]); + }); + this.remove$ = this.actions$ + .ofType(actions_1.KeymapActions.REMOVE) + .withLatestFrom(this.store) + .map(function (latest) { return latest[1].userConfiguration.keymaps; }) + .do(function (keymaps) { + if (keymaps.length === 0) { + _this.router.navigate(['/keymap/add']); + } + else { + var favourite = keymaps.find(function (keymap) { return keymap.isDefault; }); + _this.router.navigate(['/keymap', favourite.abbreviation]); + } + }); + this.editAbbr$ = this.actions$ + .ofType(actions_1.KeymapActions.EDIT_ABBR) + .map(function (action) { return action.payload.newAbbr; }) + .do(function (newAbbr) { + _this.router.navigate(['/keymap', newAbbr]); + }); + } + return KeymapEffects; + }()); + __decorate([ + effects_1.Effect({ dispatch: false }), + __metadata("design:type", Object) + ], KeymapEffects.prototype, "addOrDuplicate$", void 0); + __decorate([ + effects_1.Effect({ dispatch: false }), + __metadata("design:type", Object) + ], KeymapEffects.prototype, "remove$", void 0); + __decorate([ + effects_1.Effect({ dispatch: false }), + __metadata("design:type", Object) + ], KeymapEffects.prototype, "editAbbr$", void 0); + KeymapEffects = __decorate([ + core_1.Injectable(), + __metadata("design:paramtypes", [effects_1.Actions, router_1.Router, store_1.Store]) + ], KeymapEffects); + exports.KeymapEffects = KeymapEffects; + + +/***/ }, +/* 355 */, +/* 356 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var router_1 = __webpack_require__(99); + var effects_1 = __webpack_require__(29); + var store_1 = __webpack_require__(44); + __webpack_require__(278); + __webpack_require__(137); + __webpack_require__(355); + var actions_1 = __webpack_require__(127); + var MacroEffects = (function () { + function MacroEffects(actions$, router, store) { + var _this = this; + this.actions$ = actions$; + this.router = router; + this.store = store; + this.remove$ = this.actions$ + .ofType(actions_1.MacroActions.REMOVE) + .map(function (action) { return _this.store.dispatch(actions_1.KeymapActions.checkMacro(action.payload)); }) + .withLatestFrom(this.store) + .map(function (latest) { return latest[1].userConfiguration.macros; }) + .do(function (macros) { + if (macros.length === 0) { + _this.router.navigate(['/macro']); + } + else { + _this.router.navigate(['/macro', macros[0].id]); + } + }); + this.add$ = this.actions$ + .ofType(actions_1.MacroActions.ADD) + .withLatestFrom(this.store) + .map(function (latest) { return latest[1].userConfiguration.macros; }) + .map(function (macros) { return macros[macros.length - 1]; }) + .do(function (lastMacro) { + _this.router.navigate(['/macro', lastMacro.id, 'new']); + }); + } + return MacroEffects; + }()); + __decorate([ + effects_1.Effect({ dispatch: false }), + __metadata("design:type", Object) + ], MacroEffects.prototype, "remove$", void 0); + __decorate([ + effects_1.Effect({ dispatch: false }), + __metadata("design:type", Object) + ], MacroEffects.prototype, "add$", void 0); + MacroEffects = __decorate([ + core_1.Injectable(), + __metadata("design:paramtypes", [effects_1.Actions, router_1.Router, store_1.Store]) + ], MacroEffects); + exports.MacroEffects = MacroEffects; + + +/***/ }, +/* 357 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var user_configuration_1 = __webpack_require__(141); + exports.userConfigurationReducer = user_configuration_1.default; + exports.getUserConfiguration = user_configuration_1.getUserConfiguration; + var preset_1 = __webpack_require__(358); + exports.presetReducer = preset_1.default; + + +/***/ }, +/* 358 */ +/***/ function(module, exports) { + + "use strict"; + var initialState = []; + function default_1(state) { + if (state === void 0) { state = initialState; } + return state; + } + Object.defineProperty(exports, "__esModule", { value: true }); + exports.default = default_1; + + +/***/ }, +/* 359 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1 = __webpack_require__(4); + var Keymap_1 = __webpack_require__(158); + var UserConfiguration_1 = __webpack_require__(172); + var electron_1 = __webpack_require__(360); + var local_1 = __webpack_require__(361); + var DataStorage = (function () { + function DataStorage() { + this.initUHKJson(); + this.detectEnvironment(); + } + DataStorage.prototype.initialState = function () { + var config = this.getConfiguration(); + return { + userConfiguration: config, + presetKeymaps: this.uhkPresets + }; + }; + DataStorage.prototype.detectEnvironment = function () { + // Electron + // TODO check if we can remove when electron will be implemented (maybe use process.versions['electron']) + if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') { + this._environment = new electron_1.Electron(); + } + else { + this._environment = new local_1.Local(this.defaultUserConfiguration.dataModelVersion); + } + }; + // TODO: Add type for state + DataStorage.prototype.saveState = function (reducer) { + var _this = this; + return function (state, action) { + var nextState = reducer(state, action); + _this._environment.saveConfig(nextState); + return nextState; + }; + }; + DataStorage.prototype.initUHKJson = function () { + this.defaultUserConfiguration = new UserConfiguration_1.UserConfiguration() + .fromJsonObject(__webpack_require__(362)); + this.uhkPresets = __webpack_require__(363) + .map(function (keymap) { return new Keymap_1.Keymap().fromJsonObject(keymap); }); + }; + DataStorage.prototype.getConfiguration = function () { + var config = this._environment.getConfig(); + if (!config) { + config = this.defaultUserConfiguration; + } + return config; + }; + return DataStorage; + }()); + DataStorage = __decorate([ + core_1.Injectable(), + __metadata("design:paramtypes", []) + ], DataStorage); + exports.DataStorage = DataStorage; + + +/***/ }, +/* 360 */ +/***/ function(module, exports) { + + "use strict"; + var Electron = (function () { + function Electron() { + } + Electron.prototype.getConfig = function () { + // TODO implement load logic + return; + }; + /* tslint:disable:no-unused-variable */ + Electron.prototype.saveConfig = function (config) { + // TODO implement save logic + }; + return Electron; + }()); + exports.Electron = Electron; + + +/***/ }, +/* 361 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var UserConfiguration_1 = __webpack_require__(172); + var Local = (function () { + function Local(dataModelVersion) { + this.dataModelVersion = dataModelVersion; + } + Local.prototype.getConfig = function () { + var configJsonString = localStorage.getItem('config'); + var config; + if (configJsonString) { + var configJsonObject = JSON.parse(configJsonString); + if (configJsonObject.dataModelVersion === this.dataModelVersion) { + config = new UserConfiguration_1.UserConfiguration().fromJsonObject(configJsonObject); + } + } + return config; + }; + Local.prototype.saveConfig = function (config) { + localStorage.setItem('config', JSON.stringify(config.toJsonObject())); + }; + return Local; + }()); + exports.Local = Local; + + +/***/ }, +/* 362 */ +/***/ function(module, exports) { + + module.exports = { + "dataModelVersion": 3, + "moduleConfigurations": [ + { + "id": 1, + "initialPointerSpeed": 1, + "pointerAcceleration": 5, + "maxPointerSpeed": 200 + } + ], + "keymaps": [ + { + "isDefault": true, + "abbreviation": "QTY", + "name": "QWERTY", + "description": "", + "layers": [ + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + { + "keyActionType": "keystroke", + "scancode": 36 + }, + { + "keyActionType": "keystroke", + "scancode": 37 + }, + { + "keyActionType": "keystroke", + "scancode": 38 + }, + { + "keyActionType": "keystroke", + "scancode": 39 + }, + { + "keyActionType": "keystroke", + "scancode": 45 + }, + { + "keyActionType": "keystroke", + "scancode": 46 + }, + { + "keyActionType": "keystroke", + "scancode": 42 + }, + { + "keyActionType": "keystroke", + "scancode": 28 + }, + { + "keyActionType": "keystroke", + "scancode": 24 + }, + { + "keyActionType": "keystroke", + "scancode": 12 + }, + { + "keyActionType": "keystroke", + "scancode": 18 + }, + { + "keyActionType": "keystroke", + "scancode": 19 + }, + { + "keyActionType": "keystroke", + "scancode": 47 + }, + { + "keyActionType": "keystroke", + "scancode": 48 + }, + { + "keyActionType": "keystroke", + "scancode": 49 + }, + { + "keyActionType": "keystroke", + "scancode": 11 + }, + { + "keyActionType": "keystroke", + "scancode": 13 + }, + { + "keyActionType": "keystroke", + "scancode": 14 + }, + { + "keyActionType": "keystroke", + "scancode": 15 + }, + { + "keyActionType": "keystroke", + "scancode": 51 + }, + { + "keyActionType": "keystroke", + "scancode": 52 + }, + { + "keyActionType": "keystroke", + "scancode": 40 + }, + { + "keyActionType": "keystroke", + "scancode": 17 + }, + { + "keyActionType": "keystroke", + "scancode": 16 + }, + { + "keyActionType": "keystroke", + "scancode": 54 + }, + { + "keyActionType": "keystroke", + "scancode": 55 + }, + { + "keyActionType": "keystroke", + "scancode": 56 + }, + { + "keyActionType": "keystroke", + "modifierMask": 32 + }, + { + "keyActionType": "keystroke", + "scancode": 44 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "toggle": false + }, + { + "keyActionType": "keystroke", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "modifierMask": 16 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "toggle": false + } + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + { + "keyActionType": "keystroke", + "scancode": 53 + }, + { + "keyActionType": "keystroke", + "scancode": 30 + }, + { + "keyActionType": "keystroke", + "scancode": 31 + }, + { + "keyActionType": "keystroke", + "scancode": 32 + }, + { + "keyActionType": "keystroke", + "scancode": 33 + }, + { + "keyActionType": "keystroke", + "scancode": 34 + }, + { + "keyActionType": "keystroke", + "scancode": 35 + }, + { + "keyActionType": "keystroke", + "scancode": 43 + }, + { + "keyActionType": "keystroke", + "scancode": 20 + }, + { + "keyActionType": "keystroke", + "scancode": 26 + }, + { + "keyActionType": "keystroke", + "scancode": 8 + }, + { + "keyActionType": "keystroke", + "scancode": 21 + }, + { + "keyActionType": "keystroke", + "scancode": 23 + }, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "toggle": false + }, + { + "keyActionType": "keystroke", + "scancode": 4 + }, + { + "keyActionType": "keystroke", + "scancode": 22 + }, + { + "keyActionType": "keystroke", + "scancode": 7 + }, + { + "keyActionType": "keystroke", + "scancode": 9 + }, + { + "keyActionType": "keystroke", + "scancode": 10 + }, + { + "keyActionType": "keystroke", + "modifierMask": 2 + }, + { + "keyActionType": "keystroke", + "scancode": 29 + }, + { + "keyActionType": "keystroke", + "scancode": 27 + }, + { + "keyActionType": "keystroke", + "scancode": 6 + }, + { + "keyActionType": "keystroke", + "scancode": 25 + }, + { + "keyActionType": "keystroke", + "scancode": 5 + }, + { + "keyActionType": "keystroke", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "modifierMask": 4 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "toggle": false + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "toggle": false + }, + { + "keyActionType": "keystroke", + "scancode": 44 + } + ] + }, + { + "id": 2, + "pointerRole": "scroll", + "keyActions": [] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "none", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "scancode": 75 + }, + { + "keyActionType": "keystroke", + "scancode": 74 + }, + { + "keyActionType": "keystroke", + "scancode": 82 + }, + { + "keyActionType": "keystroke", + "scancode": 77 + }, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "scancode": 78 + }, + { + "keyActionType": "keystroke", + "scancode": 80 + }, + { + "keyActionType": "keystroke", + "scancode": 81 + }, + { + "keyActionType": "keystroke", + "scancode": 79 + }, + null, + null, + null, + null, + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "VIM" + }, + null, + { + "keyActionType": "keystroke", + "scancode": 118 + }, + { + "keyActionType": "keystroke", + "modifierMask": 32 + }, + null, + { + "keyActionType": "switchLayer", + "layer": "fn", + "toggle": false + }, + { + "keyActionType": "keystroke", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "modifierMask": 16 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "toggle": false + } + ] + }, + { + "id": 1, + "pointerRole": "none", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "toggle": false + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "modifierMask": 4 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "toggle": false + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "toggle": false + }, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + { + "keyActionType": "switchLayer", + "layer": "fn", + "toggle": true + }, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "scancode": 232 + }, + { + "keyActionType": "keystroke", + "scancode": 237 + }, + { + "keyActionType": "keystroke", + "scancode": 233 + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "scancode": 234 + }, + { + "keyActionType": "keystroke", + "scancode": 238 + }, + { + "keyActionType": "keystroke", + "scancode": 235 + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "scancode": 239 + }, + null, + null, + { + "keyActionType": "keystroke", + "modifierMask": 32 + }, + null, + { + "keyActionType": "switchLayer", + "layer": "fn", + "toggle": false + }, + { + "keyActionType": "keystroke", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "modifierMask": 16 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "toggle": true + } + ] + }, + { + "id": 1, + "pointerRole": "scroll", + "keyActions": [ + null, + null, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "toggle": true + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "toggle": true + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "toggle": true + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "modifierMask": 4 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "toggle": false + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "toggle": true + }, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollUp" + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "moveUp" + }, + null, + null, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollDown" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveLeft" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveDown" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveRight" + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "modifierMask": 16 + }, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "toggle": false + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "rightClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "middleClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "leftClick" + }, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "modifierMask": 4 + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "accelerate" + }, + { + "keyActionType": "mouse", + "mouseAction": "decelerate" + } + ] + } + ] + } + ] + }, + { + "isDefault": false, + "abbreviation": "VIM", + "name": "VIM", + "description": "", + "layers": [ + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + { + "keyActionType": "mouse", + "mouseAction": "scrollDown" + }, + { + "keyActionType": "playMacro", + "macroIndex": 0 + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "QTY" + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "scroll", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 2, + "pointerRole": "move", + "keyActions": [ + { + "keyActionType": "keystroke", + "scancode": 111 + } + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "scroll", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + { + "keyActionType": "keystroke", + "scancode": 111 + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "scroll", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + { + "keyActionType": "keystroke", + "scancode": 111 + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "scroll", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + { + "keyActionType": "keystroke", + "scancode": 111 + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + ] + } + ] + }, + { + "isDefault": false, + "abbreviation": "DVR", + "name": "DVR", + "description": "", + "layers": [ + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + ] + } + ] + } + ], + "macros": [ + { + "isLooped": false, + "isPrivate": true, + "name": "My address", + "macroActions": [ + { + "macroActionType": "key", + "action": "press", + "scancode": 111 + }, + { + "macroActionType": "key", + "action": "hold", + "scancode": 83 + }, + { + "macroActionType": "key", + "action": "release", + "scancode": 112 + }, + { + "macroActionType": "key", + "action": "press", + "modifierMask": 93 + }, + { + "macroActionType": "key", + "action": "hold", + "modifierMask": 101 + }, + { + "macroActionType": "key", + "action": "release", + "modifierMask": 133 + }, + { + "macroActionType": "mouseButton", + "action": "press", + "mouseButtonsMask": 9 + }, + { + "macroActionType": "mouseButton", + "action": "hold", + "mouseButtonsMask": 12 + }, + { + "macroActionType": "mouseButton", + "action": "release", + "mouseButtonsMask": 104 + }, + { + "macroActionType": "moveMouse", + "x": -1920, + "y": 220 + }, + { + "macroActionType": "scrollMouse", + "x": 0, + "y": 20000 + }, + { + "macroActionType": "delay", + "delay": 40000 + }, + { + "macroActionType": "text", + "text": "this is a text" + } + ] + }, + { + "isLooped": true, + "isPrivate": true, + "name": "Blah Blah blah", + "macroActions": [ + { + "macroActionType": "key", + "action": "press", + "scancode": 111 + }, + { + "macroActionType": "mouseButton", + "action": "release", + "mouseButtonsMask": 104 + }, + { + "macroActionType": "scrollMouse", + "x": 0, + "y": -20000 + }, + { + "macroActionType": "delay", + "delay": 40000 + }, + { + "macroActionType": "text", + "text": "blahhhhhhh" + } + ] + } + ] + }; + +/***/ }, +/* 363 */ +/***/ function(module, exports) { + + module.exports = [ + { + "isDefault": false, + "abbreviation": "QTY", + "name": "QWERTY", + "description": "Maecenas sem dui, ullamcorper consequat pellentesque ut, mattis at velit. Duis scelerisque eleifend gravida. Aenean at mauris rhoncus, dictum mi vitae, semper eros. Quisque maximus est elit, at condimentum ligula consectetur vel. Aenean lorem felis, molestie id ex suscipit, sagittis mollis dui. Phasellus in felis in libero bibendum ornare. Duis vestibulum dolor sed diam tempor vulputate. Curabitur scelerisque pretium ipsum. Phasellus non orci vestibulum, vehicula lectus sit amet, lacinia velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In diam lacus, cursus at pretium vel, ullamcorper at ante.", + "layers": [ + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + { + "keyActionType": "keystroke", + "scancode": 36 + }, + { + "keyActionType": "keystroke", + "scancode": 37 + }, + { + "keyActionType": "keystroke", + "scancode": 38 + }, + { + "keyActionType": "keystroke", + "scancode": 39 + }, + { + "keyActionType": "keystroke", + "scancode": 45 + }, + { + "keyActionType": "keystroke", + "scancode": 46 + }, + { + "keyActionType": "keystroke", + "scancode": 42 + }, + { + "keyActionType": "keystroke", + "scancode": 28 + }, + { + "keyActionType": "keystroke", + "scancode": 24 + }, + { + "keyActionType": "keystroke", + "scancode": 12 + }, + { + "keyActionType": "keystroke", + "scancode": 18 + }, + { + "keyActionType": "keystroke", + "scancode": 19 + }, + { + "keyActionType": "keystroke", + "scancode": 47 + }, + { + "keyActionType": "keystroke", + "scancode": 48 + }, + { + "keyActionType": "keystroke", + "scancode": 49 + }, + { + "keyActionType": "keystroke", + "scancode": 11 + }, + { + "keyActionType": "keystroke", + "scancode": 13 + }, + { + "keyActionType": "keystroke", + "scancode": 14 + }, + { + "keyActionType": "keystroke", + "scancode": 15 + }, + { + "keyActionType": "keystroke", + "scancode": 51 + }, + { + "keyActionType": "keystroke", + "scancode": 52 + }, + { + "keyActionType": "keystroke", + "scancode": 40 + }, + { + "keyActionType": "keystroke", + "scancode": 17 + }, + { + "keyActionType": "keystroke", + "scancode": 16 + }, + { + "keyActionType": "keystroke", + "scancode": 54 + }, + { + "keyActionType": "keystroke", + "scancode": 55 + }, + { + "keyActionType": "keystroke", + "scancode": 56 + }, + { + "keyActionType": "keystroke", + "modifierMask": 32 + }, + { + "keyActionType": "keystroke", + "scancode": 44 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "toggle": false + }, + { + "keyActionType": "keystroke", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "modifierMask": 16 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "toggle": false + } + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + { + "keyActionType": "keystroke", + "scancode": 53 + }, + { + "keyActionType": "keystroke", + "scancode": 30 + }, + { + "keyActionType": "keystroke", + "scancode": 31 + }, + { + "keyActionType": "keystroke", + "scancode": 32 + }, + { + "keyActionType": "keystroke", + "scancode": 33 + }, + { + "keyActionType": "keystroke", + "scancode": 34 + }, + { + "keyActionType": "keystroke", + "scancode": 35 + }, + { + "keyActionType": "keystroke", + "scancode": 43 + }, + { + "keyActionType": "keystroke", + "scancode": 20 + }, + { + "keyActionType": "keystroke", + "scancode": 26 + }, + { + "keyActionType": "keystroke", + "scancode": 8 + }, + { + "keyActionType": "keystroke", + "scancode": 21 + }, + { + "keyActionType": "keystroke", + "scancode": 23 + }, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "toggle": false + }, + { + "keyActionType": "keystroke", + "scancode": 4 + }, + { + "keyActionType": "keystroke", + "scancode": 22 + }, + { + "keyActionType": "keystroke", + "scancode": 7 + }, + { + "keyActionType": "keystroke", + "scancode": 9 + }, + { + "keyActionType": "keystroke", + "scancode": 10 + }, + { + "keyActionType": "keystroke", + "modifierMask": 2 + }, + { + "keyActionType": "keystroke", + "scancode": 29 + }, + { + "keyActionType": "keystroke", + "scancode": 27 + }, + { + "keyActionType": "keystroke", + "scancode": 6 + }, + { + "keyActionType": "keystroke", + "scancode": 25 + }, + { + "keyActionType": "keystroke", + "scancode": 5 + }, + { + "keyActionType": "keystroke", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "modifierMask": 4 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "toggle": false + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "toggle": false + }, + { + "keyActionType": "keystroke", + "scancode": 44 + } + ] + }, + { + "id": 2, + "pointerRole": "scroll", + "keyActions": [] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "none", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "scancode": 75 + }, + { + "keyActionType": "keystroke", + "scancode": 74 + }, + { + "keyActionType": "keystroke", + "scancode": 82 + }, + { + "keyActionType": "keystroke", + "scancode": 77 + }, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "scancode": 78 + }, + { + "keyActionType": "keystroke", + "scancode": 80 + }, + { + "keyActionType": "keystroke", + "scancode": 81 + }, + { + "keyActionType": "keystroke", + "scancode": 79 + }, + null, + null, + null, + null, + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "VIM" + }, + null, + { + "keyActionType": "keystroke", + "scancode": 118 + }, + { + "keyActionType": "keystroke", + "modifierMask": 32 + }, + null, + { + "keyActionType": "switchLayer", + "layer": "fn", + "toggle": false + }, + { + "keyActionType": "keystroke", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "modifierMask": 16 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "toggle": false + } + ] + }, + { + "id": 1, + "pointerRole": "none", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "toggle": false + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "modifierMask": 4 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "toggle": false + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "toggle": false + }, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + { + "keyActionType": "switchLayer", + "layer": "fn", + "toggle": true + }, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "scancode": 232 + }, + { + "keyActionType": "keystroke", + "scancode": 237 + }, + { + "keyActionType": "keystroke", + "scancode": 233 + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "scancode": 234 + }, + { + "keyActionType": "keystroke", + "scancode": 238 + }, + { + "keyActionType": "keystroke", + "scancode": 235 + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "scancode": 239 + }, + null, + null, + { + "keyActionType": "keystroke", + "modifierMask": 32 + }, + null, + { + "keyActionType": "switchLayer", + "layer": "fn", + "toggle": false + }, + { + "keyActionType": "keystroke", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "modifierMask": 16 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "toggle": true + } + ] + }, + { + "id": 1, + "pointerRole": "scroll", + "keyActions": [ + null, + null, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "toggle": true + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "toggle": true + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "toggle": true + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "modifierMask": 4 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "toggle": false + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "toggle": true + }, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollUp" + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "moveUp" + }, + null, + null, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollDown" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveLeft" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveDown" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveRight" + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "modifierMask": 16 + }, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "toggle": false + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "rightClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "middleClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "leftClick" + }, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "modifierMask": 4 + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "accelerate" + }, + { + "keyActionType": "mouse", + "mouseAction": "decelerate" + } + ] + } + ] + } + ] + }, + { + "isDefault": false, + "abbreviation": "VIM", + "name": "VIM", + "description": "Phasellus egestas ac tellus id tincidunt. Ut non nisl turpis. Morbi molestie diam elit, et cursus nibh tempus vel. Vestibulum mattis arcu nec nisi dictum, quis facilisis augue rutrum. Fusce vel tristique metus. Nullam pretium elit et enim maximus ornare. Praesent ultrices ligula ut mi convallis, quis ultrices enim venenatis. Aenean interdum odio aliquam quam vestibulum, vel bibendum elit ornare. Morbi leo enim, ullamcorper a bibendum sit amet, ultrices vitae ligula. Etiam consectetur et massa a convallis. Nullam non nisi aliquet, suscipit nulla a, tempor odio. Praesent eu turpis euismod, pellentesque mauris ut, imperdiet felis. Pellentesque vehicula luctus purus, et mattis ante volutpat eu. Quisque venenatis porta odio.", + "layers": [ + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + { + "keyActionType": "mouse", + "mouseAction": "scrollDown" + }, + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "QTY" + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "scroll", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 2, + "pointerRole": "move", + "keyActions": [ + { + "keyActionType": "keystroke", + "scancode": 111 + } + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + ] + } + ] + }, + { + "isDefault": false, + "abbreviation": "DVR", + "name": "DVR", + "description": "Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aenean dictum sollicitudin massa, ut lacinia ipsum. Ut bibendum ipsum ac pulvinar vehicula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam feugiat lobortis lacus, id viverra nisl varius eu. Aliquam vitae eros a augue fermentum ultricies. Nam tempus dui sed ante ultricies bibendum. In ligula velit, aliquet a felis vitae, gravida tincidunt ante. Proin euismod velit odio, at pretium lacus porta egestas. Suspendisse aliquam, lacus accumsan dapibus elementum, orci felis egestas leo, non vulputate lorem turpis nec risus. Curabitur id volutpat orci. Sed aliquet finibus iaculis. In venenatis neque ac dolor posuere, vel vestibulum augue posuere.", + "layers": [ + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + ] + } + ] + }, + { + "isDefault": false, + "abbreviation": "EMY", + "name": "Empty keymap", + "description": "None of the keys are bind to any key action. It is ideal if you want to start creating your keymap from the ground up.", + "layers": [ + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + { + "id": 1, + "pointerRole": "move", + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + ] + } + ] + } + ]; + +/***/ }, +/* 364 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {var WritableStream = __webpack_require__(365).Writable + var inherits = __webpack_require__(386).inherits + + module.exports = BrowserStdout + + + inherits(BrowserStdout, WritableStream) + + function BrowserStdout(opts) { + if (!(this instanceof BrowserStdout)) return new BrowserStdout(opts) + + opts = opts || {} + WritableStream.call(this, opts) + this.label = (opts.label !== undefined) ? opts.label : 'stdout' + } + + BrowserStdout.prototype._write = function(chunks, encoding, cb) { + var output = chunks.toString ? chunks.toString() : chunks + if (this.label === false) { + console.log(output) + } else { + console.log(this.label+':', output) + } + process.nextTick(cb) + } + + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 365 */ +/***/ function(module, exports, __webpack_require__) { + + // Copyright Joyent, Inc. and other Node contributors. + // + // Permission is hereby granted, free of charge, to any person obtaining a + // copy of this software and associated documentation files (the + // "Software"), to deal in the Software without restriction, including + // without limitation the rights to use, copy, modify, merge, publish, + // distribute, sublicense, and/or sell copies of the Software, and to permit + // persons to whom the Software is furnished to do so, subject to the + // following conditions: + // + // The above copyright notice and this permission notice shall be included + // in all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + // USE OR OTHER DEALINGS IN THE SOFTWARE. + + module.exports = Stream; + + var EE = __webpack_require__(366).EventEmitter; + var inherits = __webpack_require__(367); + + inherits(Stream, EE); + Stream.Readable = __webpack_require__(368); + Stream.Writable = __webpack_require__(382); + Stream.Duplex = __webpack_require__(383); + Stream.Transform = __webpack_require__(384); + Stream.PassThrough = __webpack_require__(385); + + // Backwards-compat with node 0.4.x + Stream.Stream = Stream; + + + + // old-style streams. Note that the pipe method (the only relevant + // part of this class) is overridden in the Readable class. + + function Stream() { + EE.call(this); + } + + Stream.prototype.pipe = function(dest, options) { + var source = this; + + function ondata(chunk) { + if (dest.writable) { + if (false === dest.write(chunk) && source.pause) { + source.pause(); + } + } + } + + source.on('data', ondata); + + function ondrain() { + if (source.readable && source.resume) { + source.resume(); + } + } + + dest.on('drain', ondrain); + + // If the 'end' option is not supplied, dest.end() will be called when + // source gets the 'end' or 'close' events. Only dest.end() once. + if (!dest._isStdio && (!options || options.end !== false)) { + source.on('end', onend); + source.on('close', onclose); + } + + var didOnEnd = false; + function onend() { + if (didOnEnd) return; + didOnEnd = true; + + dest.end(); + } + + + function onclose() { + if (didOnEnd) return; + didOnEnd = true; + + if (typeof dest.destroy === 'function') dest.destroy(); + } + + // don't leave dangling pipes when there are errors. + function onerror(er) { + cleanup(); + if (EE.listenerCount(this, 'error') === 0) { + throw er; // Unhandled stream error in pipe. + } + } + + source.on('error', onerror); + dest.on('error', onerror); + + // remove all the event listeners that were added. + function cleanup() { + source.removeListener('data', ondata); + dest.removeListener('drain', ondrain); + + source.removeListener('end', onend); + source.removeListener('close', onclose); + + source.removeListener('error', onerror); + dest.removeListener('error', onerror); + + source.removeListener('end', cleanup); + source.removeListener('close', cleanup); + + dest.removeListener('close', cleanup); + } + + source.on('end', cleanup); + source.on('close', cleanup); + + dest.on('close', cleanup); + + dest.emit('pipe', source); + + // Allow for unix-like usage: A.pipe(B).pipe(C) + return dest; + }; + + +/***/ }, +/* 366 */ +/***/ function(module, exports) { + + // Copyright Joyent, Inc. and other Node contributors. + // + // Permission is hereby granted, free of charge, to any person obtaining a + // copy of this software and associated documentation files (the + // "Software"), to deal in the Software without restriction, including + // without limitation the rights to use, copy, modify, merge, publish, + // distribute, sublicense, and/or sell copies of the Software, and to permit + // persons to whom the Software is furnished to do so, subject to the + // following conditions: + // + // The above copyright notice and this permission notice shall be included + // in all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + // USE OR OTHER DEALINGS IN THE SOFTWARE. + + function EventEmitter() { + this._events = this._events || {}; + this._maxListeners = this._maxListeners || undefined; + } + module.exports = EventEmitter; + + // Backwards-compat with node 0.10.x + EventEmitter.EventEmitter = EventEmitter; + + EventEmitter.prototype._events = undefined; + EventEmitter.prototype._maxListeners = undefined; + + // By default EventEmitters will print a warning if more than 10 listeners are + // added to it. This is a useful default which helps finding memory leaks. + EventEmitter.defaultMaxListeners = 10; + + // Obviously not all Emitters should be limited to 10. This function allows + // that to be increased. Set to zero for unlimited. + EventEmitter.prototype.setMaxListeners = function(n) { + if (!isNumber(n) || n < 0 || isNaN(n)) + throw TypeError('n must be a positive number'); + this._maxListeners = n; + return this; + }; + + EventEmitter.prototype.emit = function(type) { + var er, handler, len, args, i, listeners; + + if (!this._events) + this._events = {}; + + // If there is no 'error' event listener then throw. + if (type === 'error') { + if (!this._events.error || + (isObject(this._events.error) && !this._events.error.length)) { + er = arguments[1]; + if (er instanceof Error) { + throw er; // Unhandled 'error' event + } else { + // At least give some kind of context to the user + var err = new Error('Uncaught, unspecified "error" event. (' + er + ')'); + err.context = er; + throw err; + } + } + } + + handler = this._events[type]; + + if (isUndefined(handler)) + return false; + + if (isFunction(handler)) { + switch (arguments.length) { + // fast cases + case 1: + handler.call(this); + break; + case 2: + handler.call(this, arguments[1]); + break; + case 3: + handler.call(this, arguments[1], arguments[2]); + break; + // slower + default: + args = Array.prototype.slice.call(arguments, 1); + handler.apply(this, args); + } + } else if (isObject(handler)) { + args = Array.prototype.slice.call(arguments, 1); + listeners = handler.slice(); + len = listeners.length; + for (i = 0; i < len; i++) + listeners[i].apply(this, args); + } + + return true; + }; + + EventEmitter.prototype.addListener = function(type, listener) { + var m; + + if (!isFunction(listener)) + throw TypeError('listener must be a function'); + + if (!this._events) + this._events = {}; + + // To avoid recursion in the case that type === "newListener"! Before + // adding it to the listeners, first emit "newListener". + if (this._events.newListener) + this.emit('newListener', type, + isFunction(listener.listener) ? + listener.listener : listener); + + if (!this._events[type]) + // Optimize the case of one listener. Don't need the extra array object. + this._events[type] = listener; + else if (isObject(this._events[type])) + // If we've already got an array, just append. + this._events[type].push(listener); + else + // Adding the second element, need to change to array. + this._events[type] = [this._events[type], listener]; + + // Check for listener leak + if (isObject(this._events[type]) && !this._events[type].warned) { + if (!isUndefined(this._maxListeners)) { + m = this._maxListeners; + } else { + m = EventEmitter.defaultMaxListeners; + } + + if (m && m > 0 && this._events[type].length > m) { + this._events[type].warned = true; + console.error('(node) warning: possible EventEmitter memory ' + + 'leak detected. %d listeners added. ' + + 'Use emitter.setMaxListeners() to increase limit.', + this._events[type].length); + if (typeof console.trace === 'function') { + // not supported in IE 10 + console.trace(); + } + } + } + + return this; + }; + + EventEmitter.prototype.on = EventEmitter.prototype.addListener; + + EventEmitter.prototype.once = function(type, listener) { + if (!isFunction(listener)) + throw TypeError('listener must be a function'); + + var fired = false; + + function g() { + this.removeListener(type, g); + + if (!fired) { + fired = true; + listener.apply(this, arguments); + } + } + + g.listener = listener; + this.on(type, g); + + return this; + }; + + // emits a 'removeListener' event iff the listener was removed + EventEmitter.prototype.removeListener = function(type, listener) { + var list, position, length, i; + + if (!isFunction(listener)) + throw TypeError('listener must be a function'); + + if (!this._events || !this._events[type]) + return this; + + list = this._events[type]; + length = list.length; + position = -1; + + if (list === listener || + (isFunction(list.listener) && list.listener === listener)) { + delete this._events[type]; + if (this._events.removeListener) + this.emit('removeListener', type, listener); + + } else if (isObject(list)) { + for (i = length; i-- > 0;) { + if (list[i] === listener || + (list[i].listener && list[i].listener === listener)) { + position = i; + break; + } + } + + if (position < 0) + return this; + + if (list.length === 1) { + list.length = 0; + delete this._events[type]; + } else { + list.splice(position, 1); + } + + if (this._events.removeListener) + this.emit('removeListener', type, listener); + } + + return this; + }; + + EventEmitter.prototype.removeAllListeners = function(type) { + var key, listeners; + + if (!this._events) + return this; + + // not listening for removeListener, no need to emit + if (!this._events.removeListener) { + if (arguments.length === 0) + this._events = {}; + else if (this._events[type]) + delete this._events[type]; + return this; + } + + // emit removeListener for all listeners on all events + if (arguments.length === 0) { + for (key in this._events) { + if (key === 'removeListener') continue; + this.removeAllListeners(key); + } + this.removeAllListeners('removeListener'); + this._events = {}; + return this; + } + + listeners = this._events[type]; + + if (isFunction(listeners)) { + this.removeListener(type, listeners); + } else if (listeners) { + // LIFO order + while (listeners.length) + this.removeListener(type, listeners[listeners.length - 1]); + } + delete this._events[type]; + + return this; + }; + + EventEmitter.prototype.listeners = function(type) { + var ret; + if (!this._events || !this._events[type]) + ret = []; + else if (isFunction(this._events[type])) + ret = [this._events[type]]; + else + ret = this._events[type].slice(); + return ret; + }; + + EventEmitter.prototype.listenerCount = function(type) { + if (this._events) { + var evlistener = this._events[type]; + + if (isFunction(evlistener)) + return 1; + else if (evlistener) + return evlistener.length; + } + return 0; + }; + + EventEmitter.listenerCount = function(emitter, type) { + return emitter.listenerCount(type); + }; + + function isFunction(arg) { + return typeof arg === 'function'; + } + + function isNumber(arg) { + return typeof arg === 'number'; + } + + function isObject(arg) { + return typeof arg === 'object' && arg !== null; + } + + function isUndefined(arg) { + return arg === void 0; + } + + +/***/ }, +/* 367 */ +/***/ function(module, exports) { + + if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; + } else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } + } + + +/***/ }, +/* 368 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {var Stream = (function (){ + try { + return __webpack_require__(365); // hack to fix a circular dependency issue when used with browserify + } catch(_){} + }()); + exports = module.exports = __webpack_require__(369); + exports.Stream = Stream || exports; + exports.Readable = exports; + exports.Writable = __webpack_require__(377); + exports.Duplex = __webpack_require__(376); + exports.Transform = __webpack_require__(380); + exports.PassThrough = __webpack_require__(381); + + if (!process.browser && process.env.READABLE_STREAM === 'disable' && Stream) { + module.exports = Stream; + } + + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 369 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {'use strict'; + + module.exports = Readable; + + /**/ + var processNextTick = __webpack_require__(370); + /**/ + + /**/ + var isArray = __webpack_require__(157); + /**/ + + /**/ + var Duplex; + /**/ + + Readable.ReadableState = ReadableState; + + /**/ + var EE = __webpack_require__(366).EventEmitter; + + var EElistenerCount = function (emitter, type) { + return emitter.listeners(type).length; + }; + /**/ + + /**/ + var Stream; + (function () { + try { + Stream = __webpack_require__(365); + } catch (_) {} finally { + if (!Stream) Stream = __webpack_require__(366).EventEmitter; + } + })(); + /**/ + + var Buffer = __webpack_require__(371).Buffer; + /**/ + var bufferShim = __webpack_require__(372); + /**/ + + /**/ + var util = __webpack_require__(373); + util.inherits = __webpack_require__(367); + /**/ + + /**/ + var debugUtil = __webpack_require__(374); + var debug = void 0; + if (debugUtil && debugUtil.debuglog) { + debug = debugUtil.debuglog('stream'); + } else { + debug = function () {}; + } + /**/ + + var BufferList = __webpack_require__(375); + var StringDecoder; + + util.inherits(Readable, Stream); + + function prependListener(emitter, event, fn) { + // Sadly this is not cacheable as some libraries bundle their own + // event emitter implementation with them. + if (typeof emitter.prependListener === 'function') { + return emitter.prependListener(event, fn); + } else { + // This is a hack to make sure that our error handler is attached before any + // userland ones. NEVER DO THIS. This is here only because this code needs + // to continue to work with older versions of Node.js that do not include + // the prependListener() method. The goal is to eventually remove this hack. + if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]]; + } + } + + function ReadableState(options, stream) { + Duplex = Duplex || __webpack_require__(376); + + options = options || {}; + + // object stream flag. Used to make read(n) ignore n and to + // make all the buffer merging and length checks go away + this.objectMode = !!options.objectMode; + + if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.readableObjectMode; + + // the point at which it stops calling _read() to fill the buffer + // Note: 0 is a valid value, means "don't call _read preemptively ever" + var hwm = options.highWaterMark; + var defaultHwm = this.objectMode ? 16 : 16 * 1024; + this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm; + + // cast to ints. + this.highWaterMark = ~ ~this.highWaterMark; + + // A linked list is used to store data chunks instead of an array because the + // linked list can remove elements from the beginning faster than + // array.shift() + this.buffer = new BufferList(); + this.length = 0; + this.pipes = null; + this.pipesCount = 0; + this.flowing = null; + this.ended = false; + this.endEmitted = false; + this.reading = false; + + // a flag to be able to tell if the onwrite cb is called immediately, + // or on a later tick. We set this to true at first, because any + // actions that shouldn't happen until "later" should generally also + // not happen before the first write call. + this.sync = true; + + // whenever we return null, then we set a flag to say + // that we're awaiting a 'readable' event emission. + this.needReadable = false; + this.emittedReadable = false; + this.readableListening = false; + this.resumeScheduled = false; + + // Crypto is kind of old and crusty. Historically, its default string + // encoding is 'binary' so we have to make this configurable. + // Everything else in the universe uses 'utf8', though. + this.defaultEncoding = options.defaultEncoding || 'utf8'; + + // when piping, we only care about 'readable' events that happen + // after read()ing all the bytes and not getting any pushback. + this.ranOut = false; + + // the number of writers that are awaiting a drain event in .pipe()s + this.awaitDrain = 0; + + // if true, a maybeReadMore has been scheduled + this.readingMore = false; + + this.decoder = null; + this.encoding = null; + if (options.encoding) { + if (!StringDecoder) StringDecoder = __webpack_require__(379).StringDecoder; + this.decoder = new StringDecoder(options.encoding); + this.encoding = options.encoding; + } + } + + function Readable(options) { + Duplex = Duplex || __webpack_require__(376); + + if (!(this instanceof Readable)) return new Readable(options); + + this._readableState = new ReadableState(options, this); + + // legacy + this.readable = true; + + if (options && typeof options.read === 'function') this._read = options.read; + + Stream.call(this); + } + + // Manually shove something into the read() buffer. + // This returns true if the highWaterMark has not been hit yet, + // similar to how Writable.write() returns true if you should + // write() some more. + Readable.prototype.push = function (chunk, encoding) { + var state = this._readableState; + + if (!state.objectMode && typeof chunk === 'string') { + encoding = encoding || state.defaultEncoding; + if (encoding !== state.encoding) { + chunk = bufferShim.from(chunk, encoding); + encoding = ''; + } + } + + return readableAddChunk(this, state, chunk, encoding, false); + }; + + // Unshift should *always* be something directly out of read() + Readable.prototype.unshift = function (chunk) { + var state = this._readableState; + return readableAddChunk(this, state, chunk, '', true); + }; + + Readable.prototype.isPaused = function () { + return this._readableState.flowing === false; + }; + + function readableAddChunk(stream, state, chunk, encoding, addToFront) { + var er = chunkInvalid(state, chunk); + if (er) { + stream.emit('error', er); + } else if (chunk === null) { + state.reading = false; + onEofChunk(stream, state); + } else if (state.objectMode || chunk && chunk.length > 0) { + if (state.ended && !addToFront) { + var e = new Error('stream.push() after EOF'); + stream.emit('error', e); + } else if (state.endEmitted && addToFront) { + var _e = new Error('stream.unshift() after end event'); + stream.emit('error', _e); + } else { + var skipAdd; + if (state.decoder && !addToFront && !encoding) { + chunk = state.decoder.write(chunk); + skipAdd = !state.objectMode && chunk.length === 0; + } + + if (!addToFront) state.reading = false; + + // Don't add to the buffer if we've decoded to an empty string chunk and + // we're not in object mode + if (!skipAdd) { + // if we want the data now, just emit it. + if (state.flowing && state.length === 0 && !state.sync) { + stream.emit('data', chunk); + stream.read(0); + } else { + // update the buffer info. + state.length += state.objectMode ? 1 : chunk.length; + if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk); + + if (state.needReadable) emitReadable(stream); + } + } + + maybeReadMore(stream, state); + } + } else if (!addToFront) { + state.reading = false; + } + + return needMoreData(state); + } + + // if it's past the high water mark, we can push in some more. + // Also, if we have no data yet, we can stand some + // more bytes. This is to work around cases where hwm=0, + // such as the repl. Also, if the push() triggered a + // readable event, and the user called read(largeNumber) such that + // needReadable was set, then we ought to push more, so that another + // 'readable' event will be triggered. + function needMoreData(state) { + return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0); + } + + // backwards compatibility. + Readable.prototype.setEncoding = function (enc) { + if (!StringDecoder) StringDecoder = __webpack_require__(379).StringDecoder; + this._readableState.decoder = new StringDecoder(enc); + this._readableState.encoding = enc; + return this; + }; + + // Don't raise the hwm > 8MB + var MAX_HWM = 0x800000; + function computeNewHighWaterMark(n) { + if (n >= MAX_HWM) { + n = MAX_HWM; + } else { + // Get the next highest power of 2 to prevent increasing hwm excessively in + // tiny amounts + n--; + n |= n >>> 1; + n |= n >>> 2; + n |= n >>> 4; + n |= n >>> 8; + n |= n >>> 16; + n++; + } + return n; + } + + // This function is designed to be inlinable, so please take care when making + // changes to the function body. + function howMuchToRead(n, state) { + if (n <= 0 || state.length === 0 && state.ended) return 0; + if (state.objectMode) return 1; + if (n !== n) { + // Only flow one buffer at a time + if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length; + } + // If we're asking for more than the current hwm, then raise the hwm. + if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n); + if (n <= state.length) return n; + // Don't have enough + if (!state.ended) { + state.needReadable = true; + return 0; + } + return state.length; + } + + // you can override either this method, or the async _read(n) below. + Readable.prototype.read = function (n) { + debug('read', n); + n = parseInt(n, 10); + var state = this._readableState; + var nOrig = n; + + if (n !== 0) state.emittedReadable = false; + + // if we're doing read(0) to trigger a readable event, but we + // already have a bunch of data in the buffer, then just trigger + // the 'readable' event and move on. + if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) { + debug('read: emitReadable', state.length, state.ended); + if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this); + return null; + } + + n = howMuchToRead(n, state); + + // if we've ended, and we're now clear, then finish it up. + if (n === 0 && state.ended) { + if (state.length === 0) endReadable(this); + return null; + } + + // All the actual chunk generation logic needs to be + // *below* the call to _read. The reason is that in certain + // synthetic stream cases, such as passthrough streams, _read + // may be a completely synchronous operation which may change + // the state of the read buffer, providing enough data when + // before there was *not* enough. + // + // So, the steps are: + // 1. Figure out what the state of things will be after we do + // a read from the buffer. + // + // 2. If that resulting state will trigger a _read, then call _read. + // Note that this may be asynchronous, or synchronous. Yes, it is + // deeply ugly to write APIs this way, but that still doesn't mean + // that the Readable class should behave improperly, as streams are + // designed to be sync/async agnostic. + // Take note if the _read call is sync or async (ie, if the read call + // has returned yet), so that we know whether or not it's safe to emit + // 'readable' etc. + // + // 3. Actually pull the requested chunks out of the buffer and return. + + // if we need a readable event, then we need to do some reading. + var doRead = state.needReadable; + debug('need readable', doRead); + + // if we currently have less than the highWaterMark, then also read some + if (state.length === 0 || state.length - n < state.highWaterMark) { + doRead = true; + debug('length less than watermark', doRead); + } + + // however, if we've ended, then there's no point, and if we're already + // reading, then it's unnecessary. + if (state.ended || state.reading) { + doRead = false; + debug('reading or ended', doRead); + } else if (doRead) { + debug('do read'); + state.reading = true; + state.sync = true; + // if the length is currently zero, then we *need* a readable event. + if (state.length === 0) state.needReadable = true; + // call internal read method + this._read(state.highWaterMark); + state.sync = false; + // If _read pushed data synchronously, then `reading` will be false, + // and we need to re-evaluate how much data we can return to the user. + if (!state.reading) n = howMuchToRead(nOrig, state); + } + + var ret; + if (n > 0) ret = fromList(n, state);else ret = null; + + if (ret === null) { + state.needReadable = true; + n = 0; + } else { + state.length -= n; + } + + if (state.length === 0) { + // If we have nothing in the buffer, then we want to know + // as soon as we *do* get something into the buffer. + if (!state.ended) state.needReadable = true; + + // If we tried to read() past the EOF, then emit end on the next tick. + if (nOrig !== n && state.ended) endReadable(this); + } + + if (ret !== null) this.emit('data', ret); + + return ret; + }; + + function chunkInvalid(state, chunk) { + var er = null; + if (!Buffer.isBuffer(chunk) && typeof chunk !== 'string' && chunk !== null && chunk !== undefined && !state.objectMode) { + er = new TypeError('Invalid non-string/buffer chunk'); + } + return er; + } + + function onEofChunk(stream, state) { + if (state.ended) return; + if (state.decoder) { + var chunk = state.decoder.end(); + if (chunk && chunk.length) { + state.buffer.push(chunk); + state.length += state.objectMode ? 1 : chunk.length; + } + } + state.ended = true; + + // emit 'readable' now to make sure it gets picked up. + emitReadable(stream); + } + + // Don't emit readable right away in sync mode, because this can trigger + // another read() call => stack overflow. This way, it might trigger + // a nextTick recursion warning, but that's not so bad. + function emitReadable(stream) { + var state = stream._readableState; + state.needReadable = false; + if (!state.emittedReadable) { + debug('emitReadable', state.flowing); + state.emittedReadable = true; + if (state.sync) processNextTick(emitReadable_, stream);else emitReadable_(stream); + } + } + + function emitReadable_(stream) { + debug('emit readable'); + stream.emit('readable'); + flow(stream); + } + + // at this point, the user has presumably seen the 'readable' event, + // and called read() to consume some data. that may have triggered + // in turn another _read(n) call, in which case reading = true if + // it's in progress. + // However, if we're not ended, or reading, and the length < hwm, + // then go ahead and try to read some more preemptively. + function maybeReadMore(stream, state) { + if (!state.readingMore) { + state.readingMore = true; + processNextTick(maybeReadMore_, stream, state); + } + } + + function maybeReadMore_(stream, state) { + var len = state.length; + while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) { + debug('maybeReadMore read 0'); + stream.read(0); + if (len === state.length) + // didn't get any data, stop spinning. + break;else len = state.length; + } + state.readingMore = false; + } + + // abstract method. to be overridden in specific implementation classes. + // call cb(er, data) where data is <= n in length. + // for virtual (non-string, non-buffer) streams, "length" is somewhat + // arbitrary, and perhaps not very meaningful. + Readable.prototype._read = function (n) { + this.emit('error', new Error('_read() is not implemented')); + }; + + Readable.prototype.pipe = function (dest, pipeOpts) { + var src = this; + var state = this._readableState; + + switch (state.pipesCount) { + case 0: + state.pipes = dest; + break; + case 1: + state.pipes = [state.pipes, dest]; + break; + default: + state.pipes.push(dest); + break; + } + state.pipesCount += 1; + debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts); + + var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; + + var endFn = doEnd ? onend : cleanup; + if (state.endEmitted) processNextTick(endFn);else src.once('end', endFn); + + dest.on('unpipe', onunpipe); + function onunpipe(readable) { + debug('onunpipe'); + if (readable === src) { + cleanup(); + } + } + + function onend() { + debug('onend'); + dest.end(); + } + + // when the dest drains, it reduces the awaitDrain counter + // on the source. This would be more elegant with a .once() + // handler in flow(), but adding and removing repeatedly is + // too slow. + var ondrain = pipeOnDrain(src); + dest.on('drain', ondrain); + + var cleanedUp = false; + function cleanup() { + debug('cleanup'); + // cleanup event handlers once the pipe is broken + dest.removeListener('close', onclose); + dest.removeListener('finish', onfinish); + dest.removeListener('drain', ondrain); + dest.removeListener('error', onerror); + dest.removeListener('unpipe', onunpipe); + src.removeListener('end', onend); + src.removeListener('end', cleanup); + src.removeListener('data', ondata); + + cleanedUp = true; + + // if the reader is waiting for a drain event from this + // specific writer, then it would cause it to never start + // flowing again. + // So, if this is awaiting a drain, then we just call it now. + // If we don't know, then assume that we are waiting for one. + if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain(); + } + + // If the user pushes more data while we're writing to dest then we'll end up + // in ondata again. However, we only want to increase awaitDrain once because + // dest will only emit one 'drain' event for the multiple writes. + // => Introduce a guard on increasing awaitDrain. + var increasedAwaitDrain = false; + src.on('data', ondata); + function ondata(chunk) { + debug('ondata'); + increasedAwaitDrain = false; + var ret = dest.write(chunk); + if (false === ret && !increasedAwaitDrain) { + // If the user unpiped during `dest.write()`, it is possible + // to get stuck in a permanently paused state if that write + // also returned false. + // => Check whether `dest` is still a piping destination. + if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) { + debug('false write response, pause', src._readableState.awaitDrain); + src._readableState.awaitDrain++; + increasedAwaitDrain = true; + } + src.pause(); + } + } + + // if the dest has an error, then stop piping into it. + // however, don't suppress the throwing behavior for this. + function onerror(er) { + debug('onerror', er); + unpipe(); + dest.removeListener('error', onerror); + if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er); + } + + // Make sure our error handler is attached before userland ones. + prependListener(dest, 'error', onerror); + + // Both close and finish should trigger unpipe, but only once. + function onclose() { + dest.removeListener('finish', onfinish); + unpipe(); + } + dest.once('close', onclose); + function onfinish() { + debug('onfinish'); + dest.removeListener('close', onclose); + unpipe(); + } + dest.once('finish', onfinish); + + function unpipe() { + debug('unpipe'); + src.unpipe(dest); + } + + // tell the dest that it's being piped to + dest.emit('pipe', src); + + // start the flow if it hasn't been started already. + if (!state.flowing) { + debug('pipe resume'); + src.resume(); + } + + return dest; + }; + + function pipeOnDrain(src) { + return function () { + var state = src._readableState; + debug('pipeOnDrain', state.awaitDrain); + if (state.awaitDrain) state.awaitDrain--; + if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) { + state.flowing = true; + flow(src); + } + }; + } + + Readable.prototype.unpipe = function (dest) { + var state = this._readableState; + + // if we're not piping anywhere, then do nothing. + if (state.pipesCount === 0) return this; + + // just one destination. most common case. + if (state.pipesCount === 1) { + // passed in one, but it's not the right one. + if (dest && dest !== state.pipes) return this; + + if (!dest) dest = state.pipes; + + // got a match. + state.pipes = null; + state.pipesCount = 0; + state.flowing = false; + if (dest) dest.emit('unpipe', this); + return this; + } + + // slow case. multiple pipe destinations. + + if (!dest) { + // remove all. + var dests = state.pipes; + var len = state.pipesCount; + state.pipes = null; + state.pipesCount = 0; + state.flowing = false; + + for (var i = 0; i < len; i++) { + dests[i].emit('unpipe', this); + }return this; + } + + // try to find the right one. + var index = indexOf(state.pipes, dest); + if (index === -1) return this; + + state.pipes.splice(index, 1); + state.pipesCount -= 1; + if (state.pipesCount === 1) state.pipes = state.pipes[0]; + + dest.emit('unpipe', this); + + return this; + }; + + // set up data events if they are asked for + // Ensure readable listeners eventually get something + Readable.prototype.on = function (ev, fn) { + var res = Stream.prototype.on.call(this, ev, fn); + + if (ev === 'data') { + // Start flowing on next tick if stream isn't explicitly paused + if (this._readableState.flowing !== false) this.resume(); + } else if (ev === 'readable') { + var state = this._readableState; + if (!state.endEmitted && !state.readableListening) { + state.readableListening = state.needReadable = true; + state.emittedReadable = false; + if (!state.reading) { + processNextTick(nReadingNextTick, this); + } else if (state.length) { + emitReadable(this, state); + } + } + } + + return res; + }; + Readable.prototype.addListener = Readable.prototype.on; + + function nReadingNextTick(self) { + debug('readable nexttick read 0'); + self.read(0); + } + + // pause() and resume() are remnants of the legacy readable stream API + // If the user uses them, then switch into old mode. + Readable.prototype.resume = function () { + var state = this._readableState; + if (!state.flowing) { + debug('resume'); + state.flowing = true; + resume(this, state); + } + return this; + }; + + function resume(stream, state) { + if (!state.resumeScheduled) { + state.resumeScheduled = true; + processNextTick(resume_, stream, state); + } + } + + function resume_(stream, state) { + if (!state.reading) { + debug('resume read 0'); + stream.read(0); + } + + state.resumeScheduled = false; + state.awaitDrain = 0; + stream.emit('resume'); + flow(stream); + if (state.flowing && !state.reading) stream.read(0); + } + + Readable.prototype.pause = function () { + debug('call pause flowing=%j', this._readableState.flowing); + if (false !== this._readableState.flowing) { + debug('pause'); + this._readableState.flowing = false; + this.emit('pause'); + } + return this; + }; + + function flow(stream) { + var state = stream._readableState; + debug('flow', state.flowing); + while (state.flowing && stream.read() !== null) {} + } + + // wrap an old-style stream as the async data source. + // This is *not* part of the readable stream interface. + // It is an ugly unfortunate mess of history. + Readable.prototype.wrap = function (stream) { + var state = this._readableState; + var paused = false; + + var self = this; + stream.on('end', function () { + debug('wrapped end'); + if (state.decoder && !state.ended) { + var chunk = state.decoder.end(); + if (chunk && chunk.length) self.push(chunk); + } + + self.push(null); + }); + + stream.on('data', function (chunk) { + debug('wrapped data'); + if (state.decoder) chunk = state.decoder.write(chunk); + + // don't skip over falsy values in objectMode + if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return; + + var ret = self.push(chunk); + if (!ret) { + paused = true; + stream.pause(); + } + }); + + // proxy all the other methods. + // important when wrapping filters and duplexes. + for (var i in stream) { + if (this[i] === undefined && typeof stream[i] === 'function') { + this[i] = function (method) { + return function () { + return stream[method].apply(stream, arguments); + }; + }(i); + } + } + + // proxy certain important events. + var events = ['error', 'close', 'destroy', 'pause', 'resume']; + forEach(events, function (ev) { + stream.on(ev, self.emit.bind(self, ev)); + }); + + // when we try to consume some more bytes, simply unpause the + // underlying stream. + self._read = function (n) { + debug('wrapped _read', n); + if (paused) { + paused = false; + stream.resume(); + } + }; + + return self; + }; + + // exposed for testing purposes only. + Readable._fromList = fromList; + + // Pluck off n bytes from an array of buffers. + // Length is the combined lengths of all the buffers in the list. + // This function is designed to be inlinable, so please take care when making + // changes to the function body. + function fromList(n, state) { + // nothing buffered + if (state.length === 0) return null; + + var ret; + if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) { + // read it all, truncate the list + if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length); + state.buffer.clear(); + } else { + // read part of list + ret = fromListPartial(n, state.buffer, state.decoder); + } + + return ret; + } + + // Extracts only enough buffered data to satisfy the amount requested. + // This function is designed to be inlinable, so please take care when making + // changes to the function body. + function fromListPartial(n, list, hasStrings) { + var ret; + if (n < list.head.data.length) { + // slice is the same for buffers and strings + ret = list.head.data.slice(0, n); + list.head.data = list.head.data.slice(n); + } else if (n === list.head.data.length) { + // first chunk is a perfect match + ret = list.shift(); + } else { + // result spans more than one buffer + ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list); + } + return ret; + } + + // Copies a specified amount of characters from the list of buffered data + // chunks. + // This function is designed to be inlinable, so please take care when making + // changes to the function body. + function copyFromBufferString(n, list) { + var p = list.head; + var c = 1; + var ret = p.data; + n -= ret.length; + while (p = p.next) { + var str = p.data; + var nb = n > str.length ? str.length : n; + if (nb === str.length) ret += str;else ret += str.slice(0, n); + n -= nb; + if (n === 0) { + if (nb === str.length) { + ++c; + if (p.next) list.head = p.next;else list.head = list.tail = null; + } else { + list.head = p; + p.data = str.slice(nb); + } + break; + } + ++c; + } + list.length -= c; + return ret; + } + + // Copies a specified amount of bytes from the list of buffered data chunks. + // This function is designed to be inlinable, so please take care when making + // changes to the function body. + function copyFromBuffer(n, list) { + var ret = bufferShim.allocUnsafe(n); + var p = list.head; + var c = 1; + p.data.copy(ret); + n -= p.data.length; + while (p = p.next) { + var buf = p.data; + var nb = n > buf.length ? buf.length : n; + buf.copy(ret, ret.length - n, 0, nb); + n -= nb; + if (n === 0) { + if (nb === buf.length) { + ++c; + if (p.next) list.head = p.next;else list.head = list.tail = null; + } else { + list.head = p; + p.data = buf.slice(nb); + } + break; + } + ++c; + } + list.length -= c; + return ret; + } + + function endReadable(stream) { + var state = stream._readableState; + + // If we get here before consuming all the bytes, then that is a + // bug in node. Should never happen. + if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream'); + + if (!state.endEmitted) { + state.ended = true; + processNextTick(endReadableNT, state, stream); + } + } + + function endReadableNT(state, stream) { + // Check that we didn't get one last unshift. + if (!state.endEmitted && state.length === 0) { + state.endEmitted = true; + stream.readable = false; + stream.emit('end'); + } + } + + function forEach(xs, f) { + for (var i = 0, l = xs.length; i < l; i++) { + f(xs[i], i); + } + } + + function indexOf(xs, x) { + for (var i = 0, l = xs.length; i < l; i++) { + if (xs[i] === x) return i; + } + return -1; + } + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 370 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {'use strict'; + + if (!process.version || + process.version.indexOf('v0.') === 0 || + process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) { + module.exports = nextTick; + } else { + module.exports = process.nextTick; + } + + function nextTick(fn, arg1, arg2, arg3) { + if (typeof fn !== 'function') { + throw new TypeError('"callback" argument must be a function'); + } + var len = arguments.length; + var args, i; + switch (len) { + case 0: + case 1: + return process.nextTick(fn); + case 2: + return process.nextTick(function afterTickOne() { + fn.call(null, arg1); + }); + case 3: + return process.nextTick(function afterTickTwo() { + fn.call(null, arg1, arg2); + }); + case 4: + return process.nextTick(function afterTickThree() { + fn.call(null, arg1, arg2, arg3); + }); + default: + args = new Array(len - 1); + i = 0; + while (i < args.length) { + args[i++] = arguments[i]; + } + return process.nextTick(function afterTick() { + fn.apply(null, args); + }); + } + } + + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 371 */, +/* 372 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(global) {'use strict'; + + var buffer = __webpack_require__(371); + var Buffer = buffer.Buffer; + var SlowBuffer = buffer.SlowBuffer; + var MAX_LEN = buffer.kMaxLength || 2147483647; + exports.alloc = function alloc(size, fill, encoding) { + if (typeof Buffer.alloc === 'function') { + return Buffer.alloc(size, fill, encoding); + } + if (typeof encoding === 'number') { + throw new TypeError('encoding must not be number'); + } + if (typeof size !== 'number') { + throw new TypeError('size must be a number'); + } + if (size > MAX_LEN) { + throw new RangeError('size is too large'); + } + var enc = encoding; + var _fill = fill; + if (_fill === undefined) { + enc = undefined; + _fill = 0; + } + var buf = new Buffer(size); + if (typeof _fill === 'string') { + var fillBuf = new Buffer(_fill, enc); + var flen = fillBuf.length; + var i = -1; + while (++i < size) { + buf[i] = fillBuf[i % flen]; + } + } else { + buf.fill(_fill); + } + return buf; + } + exports.allocUnsafe = function allocUnsafe(size) { + if (typeof Buffer.allocUnsafe === 'function') { + return Buffer.allocUnsafe(size); + } + if (typeof size !== 'number') { + throw new TypeError('size must be a number'); + } + if (size > MAX_LEN) { + throw new RangeError('size is too large'); + } + return new Buffer(size); + } + exports.from = function from(value, encodingOrOffset, length) { + if (typeof Buffer.from === 'function' && (!global.Uint8Array || Uint8Array.from !== Buffer.from)) { + return Buffer.from(value, encodingOrOffset, length); + } + if (typeof value === 'number') { + throw new TypeError('"value" argument must not be a number'); + } + if (typeof value === 'string') { + return new Buffer(value, encodingOrOffset); + } + if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { + var offset = encodingOrOffset; + if (arguments.length === 1) { + return new Buffer(value); + } + if (typeof offset === 'undefined') { + offset = 0; + } + var len = length; + if (typeof len === 'undefined') { + len = value.byteLength - offset; + } + if (offset >= value.byteLength) { + throw new RangeError('\'offset\' is out of bounds'); + } + if (len > value.byteLength - offset) { + throw new RangeError('\'length\' is out of bounds'); + } + return new Buffer(value.slice(offset, offset + len)); + } + if (Buffer.isBuffer(value)) { + var out = new Buffer(value.length); + value.copy(out, 0, 0, value.length); + return out; + } + if (value) { + if (Array.isArray(value) || (typeof ArrayBuffer !== 'undefined' && value.buffer instanceof ArrayBuffer) || 'length' in value) { + return new Buffer(value); + } + if (value.type === 'Buffer' && Array.isArray(value.data)) { + return new Buffer(value.data); + } + } + + throw new TypeError('First argument must be a string, Buffer, ' + 'ArrayBuffer, Array, or array-like object.'); + } + exports.allocUnsafeSlow = function allocUnsafeSlow(size) { + if (typeof Buffer.allocUnsafeSlow === 'function') { + return Buffer.allocUnsafeSlow(size); + } + if (typeof size !== 'number') { + throw new TypeError('size must be a number'); + } + if (size >= MAX_LEN) { + throw new RangeError('size is too large'); + } + return new SlowBuffer(size); + } + + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) + +/***/ }, +/* 373 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(Buffer) {// Copyright Joyent, Inc. and other Node contributors. + // + // Permission is hereby granted, free of charge, to any person obtaining a + // copy of this software and associated documentation files (the + // "Software"), to deal in the Software without restriction, including + // without limitation the rights to use, copy, modify, merge, publish, + // distribute, sublicense, and/or sell copies of the Software, and to permit + // persons to whom the Software is furnished to do so, subject to the + // following conditions: + // + // The above copyright notice and this permission notice shall be included + // in all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + // USE OR OTHER DEALINGS IN THE SOFTWARE. + + // NOTE: These type checking functions intentionally don't use `instanceof` + // because it is fragile and can be easily faked with `Object.create()`. + + function isArray(arg) { + if (Array.isArray) { + return Array.isArray(arg); + } + return objectToString(arg) === '[object Array]'; + } + exports.isArray = isArray; + + function isBoolean(arg) { + return typeof arg === 'boolean'; + } + exports.isBoolean = isBoolean; + + function isNull(arg) { + return arg === null; + } + exports.isNull = isNull; + + function isNullOrUndefined(arg) { + return arg == null; + } + exports.isNullOrUndefined = isNullOrUndefined; + + function isNumber(arg) { + return typeof arg === 'number'; + } + exports.isNumber = isNumber; + + function isString(arg) { + return typeof arg === 'string'; + } + exports.isString = isString; + + function isSymbol(arg) { + return typeof arg === 'symbol'; + } + exports.isSymbol = isSymbol; + + function isUndefined(arg) { + return arg === void 0; + } + exports.isUndefined = isUndefined; + + function isRegExp(re) { + return objectToString(re) === '[object RegExp]'; + } + exports.isRegExp = isRegExp; + + function isObject(arg) { + return typeof arg === 'object' && arg !== null; + } + exports.isObject = isObject; + + function isDate(d) { + return objectToString(d) === '[object Date]'; + } + exports.isDate = isDate; + + function isError(e) { + return (objectToString(e) === '[object Error]' || e instanceof Error); + } + exports.isError = isError; + + function isFunction(arg) { + return typeof arg === 'function'; + } + exports.isFunction = isFunction; + + function isPrimitive(arg) { + return arg === null || + typeof arg === 'boolean' || + typeof arg === 'number' || + typeof arg === 'string' || + typeof arg === 'symbol' || // ES6 symbol + typeof arg === 'undefined'; + } + exports.isPrimitive = isPrimitive; + + exports.isBuffer = Buffer.isBuffer; + + function objectToString(o) { + return Object.prototype.toString.call(o); + } + + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(154).Buffer)) + +/***/ }, +/* 374 */ +/***/ function(module, exports) { + + /* (ignored) */ + +/***/ }, +/* 375 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + var Buffer = __webpack_require__(371).Buffer; + /**/ + var bufferShim = __webpack_require__(372); + /**/ + + module.exports = BufferList; + + function BufferList() { + this.head = null; + this.tail = null; + this.length = 0; + } + + BufferList.prototype.push = function (v) { + var entry = { data: v, next: null }; + if (this.length > 0) this.tail.next = entry;else this.head = entry; + this.tail = entry; + ++this.length; + }; + + BufferList.prototype.unshift = function (v) { + var entry = { data: v, next: this.head }; + if (this.length === 0) this.tail = entry; + this.head = entry; + ++this.length; + }; + + BufferList.prototype.shift = function () { + if (this.length === 0) return; + var ret = this.head.data; + if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next; + --this.length; + return ret; + }; + + BufferList.prototype.clear = function () { + this.head = this.tail = null; + this.length = 0; + }; + + BufferList.prototype.join = function (s) { + if (this.length === 0) return ''; + var p = this.head; + var ret = '' + p.data; + while (p = p.next) { + ret += s + p.data; + }return ret; + }; + + BufferList.prototype.concat = function (n) { + if (this.length === 0) return bufferShim.alloc(0); + if (this.length === 1) return this.head.data; + var ret = bufferShim.allocUnsafe(n >>> 0); + var p = this.head; + var i = 0; + while (p) { + p.data.copy(ret, i); + i += p.data.length; + p = p.next; + } + return ret; + }; + +/***/ }, +/* 376 */ +/***/ function(module, exports, __webpack_require__) { + + // a duplex stream is just a stream that is both readable and writable. + // Since JS doesn't have multiple prototypal inheritance, this class + // prototypally inherits from Readable, and then parasitically from + // Writable. + + 'use strict'; + + /**/ + + var objectKeys = Object.keys || function (obj) { + var keys = []; + for (var key in obj) { + keys.push(key); + }return keys; + }; + /**/ + + module.exports = Duplex; + + /**/ + var processNextTick = __webpack_require__(370); + /**/ + + /**/ + var util = __webpack_require__(373); + util.inherits = __webpack_require__(367); + /**/ + + var Readable = __webpack_require__(369); + var Writable = __webpack_require__(377); + + util.inherits(Duplex, Readable); + + var keys = objectKeys(Writable.prototype); + for (var v = 0; v < keys.length; v++) { + var method = keys[v]; + if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; + } + + function Duplex(options) { + if (!(this instanceof Duplex)) return new Duplex(options); + + Readable.call(this, options); + Writable.call(this, options); + + if (options && options.readable === false) this.readable = false; + + if (options && options.writable === false) this.writable = false; + + this.allowHalfOpen = true; + if (options && options.allowHalfOpen === false) this.allowHalfOpen = false; + + this.once('end', onend); + } + + // the no-half-open enforcer + function onend() { + // if we allow half-open state, or if the writable side ended, + // then we're ok. + if (this.allowHalfOpen || this._writableState.ended) return; + + // no more data can be written. + // But allow more writes to happen in this tick. + processNextTick(onEndNT, this); + } + + function onEndNT(self) { + self.end(); + } + + function forEach(xs, f) { + for (var i = 0, l = xs.length; i < l; i++) { + f(xs[i], i); + } + } + +/***/ }, +/* 377 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process, setImmediate) {// A bit simpler than readable streams. + // Implement an async ._write(chunk, encoding, cb), and it'll handle all + // the drain event emission and buffering. + + 'use strict'; + + module.exports = Writable; + + /**/ + var processNextTick = __webpack_require__(370); + /**/ + + /**/ + var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : processNextTick; + /**/ + + /**/ + var Duplex; + /**/ + + Writable.WritableState = WritableState; + + /**/ + var util = __webpack_require__(373); + util.inherits = __webpack_require__(367); + /**/ + + /**/ + var internalUtil = { + deprecate: __webpack_require__(378) + }; + /**/ + + /**/ + var Stream; + (function () { + try { + Stream = __webpack_require__(365); + } catch (_) {} finally { + if (!Stream) Stream = __webpack_require__(366).EventEmitter; + } + })(); + /**/ + + var Buffer = __webpack_require__(371).Buffer; + /**/ + var bufferShim = __webpack_require__(372); + /**/ + + util.inherits(Writable, Stream); + + function nop() {} + + function WriteReq(chunk, encoding, cb) { + this.chunk = chunk; + this.encoding = encoding; + this.callback = cb; + this.next = null; + } + + function WritableState(options, stream) { + Duplex = Duplex || __webpack_require__(376); + + options = options || {}; + + // object stream flag to indicate whether or not this stream + // contains buffers or objects. + this.objectMode = !!options.objectMode; + + if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.writableObjectMode; + + // the point at which write() starts returning false + // Note: 0 is a valid value, means that we always return false if + // the entire buffer is not flushed immediately on write() + var hwm = options.highWaterMark; + var defaultHwm = this.objectMode ? 16 : 16 * 1024; + this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm; + + // cast to ints. + this.highWaterMark = ~ ~this.highWaterMark; + + // drain event flag. + this.needDrain = false; + // at the start of calling end() + this.ending = false; + // when end() has been called, and returned + this.ended = false; + // when 'finish' is emitted + this.finished = false; + + // should we decode strings into buffers before passing to _write? + // this is here so that some node-core streams can optimize string + // handling at a lower level. + var noDecode = options.decodeStrings === false; + this.decodeStrings = !noDecode; + + // Crypto is kind of old and crusty. Historically, its default string + // encoding is 'binary' so we have to make this configurable. + // Everything else in the universe uses 'utf8', though. + this.defaultEncoding = options.defaultEncoding || 'utf8'; + + // not an actual buffer we keep track of, but a measurement + // of how much we're waiting to get pushed to some underlying + // socket or file. + this.length = 0; + + // a flag to see when we're in the middle of a write. + this.writing = false; + + // when true all writes will be buffered until .uncork() call + this.corked = 0; + + // a flag to be able to tell if the onwrite cb is called immediately, + // or on a later tick. We set this to true at first, because any + // actions that shouldn't happen until "later" should generally also + // not happen before the first write call. + this.sync = true; + + // a flag to know if we're processing previously buffered items, which + // may call the _write() callback in the same tick, so that we don't + // end up in an overlapped onwrite situation. + this.bufferProcessing = false; + + // the callback that's passed to _write(chunk,cb) + this.onwrite = function (er) { + onwrite(stream, er); + }; + + // the callback that the user supplies to write(chunk,encoding,cb) + this.writecb = null; + + // the amount that is being written when _write is called. + this.writelen = 0; + + this.bufferedRequest = null; + this.lastBufferedRequest = null; + + // number of pending user-supplied write callbacks + // this must be 0 before 'finish' can be emitted + this.pendingcb = 0; + + // emit prefinish if the only thing we're waiting for is _write cbs + // This is relevant for synchronous Transform streams + this.prefinished = false; + + // True if the error was already emitted and should not be thrown again + this.errorEmitted = false; + + // count buffered requests + this.bufferedRequestCount = 0; + + // allocate the first CorkedRequest, there is always + // one allocated and free to use, and we maintain at most two + this.corkedRequestsFree = new CorkedRequest(this); + } + + WritableState.prototype.getBuffer = function getBuffer() { + var current = this.bufferedRequest; + var out = []; + while (current) { + out.push(current); + current = current.next; + } + return out; + }; + + (function () { + try { + Object.defineProperty(WritableState.prototype, 'buffer', { + get: internalUtil.deprecate(function () { + return this.getBuffer(); + }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.') + }); + } catch (_) {} + })(); + + // Test _writableState for inheritance to account for Duplex streams, + // whose prototype chain only points to Readable. + var realHasInstance; + if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') { + realHasInstance = Function.prototype[Symbol.hasInstance]; + Object.defineProperty(Writable, Symbol.hasInstance, { + value: function (object) { + if (realHasInstance.call(this, object)) return true; + + return object && object._writableState instanceof WritableState; + } + }); + } else { + realHasInstance = function (object) { + return object instanceof this; + }; + } + + function Writable(options) { + Duplex = Duplex || __webpack_require__(376); + + // Writable ctor is applied to Duplexes, too. + // `realHasInstance` is necessary because using plain `instanceof` + // would return false, as no `_writableState` property is attached. + + // Trying to use the custom `instanceof` for Writable here will also break the + // Node.js LazyTransform implementation, which has a non-trivial getter for + // `_writableState` that would lead to infinite recursion. + if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) { + return new Writable(options); + } + + this._writableState = new WritableState(options, this); + + // legacy. + this.writable = true; + + if (options) { + if (typeof options.write === 'function') this._write = options.write; + + if (typeof options.writev === 'function') this._writev = options.writev; + } + + Stream.call(this); + } + + // Otherwise people can pipe Writable streams, which is just wrong. + Writable.prototype.pipe = function () { + this.emit('error', new Error('Cannot pipe, not readable')); + }; + + function writeAfterEnd(stream, cb) { + var er = new Error('write after end'); + // TODO: defer error events consistently everywhere, not just the cb + stream.emit('error', er); + processNextTick(cb, er); + } + + // If we get something that is not a buffer, string, null, or undefined, + // and we're not in objectMode, then that's an error. + // Otherwise stream chunks are all considered to be of length=1, and the + // watermarks determine how many objects to keep in the buffer, rather than + // how many bytes or characters. + function validChunk(stream, state, chunk, cb) { + var valid = true; + var er = false; + // Always throw error if a null is written + // if we are not in object mode then throw + // if it is not a buffer, string, or undefined. + if (chunk === null) { + er = new TypeError('May not write null values to stream'); + } else if (!Buffer.isBuffer(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { + er = new TypeError('Invalid non-string/buffer chunk'); + } + if (er) { + stream.emit('error', er); + processNextTick(cb, er); + valid = false; + } + return valid; + } + + Writable.prototype.write = function (chunk, encoding, cb) { + var state = this._writableState; + var ret = false; + + if (typeof encoding === 'function') { + cb = encoding; + encoding = null; + } + + if (Buffer.isBuffer(chunk)) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding; + + if (typeof cb !== 'function') cb = nop; + + if (state.ended) writeAfterEnd(this, cb);else if (validChunk(this, state, chunk, cb)) { + state.pendingcb++; + ret = writeOrBuffer(this, state, chunk, encoding, cb); + } + + return ret; + }; + + Writable.prototype.cork = function () { + var state = this._writableState; + + state.corked++; + }; + + Writable.prototype.uncork = function () { + var state = this._writableState; + + if (state.corked) { + state.corked--; + + if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state); + } + }; + + Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { + // node::ParseEncoding() requires lower case. + if (typeof encoding === 'string') encoding = encoding.toLowerCase(); + if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding); + this._writableState.defaultEncoding = encoding; + return this; + }; + + function decodeChunk(state, chunk, encoding) { + if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') { + chunk = bufferShim.from(chunk, encoding); + } + return chunk; + } + + // if we're already writing something, then just put this + // in the queue, and wait our turn. Otherwise, call _write + // If we return false, then we need a drain event, so set that flag. + function writeOrBuffer(stream, state, chunk, encoding, cb) { + chunk = decodeChunk(state, chunk, encoding); + + if (Buffer.isBuffer(chunk)) encoding = 'buffer'; + var len = state.objectMode ? 1 : chunk.length; + + state.length += len; + + var ret = state.length < state.highWaterMark; + // we must ensure that previous needDrain will not be reset to false. + if (!ret) state.needDrain = true; + + if (state.writing || state.corked) { + var last = state.lastBufferedRequest; + state.lastBufferedRequest = new WriteReq(chunk, encoding, cb); + if (last) { + last.next = state.lastBufferedRequest; + } else { + state.bufferedRequest = state.lastBufferedRequest; + } + state.bufferedRequestCount += 1; + } else { + doWrite(stream, state, false, len, chunk, encoding, cb); + } + + return ret; + } + + function doWrite(stream, state, writev, len, chunk, encoding, cb) { + state.writelen = len; + state.writecb = cb; + state.writing = true; + state.sync = true; + if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite); + state.sync = false; + } + + function onwriteError(stream, state, sync, er, cb) { + --state.pendingcb; + if (sync) processNextTick(cb, er);else cb(er); + + stream._writableState.errorEmitted = true; + stream.emit('error', er); + } + + function onwriteStateUpdate(state) { + state.writing = false; + state.writecb = null; + state.length -= state.writelen; + state.writelen = 0; + } + + function onwrite(stream, er) { + var state = stream._writableState; + var sync = state.sync; + var cb = state.writecb; + + onwriteStateUpdate(state); + + if (er) onwriteError(stream, state, sync, er, cb);else { + // Check if we're actually ready to finish, but don't emit yet + var finished = needFinish(state); + + if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) { + clearBuffer(stream, state); + } + + if (sync) { + /**/ + asyncWrite(afterWrite, stream, state, finished, cb); + /**/ + } else { + afterWrite(stream, state, finished, cb); + } + } + } + + function afterWrite(stream, state, finished, cb) { + if (!finished) onwriteDrain(stream, state); + state.pendingcb--; + cb(); + finishMaybe(stream, state); + } + + // Must force callback to be called on nextTick, so that we don't + // emit 'drain' before the write() consumer gets the 'false' return + // value, and has a chance to attach a 'drain' listener. + function onwriteDrain(stream, state) { + if (state.length === 0 && state.needDrain) { + state.needDrain = false; + stream.emit('drain'); + } + } + + // if there's something in the buffer waiting, then process it + function clearBuffer(stream, state) { + state.bufferProcessing = true; + var entry = state.bufferedRequest; + + if (stream._writev && entry && entry.next) { + // Fast case, write everything using _writev() + var l = state.bufferedRequestCount; + var buffer = new Array(l); + var holder = state.corkedRequestsFree; + holder.entry = entry; + + var count = 0; + while (entry) { + buffer[count] = entry; + entry = entry.next; + count += 1; + } + + doWrite(stream, state, true, state.length, buffer, '', holder.finish); + + // doWrite is almost always async, defer these to save a bit of time + // as the hot path ends with doWrite + state.pendingcb++; + state.lastBufferedRequest = null; + if (holder.next) { + state.corkedRequestsFree = holder.next; + holder.next = null; + } else { + state.corkedRequestsFree = new CorkedRequest(state); + } + } else { + // Slow case, write chunks one-by-one + while (entry) { + var chunk = entry.chunk; + var encoding = entry.encoding; + var cb = entry.callback; + var len = state.objectMode ? 1 : chunk.length; + + doWrite(stream, state, false, len, chunk, encoding, cb); + entry = entry.next; + // if we didn't call the onwrite immediately, then + // it means that we need to wait until it does. + // also, that means that the chunk and cb are currently + // being processed, so move the buffer counter past them. + if (state.writing) { + break; + } + } + + if (entry === null) state.lastBufferedRequest = null; + } + + state.bufferedRequestCount = 0; + state.bufferedRequest = entry; + state.bufferProcessing = false; + } + + Writable.prototype._write = function (chunk, encoding, cb) { + cb(new Error('_write() is not implemented')); + }; + + Writable.prototype._writev = null; + + Writable.prototype.end = function (chunk, encoding, cb) { + var state = this._writableState; + + if (typeof chunk === 'function') { + cb = chunk; + chunk = null; + encoding = null; + } else if (typeof encoding === 'function') { + cb = encoding; + encoding = null; + } + + if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); + + // .end() fully uncorks + if (state.corked) { + state.corked = 1; + this.uncork(); + } + + // ignore unnecessary end() calls. + if (!state.ending && !state.finished) endWritable(this, state, cb); + }; + + function needFinish(state) { + return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing; + } + + function prefinish(stream, state) { + if (!state.prefinished) { + state.prefinished = true; + stream.emit('prefinish'); + } + } + + function finishMaybe(stream, state) { + var need = needFinish(state); + if (need) { + if (state.pendingcb === 0) { + prefinish(stream, state); + state.finished = true; + stream.emit('finish'); + } else { + prefinish(stream, state); + } + } + return need; + } + + function endWritable(stream, state, cb) { + state.ending = true; + finishMaybe(stream, state); + if (cb) { + if (state.finished) processNextTick(cb);else stream.once('finish', cb); + } + state.ended = true; + stream.writable = false; + } + + // It seems a linked list but it is not + // there will be only 2 of these for each stream + function CorkedRequest(state) { + var _this = this; + + this.next = null; + this.entry = null; + + this.finish = function (err) { + var entry = _this.entry; + _this.entry = null; + while (entry) { + var cb = entry.callback; + state.pendingcb--; + cb(err); + entry = entry.next; + } + if (state.corkedRequestsFree) { + state.corkedRequestsFree.next = _this; + } else { + state.corkedRequestsFree = _this; + } + }; + } + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1), __webpack_require__(82).setImmediate)) + +/***/ }, +/* 378 */ +/***/ function(module, exports) { + + /* WEBPACK VAR INJECTION */(function(global) { + /** + * Module exports. + */ + + module.exports = deprecate; + + /** + * Mark that a method should not be used. + * Returns a modified function which warns once by default. + * + * If `localStorage.noDeprecation = true` is set, then it is a no-op. + * + * If `localStorage.throwDeprecation = true` is set, then deprecated functions + * will throw an Error when invoked. + * + * If `localStorage.traceDeprecation = true` is set, then deprecated functions + * will invoke `console.trace()` instead of `console.error()`. + * + * @param {Function} fn - the function to deprecate + * @param {String} msg - the string to print to the console when `fn` is invoked + * @returns {Function} a new "deprecated" version of `fn` + * @api public + */ + + function deprecate (fn, msg) { + if (config('noDeprecation')) { + return fn; + } + + var warned = false; + function deprecated() { + if (!warned) { + if (config('throwDeprecation')) { + throw new Error(msg); + } else if (config('traceDeprecation')) { + console.trace(msg); + } else { + console.warn(msg); + } + warned = true; + } + return fn.apply(this, arguments); + } + + return deprecated; + } + + /** + * Checks `localStorage` for boolean values for the given `name`. + * + * @param {String} name + * @returns {Boolean} + * @api private + */ + + function config (name) { + // accessing global.localStorage can trigger a DOMException in sandboxed iframes + try { + if (!global.localStorage) return false; + } catch (_) { + return false; + } + var val = global.localStorage[name]; + if (null == val) return false; + return String(val).toLowerCase() === 'true'; + } + + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) + +/***/ }, +/* 379 */ +/***/ function(module, exports, __webpack_require__) { + + // Copyright Joyent, Inc. and other Node contributors. + // + // Permission is hereby granted, free of charge, to any person obtaining a + // copy of this software and associated documentation files (the + // "Software"), to deal in the Software without restriction, including + // without limitation the rights to use, copy, modify, merge, publish, + // distribute, sublicense, and/or sell copies of the Software, and to permit + // persons to whom the Software is furnished to do so, subject to the + // following conditions: + // + // The above copyright notice and this permission notice shall be included + // in all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + // USE OR OTHER DEALINGS IN THE SOFTWARE. + + var Buffer = __webpack_require__(371).Buffer; + + var isBufferEncoding = Buffer.isEncoding + || function(encoding) { + switch (encoding && encoding.toLowerCase()) { + case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': case 'raw': return true; + default: return false; + } + } + + + function assertEncoding(encoding) { + if (encoding && !isBufferEncoding(encoding)) { + throw new Error('Unknown encoding: ' + encoding); + } + } + + // StringDecoder provides an interface for efficiently splitting a series of + // buffers into a series of JS strings without breaking apart multi-byte + // characters. CESU-8 is handled as part of the UTF-8 encoding. + // + // @TODO Handling all encodings inside a single object makes it very difficult + // to reason about this code, so it should be split up in the future. + // @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code + // points as used by CESU-8. + var StringDecoder = exports.StringDecoder = function(encoding) { + this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, ''); + assertEncoding(encoding); + switch (this.encoding) { + case 'utf8': + // CESU-8 represents each of Surrogate Pair by 3-bytes + this.surrogateSize = 3; + break; + case 'ucs2': + case 'utf16le': + // UTF-16 represents each of Surrogate Pair by 2-bytes + this.surrogateSize = 2; + this.detectIncompleteChar = utf16DetectIncompleteChar; + break; + case 'base64': + // Base-64 stores 3 bytes in 4 chars, and pads the remainder. + this.surrogateSize = 3; + this.detectIncompleteChar = base64DetectIncompleteChar; + break; + default: + this.write = passThroughWrite; + return; + } + + // Enough space to store all bytes of a single character. UTF-8 needs 4 + // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate). + this.charBuffer = new Buffer(6); + // Number of bytes received for the current incomplete multi-byte character. + this.charReceived = 0; + // Number of bytes expected for the current incomplete multi-byte character. + this.charLength = 0; + }; + + + // write decodes the given buffer and returns it as JS string that is + // guaranteed to not contain any partial multi-byte characters. Any partial + // character found at the end of the buffer is buffered up, and will be + // returned when calling write again with the remaining bytes. + // + // Note: Converting a Buffer containing an orphan surrogate to a String + // currently works, but converting a String to a Buffer (via `new Buffer`, or + // Buffer#write) will replace incomplete surrogates with the unicode + // replacement character. See https://codereview.chromium.org/121173009/ . + StringDecoder.prototype.write = function(buffer) { + var charStr = ''; + // if our last write ended with an incomplete multibyte character + while (this.charLength) { + // determine how many remaining bytes this buffer has to offer for this char + var available = (buffer.length >= this.charLength - this.charReceived) ? + this.charLength - this.charReceived : + buffer.length; + + // add the new bytes to the char buffer + buffer.copy(this.charBuffer, this.charReceived, 0, available); + this.charReceived += available; + + if (this.charReceived < this.charLength) { + // still not enough chars in this buffer? wait for more ... + return ''; + } + + // remove bytes belonging to the current character from the buffer + buffer = buffer.slice(available, buffer.length); + + // get the character that was split + charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding); + + // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character + var charCode = charStr.charCodeAt(charStr.length - 1); + if (charCode >= 0xD800 && charCode <= 0xDBFF) { + this.charLength += this.surrogateSize; + charStr = ''; + continue; + } + this.charReceived = this.charLength = 0; + + // if there are no more bytes in this buffer, just emit our char + if (buffer.length === 0) { + return charStr; + } + break; + } + + // determine and set charLength / charReceived + this.detectIncompleteChar(buffer); + + var end = buffer.length; + if (this.charLength) { + // buffer the incomplete character bytes we got + buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end); + end -= this.charReceived; + } + + charStr += buffer.toString(this.encoding, 0, end); + + var end = charStr.length - 1; + var charCode = charStr.charCodeAt(end); + // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character + if (charCode >= 0xD800 && charCode <= 0xDBFF) { + var size = this.surrogateSize; + this.charLength += size; + this.charReceived += size; + this.charBuffer.copy(this.charBuffer, size, 0, size); + buffer.copy(this.charBuffer, 0, 0, size); + return charStr.substring(0, end); + } + + // or just emit the charStr + return charStr; + }; + + // detectIncompleteChar determines if there is an incomplete UTF-8 character at + // the end of the given buffer. If so, it sets this.charLength to the byte + // length that character, and sets this.charReceived to the number of bytes + // that are available for this character. + StringDecoder.prototype.detectIncompleteChar = function(buffer) { + // determine how many bytes we have to check at the end of this buffer + var i = (buffer.length >= 3) ? 3 : buffer.length; + + // Figure out if one of the last i bytes of our buffer announces an + // incomplete char. + for (; i > 0; i--) { + var c = buffer[buffer.length - i]; + + // See http://en.wikipedia.org/wiki/UTF-8#Description + + // 110XXXXX + if (i == 1 && c >> 5 == 0x06) { + this.charLength = 2; + break; + } + + // 1110XXXX + if (i <= 2 && c >> 4 == 0x0E) { + this.charLength = 3; + break; + } + + // 11110XXX + if (i <= 3 && c >> 3 == 0x1E) { + this.charLength = 4; + break; + } + } + this.charReceived = i; + }; + + StringDecoder.prototype.end = function(buffer) { + var res = ''; + if (buffer && buffer.length) + res = this.write(buffer); + + if (this.charReceived) { + var cr = this.charReceived; + var buf = this.charBuffer; + var enc = this.encoding; + res += buf.slice(0, cr).toString(enc); + } + + return res; + }; + + function passThroughWrite(buffer) { + return buffer.toString(this.encoding); + } + + function utf16DetectIncompleteChar(buffer) { + this.charReceived = buffer.length % 2; + this.charLength = this.charReceived ? 2 : 0; + } + + function base64DetectIncompleteChar(buffer) { + this.charReceived = buffer.length % 3; + this.charLength = this.charReceived ? 3 : 0; + } + + +/***/ }, +/* 380 */ +/***/ function(module, exports, __webpack_require__) { + + // a transform stream is a readable/writable stream where you do + // something with the data. Sometimes it's called a "filter", + // but that's not a great name for it, since that implies a thing where + // some bits pass through, and others are simply ignored. (That would + // be a valid example of a transform, of course.) + // + // While the output is causally related to the input, it's not a + // necessarily symmetric or synchronous transformation. For example, + // a zlib stream might take multiple plain-text writes(), and then + // emit a single compressed chunk some time in the future. + // + // Here's how this works: + // + // The Transform stream has all the aspects of the readable and writable + // stream classes. When you write(chunk), that calls _write(chunk,cb) + // internally, and returns false if there's a lot of pending writes + // buffered up. When you call read(), that calls _read(n) until + // there's enough pending readable data buffered up. + // + // In a transform stream, the written data is placed in a buffer. When + // _read(n) is called, it transforms the queued up data, calling the + // buffered _write cb's as it consumes chunks. If consuming a single + // written chunk would result in multiple output chunks, then the first + // outputted bit calls the readcb, and subsequent chunks just go into + // the read buffer, and will cause it to emit 'readable' if necessary. + // + // This way, back-pressure is actually determined by the reading side, + // since _read has to be called to start processing a new chunk. However, + // a pathological inflate type of transform can cause excessive buffering + // here. For example, imagine a stream where every byte of input is + // interpreted as an integer from 0-255, and then results in that many + // bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in + // 1kb of data being output. In this case, you could write a very small + // amount of input, and end up with a very large amount of output. In + // such a pathological inflating mechanism, there'd be no way to tell + // the system to stop doing the transform. A single 4MB write could + // cause the system to run out of memory. + // + // However, even in such a pathological case, only a single written chunk + // would be consumed, and then the rest would wait (un-transformed) until + // the results of the previous transformed chunk were consumed. + + 'use strict'; + + module.exports = Transform; + + var Duplex = __webpack_require__(376); + + /**/ + var util = __webpack_require__(373); + util.inherits = __webpack_require__(367); + /**/ + + util.inherits(Transform, Duplex); + + function TransformState(stream) { + this.afterTransform = function (er, data) { + return afterTransform(stream, er, data); + }; + + this.needTransform = false; + this.transforming = false; + this.writecb = null; + this.writechunk = null; + this.writeencoding = null; + } + + function afterTransform(stream, er, data) { + var ts = stream._transformState; + ts.transforming = false; + + var cb = ts.writecb; + + if (!cb) return stream.emit('error', new Error('no writecb in Transform class')); + + ts.writechunk = null; + ts.writecb = null; + + if (data !== null && data !== undefined) stream.push(data); + + cb(er); + + var rs = stream._readableState; + rs.reading = false; + if (rs.needReadable || rs.length < rs.highWaterMark) { + stream._read(rs.highWaterMark); + } + } + + function Transform(options) { + if (!(this instanceof Transform)) return new Transform(options); + + Duplex.call(this, options); + + this._transformState = new TransformState(this); + + var stream = this; + + // start out asking for a readable event once data is transformed. + this._readableState.needReadable = true; + + // we have implemented the _read method, and done the other things + // that Readable wants before the first _read call, so unset the + // sync guard flag. + this._readableState.sync = false; + + if (options) { + if (typeof options.transform === 'function') this._transform = options.transform; + + if (typeof options.flush === 'function') this._flush = options.flush; + } + + // When the writable side finishes, then flush out anything remaining. + this.once('prefinish', function () { + if (typeof this._flush === 'function') this._flush(function (er, data) { + done(stream, er, data); + });else done(stream); + }); + } + + Transform.prototype.push = function (chunk, encoding) { + this._transformState.needTransform = false; + return Duplex.prototype.push.call(this, chunk, encoding); + }; + + // This is the part where you do stuff! + // override this function in implementation classes. + // 'chunk' is an input chunk. + // + // Call `push(newChunk)` to pass along transformed output + // to the readable side. You may call 'push' zero or more times. + // + // Call `cb(err)` when you are done with this chunk. If you pass + // an error, then that'll put the hurt on the whole operation. If you + // never call cb(), then you'll never get another chunk. + Transform.prototype._transform = function (chunk, encoding, cb) { + throw new Error('_transform() is not implemented'); + }; + + Transform.prototype._write = function (chunk, encoding, cb) { + var ts = this._transformState; + ts.writecb = cb; + ts.writechunk = chunk; + ts.writeencoding = encoding; + if (!ts.transforming) { + var rs = this._readableState; + if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark); + } + }; + + // Doesn't matter what the args are here. + // _transform does all the work. + // That we got here means that the readable side wants more data. + Transform.prototype._read = function (n) { + var ts = this._transformState; + + if (ts.writechunk !== null && ts.writecb && !ts.transforming) { + ts.transforming = true; + this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); + } else { + // mark that we need a transform, so that any data that comes in + // will get processed, now that we've asked for it. + ts.needTransform = true; + } + }; + + function done(stream, er, data) { + if (er) return stream.emit('error', er); + + if (data !== null && data !== undefined) stream.push(data); + + // if there's nothing in the write buffer, then that means + // that nothing more will ever be provided + var ws = stream._writableState; + var ts = stream._transformState; + + if (ws.length) throw new Error('Calling transform done when ws.length != 0'); + + if (ts.transforming) throw new Error('Calling transform done when still transforming'); + + return stream.push(null); + } + +/***/ }, +/* 381 */ +/***/ function(module, exports, __webpack_require__) { + + // a passthrough stream. + // basically just the most minimal sort of Transform stream. + // Every written chunk gets output as-is. + + 'use strict'; + + module.exports = PassThrough; + + var Transform = __webpack_require__(380); + + /**/ + var util = __webpack_require__(373); + util.inherits = __webpack_require__(367); + /**/ + + util.inherits(PassThrough, Transform); + + function PassThrough(options) { + if (!(this instanceof PassThrough)) return new PassThrough(options); + + Transform.call(this, options); + } + + PassThrough.prototype._transform = function (chunk, encoding, cb) { + cb(null, chunk); + }; + +/***/ }, +/* 382 */ +/***/ function(module, exports, __webpack_require__) { + + module.exports = __webpack_require__(377) + + +/***/ }, +/* 383 */ +/***/ function(module, exports, __webpack_require__) { + + module.exports = __webpack_require__(376) + + +/***/ }, +/* 384 */ +/***/ function(module, exports, __webpack_require__) { + + module.exports = __webpack_require__(380) + + +/***/ }, +/* 385 */ +/***/ function(module, exports, __webpack_require__) { + + module.exports = __webpack_require__(381) + + +/***/ }, +/* 386 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors. + // + // Permission is hereby granted, free of charge, to any person obtaining a + // copy of this software and associated documentation files (the + // "Software"), to deal in the Software without restriction, including + // without limitation the rights to use, copy, modify, merge, publish, + // distribute, sublicense, and/or sell copies of the Software, and to permit + // persons to whom the Software is furnished to do so, subject to the + // following conditions: + // + // The above copyright notice and this permission notice shall be included + // in all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + // USE OR OTHER DEALINGS IN THE SOFTWARE. + + var formatRegExp = /%[sdj%]/g; + exports.format = function(f) { + if (!isString(f)) { + var objects = []; + for (var i = 0; i < arguments.length; i++) { + objects.push(inspect(arguments[i])); + } + return objects.join(' '); + } + + var i = 1; + var args = arguments; + var len = args.length; + var str = String(f).replace(formatRegExp, function(x) { + if (x === '%%') return '%'; + if (i >= len) return x; + switch (x) { + case '%s': return String(args[i++]); + case '%d': return Number(args[i++]); + case '%j': + try { + return JSON.stringify(args[i++]); + } catch (_) { + return '[Circular]'; + } + default: + return x; + } + }); + for (var x = args[i]; i < len; x = args[++i]) { + if (isNull(x) || !isObject(x)) { + str += ' ' + x; + } else { + str += ' ' + inspect(x); + } + } + return str; + }; + + + // Mark that a method should not be used. + // Returns a modified function which warns once by default. + // If --no-deprecation is set, then it is a no-op. + exports.deprecate = function(fn, msg) { + // Allow for deprecating things in the process of starting up. + if (isUndefined(global.process)) { + return function() { + return exports.deprecate(fn, msg).apply(this, arguments); + }; + } + + if (process.noDeprecation === true) { + return fn; + } + + var warned = false; + function deprecated() { + if (!warned) { + if (process.throwDeprecation) { + throw new Error(msg); + } else if (process.traceDeprecation) { + console.trace(msg); + } else { + console.error(msg); + } + warned = true; + } + return fn.apply(this, arguments); + } + + return deprecated; + }; + + + var debugs = {}; + var debugEnviron; + exports.debuglog = function(set) { + if (isUndefined(debugEnviron)) + debugEnviron = process.env.NODE_DEBUG || ''; + set = set.toUpperCase(); + if (!debugs[set]) { + if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { + var pid = process.pid; + debugs[set] = function() { + var msg = exports.format.apply(exports, arguments); + console.error('%s %d: %s', set, pid, msg); + }; + } else { + debugs[set] = function() {}; + } + } + return debugs[set]; + }; + + + /** + * Echos the value of a value. Trys to print the value out + * in the best way possible given the different types. + * + * @param {Object} obj The object to print out. + * @param {Object} opts Optional options object that alters the output. + */ + /* legacy: obj, showHidden, depth, colors*/ + function inspect(obj, opts) { + // default options + var ctx = { + seen: [], + stylize: stylizeNoColor + }; + // legacy... + if (arguments.length >= 3) ctx.depth = arguments[2]; + if (arguments.length >= 4) ctx.colors = arguments[3]; + if (isBoolean(opts)) { + // legacy... + ctx.showHidden = opts; + } else if (opts) { + // got an "options" object + exports._extend(ctx, opts); + } + // set default options + if (isUndefined(ctx.showHidden)) ctx.showHidden = false; + if (isUndefined(ctx.depth)) ctx.depth = 2; + if (isUndefined(ctx.colors)) ctx.colors = false; + if (isUndefined(ctx.customInspect)) ctx.customInspect = true; + if (ctx.colors) ctx.stylize = stylizeWithColor; + return formatValue(ctx, obj, ctx.depth); + } + exports.inspect = inspect; + + + // http://en.wikipedia.org/wiki/ANSI_escape_code#graphics + inspect.colors = { + 'bold' : [1, 22], + 'italic' : [3, 23], + 'underline' : [4, 24], + 'inverse' : [7, 27], + 'white' : [37, 39], + 'grey' : [90, 39], + 'black' : [30, 39], + 'blue' : [34, 39], + 'cyan' : [36, 39], + 'green' : [32, 39], + 'magenta' : [35, 39], + 'red' : [31, 39], + 'yellow' : [33, 39] + }; + + // Don't use 'blue' not visible on cmd.exe + inspect.styles = { + 'special': 'cyan', + 'number': 'yellow', + 'boolean': 'yellow', + 'undefined': 'grey', + 'null': 'bold', + 'string': 'green', + 'date': 'magenta', + // "name": intentionally not styling + 'regexp': 'red' + }; + + + function stylizeWithColor(str, styleType) { + var style = inspect.styles[styleType]; + + if (style) { + return '\u001b[' + inspect.colors[style][0] + 'm' + str + + '\u001b[' + inspect.colors[style][1] + 'm'; + } else { + return str; + } + } + + + function stylizeNoColor(str, styleType) { + return str; + } + + + function arrayToHash(array) { + var hash = {}; + + array.forEach(function(val, idx) { + hash[val] = true; + }); + + return hash; + } + + + function formatValue(ctx, value, recurseTimes) { + // Provide a hook for user-specified inspect functions. + // Check that value is an object with an inspect function on it + if (ctx.customInspect && + value && + isFunction(value.inspect) && + // Filter out the util module, it's inspect function is special + value.inspect !== exports.inspect && + // Also filter out any prototype objects using the circular check. + !(value.constructor && value.constructor.prototype === value)) { + var ret = value.inspect(recurseTimes, ctx); + if (!isString(ret)) { + ret = formatValue(ctx, ret, recurseTimes); + } + return ret; + } + + // Primitive types cannot have properties + var primitive = formatPrimitive(ctx, value); + if (primitive) { + return primitive; + } + + // Look up the keys of the object. + var keys = Object.keys(value); + var visibleKeys = arrayToHash(keys); + + if (ctx.showHidden) { + keys = Object.getOwnPropertyNames(value); + } + + // IE doesn't make error fields non-enumerable + // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx + if (isError(value) + && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) { + return formatError(value); + } + + // Some type of object without properties can be shortcutted. + if (keys.length === 0) { + if (isFunction(value)) { + var name = value.name ? ': ' + value.name : ''; + return ctx.stylize('[Function' + name + ']', 'special'); + } + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } + if (isDate(value)) { + return ctx.stylize(Date.prototype.toString.call(value), 'date'); + } + if (isError(value)) { + return formatError(value); + } + } + + var base = '', array = false, braces = ['{', '}']; + + // Make Array say that they are Array + if (isArray(value)) { + array = true; + braces = ['[', ']']; + } + + // Make functions say that they are functions + if (isFunction(value)) { + var n = value.name ? ': ' + value.name : ''; + base = ' [Function' + n + ']'; + } + + // Make RegExps say that they are RegExps + if (isRegExp(value)) { + base = ' ' + RegExp.prototype.toString.call(value); + } + + // Make dates with properties first say the date + if (isDate(value)) { + base = ' ' + Date.prototype.toUTCString.call(value); + } + + // Make error with message first say the error + if (isError(value)) { + base = ' ' + formatError(value); + } + + if (keys.length === 0 && (!array || value.length == 0)) { + return braces[0] + base + braces[1]; + } + + if (recurseTimes < 0) { + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } else { + return ctx.stylize('[Object]', 'special'); + } + } + + ctx.seen.push(value); + + var output; + if (array) { + output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); + } else { + output = keys.map(function(key) { + return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); + }); + } + + ctx.seen.pop(); + + return reduceToSingleString(output, base, braces); + } + + + function formatPrimitive(ctx, value) { + if (isUndefined(value)) + return ctx.stylize('undefined', 'undefined'); + if (isString(value)) { + var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + '\''; + return ctx.stylize(simple, 'string'); + } + if (isNumber(value)) + return ctx.stylize('' + value, 'number'); + if (isBoolean(value)) + return ctx.stylize('' + value, 'boolean'); + // For some reason typeof null is "object", so special case here. + if (isNull(value)) + return ctx.stylize('null', 'null'); + } + + + function formatError(value) { + return '[' + Error.prototype.toString.call(value) + ']'; + } + + + function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { + var output = []; + for (var i = 0, l = value.length; i < l; ++i) { + if (hasOwnProperty(value, String(i))) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + String(i), true)); + } else { + output.push(''); + } + } + keys.forEach(function(key) { + if (!key.match(/^\d+$/)) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + key, true)); + } + }); + return output; + } + + + function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { + var name, str, desc; + desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; + if (desc.get) { + if (desc.set) { + str = ctx.stylize('[Getter/Setter]', 'special'); + } else { + str = ctx.stylize('[Getter]', 'special'); + } + } else { + if (desc.set) { + str = ctx.stylize('[Setter]', 'special'); + } + } + if (!hasOwnProperty(visibleKeys, key)) { + name = '[' + key + ']'; + } + if (!str) { + if (ctx.seen.indexOf(desc.value) < 0) { + if (isNull(recurseTimes)) { + str = formatValue(ctx, desc.value, null); + } else { + str = formatValue(ctx, desc.value, recurseTimes - 1); + } + if (str.indexOf('\n') > -1) { + if (array) { + str = str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n').substr(2); + } else { + str = '\n' + str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n'); + } + } + } else { + str = ctx.stylize('[Circular]', 'special'); + } + } + if (isUndefined(name)) { + if (array && key.match(/^\d+$/)) { + return str; + } + name = JSON.stringify('' + key); + if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { + name = name.substr(1, name.length - 2); + name = ctx.stylize(name, 'name'); + } else { + name = name.replace(/'/g, "\\'") + .replace(/\\"/g, '"') + .replace(/(^"|"$)/g, "'"); + name = ctx.stylize(name, 'string'); + } + } + + return name + ': ' + str; + } + + + function reduceToSingleString(output, base, braces) { + var numLinesEst = 0; + var length = output.reduce(function(prev, cur) { + numLinesEst++; + if (cur.indexOf('\n') >= 0) numLinesEst++; + return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; + }, 0); + + if (length > 60) { + return braces[0] + + (base === '' ? '' : base + '\n ') + + ' ' + + output.join(',\n ') + + ' ' + + braces[1]; + } + + return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; + } + + + // NOTE: These type checking functions intentionally don't use `instanceof` + // because it is fragile and can be easily faked with `Object.create()`. + function isArray(ar) { + return Array.isArray(ar); + } + exports.isArray = isArray; + + function isBoolean(arg) { + return typeof arg === 'boolean'; + } + exports.isBoolean = isBoolean; + + function isNull(arg) { + return arg === null; + } + exports.isNull = isNull; + + function isNullOrUndefined(arg) { + return arg == null; + } + exports.isNullOrUndefined = isNullOrUndefined; + + function isNumber(arg) { + return typeof arg === 'number'; + } + exports.isNumber = isNumber; + + function isString(arg) { + return typeof arg === 'string'; + } + exports.isString = isString; + + function isSymbol(arg) { + return typeof arg === 'symbol'; + } + exports.isSymbol = isSymbol; + + function isUndefined(arg) { + return arg === void 0; + } + exports.isUndefined = isUndefined; + + function isRegExp(re) { + return isObject(re) && objectToString(re) === '[object RegExp]'; + } + exports.isRegExp = isRegExp; + + function isObject(arg) { + return typeof arg === 'object' && arg !== null; + } + exports.isObject = isObject; + + function isDate(d) { + return isObject(d) && objectToString(d) === '[object Date]'; + } + exports.isDate = isDate; + + function isError(e) { + return isObject(e) && + (objectToString(e) === '[object Error]' || e instanceof Error); + } + exports.isError = isError; + + function isFunction(arg) { + return typeof arg === 'function'; + } + exports.isFunction = isFunction; + + function isPrimitive(arg) { + return arg === null || + typeof arg === 'boolean' || + typeof arg === 'number' || + typeof arg === 'string' || + typeof arg === 'symbol' || // ES6 symbol + typeof arg === 'undefined'; + } + exports.isPrimitive = isPrimitive; + + exports.isBuffer = __webpack_require__(387); + + function objectToString(o) { + return Object.prototype.toString.call(o); + } + + + function pad(n) { + return n < 10 ? '0' + n.toString(10) : n.toString(10); + } + + + var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', + 'Oct', 'Nov', 'Dec']; + + // 26 Feb 16:19:34 + function timestamp() { + var d = new Date(); + var time = [pad(d.getHours()), + pad(d.getMinutes()), + pad(d.getSeconds())].join(':'); + return [d.getDate(), months[d.getMonth()], time].join(' '); + } + + + // log is just a thin wrapper to console.log that prepends a timestamp + exports.log = function() { + console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); + }; + + + /** + * Inherit the prototype methods from one constructor into another. + * + * The Function.prototype.inherits from lang.js rewritten as a standalone + * function (not on Function.prototype). NOTE: If this file is to be loaded + * during bootstrapping this function needs to be rewritten using some native + * functions as prototype setup using normal JavaScript does not work as + * expected during bootstrapping (see mirror.js in r114903). + * + * @param {function} ctor Constructor function which needs to inherit the + * prototype. + * @param {function} superCtor Constructor function to inherit prototype from. + */ + exports.inherits = __webpack_require__(388); + + exports._extend = function(origin, add) { + // Don't do anything if add isn't an object + if (!add || !isObject(add)) return origin; + + var keys = Object.keys(add); + var i = keys.length; + while (i--) { + origin[keys[i]] = add[keys[i]]; + } + return origin; + }; + + function hasOwnProperty(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); + } + + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(1))) + +/***/ }, +/* 387 */ +/***/ function(module, exports) { + + module.exports = function isBuffer(arg) { + return arg && typeof arg === 'object' + && typeof arg.copy === 'function' + && typeof arg.fill === 'function' + && typeof arg.readUInt8 === 'function'; + } + +/***/ }, +/* 388 */ +/***/ function(module, exports) { + + if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; + } else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } + } + + +/***/ } +]); +//# sourceMappingURL=app.uhk.js.map \ No newline at end of file diff --git a/app.uhk.js.map b/app.uhk.js.map new file mode 100644 index 00000000..16f6d726 --- /dev/null +++ b/app.uhk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./web/src/main.ts","webpack:///./web/src/app.module.ts","webpack:///./~/@ngrx/store-devtools/bundles/store-devtools.umd.js","webpack:///./~/@ngrx/store-log-monitor/bundles/store-log-monitor.umd.js","webpack:///./~/@ngrx/core/operator/select.js","webpack:///./~/@ngrx/core/compose.js","webpack:///./~/ng2-dragula/ng2-dragula.js","webpack:///./~/ng2-select2/ng2-select2.js","webpack:///./~/ng2-select2/ng2-select2.component.js","webpack:///./shared/src/components/add-on/index.ts","webpack:///./shared/src/components/add-on/add-on.component.ts","webpack:///./shared/src/components/add-on/add-on.component.html","webpack:///./shared/src/components/add-on/add-on.component.scss","webpack:///./shared/src/components/add-on/add-on.routes.ts","webpack:///./shared/src/components/keyboard/slider/index.ts","webpack:///./shared/src/components/keyboard/slider/keyboard-slider.component.ts","webpack:///./shared/src/components/keyboard/slider/keyboard-slider.component.html","webpack:///./shared/src/components/keyboard/slider/keyboard-slider.component.scss","webpack:///./shared/src/components/keymap/index.ts","webpack:///./shared/src/components/keymap/add/keymap-add.component.ts","webpack:///./shared/src/store/actions/index.ts","webpack:///./shared/src/store/actions/keymap.ts","webpack:///./shared/src/store/actions/macro.ts","webpack:///./shared/src/components/keymap/add/keymap-add.component.html","webpack:///./shared/src/components/keymap/add/keymap-add.component.scss","webpack:///./shared/src/components/keymap/edit/keymap-edit.component.ts","webpack:///./~/@ngrx/core/add/operator/select.js","webpack:///./~/filesaver.js/FileSaver.min.js","webpack:///(webpack)/buildin/amd-define.js","webpack:///./shared/src/store/reducers/user-configuration.ts","webpack:///./shared/src/config-serializer/config-items/key-action/index.ts","webpack:///./shared/src/config-serializer/config-items/key-action/KeyAction.ts","webpack:///./shared/src/config-serializer/config-items/key-action/KeystrokeAction.ts","webpack:///./shared/src/config-serializer/assert.ts","webpack:///./shared/src/config-serializer/config-items/LongPressAction.ts","webpack:///./shared/src/config-serializer/config-items/key-action/MouseAction.ts","webpack:///./shared/src/config-serializer/config-items/key-action/NoneAction.ts","webpack:///./shared/src/config-serializer/config-items/key-action/PlayMacroAction.ts","webpack:///./shared/src/config-serializer/config-items/key-action/SwitchKeymapAction.ts","webpack:///./shared/src/config-serializer/config-items/key-action/SwitchLayerAction.ts","webpack:///./shared/src/config-serializer/config-items/key-action/helper.ts","webpack:///./shared/src/config-serializer/UhkBuffer.ts","webpack:///./shared/src/config-serializer/config-items/Keymap.ts","webpack:///./shared/src/config-serializer/config-items/Layer.ts","webpack:///./shared/src/config-serializer/config-items/Module.ts","webpack:///./shared/src/config-serializer/config-items/Macro.ts","webpack:///./shared/src/config-serializer/config-items/macro-action/index.ts","webpack:///./shared/src/config-serializer/config-items/macro-action/DelayMacroAction.ts","webpack:///./shared/src/config-serializer/config-items/macro-action/MacroAction.ts","webpack:///./shared/src/config-serializer/config-items/macro-action/EditableMacroAction.ts","webpack:///./shared/src/config-serializer/config-items/macro-action/KeyMacroAction.ts","webpack:///./shared/src/config-serializer/config-items/macro-action/MouseButtonMacroAction.ts","webpack:///./shared/src/config-serializer/config-items/macro-action/MoveMouseMacroAction.ts","webpack:///./shared/src/config-serializer/config-items/macro-action/ScrollMouseMacroAction.ts","webpack:///./shared/src/config-serializer/config-items/macro-action/TextMacroAction.ts","webpack:///./shared/src/config-serializer/config-items/macro-action/helper.ts","webpack:///./shared/src/config-serializer/config-items/UserConfiguration.ts","webpack:///./shared/src/config-serializer/config-items/ModuleConfiguration.ts","webpack:///./shared/src/components/keymap/edit/keymap-edit.component.html","webpack:///./shared/src/components/keymap/edit/keymap-edit.component.scss","webpack:///./shared/src/components/keymap/header/keymap-header.component.ts","webpack:///./shared/src/components/keymap/header/keymap-header.component.html","webpack:///./shared/src/components/keymap/header/keymap-header.component.scss","webpack:///./shared/src/components/layers/index.ts","webpack:///./shared/src/components/layers/layers.component.ts","webpack:///./shared/src/components/layers/layers.component.html","webpack:///./shared/src/components/layers/layers.component.scss","webpack:///./shared/src/components/macro/index.ts","webpack:///./shared/src/components/macro/edit/macro-edit.component.ts","webpack:///./shared/src/components/macro/edit/macro-edit.component.html","webpack:///./shared/src/components/macro/edit/macro-edit.component.scss","webpack:///./shared/src/components/macro/list/macro-list.component.ts","webpack:///./shared/src/components/macro/list/macro-list.component.html","webpack:///./shared/src/components/macro/list/macro-list.component.scss","webpack:///./shared/src/components/macro/header/macro-header.component.ts","webpack:///./shared/src/components/macro/header/macro-header.component.html","webpack:///./shared/src/components/macro/header/macro-header.component.scss","webpack:///./shared/src/components/macro/macro.routes.ts","webpack:///./shared/src/components/macro/not-found/index.ts","webpack:///./shared/src/components/macro/not-found/macro-not-found.component.ts","webpack:///./shared/src/components/macro/not-found/macro-not-found.component.html","webpack:///./shared/src/components/macro/not-found/macro-not-found.component.scss","webpack:///./shared/src/components/macro/not-found/macro-not-found-guard.service.ts","webpack:///./shared/src/components/macro/item/index.ts","webpack:///./shared/src/components/macro/item/macro-item.component.ts","webpack:///./shared/src/config-serializer/config-items/KeyModifiers.ts","webpack:///./shared/src/services/mapper.service.ts","webpack:///./shared/src/components/macro/item/macro-item.component.html","webpack:///./shared/src/components/macro/item/macro-item.component.scss","webpack:///./shared/src/components/macro/action-editor/index.ts","webpack:///./shared/src/components/macro/action-editor/macro-action-editor.component.ts","webpack:///./shared/src/components/macro/action-editor/macro-action-editor.component.html","webpack:///./shared/src/components/macro/action-editor/macro-action-editor.component.scss","webpack:///./shared/src/components/macro/action-editor/tab/index.ts","webpack:///./shared/src/components/macro/action-editor/tab/delay/index.ts","webpack:///./shared/src/components/macro/action-editor/tab/delay/macro-delay.component.ts","webpack:///./shared/src/components/macro/action-editor/tab/delay/macro-delay.component.html","webpack:///./shared/src/components/macro/action-editor/tab/delay/macro-delay.component.scss","webpack:///./shared/src/components/macro/action-editor/tab/key/index.ts","webpack:///./shared/src/components/macro/action-editor/tab/key/macro-key.component.ts","webpack:///./shared/src/components/popover/tab/index.ts","webpack:///./shared/src/components/popover/tab/tab.ts","webpack:///./shared/src/components/popover/tab/keymap/index.ts","webpack:///./shared/src/components/popover/tab/keymap/keymap-tab.component.ts","webpack:///./shared/src/components/popover/tab/keymap/keymap-tab.component.html","webpack:///./shared/src/components/popover/tab/keymap/keymap-tab.component.scss","webpack:///./shared/src/components/popover/tab/keypress/index.ts","webpack:///./shared/src/components/popover/tab/keypress/keypress-tab.component.ts","webpack:///./shared/src/components/popover/tab/keypress/scancodes.json","webpack:///./shared/src/components/popover/tab/keypress/longPress.json","webpack:///./shared/src/components/popover/tab/keypress/keypress-tab.component.html","webpack:///./shared/src/components/popover/tab/keypress/keypress-tab.component.scss","webpack:///./shared/src/components/popover/tab/layer/index.ts","webpack:///./shared/src/components/popover/tab/layer/layer-tab.component.ts","webpack:///./shared/src/components/popover/tab/layer/layer-tab.component.html","webpack:///./shared/src/components/popover/tab/layer/layer-tab.component.scss","webpack:///./shared/src/components/popover/tab/macro/index.ts","webpack:///./shared/src/components/popover/tab/macro/macro-tab.component.ts","webpack:///./shared/src/components/popover/tab/macro/macro-tab.component.html","webpack:///./shared/src/components/popover/tab/macro/macro-tab.component.scss","webpack:///./shared/src/components/popover/tab/mouse/index.ts","webpack:///./shared/src/components/popover/tab/mouse/mouse-tab.component.ts","webpack:///./shared/src/components/popover/tab/mouse/mouse-tab.component.html","webpack:///./shared/src/components/popover/tab/mouse/mouse-tab.component.scss","webpack:///./shared/src/components/popover/tab/none/index.ts","webpack:///./shared/src/components/popover/tab/none/none-tab.component.ts","webpack:///./shared/src/components/popover/tab/none/none-tab.component.html","webpack:///./shared/src/components/popover/tab/none/none-tab.component.scss","webpack:///./shared/src/components/macro/action-editor/tab/key/macro-key.component.html","webpack:///./shared/src/components/macro/action-editor/tab/key/macro-key.component.scss","webpack:///./shared/src/components/macro/action-editor/tab/mouse/index.ts","webpack:///./shared/src/components/macro/action-editor/tab/mouse/macro-mouse.component.ts","webpack:///./shared/src/components/macro/action-editor/tab/mouse/macro-mouse.component.html","webpack:///./shared/src/components/macro/action-editor/tab/mouse/macro-mouse.component.scss","webpack:///./shared/src/components/macro/action-editor/tab/text/index.ts","webpack:///./shared/src/components/macro/action-editor/tab/text/macro-text.component.ts","webpack:///./shared/src/components/macro/action-editor/tab/text/macro-text.component.html","webpack:///./shared/src/components/macro/action-editor/tab/text/macro-text.component.scss","webpack:///./shared/src/components/notification/index.ts","webpack:///./shared/src/components/notification/notification.component.ts","webpack:///./shared/src/components/notification/notification.component.html","webpack:///./shared/src/components/notification/notification.component.scss","webpack:///./shared/src/components/popover/index.ts","webpack:///./shared/src/components/popover/popover.component.ts","webpack:///./shared/src/components/popover/popover.component.html","webpack:///./shared/src/components/popover/popover.component.scss","webpack:///./shared/src/components/popover/widgets/capture-keystroke/index.ts","webpack:///./shared/src/components/popover/widgets/capture-keystroke/capture-keystroke-button.component.ts","webpack:///./shared/src/services/capture.service.ts","webpack:///./shared/src/components/popover/widgets/capture-keystroke/capture-keystroke-button.component.html","webpack:///./shared/src/components/popover/widgets/capture-keystroke/capture-keystroke-button.component.scss","webpack:///./shared/src/components/popover/widgets/icon/index.ts","webpack:///./shared/src/components/popover/widgets/icon/icon.component.ts","webpack:///./shared/src/components/popover/widgets/icon/icon.component.html","webpack:///./shared/src/components/popover/widgets/icon/icon.component.scss","webpack:///./shared/src/components/settings/index.ts","webpack:///./shared/src/components/settings/settings.component.ts","webpack:///./shared/src/components/settings/settings.component.html","webpack:///./shared/src/components/settings/settings.component.scss","webpack:///./shared/src/components/settings/settings.routes.ts","webpack:///./shared/src/components/side-menu/index.ts","webpack:///./shared/src/components/side-menu/side-menu.component.ts","webpack:///./shared/src/components/side-menu/side-menu.component.html","webpack:///./shared/src/components/side-menu/side-menu.component.scss","webpack:///./shared/src/components/svg/keyboard/index.ts","webpack:///./shared/src/components/svg/keyboard/svg-keyboard.component.ts","webpack:///./shared/src/components/svg/module/index.ts","webpack:///./shared/src/components/svg/module/svg-module.component.ts","webpack:///./shared/src/components/svg/module/svg-module.component.html","webpack:///./shared/src/components/svg/module/svg-module.component.scss","webpack:///./shared/src/components/svg/module/svg-module.model.ts","webpack:///./images/base-layer.svg","webpack:///./shared/src/components/svg/keyboard/svg-keyboard.component.html","webpack:///./shared/src/components/svg/keyboard/svg-keyboard.component.scss","webpack:///./shared/src/components/svg/keys/index.ts","webpack:///./shared/src/components/svg/keys/svg-icon-text-key/index.ts","webpack:///./shared/src/components/svg/keys/svg-icon-text-key/svg-icon-text-key.component.ts","webpack:///./shared/src/components/svg/keys/svg-icon-text-key/svg-icon-text-key.component.html","webpack:///./shared/src/components/svg/keys/svg-keyboard-key/index.ts","webpack:///./shared/src/components/svg/keys/svg-keyboard-key/svg-keyboard-key.component.ts","webpack:///./shared/src/components/svg/keys/svg-keyboard-key/svg-keyboard-key.component.html","webpack:///./shared/src/components/svg/keys/svg-keyboard-key/svg-keyboard-key.component.scss","webpack:///./shared/src/components/svg/keys/svg-keystroke-key/index.ts","webpack:///./shared/src/components/svg/keys/svg-keystroke-key/svg-keystroke-key.component.ts","webpack:///./shared/src/components/svg/keys/svg-keystroke-key/svg-keystroke-key.component.html","webpack:///./shared/src/components/svg/keys/svg-keystroke-key/svg-keystroke-key.component.scss","webpack:///./shared/src/components/svg/keys/svg-mouse-key/index.ts","webpack:///./shared/src/components/svg/keys/svg-mouse-key/svg-mouse-key.ts","webpack:///./shared/src/components/svg/keys/svg-mouse-key/svg-mouse-key.html","webpack:///./shared/src/components/svg/keys/svg-mouse-click-key/index.ts","webpack:///./shared/src/components/svg/keys/svg-mouse-click-key/svg-mouse-click-key.ts","webpack:///./shared/src/components/svg/keys/svg-mouse-click-key/svg-mouse-click-key.html","webpack:///./shared/src/components/svg/keys/svg-mouse-move-key/index.ts","webpack:///./shared/src/components/svg/keys/svg-mouse-move-key/svg-mouse-move-key.ts","webpack:///./shared/src/components/svg/keys/svg-mouse-move-key/svg-mouse-move-key.html","webpack:///./shared/src/components/svg/keys/svg-mouse-speed-key/index.ts","webpack:///./shared/src/components/svg/keys/svg-mouse-speed-key/svg-mouse-speed-key.ts","webpack:///./shared/src/components/svg/keys/svg-mouse-speed-key/svg-mouse-speed-key.html","webpack:///./shared/src/components/svg/keys/svg-mouse-scroll-key/index.ts","webpack:///./shared/src/components/svg/keys/svg-mouse-scroll-key/svg-mouse-scroll-key.ts","webpack:///./shared/src/components/svg/keys/svg-mouse-scroll-key/svg-mouse-scroll-key.html","webpack:///./shared/src/components/svg/keys/svg-one-line-text-key/index.ts","webpack:///./shared/src/components/svg/keys/svg-one-line-text-key/svg-one-line-text-key.component.ts","webpack:///./shared/src/components/svg/keys/svg-one-line-text-key/svg-one-line-text-key.component.html","webpack:///./shared/src/components/svg/keys/svg-single-icon-key/index.ts","webpack:///./shared/src/components/svg/keys/svg-single-icon-key/svg-single-icon-key.component.ts","webpack:///./shared/src/components/svg/keys/svg-single-icon-key/svg-single-icon-key.component.html","webpack:///./shared/src/components/svg/keys/svg-switch-keymap-key/index.ts","webpack:///./shared/src/components/svg/keys/svg-switch-keymap-key/svg-switch-keymap-key.component.ts","webpack:///./shared/src/components/svg/keys/svg-switch-keymap-key/svg-switch-keymap-key.component.html","webpack:///./shared/src/components/svg/keys/svg-text-icon-key/index.ts","webpack:///./shared/src/components/svg/keys/svg-text-icon-key/svg-text-icon-key.component.ts","webpack:///./shared/src/components/svg/keys/svg-text-icon-key/svg-text-icon-key.component.html","webpack:///./shared/src/components/svg/keys/svg-two-line-text-key/index.ts","webpack:///./shared/src/components/svg/keys/svg-two-line-text-key/svg-two-line-text-key.component.ts","webpack:///./shared/src/components/svg/keys/svg-two-line-text-key/svg-two-line-text-key.component.html","webpack:///./shared/src/components/svg/wrap/index.ts","webpack:///./shared/src/components/svg/wrap/svg-keyboard-wrap.component.ts","webpack:///./shared/src/util/index.ts","webpack:///./shared/src/components/svg/wrap/svg-keyboard-wrap.component.html","webpack:///./shared/src/components/svg/wrap/svg-keyboard-wrap.component.scss","webpack:///./web/src/main-app/index.ts","webpack:///./web/src/main-app/main-app.component.ts","webpack:///./web/src/main-app/main-app.component.html","webpack:///./shared/src/main-app/main-app.component.scss","webpack:///./web/src/main-app/main-app.component.scss","webpack:///./web/src/main-app/main-app.routes.ts","webpack:///./web/src/components/keymap/index.ts","webpack:///./web/src/components/keymap/keymap.routes.ts","webpack:///./shared/src/components/keymap/edit/index.ts","webpack:///./shared/src/components/keymap/edit/keymap-edit-guard.service.ts","webpack:///./shared/src/directives/index.ts","webpack:///./shared/src/directives/cancelable/index.ts","webpack:///./shared/src/directives/cancelable/cancelable.directive.ts","webpack:///./shared/src/store/effects/index.ts","webpack:///./shared/src/store/effects/keymap.ts","webpack:///./shared/src/store/effects/macro.ts","webpack:///./shared/src/store/reducers/index.ts","webpack:///./shared/src/store/reducers/preset.ts","webpack:///./shared/src/store/storage/index.ts","webpack:///./shared/src/store/storage/electron.ts","webpack:///./shared/src/store/storage/local.ts","webpack:///./shared/src/config-serializer/user-config.json","webpack:///./shared/src/config-serializer/preset-keymaps.json","webpack:///./~/browser-stdout/index.js","webpack:///./~/stream-browserify/index.js","webpack:///./~/events/events.js","webpack:///./~/inherits/inherits_browser.js","webpack:///./~/readable-stream/readable.js","webpack:///./~/readable-stream/lib/_stream_readable.js","webpack:///./~/process-nextick-args/index.js","webpack:///./~/buffer-shims/index.js","webpack:///./~/core-util-is/lib/util.js","webpack:///util (ignored)","webpack:///./~/readable-stream/lib/internal/streams/BufferList.js","webpack:///./~/readable-stream/lib/_stream_duplex.js","webpack:///./~/readable-stream/lib/_stream_writable.js","webpack:///./~/util-deprecate/browser.js","webpack:///./~/string_decoder/index.js","webpack:///./~/readable-stream/lib/_stream_transform.js","webpack:///./~/readable-stream/lib/_stream_passthrough.js","webpack:///./~/readable-stream/writable.js","webpack:///./~/readable-stream/duplex.js","webpack:///./~/readable-stream/transform.js","webpack:///./~/readable-stream/passthrough.js","webpack:///./~/util/util.js","webpack:///./~/util/support/isBufferBrowser.js","webpack:///./~/util/~/inherits/inherits_browser.js"],"names":[],"mappings":"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CA;AACA,iBAAgB;AAChB,MAAK;AACL;AACA,iBAAgB;AAChB,MAAK;AACL;AACA,iBAAgB;AAChB,MAAK;AACL;AACA,iBAAgB;AAChB,MAAK;AACL;AACA,iBAAgB;AAChB,MAAK;AACL;AACA,iBAAgB;AAChB,MAAK;AACL;AACA,iCAAgC,eAAe;AAC/C,iBAAgB;AAChB,MAAK;AACL;AACA,iBAAgB;AAChB,MAAK;AACL;AACA,iBAAgB;AAChB;AACA;;AAEA;AACA,0CAAyC,iCAAiC,EAAE;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D,+BAA+B;AAC7F,qDAAoD,gCAAgC,EAAE;AACtF;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,oFAAmF,mDAAmD,EAAE;AACxI;AACA,mFAAkF,kDAAkD,EAAE;AACtI;AACA;AACA,8DAA6D,sDAAsD,EAAE;AACrH,wDAAuD,2CAA2C,EAAE;AACpG;AACA;AACA;AACA,8DAA6D,oDAAoD,EAAE;AACnH,wDAAuD,2CAA2C,EAAE;AACpG;AACA;AACA;AACA;AACA,qFAAoF,0BAA0B,EAAE;AAChH,2FAA0F,yBAAyB,EAAE;AACrH;AACA;AACA;AACA;AACA;AACA,UAAS,iCAAiC;AAC1C;AACA;AACA;AACA,UAAS,gCAAgC,gEAAgE,IAAI;AAC7G;AACA;AACA,EAAC;;AAED,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C,4BAA4B;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD;AAClD;AACA,uBAAsB,6BAA6B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,cAAc;AAC3C;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,wBAAwB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAsE,uCAAuC,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA8E,0BAA0B,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,SAAS;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;;AAEA;AACA;;AAEA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,iCAAiC;AAC1C;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD;AACtD,qDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,iCAAiC;AAC1C;AACA;AACA;AACA,UAAS,4BAA4B;AACrC,UAAS,gCAAgC;AACzC,UAAS,6BAA6B;AACtC,UAAS,2BAA2B;AACpC,UAAS,gCAAgC,iEAAiE,IAAI;AAC9G,UAAS,gCAAgC,6DAA6D,IAAI;AAC1G;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B;AAC3B;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,eAAe;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,eAAe;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA,+CAA8C,cAAc;;AAE5D,EAAC,I;;;;;;;;;;;;;;ACjnBD;AACA;AACA;AACA,8CAA6C,iEAAiE;AAC9G,EAAC,qMAAqM;;AAEtM;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,qBAAoB;AACpB,UAAS;AACT;AACA;AACA;AACA,0CAAyC,IAAI;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,qCAAoC,gBAAgB;AACpD;AACA;AACA;AACA,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,uBAAsB,4BAA4B;AAClD,sBAAqB,6BAA6B;AAClD;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,4CAA2C,wBAAwB,eAAe,gBAAgB,iBAAiB,kBAAkB,6BAA6B,sBAAsB,OAAO,eAAe,2BAA2B,mBAAmB,+CAA+C,gCAAgC,gBAAgB,eAAe,oBAAoB,qBAAqB,OAAO,uBAAuB,oBAAoB,qBAAqB,uBAAuB,OAAO;AACxf,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,uBAAsB,4BAA4B;AAClD,mBAAkB,4BAA4B;AAC9C,sBAAqB,4BAA4B;AACjD,2BAA0B,yDAAyD;AACnF,4BAA2B,0DAA0D;AACrF,0BAAyB,wDAAwD;AACjF,6BAA4B,2DAA2D;AACvF;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,iBAAgB;AAChB;AACA;AACA,iBAAgB;AAChB;AACA;AACA,iBAAgB;AAChB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,iCAAiC;AAC1C;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA,+FAA8F,uBAAuB,EAAE;AACvH,2FAA0F,kBAAkB,EAAE;AAC9G,4FAA2F,mBAAmB,EAAE;AAChH,wFAAuF,eAAe,EAAE;AACxG;AACA;AACA,sHAAqH,mCAAmC,EAAE,iEAAiE,iCAAiC,EAAE;AAC9P;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,kBAAiB,IAAI;AACrB;AACA;AACA;AACA,UAAS,2CAA2C;AACpD,UAAS,qBAAqB;AAC9B;AACA;AACA,4BAA2B,4BAA4B;AACvD,8BAA6B,4BAA4B;AACzD;AACA;AACA,EAAC;;AAED;AACA;AACA,+BAA8B,eAAe;AAC7C;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,gCAA+B,0BAA0B;AACzD;AACA;AACA;AACA;AACA;AACA,gCAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA,gCAA+B,yBAAyB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC,qBAAqB;AACzD,8CAA6C,2BAA2B,0DAA0D,GAAG;AACrI,+CAA8C,0BAA0B,sCAAsC,GAAG;AACjH,qCAAoC,qBAAqB,aAAa,GAAG;AACzE,kCAAiC,4BAA4B;AAC7D,gCAA+B,uBAAuB;AACtD,yCAAwC,0BAA0B;AAClE,sCAAqC;AACrC;AACA,oEAAmE;AACnE;AACA;AACA,yCAAwC,+BAA+B,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,0DAA0D;AAC/F;AACA;AACA;AACA;AACA,qBAAoB;AACpB,UAAS;AACT;AACA;AACA;AACA,qBAAoB;AACpB,UAAS;AACT;AACA;AACA;AACA,qBAAoB;AACpB,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,4CAA2C,uBAAuB,kCAAkC,2BAA2B,uBAAuB,uEAAuE,OAAO,2BAA2B,2BAA2B,iBAAiB,kBAAkB,wBAAwB,oCAAoC,OAAO,uCAAuC,iCAAiC,OAAO,0BAA0B,sBAAsB,wBAAwB,OAAO,+BAA+B,kCAAkC,OAAO,qBAAqB,uBAAuB,OAAO,mEAAmE,uBAAuB,OAAO,wEAAwE,uBAAuB,OAAO;AACh2B,4MAA2M,OAAO,+DAA+D,SAAS;AAC1R,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,kBAAiB,4BAA4B;AAC7C,uBAAsB,4BAA4B;AAClD,oBAAmB,4BAA4B;AAC/C;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA,UAAS;AACT;AACA;AACA,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,uBAAsB,4BAA4B;AAClD,oBAAmB,4BAA4B;AAC/C;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,sGAAqG,uCAAuC,EAAE;AAC9I,qGAAoG,yCAAyC,EAAE;AAC/I,sGAAqG,uCAAuC,EAAE;AAC9I;AACA;AACA;AACA,4BAA2B,4BAA4B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,4CAA2C,uBAAuB,kCAAkC,uEAAuE,2BAA2B,2BAA2B,oBAAoB,qBAAqB,yBAAyB,uBAAuB,OAAO,qBAAqB,2BAA2B,iCAAiC,mCAAmC,kCAAkC,mBAAmB,sBAAsB,4BAA4B,uBAAuB,OAAO,mBAAmB,2BAA2B,gBAAgB,iBAAiB,kBAAkB,kBAAkB,2BAA2B,yBAAyB,OAAO;AACxuB,+oBAA8oB;AAC9oB,kBAAiB,IAAI;AACrB;AACA;AACA;AACA,UAAS,2CAA2C;AACpD;AACA;AACA,4BAA2B,4BAA4B;AACvD;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,2CAA0C,qBAAqB,8BAA8B,uEAAuE,wBAAwB,0BAA0B,2BAA2B,yBAAyB,gCAAgC,yBAAyB,qBAAqB,8BAA8B,kCAAkC,OAAO,uBAAuB,qBAAqB,qBAAqB,sCAAsC,OAAO;AAC7gB,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,uBAAsB,6DAA6D,GAAG,4BAA4B;AAClH,qBAAoB,6BAA6B;AACjD,2BAA0B,iEAAiE;AAC3F;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B,yBAAyB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,4EAA2E,4BAA4B,wCAAwC,oBAAoB;AACnK,2CAA0C,uBAAuB,kCAAkC,wBAAwB,OAAO,iBAAiB,gCAAgC,0CAA0C,OAAO,kBAAkB,sBAAsB,OAAO,iBAAiB,sCAAsC,2BAA2B,qBAAqB,OAAO;AACjY,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,4BAA2B,4BAA4B;AACvD,uBAAsB,4BAA4B;AAClD,mBAAkB,4BAA4B;AAC9C,qBAAoB,6BAA6B;AACjD;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,4BAA2B,4BAA4B;AACvD,8BAA6B,4BAA4B;AACzD,4BAA2B,4BAA4B;AACvD;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAsE,gBAAgB;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,kD;;;;;;;;;;;;;;;ACxKA,mCAAmC;AACnC,oCAAgC;;;;;;;;;;;;;;;;;ACDhC,qCAA0C;AAC1C,wCAAiD;AAYjD,KAAa,cAAc;KAGvB,wBAAoB,KAAqB;SAArB,UAAK,GAAL,KAAK,CAAgB;SACrC,IAAI,CAAC,KAAK,GAAG,KAAK;cACb,MAAM;cACN,MAAM,CAAS,MAAM,CAAC,CAAC;KAChC,CAAC;KACL,qBAAC;AAAD,EAAC;AARY,eAAc;KAR1B,gBAAS,CAAC;SACP,QAAQ,EAAE,QAAQ;SAClB,QAAQ,EAAE,mBAAO,CAAC,GAAyB,CAAC;SAC5C,MAAM,EAAE,CAAC,mBAAO,CAAC,GAAyB,CAAC,CAAC;SAC5C,IAAI,EAAE;aACF,OAAO,EAAE,iBAAiB;UAC7B;MACJ,CAAC;sCAI6B,uBAAc;IAHhC,cAAc,CAQ1B;AARY,yCAAc;;;;;;;;;;;;;;;;;;;;;;ACb3B,4LAA2L,iBAAiB,iD;;;;;;ACA5M,0BAAyB,gBAAgB,iBAAiB,mBAAmB,EAAE,G;;;;;;;ACE/E,kDAAoD;AAEvC,oBAAW,GAAW;KAC/B;SA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I,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;SACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;SACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;SACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;SACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;SACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;SACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,C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KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA,iBAAgB;AAChB,KAAI;AACJ;AACA;AACA,iBAAgB;AAChB,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA,eAAc;AACd,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACjlBA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,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,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAG,IAAI;SAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAG,IAAI;SAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAG,IAAI;SAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAG,IAAI;SAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAE,IAAI;SAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAE,IAAI;SAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAE,IAAI;SAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAE,IAAI;SAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAE,IAAI;SAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAE,IAAI;SAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAE,IAAI;SAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAE,IAAI;SAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAE,IAAI;SAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAE,IAAI;SAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAE,IAAI;SAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAE,IAAI;SAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAE,IAAI;SAC/B,IAAI,CAAC,OAAO,CA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C,CAAC;KAC1E,CAAC;KACL,YAAC;AAAD,EAAC;AArBY,uBAAK;;;;;;;ACFlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AC7gDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AC5tDA;AACA;;AAEA;;;AAGA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;;;;;;AC9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,gBAAe,SAAS;AACxB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAG;AACH,qBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AC7SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AACA;AACA,qCAAkC;AAClC,IAAG;AACH,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;ACfA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG,aAAa;AAChB;AACA;AACA,EAAC;AACD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,4EAA2E,6EAA6E;AACxJ;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,uDAAsD;;AAEtD;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,8DAA6D;AAC7D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAsC;;AAEtC;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,gDAA+C;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAmB,SAAS;AAC5B;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA,6EAA4E;;AAE5E;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oDAAmD;AACnD;AACA,oDAAmD,iEAAiE;AACpH;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAsC;AACtC;AACA;AACA;AACA;AACA,wCAAuC;AACvC,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC;AACvC,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAgC,OAAO;AACvC;AACA;AACA;;AAEA;AACA,iCAAgC,OAAO;AACvC;AACA;AACA;AACA,E;;;;;;;AC56BA;;AAEA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;;;;;;;;AC1CA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;;;;;;AC1GA,gB;;;;;;ACAA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAe;AACf,+CAA8C;AAC9C;AACA;AACA;;AAEA;AACA,gBAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uDAAsD;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AC/DA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,gBAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iCAAgC,OAAO;AACvC;AACA;AACA,E;;;;;;AC1EA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG,aAAa;AAChB;AACA;AACA,EAAC;AACD;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH,EAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mDAAkD;;AAElD;;AAEA,4CAA2C;AAC3C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAmD;AACnD;AACA;;AAEA;AACA;AACA,qCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,qDAAoD;AACpD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA4C;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,E;;;;;;;;ACxiBA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAQ,OAAO;AACf;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;AC5NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK,EAAE;AACP,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,E;;;;;;ACrLA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,G;;;;;;ACzBA;;;;;;;ACAA;;;;;;;ACAA;;;;;;;ACAA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,wBAAuB,SAAS;AAChC;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA4C,KAAK;;AAEjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,MAAK;AACL;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,oCAAmC,OAAO;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;;AAGA;AACA;AACA,0DAAyD;AACzD;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,UAAS;AACT;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB;AACA,YAAW,SAAS;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;ACzkBA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"app.uhk.js","sourcesContent":["import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app.module';\r\n\r\nif (!process.stdout) {\r\n process.stdout = require('browser-stdout')();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./web/src/main.ts","import { NgModule, ReflectiveInjector } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\r\nimport { StoreLogMonitorModule, useLogMonitor } from '@ngrx/store-log-monitor';\r\n\r\nimport { DragulaModule } from 'ng2-dragula/ng2-dragula';\r\nimport { Select2Module } from 'ng2-select2/ng2-select2';\r\n\r\nimport { AddOnComponent } from './shared/components/add-on';\r\nimport { KeyboardSliderComponent } from './shared/components/keyboard/slider';\r\nimport { KeymapAddComponent, KeymapEditComponent, KeymapHeaderComponent } from './shared/components/keymap';\r\nimport { LayersComponent } from './shared/components/layers';\r\nimport {\r\n MacroActionEditorComponent,\r\n MacroDelayTabComponent,\r\n MacroEditComponent,\r\n MacroHeaderComponent,\r\n MacroItemComponent,\r\n MacroKeyTabComponent,\r\n MacroListComponent,\r\n MacroMouseTabComponent,\r\n MacroNotFoundComponent,\r\n MacroTextTabComponent\r\n} from './shared/components/macro';\r\nimport { NotificationComponent } from './shared/components/notification';\r\nimport { PopoverComponent } from './shared/components/popover';\r\nimport {\r\n KeymapTabComponent,\r\n KeypressTabComponent,\r\n LayerTabComponent,\r\n MacroTabComponent,\r\n MouseTabComponent,\r\n NoneTabComponent\r\n} from './shared/components/popover/tab';\r\nimport { CaptureKeystrokeButtonComponent } from './shared/components/popover/widgets/capture-keystroke';\r\nimport { IconComponent } from './shared/components/popover/widgets/icon';\r\nimport { SettingsComponent } from './shared/components/settings';\r\nimport { SideMenuComponent } from './shared/components/side-menu';\r\nimport { SvgKeyboardComponent } from './shared/components/svg/keyboard';\r\nimport {\r\n SvgIconTextKeyComponent,\r\n SvgKeyboardKeyComponent,\r\n SvgKeystrokeKeyComponent,\r\n SvgMouseClickKeyComponent,\r\n SvgMouseKeyComponent,\r\n SvgMouseMoveKeyComponent,\r\n SvgMouseScrollKeyComponent,\r\n SvgMouseSpeedKeyComponent,\r\n SvgOneLineTextKeyComponent,\r\n SvgSingleIconKeyComponent,\r\n SvgSwitchKeymapKeyComponent,\r\n SvgTextIconKeyComponent,\r\n SvgTwoLineTextKeyComponent\r\n} from './shared/components/svg/keys';\r\nimport { SvgModuleComponent } from './shared/components/svg/module';\r\nimport { SvgKeyboardWrapComponent } from './shared/components/svg/wrap';\r\nimport { MainAppComponent, appRoutingProviders, routing } from './main-app';\r\n\r\nimport { CancelableDirective } from './shared/directives';\r\n\r\nimport { CaptureService } from './shared/services/capture.service';\r\nimport { MapperService } from './shared/services/mapper.service';\r\n\r\nimport { KeymapEffects, MacroEffects } from './shared/store/effects';\r\nimport { userConfigurationReducer, presetReducer } from './shared/store/reducers';\r\nimport { DataStorage } from './shared/store/storage';\r\n\r\nimport { KeymapEditGuard } from './shared/components/keymap/edit';\r\nimport { MacroNotFoundGuard } from './shared/components/macro/not-found';\r\n\r\n// Create DataStorage dependency injection\r\nconst storageProvider = ReflectiveInjector.resolve([DataStorage]);\r\nconst storageInjector = ReflectiveInjector.fromResolvedProviders(storageProvider);\r\nconst storageService: DataStorage = storageInjector.get(DataStorage);\r\n\r\n// All reducers that are used in application\r\nconst storeConfig = {\r\n userConfiguration: storageService.saveState(userConfigurationReducer),\r\n presetKeymaps: presetReducer\r\n};\r\n\r\n@NgModule({\r\n declarations: [\r\n MainAppComponent,\r\n KeymapEditComponent,\r\n KeymapHeaderComponent,\r\n NotificationComponent,\r\n SvgIconTextKeyComponent,\r\n SvgKeyboardKeyComponent,\r\n SvgKeystrokeKeyComponent,\r\n SvgMouseKeyComponent,\r\n SvgMouseClickKeyComponent,\r\n SvgMouseMoveKeyComponent,\r\n SvgMouseScrollKeyComponent,\r\n SvgMouseSpeedKeyComponent,\r\n SvgOneLineTextKeyComponent,\r\n SvgSingleIconKeyComponent,\r\n SvgSwitchKeymapKeyComponent,\r\n SvgTextIconKeyComponent,\r\n SvgTwoLineTextKeyComponent,\r\n SvgKeyboardKeyComponent,\r\n SvgKeyboardWrapComponent,\r\n SvgKeyboardComponent,\r\n SvgModuleComponent,\r\n LayersComponent,\r\n PopoverComponent,\r\n KeymapAddComponent,\r\n SideMenuComponent,\r\n KeypressTabComponent,\r\n KeymapTabComponent,\r\n LayerTabComponent,\r\n MacroTabComponent,\r\n MouseTabComponent,\r\n NoneTabComponent,\r\n CaptureKeystrokeButtonComponent,\r\n IconComponent,\r\n MacroEditComponent,\r\n MacroListComponent,\r\n MacroHeaderComponent,\r\n MacroItemComponent,\r\n MacroActionEditorComponent,\r\n MacroDelayTabComponent,\r\n MacroKeyTabComponent,\r\n MacroMouseTabComponent,\r\n MacroTextTabComponent,\r\n MacroNotFoundComponent,\r\n AddOnComponent,\r\n SettingsComponent,\r\n KeyboardSliderComponent,\r\n CancelableDirective\r\n ],\r\n imports: [\r\n BrowserModule,\r\n FormsModule,\r\n DragulaModule,\r\n routing,\r\n StoreModule.provideStore(storeConfig, storageService.initialState()),\r\n StoreDevtoolsModule.instrumentStore({\r\n monitor: useLogMonitor({\r\n visible: false,\r\n position: 'right'\r\n })\r\n }),\r\n StoreLogMonitorModule,\r\n Select2Module,\r\n EffectsModule.runAfterBootstrap(KeymapEffects),\r\n EffectsModule.runAfterBootstrap(MacroEffects)\r\n ],\r\n providers: [\r\n MapperService,\r\n appRoutingProviders,\r\n KeymapEditGuard,\r\n MacroNotFoundGuard,\r\n CaptureService\r\n ],\r\n bootstrap: [MainAppComponent]\r\n})\r\nexport class AppModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./web/src/app.module.ts","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@ngrx/store'), require('rxjs/ReplaySubject'), require('rxjs/operator/map'), require('rxjs/operator/merge'), require('rxjs/operator/observeOn'), require('rxjs/operator/scan'), require('rxjs/operator/skip'), require('rxjs/operator/withLatestFrom'), require('rxjs/scheduler/queue'), require('rxjs/Observable'), require('rxjs/observable/empty'), require('rxjs/operator/filter'), require('rxjs/operator/share'), require('rxjs/operator/switchMap'), require('rxjs/operator/takeUntil')) :\n typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@ngrx/store', 'rxjs/ReplaySubject', 'rxjs/operator/map', 'rxjs/operator/merge', 'rxjs/operator/observeOn', 'rxjs/operator/scan', 'rxjs/operator/skip', 'rxjs/operator/withLatestFrom', 'rxjs/scheduler/queue', 'rxjs/Observable', 'rxjs/observable/empty', 'rxjs/operator/filter', 'rxjs/operator/share', 'rxjs/operator/switchMap', 'rxjs/operator/takeUntil'], factory) :\n (factory((global.ngrx = global.ngrx || {}, global.ngrx.storeDevtools = global.ngrx.storeDevtools || {}),global.ng.core,global.ngrx.store,global.Rx,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Scheduler,global.Rx,global.Rx.Observable,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype));\n}(this, (function (exports,_angular_core,_ngrx_store,rxjs_ReplaySubject,rxjs_operator_map,rxjs_operator_merge,rxjs_operator_observeOn,rxjs_operator_scan,rxjs_operator_skip,rxjs_operator_withLatestFrom,rxjs_scheduler_queue,rxjs_Observable,rxjs_observable_empty,rxjs_operator_filter,rxjs_operator_share,rxjs_operator_switchMap,rxjs_operator_takeUntil) { 'use strict';\n\nvar ActionTypes = {\n PERFORM_ACTION: 'PERFORM_ACTION',\n RESET: 'RESET',\n ROLLBACK: 'ROLLBACK',\n COMMIT: 'COMMIT',\n SWEEP: 'SWEEP',\n TOGGLE_ACTION: 'TOGGLE_ACTION',\n SET_ACTIONS_ACTIVE: 'SET_ACTIONS_ACTIVE',\n JUMP_TO_STATE: 'JUMP_TO_STATE',\n IMPORT_STATE: 'IMPORT_STATE'\n};\n/**\n* Action creators to change the History state.\n*/\nvar StoreDevtoolActions = {\n performAction: function (action) {\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' +\n 'Have you misspelled a constant?');\n }\n return { type: ActionTypes.PERFORM_ACTION, action: action, timestamp: Date.now() };\n },\n reset: function () {\n return { type: ActionTypes.RESET, timestamp: Date.now() };\n },\n rollback: function () {\n return { type: ActionTypes.ROLLBACK, timestamp: Date.now() };\n },\n commit: function () {\n return { type: ActionTypes.COMMIT, timestamp: Date.now() };\n },\n sweep: function () {\n return { type: ActionTypes.SWEEP };\n },\n toggleAction: function (id) {\n return { type: ActionTypes.TOGGLE_ACTION, id: id };\n },\n setActionsActive: function (start, end, active) {\n if (active === void 0) { active = true; }\n return { type: ActionTypes.SET_ACTIONS_ACTIVE, start: start, end: end, active: active };\n },\n jumpToState: function (index) {\n return { type: ActionTypes.JUMP_TO_STATE, index: index };\n },\n importState: function (nextLiftedState) {\n return { type: ActionTypes.IMPORT_STATE, nextLiftedState: nextLiftedState };\n }\n};\n\nfunction difference(first, second) {\n return first.filter(function (item) { return second.indexOf(item) < 0; });\n}\n/**\n * Provides an app's view into the state of the lifted store.\n */\nfunction unliftState(liftedState) {\n var computedStates = liftedState.computedStates, currentStateIndex = liftedState.currentStateIndex;\n var state = computedStates[currentStateIndex].state;\n return state;\n}\n/**\n* Lifts an app's action into an action on the lifted store.\n*/\nfunction liftAction(action) {\n return StoreDevtoolActions.performAction(action);\n}\nfunction applyOperators(input$, operators) {\n return operators.reduce(function (source$, _a) {\n var operator = _a[0], args = _a.slice(1);\n return operator.apply(source$, args);\n }, input$);\n}\n\nvar ExtensionActionTypes = {\n START: 'START',\n DISPATCH: 'DISPATCH',\n STOP: 'STOP',\n ACTION: 'ACTION'\n};\nvar REDUX_DEVTOOLS_EXTENSION = new _angular_core.OpaqueToken('Redux Devtools Extension');\nvar DevtoolsExtension = (function () {\n function DevtoolsExtension(devtoolsExtension) {\n this.instanceId = \"ngrx-store-\" + Date.now();\n this.devtoolsExtension = devtoolsExtension;\n this.createActionStreams();\n }\n DevtoolsExtension.prototype.notify = function (action, state) {\n if (!this.devtoolsExtension) {\n return;\n }\n this.devtoolsExtension.send(null, state, false, this.instanceId);\n };\n DevtoolsExtension.prototype.createChangesObservable = function () {\n var _this = this;\n if (!this.devtoolsExtension) {\n return rxjs_observable_empty.empty();\n }\n return new rxjs_Observable.Observable(function (subscriber) {\n var connection = _this.devtoolsExtension.connect({ instanceId: _this.instanceId });\n connection.subscribe(function (change) { return subscriber.next(change); });\n return connection.unsubscribe;\n });\n };\n DevtoolsExtension.prototype.createActionStreams = function () {\n var _this = this;\n // Listens to all changes based on our instanceId\n var changes$ = rxjs_operator_share.share.call(this.createChangesObservable());\n // Listen for the start action\n var start$ = rxjs_operator_filter.filter.call(changes$, function (change) { return change.type === ExtensionActionTypes.START; });\n // Listen for the stop action\n var stop$ = rxjs_operator_filter.filter.call(changes$, function (change) { return change.type === ExtensionActionTypes.STOP; });\n // Listen for lifted actions\n var liftedActions$ = applyOperators(changes$, [\n [rxjs_operator_filter.filter, function (change) { return change.type === ExtensionActionTypes.DISPATCH; }],\n [rxjs_operator_map.map, function (change) { return _this.unwrapAction(change.payload); }]\n ]);\n // Listen for unlifted actions\n var actions$ = applyOperators(changes$, [\n [rxjs_operator_filter.filter, function (change) { return change.type === ExtensionActionTypes.ACTION; }],\n [rxjs_operator_map.map, function (change) { return _this.unwrapAction(change.payload); }]\n ]);\n var actionsUntilStop$ = rxjs_operator_takeUntil.takeUntil.call(actions$, stop$);\n var liftedUntilStop$ = rxjs_operator_takeUntil.takeUntil.call(liftedActions$, stop$);\n // Only take the action sources between the start/stop events\n this.actions$ = rxjs_operator_switchMap.switchMap.call(start$, function () { return actionsUntilStop$; });\n this.liftedActions$ = rxjs_operator_switchMap.switchMap.call(start$, function () { return liftedUntilStop$; });\n };\n DevtoolsExtension.prototype.unwrapAction = function (action) {\n return typeof action === 'string' ? eval(\"(\" + action + \")\") : action;\n };\n DevtoolsExtension.decorators = [\n { type: _angular_core.Injectable },\n ];\n /** @nocollapse */\n DevtoolsExtension.ctorParameters = [\n { type: undefined, decorators: [{ type: _angular_core.Inject, args: [REDUX_DEVTOOLS_EXTENSION,] },] },\n ];\n return DevtoolsExtension;\n}());\n\nvar INIT_ACTION = { type: _ngrx_store.Dispatcher.INIT };\n/**\n* Computes the next entry in the log by applying an action.\n*/\nfunction computeNextEntry(reducer, action, state, error) {\n if (error) {\n return {\n state: state,\n error: 'Interrupted by an error up the chain'\n };\n }\n var nextState = state;\n var nextError;\n try {\n nextState = reducer(state, action);\n }\n catch (err) {\n nextError = err.toString();\n console.error(err.stack || err);\n }\n return {\n state: nextState,\n error: nextError\n };\n}\n/**\n* Runs the reducer on invalidated actions to get a fresh computation log.\n*/\nfunction recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds) {\n // Optimization: exit early and return the same reference\n // if we know nothing could have changed.\n if (minInvalidatedStateIndex >= computedStates.length &&\n computedStates.length === stagedActionIds.length) {\n return computedStates;\n }\n var nextComputedStates = computedStates.slice(0, minInvalidatedStateIndex);\n for (var i = minInvalidatedStateIndex; i < stagedActionIds.length; i++) {\n var actionId = stagedActionIds[i];\n var action = actionsById[actionId].action;\n var previousEntry = nextComputedStates[i - 1];\n var previousState = previousEntry ? previousEntry.state : committedState;\n var previousError = previousEntry ? previousEntry.error : undefined;\n var shouldSkip = skippedActionIds.indexOf(actionId) > -1;\n var entry = shouldSkip ?\n previousEntry :\n computeNextEntry(reducer, action, previousState, previousError);\n nextComputedStates.push(entry);\n }\n return nextComputedStates;\n}\nfunction liftInitialState(initialCommittedState, monitorReducer) {\n return {\n monitorState: monitorReducer(undefined, {}),\n nextActionId: 1,\n actionsById: { 0: liftAction(INIT_ACTION) },\n stagedActionIds: [0],\n skippedActionIds: [],\n committedState: initialCommittedState,\n currentStateIndex: 0,\n computedStates: []\n };\n}\n/**\n* Creates a history state reducer from an app's reducer.\n*/\nfunction liftReducerWith(initialCommittedState, initialLiftedState, monitorReducer, options) {\n if (options === void 0) { options = {}; }\n /**\n * Manages how the history actions modify the history state.\n */\n return function (reducer) { return function (liftedState, liftedAction) {\n var _a = liftedState || initialLiftedState, monitorState = _a.monitorState, actionsById = _a.actionsById, nextActionId = _a.nextActionId, stagedActionIds = _a.stagedActionIds, skippedActionIds = _a.skippedActionIds, committedState = _a.committedState, currentStateIndex = _a.currentStateIndex, computedStates = _a.computedStates;\n if (!liftedState) {\n // Prevent mutating initialLiftedState\n actionsById = Object.create(actionsById);\n }\n function commitExcessActions(n) {\n // Auto-commits n-number of excess actions.\n var excess = n;\n var idsToDelete = stagedActionIds.slice(1, excess + 1);\n for (var i = 0; i < idsToDelete.length; i++) {\n if (computedStates[i + 1].error) {\n // Stop if error is found. Commit actions up to error.\n excess = i;\n idsToDelete = stagedActionIds.slice(1, excess + 1);\n break;\n }\n else {\n delete actionsById[idsToDelete[i]];\n }\n }\n skippedActionIds = skippedActionIds.filter(function (id) { return idsToDelete.indexOf(id) === -1; });\n stagedActionIds = [0].concat(stagedActionIds.slice(excess + 1));\n committedState = computedStates[excess].state;\n computedStates = computedStates.slice(excess);\n currentStateIndex = currentStateIndex > excess\n ? currentStateIndex - excess\n : 0;\n }\n // By default, agressively recompute every state whatever happens.\n // This has O(n) performance, so we'll override this to a sensible\n // value whenever we feel like we don't have to recompute the states.\n var minInvalidatedStateIndex = 0;\n switch (liftedAction.type) {\n case ActionTypes.RESET: {\n // Get back to the state the store was created with.\n actionsById = { 0: liftAction(INIT_ACTION) };\n nextActionId = 1;\n stagedActionIds = [0];\n skippedActionIds = [];\n committedState = initialCommittedState;\n currentStateIndex = 0;\n computedStates = [];\n break;\n }\n case ActionTypes.COMMIT: {\n // Consider the last committed state the new starting point.\n // Squash any staged actions into a single committed state.\n actionsById = { 0: liftAction(INIT_ACTION) };\n nextActionId = 1;\n stagedActionIds = [0];\n skippedActionIds = [];\n committedState = computedStates[currentStateIndex].state;\n currentStateIndex = 0;\n computedStates = [];\n break;\n }\n case ActionTypes.ROLLBACK: {\n // Forget about any staged actions.\n // Start again from the last committed state.\n actionsById = { 0: liftAction(INIT_ACTION) };\n nextActionId = 1;\n stagedActionIds = [0];\n skippedActionIds = [];\n currentStateIndex = 0;\n computedStates = [];\n break;\n }\n case ActionTypes.TOGGLE_ACTION: {\n // Toggle whether an action with given ID is skipped.\n // Being skipped means it is a no-op during the computation.\n var actionId_1 = liftedAction.id;\n var index = skippedActionIds.indexOf(actionId_1);\n if (index === -1) {\n skippedActionIds = [actionId_1].concat(skippedActionIds);\n }\n else {\n skippedActionIds = skippedActionIds.filter(function (id) { return id !== actionId_1; });\n }\n // Optimization: we know history before this action hasn't changed\n minInvalidatedStateIndex = stagedActionIds.indexOf(actionId_1);\n break;\n }\n case ActionTypes.SET_ACTIONS_ACTIVE: {\n // Toggle whether an action with given ID is skipped.\n // Being skipped means it is a no-op during the computation.\n var start = liftedAction.start, end = liftedAction.end, active = liftedAction.active;\n var actionIds = [];\n for (var i = start; i < end; i++)\n actionIds.push(i);\n if (active) {\n skippedActionIds = difference(skippedActionIds, actionIds);\n }\n else {\n skippedActionIds = skippedActionIds.concat(actionIds);\n }\n // Optimization: we know history before this action hasn't changed\n minInvalidatedStateIndex = stagedActionIds.indexOf(start);\n break;\n }\n case ActionTypes.JUMP_TO_STATE: {\n // Without recomputing anything, move the pointer that tell us\n // which state is considered the current one. Useful for sliders.\n currentStateIndex = liftedAction.index;\n // Optimization: we know the history has not changed.\n minInvalidatedStateIndex = Infinity;\n break;\n }\n case ActionTypes.SWEEP: {\n // Forget any actions that are currently being skipped.\n stagedActionIds = difference(stagedActionIds, skippedActionIds);\n skippedActionIds = [];\n currentStateIndex = Math.min(currentStateIndex, stagedActionIds.length - 1);\n break;\n }\n case ActionTypes.PERFORM_ACTION: {\n // Auto-commit as new actions come in.\n if (options.maxAge && stagedActionIds.length === options.maxAge) {\n commitExcessActions(1);\n }\n if (currentStateIndex === stagedActionIds.length - 1) {\n currentStateIndex++;\n }\n var actionId = nextActionId++;\n // Mutation! This is the hottest path, and we optimize on purpose.\n // It is safe because we set a new key in a cache dictionary.\n actionsById[actionId] = liftedAction;\n stagedActionIds = stagedActionIds.concat([actionId]);\n // Optimization: we know that only the new action needs computing.\n minInvalidatedStateIndex = stagedActionIds.length - 1;\n break;\n }\n case ActionTypes.IMPORT_STATE: {\n // Completely replace everything.\n (_b = liftedAction.nextLiftedState, monitorState = _b.monitorState, actionsById = _b.actionsById, nextActionId = _b.nextActionId, stagedActionIds = _b.stagedActionIds, skippedActionIds = _b.skippedActionIds, committedState = _b.committedState, currentStateIndex = _b.currentStateIndex, computedStates = _b.computedStates, _b);\n break;\n }\n case _ngrx_store.Reducer.REPLACE:\n case _ngrx_store.Dispatcher.INIT: {\n // Always recompute states on hot reload and init.\n minInvalidatedStateIndex = 0;\n if (options.maxAge && stagedActionIds.length > options.maxAge) {\n // States must be recomputed before committing excess.\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds);\n commitExcessActions(stagedActionIds.length - options.maxAge);\n // Avoid double computation.\n minInvalidatedStateIndex = Infinity;\n }\n break;\n }\n default: {\n // If the action is not recognized, it's a monitor action.\n // Optimization: a monitor action can't change history.\n minInvalidatedStateIndex = Infinity;\n break;\n }\n }\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds);\n monitorState = monitorReducer(monitorState, liftedAction);\n return {\n monitorState: monitorState,\n actionsById: actionsById,\n nextActionId: nextActionId,\n stagedActionIds: stagedActionIds,\n skippedActionIds: skippedActionIds,\n committedState: committedState,\n currentStateIndex: currentStateIndex,\n computedStates: computedStates\n };\n var _b;\n }; };\n}\n\nvar STORE_DEVTOOLS_CONFIG = new _angular_core.OpaqueToken('@ngrx/devtools Options');\nvar INITIAL_OPTIONS = new _angular_core.OpaqueToken('@ngrx/devtools Initial Config');\n\nvar __extends = (undefined && undefined.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar DevtoolsDispatcher = (function (_super) {\n __extends(DevtoolsDispatcher, _super);\n function DevtoolsDispatcher() {\n _super.apply(this, arguments);\n }\n DevtoolsDispatcher.decorators = [\n { type: _angular_core.Injectable },\n ];\n /** @nocollapse */\n DevtoolsDispatcher.ctorParameters = [];\n return DevtoolsDispatcher;\n}(_ngrx_store.Dispatcher));\nvar StoreDevtools = (function () {\n function StoreDevtools(dispatcher, actions$, reducers$, extension, initialState, config) {\n var liftedInitialState = liftInitialState(initialState, config.monitor);\n var liftReducer = liftReducerWith(initialState, liftedInitialState, config.monitor, {\n maxAge: config.maxAge\n });\n var liftedAction$ = applyOperators(actions$, [\n [rxjs_operator_skip.skip, 1],\n [rxjs_operator_merge.merge, extension.actions$],\n [rxjs_operator_map.map, liftAction],\n [rxjs_operator_merge.merge, dispatcher, extension.liftedActions$],\n [rxjs_operator_observeOn.observeOn, rxjs_scheduler_queue.queue]\n ]);\n var liftedReducer$ = rxjs_operator_map.map.call(reducers$, liftReducer);\n var liftedStateSubject = new rxjs_ReplaySubject.ReplaySubject(1);\n var liftedStateSubscription = applyOperators(liftedAction$, [\n [rxjs_operator_withLatestFrom.withLatestFrom, liftedReducer$],\n [rxjs_operator_scan.scan, function (liftedState, _a) {\n var action = _a[0], reducer = _a[1];\n var nextState = reducer(liftedState, action);\n extension.notify(action, nextState);\n return nextState;\n }, liftedInitialState]\n ]).subscribe(liftedStateSubject);\n var liftedState$ = liftedStateSubject.asObservable();\n var state$ = rxjs_operator_map.map.call(liftedState$, unliftState);\n this.stateSubscription = liftedStateSubscription;\n this.dispatcher = dispatcher;\n this.liftedState = liftedState$;\n this.state = state$;\n }\n StoreDevtools.prototype.dispatch = function (action) {\n this.dispatcher.dispatch(action);\n };\n StoreDevtools.prototype.next = function (action) {\n this.dispatcher.dispatch(action);\n };\n StoreDevtools.prototype.error = function (error) { };\n StoreDevtools.prototype.complete = function () { };\n StoreDevtools.prototype.performAction = function (action) {\n this.dispatch(StoreDevtoolActions.performAction(action));\n };\n StoreDevtools.prototype.reset = function () {\n this.dispatch(StoreDevtoolActions.reset());\n };\n StoreDevtools.prototype.rollback = function () {\n this.dispatch(StoreDevtoolActions.rollback());\n };\n StoreDevtools.prototype.commit = function () {\n this.dispatch(StoreDevtoolActions.commit());\n };\n StoreDevtools.prototype.sweep = function () {\n this.dispatch(StoreDevtoolActions.sweep());\n };\n StoreDevtools.prototype.toggleAction = function (id) {\n this.dispatch(StoreDevtoolActions.toggleAction(id));\n };\n StoreDevtools.prototype.jumpToState = function (index) {\n this.dispatch(StoreDevtoolActions.jumpToState(index));\n };\n StoreDevtools.prototype.importState = function (nextLiftedState) {\n this.dispatch(StoreDevtoolActions.importState(nextLiftedState));\n };\n StoreDevtools.decorators = [\n { type: _angular_core.Injectable },\n ];\n /** @nocollapse */\n StoreDevtools.ctorParameters = [\n { type: DevtoolsDispatcher, },\n { type: _ngrx_store.Dispatcher, },\n { type: _ngrx_store.Reducer, },\n { type: DevtoolsExtension, },\n { type: undefined, decorators: [{ type: _angular_core.Inject, args: [_ngrx_store.INITIAL_STATE,] },] },\n { type: undefined, decorators: [{ type: _angular_core.Inject, args: [STORE_DEVTOOLS_CONFIG,] },] },\n ];\n return StoreDevtools;\n}());\n\nfunction _createReduxDevtoolsExtension() {\n var legacyExtensionKey = 'devToolsExtension';\n var extensionKey = '__REDUX_DEVTOOLS_EXTENSION__';\n if (typeof window === 'object' && typeof window[legacyExtensionKey] !== 'undefined') {\n return window[legacyExtensionKey];\n }\n else if (typeof window === 'object' && typeof window[extensionKey] !== 'undefined') {\n return window[extensionKey];\n }\n else {\n return null;\n }\n}\nfunction _createState(devtools) {\n return devtools.state;\n}\nfunction _createReducer(dispatcher, reducer) {\n return new _ngrx_store.Reducer(dispatcher, reducer);\n}\nfunction _createStateIfExtension(extension, injector) {\n if (!!extension) {\n var devtools = injector.get(StoreDevtools);\n return _createState(devtools);\n }\n else {\n var initialState = injector.get(_ngrx_store.INITIAL_STATE);\n var dispatcher = injector.get(_ngrx_store.Dispatcher);\n var reducer = injector.get(_ngrx_store.Reducer);\n return new _ngrx_store.State(initialState, dispatcher, reducer);\n }\n}\nfunction _createReducerIfExtension(extension, injector) {\n if (!!extension) {\n var devtoolsDispatcher = injector.get(DevtoolsDispatcher);\n var reducer = injector.get(_ngrx_store.INITIAL_REDUCER);\n return _createReducer(devtoolsDispatcher, reducer);\n }\n else {\n var dispatcher = injector.get(_ngrx_store.Dispatcher);\n var reducer = injector.get(_ngrx_store.INITIAL_REDUCER);\n return new _ngrx_store.Reducer(dispatcher, reducer);\n }\n}\nfunction noMonitor() {\n return null;\n}\nfunction _createOptions(_options) {\n var DEFAULT_OPTIONS = { monitor: noMonitor };\n var options = typeof _options === 'function' ? _options() : _options;\n options = Object.assign({}, DEFAULT_OPTIONS, options);\n if (options.maxAge && options.maxAge < 2) {\n throw new Error(\"Devtools 'maxAge' cannot be less than 2, got \" + options.maxAge);\n }\n return options;\n}\nvar StoreDevtoolsModule = (function () {\n function StoreDevtoolsModule() {\n }\n StoreDevtoolsModule.instrumentStore = function (_options) {\n if (_options === void 0) { _options = {}; }\n return {\n ngModule: StoreDevtoolsModule,\n providers: [\n {\n provide: _ngrx_store.State,\n deps: [StoreDevtools],\n useFactory: _createState\n },\n {\n provide: INITIAL_OPTIONS,\n useValue: _options\n },\n {\n provide: _ngrx_store.Reducer,\n deps: [DevtoolsDispatcher, _ngrx_store.INITIAL_REDUCER],\n useFactory: _createReducer\n },\n {\n provide: STORE_DEVTOOLS_CONFIG,\n deps: [INITIAL_OPTIONS],\n useFactory: _createOptions\n }\n ]\n };\n };\n StoreDevtoolsModule.instrumentOnlyWithExtension = function (_options) {\n if (_options === void 0) { _options = {}; }\n return {\n ngModule: StoreDevtoolsModule,\n providers: [\n {\n provide: _ngrx_store.State,\n deps: [REDUX_DEVTOOLS_EXTENSION, _angular_core.Injector],\n useFactory: _createStateIfExtension\n },\n {\n provide: _ngrx_store.Reducer,\n deps: [REDUX_DEVTOOLS_EXTENSION, _angular_core.Injector],\n useFactory: _createReducerIfExtension\n },\n {\n provide: INITIAL_OPTIONS,\n useValue: _options\n },\n {\n provide: STORE_DEVTOOLS_CONFIG,\n deps: [INITIAL_OPTIONS],\n useFactory: _createOptions\n }\n ]\n };\n };\n StoreDevtoolsModule.decorators = [\n { type: _angular_core.NgModule, args: [{\n imports: [\n _ngrx_store.StoreModule\n ],\n providers: [\n DevtoolsExtension,\n DevtoolsDispatcher,\n StoreDevtools,\n {\n provide: REDUX_DEVTOOLS_EXTENSION,\n useFactory: _createReduxDevtoolsExtension\n }\n ]\n },] },\n ];\n /** @nocollapse */\n StoreDevtoolsModule.ctorParameters = [];\n return StoreDevtoolsModule;\n}());\n\nexports.StoreDevtoolsModule = StoreDevtoolsModule;\nexports.StoreDevtools = StoreDevtools;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ngrx/store-devtools/bundles/store-devtools.umd.js\n// module id = 62\n// module chunks = 0","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('rxjs/operator/filter'), require('rxjs/operator/map'), require('@ngrx/core/operator/select'), require('@ngrx/store-devtools'), require('rxjs/observable/merge'), require('@ngrx/store'), require('@ngrx/core/compose')) :\n typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/common', 'rxjs/operator/filter', 'rxjs/operator/map', '@ngrx/core/operator/select', '@ngrx/store-devtools', 'rxjs/observable/merge', '@ngrx/store', '@ngrx/core/compose'], factory) :\n (factory((global.ngrx = global.ngrx || {}, global.ngrx.storeLogMonitor = global.ngrx.storeLogMonitor || {}),global.ng.core,global.ng.common,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.ngrx.core,global.ngrx.storeDevtools,global.Rx.Observable,global.ngrx.store,global.ngrx.core));\n}(this, (function (exports,_angular_core,_angular_common,rxjs_operator_filter,rxjs_operator_map,_ngrx_core_operator_select,_ngrx_storeDevtools,rxjs_observable_merge,_ngrx_store,_ngrx_core_compose) { 'use strict';\n\n// Most of these are according to this table: http://www.ssicom.org/js/x171166.htm\n// However where nodejs readline diverges, they are adjusted to conform to it\nvar KEYCODES = {\n nomod: {\n escape: '\\u001b',\n space: ' ' // actually '\\u0020'\n },\n ctrl: {\n ' ': '\\u0000',\n 'a': '\\u0001',\n 'b': '\\u0002',\n 'c': '\\u0003',\n 'd': '\\u0004',\n 'e': '\\u0005',\n 'f': '\\u0006',\n 'g': '\\u0007',\n 'h': '\\u0008',\n 'i': '\\u0009',\n 'j': '\\u000a',\n 'k': '\\u000b',\n 'm': '\\u000c',\n 'n': '\\u000d',\n 'l': '\\u000e',\n 'o': '\\u000f',\n 'p': '\\u0010',\n 'q': '\\u0011',\n 'r': '\\u0012',\n 's': '\\u0013',\n 't': '\\u0014',\n 'u': '\\u0015',\n 'v': '\\u0016',\n 'w': '\\u0017',\n 'x': '\\u0018',\n 'y': '\\u0019',\n 'z': '\\u001a',\n '[': '\\u001b',\n '\\\\': '\\u001c',\n ']': '\\u001d',\n '^': '\\u001e',\n '_': '\\u001f',\n 'space': '\\u0000'\n }\n};\n\nvar CommanderComponent = (function () {\n function CommanderComponent() {\n var _this = this;\n this.keydown$ = new _angular_core.EventEmitter();\n this._ignoreTags = ['INPUT', 'SELECT', 'TEXTAREA'];\n this.keydown$ = new _angular_core.EventEmitter();\n var filtered$ = rxjs_operator_filter.filter.call(this.keydown$, function (e) {\n if (_this._ignoreTags.indexOf(e.target.tagName) !== -1) {\n return false;\n }\n if (e.target.isContentEditable) {\n return false;\n }\n var command = _this.parseCommand(_this.shortcut);\n if (!command) {\n return false;\n }\n var charCode = e.keyCode || e.which;\n var char = String.fromCharCode(charCode);\n return command.name.toUpperCase() === char.toUpperCase() &&\n command.alt === e.altKey &&\n command.ctrl === e.ctrlKey &&\n command.meta === e.metaKey &&\n command.shift === e.shiftKey;\n });\n this.command = rxjs_operator_map.map.call(filtered$, function (e) {\n e.preventDefault();\n return { command: _this.shortcut };\n });\n }\n CommanderComponent.prototype.parseCommand = function (s) {\n var keyString = s.trim().toLowerCase();\n if (!/^(ctrl-|shift-|alt-|meta-){0,4}\\w+$/.test(keyString)) {\n throw new Error('The string to parse needs to be of the format \"c\", \"ctrl-c\", \"shift-ctrl-c\".');\n }\n var parts = keyString.split('-');\n var key = {\n ctrl: false,\n meta: false,\n shift: false,\n alt: false\n };\n var c;\n key.name = parts.pop();\n while ((c = parts.pop())) {\n key[c] = true;\n }\n if (key.ctrl) {\n key.sequence = KEYCODES.ctrl[key.name] || key.name;\n }\n else {\n key.sequence = KEYCODES.nomod[key.name] || key.name;\n }\n if (key.shift && key.sequence && key.sequence.length === 1) {\n key.sequence = key.sequence.toUpperCase();\n }\n return key;\n };\n CommanderComponent.decorators = [\n { type: _angular_core.Component, args: [{\n selector: 'ngrx-commander',\n template: '',\n styles: [':host{ display: none }'],\n host: {\n '(document:keydown)': 'keydown$.emit($event)'\n }\n },] },\n ];\n /** @nocollapse */\n CommanderComponent.ctorParameters = [];\n CommanderComponent.propDecorators = {\n 'shortcut': [{ type: _angular_core.Input },],\n 'command': [{ type: _angular_core.Output },],\n };\n return CommanderComponent;\n}());\n\nvar DockComponent = (function () {\n function DockComponent() {\n this.position = 'right';\n this.size = 0.3;\n this.visible = true;\n }\n Object.defineProperty(DockComponent.prototype, \"absoluteSize\", {\n get: function () {\n return 100 * this.size + \"%\";\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DockComponent.prototype, \"restSize\", {\n get: function () {\n return (100 - (100 * this.size)) + \"%\";\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DockComponent.prototype, \"leftPosition\", {\n get: function () {\n return this.calculatePosition('left', 'right');\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DockComponent.prototype, \"rightPosition\", {\n get: function () {\n return this.calculatePosition('right', 'left');\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DockComponent.prototype, \"topPosition\", {\n get: function () {\n return this.calculatePosition('top', 'bottom');\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DockComponent.prototype, \"bottomPosition\", {\n get: function () {\n return this.calculatePosition('bottom', 'top');\n },\n enumerable: true,\n configurable: true\n });\n DockComponent.prototype.calculatePosition = function (primary, secondary) {\n if (this.visible) {\n switch (this.position) {\n case secondary:\n return this.restSize;\n default:\n return '0%';\n }\n }\n else {\n switch (this.position) {\n case primary:\n return \"-\" + this.absoluteSize;\n case secondary:\n return '100%';\n default:\n return '0%';\n }\n }\n };\n DockComponent.decorators = [\n { type: _angular_core.Component, args: [{\n selector: 'ngrx-dock',\n template: \"\\n
\\n
\\n \\n
\\n
\\n \",\n styles: [\"\\n :host {\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n transition: all 0.3s;\\n z-index: 9999;\\n }\\n\\n .dock {\\n position: absolute;\\n z-index: 1;\\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);\\n background-color: white;\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n }\\n\\n .dock-content {\\n width: 100%;\\n height: 100%;\\n overflow: auto;\\n }\\n \"]\n },] },\n ];\n /** @nocollapse */\n DockComponent.ctorParameters = [];\n DockComponent.propDecorators = {\n 'position': [{ type: _angular_core.Input },],\n 'size': [{ type: _angular_core.Input },],\n 'visible': [{ type: _angular_core.Input },],\n 'leftPosition': [{ type: _angular_core.HostBinding, args: ['style.left',] },],\n 'rightPosition': [{ type: _angular_core.HostBinding, args: ['style.right',] },],\n 'topPosition': [{ type: _angular_core.HostBinding, args: ['style.top',] },],\n 'bottomPosition': [{ type: _angular_core.HostBinding, args: ['style.bottom',] },],\n };\n return DockComponent;\n}());\n\nvar DockActions = (function () {\n function DockActions() {\n }\n DockActions.prototype.toggleVisibility = function () {\n return { type: DockActions.TOGGLE_VISIBILITY };\n };\n DockActions.prototype.changePosition = function () {\n return { type: DockActions.CHANGE_POSITION };\n };\n DockActions.prototype.changeSize = function (size) {\n return { type: DockActions.CHANGE_SIZE, payload: size };\n };\n DockActions.prototype.changeMonitor = function () {\n return { type: DockActions.CHANGE_MONITOR };\n };\n DockActions.TOGGLE_VISIBILITY = '@@redux-devtools-log-monitor/TOGGLE_VISIBILITY';\n DockActions.CHANGE_POSITION = '@@redux-devtools-log-monitor/CHANGE_POSITION';\n DockActions.CHANGE_SIZE = '@@redux-devtools-log-monitor/CHANGE_SIZE';\n DockActions.CHANGE_MONITOR = '@@redux-devtools-log-monitor/CHANGE_MONITOR';\n DockActions.decorators = [\n { type: _angular_core.Injectable },\n ];\n /** @nocollapse */\n DockActions.ctorParameters = [];\n return DockActions;\n}());\n\nvar DockMonitorComponent = (function () {\n function DockMonitorComponent(tools, actions) {\n this.state$ = _ngrx_core_operator_select.select.call(tools.liftedState, function (s) { return s.monitorState; });\n this.visible$ = _ngrx_core_operator_select.select.call(this.state$, function (s) { return s.visible; });\n this.position$ = _ngrx_core_operator_select.select.call(this.state$, function (s) { return s.position; });\n this.size$ = _ngrx_core_operator_select.select.call(this.state$, function (s) { return s.size; });\n this.toggle$ = new _angular_core.EventEmitter();\n this.changePosition$ = new _angular_core.EventEmitter();\n this.actionsSubscription = rxjs_observable_merge.merge(rxjs_operator_map.map.call(this.toggle$, function () { return actions.toggleVisibility(); }), rxjs_operator_map.map.call(this.changePosition$, function () { return actions.changePosition(); })).subscribe(tools);\n }\n DockMonitorComponent.prototype.ngOnDestroy = function () {\n this.actionsSubscription.unsubscribe();\n };\n DockMonitorComponent.decorators = [\n { type: _angular_core.Component, args: [{\n selector: 'dock-monitor',\n changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,\n template: \"\\n \\n \\n\\n \\n \\n \\n \"\n },] },\n ];\n /** @nocollapse */\n DockMonitorComponent.ctorParameters = [\n { type: _ngrx_storeDevtools.StoreDevtools, },\n { type: DockActions, },\n ];\n DockMonitorComponent.propDecorators = {\n 'toggleCommand': [{ type: _angular_core.Input },],\n 'positionCommand': [{ type: _angular_core.Input },],\n };\n return DockMonitorComponent;\n}());\n\nvar POSITIONS = ['left', 'top', 'right', 'bottom'];\nfunction useDockMonitor(_options) {\n if (_options === void 0) { _options = {}; }\n var options = Object.assign({\n position: 'right',\n visible: true,\n size: 0.3\n }, _options);\n function position(state, action) {\n if (state === void 0) { state = options.position; }\n return (action.type === DockActions.CHANGE_POSITION) ?\n POSITIONS[(POSITIONS.indexOf(state) + 1) % POSITIONS.length] :\n state;\n }\n function size(state, action) {\n if (state === void 0) { state = options.size; }\n return (action.type === DockActions.CHANGE_SIZE) ?\n action.size :\n state;\n }\n function visible(state, action) {\n if (state === void 0) { state = options.visible; }\n return (action.type === DockActions.TOGGLE_VISIBILITY) ?\n !state :\n state;\n }\n return _ngrx_store.combineReducers({\n position: position,\n visible: visible,\n size: size\n });\n}\n\nvar DockMonitorModule = (function () {\n function DockMonitorModule() {\n }\n DockMonitorModule.decorators = [\n { type: _angular_core.NgModule, args: [{\n imports: [\n _angular_common.CommonModule\n ],\n declarations: [\n CommanderComponent,\n DockComponent,\n DockMonitorComponent\n ],\n providers: [\n DockActions\n ],\n exports: [\n DockMonitorComponent\n ]\n },] },\n ];\n /** @nocollapse */\n DockMonitorModule.ctorParameters = [];\n return DockMonitorModule;\n}());\n\nvar KNOWN = {\n Array: 'array',\n Object: 'object',\n Null: 'null',\n Undefined: 'undefined',\n Boolean: 'boolean',\n Number: 'number',\n String: 'string',\n Symbol: 'symbol',\n Function: 'function',\n Iterable: 'iterable'\n};\nfunction getTypeOf(object) {\n var literalType = typeof object;\n if (literalType === 'object') {\n if (Array.isArray(object)) {\n return KNOWN.Array;\n }\n if (object === null) {\n return KNOWN.Null;\n }\n if (typeof object[Symbol.iterator] === 'function') {\n return KNOWN.Iterable;\n }\n }\n return literalType;\n}\nvar arrayLength = function (value) { return value.length; };\nvar lengthLabel = function (single, plural) { return function (length) { return (length + \" \" + (length === 1 ? single : plural)); }; };\nvar typeIndicator = function (typeIndicator) { return function (input) { return (typeIndicator + \" \" + input); }; };\nvar typeIdentity = function (type) { return function () { return type; }; };\nvar withQuotes = function (val) { return (\"\\\"\" + val + \"\\\"\"); };\nvar toString = function (val) { return val.toString(); };\nvar iterableToArray = function (value) { return Array.from(value); };\nvar labelFactoriesForTypes = (_a = {},\n _a[KNOWN.Array] = _ngrx_core_compose.compose(typeIndicator('[]'), lengthLabel('item', 'items'), arrayLength),\n _a[KNOWN.Object] = _ngrx_core_compose.compose(typeIndicator('{}'), lengthLabel('key', 'keys'), arrayLength, Object.getOwnPropertyNames),\n _a[KNOWN.Null] = typeIdentity(KNOWN.Null),\n _a[KNOWN.Undefined] = typeIdentity(KNOWN.Undefined),\n _a[KNOWN.Boolean] = function (val) { return val ? 'true' : 'false'; },\n _a[KNOWN.Number] = toString,\n _a[KNOWN.String] = withQuotes,\n _a[KNOWN.Symbol] = _ngrx_core_compose.compose(withQuotes, toString),\n _a[KNOWN.Function] = typeIdentity(KNOWN.Function),\n _a[KNOWN.Iterable] = _ngrx_core_compose.compose(typeIndicator('()'), lengthLabel('entry', 'entries'), arrayLength, iterableToArray),\n _a\n);\nvar getLabelFor = function (object) { return labelFactoriesForTypes[getTypeOf(object)](object); };\nfunction getChildrenFor(object) {\n var literalType = getTypeOf(object);\n if (literalType === KNOWN.Object) {\n return Object.getOwnPropertyNames(object).map(function (name) {\n return { key: name, value: object[name] };\n });\n }\n else if (literalType === KNOWN.Array) {\n return object.map(function (value, index) {\n return { key: index, value: value };\n });\n }\n else if (literalType === KNOWN.Iterable) {\n return Array.from(object).map(function (value, index) {\n return { key: index, value: value };\n });\n }\n throw new TypeError(\"Tried to get children for non-enumerable type \\\"\" + literalType + \"\\\"\");\n}\nvar _a;\n\nvar JsonNodeComponent = (function () {\n function JsonNodeComponent() {\n this.expanded = false;\n }\n Object.defineProperty(JsonNodeComponent.prototype, \"value\", {\n set: function (value) {\n this.label = getLabelFor(value);\n this.type = getTypeOf(value);\n if (this.type === KNOWN.Array || this.type === KNOWN.Object || this.type === KNOWN.Iterable) {\n this.children = getChildrenFor(value);\n }\n else {\n this.children = null;\n }\n },\n enumerable: true,\n configurable: true\n });\n JsonNodeComponent.prototype.toggle = function () {\n if (this.children) {\n this.expanded = !this.expanded;\n }\n };\n JsonNodeComponent.decorators = [\n { type: _angular_core.Component, args: [{\n selector: 'ngrx-json-node',\n styles: [\"\\n :host {\\n display: block;\\n padding: 2px 2px 2px 20px;\\n position: relative;\\n color: #70AFCD;\\n font-family: 'monaco', 'Consolas', 'Lucida Console', monospace;\\n }\\n .expanded-indicator {\\n position: absolute;\\n top: 7px;\\n left: 5px;\\n font-size: 10px;\\n transition: transform 200ms;\\n }\\n\\n .expanded .expanded-indicator {\\n transform: rotate(90deg);\\n }\\n\\n .node-key::after {\\n content: ': ';\\n display: inline;\\n }\\n\\n .expanded .node-label {\\n color: #BABBBD !important;\\n }\\n\\n .node-label {\\n color: #9AC05C;\\n }\\n\\n .node-label.array, .node-label.null, .node-label.iterable {\\n color: #D182C0;\\n }\\n\\n .node-label.number, .node-label.undefined, .node-label.boolean {\\n color: #F86936;\\n }\\n \"],\n template: \"\\n
\\n \\u25B6\\n {{ key }}\\n {{ label }}\\n
\\n
\\n \\n
\\n \"\n },] },\n ];\n /** @nocollapse */\n JsonNodeComponent.ctorParameters = [];\n JsonNodeComponent.propDecorators = {\n 'key': [{ type: _angular_core.Input },],\n 'expanded': [{ type: _angular_core.Input },],\n 'value': [{ type: _angular_core.Input },],\n };\n return JsonNodeComponent;\n}());\n\nvar JsonTreeComponent = (function () {\n function JsonTreeComponent() {\n this.children = [];\n this.expanded = true;\n }\n Object.defineProperty(JsonTreeComponent.prototype, \"value\", {\n set: function (value) {\n this.children = getChildrenFor(value);\n },\n enumerable: true,\n configurable: true\n });\n JsonTreeComponent.decorators = [\n { type: _angular_core.Component, args: [{\n selector: 'ngrx-json-tree',\n template: \"\\n \\n \"\n },] },\n ];\n /** @nocollapse */\n JsonTreeComponent.ctorParameters = [];\n JsonTreeComponent.propDecorators = {\n 'expanded': [{ type: _angular_core.Input },],\n 'value': [{ type: _angular_core.Input },],\n };\n return JsonTreeComponent;\n}());\n\nvar JsonTreeModule = (function () {\n function JsonTreeModule() {\n }\n JsonTreeModule.decorators = [\n { type: _angular_core.NgModule, args: [{\n imports: [\n _angular_common.CommonModule\n ],\n declarations: [\n JsonNodeComponent,\n JsonTreeComponent\n ],\n exports: [\n JsonTreeComponent\n ]\n },] },\n ];\n /** @nocollapse */\n JsonTreeModule.ctorParameters = [];\n return JsonTreeModule;\n}());\n\nvar LogMonitorComponent = (function () {\n function LogMonitorComponent(devtools) {\n this.devtools = devtools;\n this.expandEntries = true;\n this.canRevert$ = _ngrx_core_operator_select.select.call(devtools.liftedState, function (s) { return !(s.computedStates.length > 1); });\n this.canSweep$ = _ngrx_core_operator_select.select.call(devtools.liftedState, function (s) { return !(s.skippedActionIds.length > 0); });\n this.canCommit$ = _ngrx_core_operator_select.select.call(devtools.liftedState, function (s) { return !(s.computedStates.length > 1); });\n this.items$ = rxjs_operator_map.map.call(devtools.liftedState, function (_a) {\n var actionsById = _a.actionsById, skippedActionIds = _a.skippedActionIds, stagedActionIds = _a.stagedActionIds, computedStates = _a.computedStates;\n var actions = [];\n for (var i = 0; i < stagedActionIds.length; i++) {\n var actionId = stagedActionIds[i];\n var action = actionsById[actionId].action;\n var _b = computedStates[i], state = _b.state, error = _b.error;\n var previousState = void 0;\n if (i > 0) {\n previousState = computedStates[i - 1].state;\n }\n actions.push({\n key: actionId,\n collapsed: skippedActionIds.indexOf(actionId) > -1,\n action: action,\n actionId: actionId,\n state: state,\n previousState: previousState,\n error: error\n });\n }\n return actions;\n });\n }\n LogMonitorComponent.prototype.handleToggle = function (id) {\n this.devtools.toggleAction(id);\n };\n LogMonitorComponent.prototype.handleReset = function () {\n this.devtools.reset();\n };\n LogMonitorComponent.prototype.handleRollback = function () {\n this.devtools.rollback();\n };\n LogMonitorComponent.prototype.handleSweep = function () {\n this.devtools.sweep();\n };\n LogMonitorComponent.prototype.handleCommit = function () {\n this.devtools.commit();\n };\n LogMonitorComponent.decorators = [\n { type: _angular_core.Component, args: [{\n selector: 'log-monitor',\n styles: [\"\\n :host {\\n display: block;\\n background-color: #2A2F3A;\\n font-family: 'monaco', 'Consolas', 'Lucida Console', monospace;\\n position: relative;\\n overflow-y: hidden;\\n width: 100%;\\n height: 100%;\\n min-width: 300px;\\n direction: ltr;\\n }\\n\\n .button-bar {\\n text-align: center;\\n border-bottom-width: 1px;\\n border-bottom-style: solid;\\n border-color: transparent;\\n z-index: 1;\\n display: flex;\\n flex-direction: row;\\n padding: 0 4px;\\n }\\n\\n .elements {\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 38px;\\n bottom: 0;\\n overflow-x: hidden;\\n overflow-y: auto;\\n }\\n \"],\n template: \"\\n
\\n \\n Reset\\n \\n\\n \\n Revert\\n \\n\\n \\n Sweep\\n \\n\\n \\n Commit\\n \\n
\\n
\\n \\n \\n
\\n \"\n },] },\n ];\n /** @nocollapse */\n LogMonitorComponent.ctorParameters = [\n { type: _ngrx_storeDevtools.StoreDevtools, },\n ];\n LogMonitorComponent.propDecorators = {\n 'expandEntries': [{ type: _angular_core.Input },],\n };\n return LogMonitorComponent;\n}());\n\nvar LogMonitorButtonComponent = (function () {\n function LogMonitorButtonComponent() {\n this.action = new _angular_core.EventEmitter();\n }\n LogMonitorButtonComponent.prototype.handleAction = function ($event) {\n if (!this.disabled) {\n this.action.next({});\n }\n $event.stopPropagation();\n return false;\n };\n LogMonitorButtonComponent.decorators = [\n { type: _angular_core.Component, args: [{\n selector: 'log-monitor-button',\n template: \"\\n \\n \",\n styles: [\"\\n :host{\\n flex-grow: 1;\\n display: inline-block;\\n font-family: 'monaco', 'Consolas', 'Lucida Console', monospace;\\n cursor: pointer;\\n font-weight: bold;\\n border-radius: 3px;\\n padding: 4px 8px;\\n margin: 5px 3px 5px 3px;\\n font-size: 0.8em;\\n color: white;\\n text-decoration: none;\\n background-color: #4F5A65;\\n }\\n\\n :host.disabled{\\n opacity: 0.2;\\n cursor: text;\\n background-color: transparent;\\n }\\n \"]\n },] },\n ];\n /** @nocollapse */\n LogMonitorButtonComponent.ctorParameters = [];\n LogMonitorButtonComponent.propDecorators = {\n 'disabled': [{ type: _angular_core.HostBinding, args: ['class.disabled',] }, { type: _angular_core.Input },],\n 'action': [{ type: _angular_core.Output },],\n 'handleAction': [{ type: _angular_core.HostListener, args: ['click', ['$event'],] },],\n };\n return LogMonitorButtonComponent;\n}());\n\nvar LogMonitorEntryComponent = (function () {\n function LogMonitorEntryComponent() {\n this.expandEntries = false;\n this.disabled = false;\n this.toggle = new _angular_core.EventEmitter();\n }\n Object.defineProperty(LogMonitorEntryComponent.prototype, \"item\", {\n get: function () {\n return this._item;\n },\n set: function (value) {\n this._item = value;\n this.stateActionPair = {\n state: value.state,\n action: value.action\n };\n },\n enumerable: true,\n configurable: true\n });\n LogMonitorEntryComponent.prototype.handleToggle = function () {\n if (!this.disabled) {\n this.toggle.next({ id: this.item.actionId });\n }\n };\n LogMonitorEntryComponent.prototype.logPayload = function () {\n console.log(this.item.action);\n };\n LogMonitorEntryComponent.prototype.logState = function () {\n console.log(this.item.state);\n };\n LogMonitorEntryComponent.decorators = [\n { type: _angular_core.Component, args: [{\n selector: 'log-monitor-entry',\n template: \"\\n
\\n {{ item.action.type }}\\n
\\n
\\n \\n
\\n \",\n styles: [\"\\n :host{\\n color: #FFFFFF;\\n background-color: #4F5A65;\\n cursor: pointer;\\n }\\n .title-bar{\\n padding: 8px 0 7px 16px;\\n background-color: rgba(0,0,0,0.1);\\n }\\n .action-bar{\\n padding: 20px;\\n }\\n .collapsed{\\n text-decoration: line-through;\\n font-style: italic;\\n opacity: 0.5;\\n }\\n \"]\n },] },\n ];\n /** @nocollapse */\n LogMonitorEntryComponent.ctorParameters = [];\n LogMonitorEntryComponent.propDecorators = {\n 'expandEntries': [{ type: _angular_core.Input },],\n 'disabled': [{ type: _angular_core.Input },],\n 'item': [{ type: _angular_core.Input },],\n 'toggle': [{ type: _angular_core.Output },],\n };\n return LogMonitorEntryComponent;\n}());\n\nvar LogMonitorModule = (function () {\n function LogMonitorModule() {\n }\n LogMonitorModule.decorators = [\n { type: _angular_core.NgModule, args: [{\n imports: [\n _angular_common.CommonModule,\n JsonTreeModule\n ],\n declarations: [\n LogMonitorComponent,\n LogMonitorButtonComponent,\n LogMonitorEntryComponent\n ],\n exports: [\n LogMonitorComponent\n ]\n },] },\n ];\n /** @nocollapse */\n LogMonitorModule.ctorParameters = [];\n return LogMonitorModule;\n}());\n\nvar StoreLogMonitorComponent = (function () {\n function StoreLogMonitorComponent() {\n this.toggleCommand = 'ctrl-h';\n this.positionCommand = 'ctrl-m';\n this.expandEntries = false;\n }\n StoreLogMonitorComponent.decorators = [\n { type: _angular_core.Component, args: [{\n selector: 'ngrx-store-log-monitor',\n template: \"\\n \\n \\n \\n \"\n },] },\n ];\n /** @nocollapse */\n StoreLogMonitorComponent.ctorParameters = [];\n StoreLogMonitorComponent.propDecorators = {\n 'toggleCommand': [{ type: _angular_core.Input },],\n 'positionCommand': [{ type: _angular_core.Input },],\n 'expandEntries': [{ type: _angular_core.Input },],\n };\n return StoreLogMonitorComponent;\n}());\n\nvar StoreLogMonitorModule = (function () {\n function StoreLogMonitorModule() {\n }\n StoreLogMonitorModule.decorators = [\n { type: _angular_core.NgModule, args: [{\n imports: [\n _angular_common.CommonModule,\n DockMonitorModule,\n LogMonitorModule\n ],\n declarations: [\n StoreLogMonitorComponent\n ],\n exports: [\n StoreLogMonitorComponent\n ]\n },] },\n ];\n /** @nocollapse */\n StoreLogMonitorModule.ctorParameters = [];\n return StoreLogMonitorModule;\n}());\n\nexports.StoreLogMonitorModule = StoreLogMonitorModule;\nexports.useLogMonitor = useDockMonitor;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ngrx/store-log-monitor/bundles/store-log-monitor.umd.js\n// module id = 71\n// module chunks = 0","\"use strict\";\nvar pluck_1 = require('rxjs/operator/pluck');\nvar map_1 = require('rxjs/operator/map');\nvar distinctUntilChanged_1 = require('rxjs/operator/distinctUntilChanged');\nfunction select(pathOrMapFn) {\n var paths = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n paths[_i - 1] = arguments[_i];\n }\n var mapped$;\n if (typeof pathOrMapFn === 'string') {\n mapped$ = pluck_1.pluck.call.apply(pluck_1.pluck, [this, pathOrMapFn].concat(paths));\n }\n else if (typeof pathOrMapFn === 'function') {\n mapped$ = map_1.map.call(this, pathOrMapFn);\n }\n else {\n throw new TypeError((\"Unexpected type \" + typeof pathOrMapFn + \" in select operator,\")\n + \" expected 'string' or 'function'\");\n }\n return distinctUntilChanged_1.distinctUntilChanged.call(mapped$);\n}\nexports.select = select;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ngrx/core/operator/select.js\n// module id = 72\n// module chunks = 0","\"use strict\";\nexports.compose = function () {\n var functions = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n functions[_i - 0] = arguments[_i];\n }\n return function (arg) {\n if (functions.length === 0) {\n return arg;\n }\n var last = functions[functions.length - 1];\n var rest = functions.slice(0, -1);\n return rest.reduceRight(function (composed, fn) { return fn(composed); }, last(arg));\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ngrx/core/compose.js\n// module id = 73\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\n__export(require('./index'));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-dragula/ng2-dragula.js\n// module id = 74\n// module chunks = 0","\"use strict\";\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar core_1 = require(\"@angular/core\");\nvar ng2_select2_component_1 = require(\"./ng2-select2.component\");\nvar ng2_select2_component_2 = require(\"./ng2-select2.component\");\nexports.Select2Component = ng2_select2_component_2.Select2Component;\nvar Select2Module = (function () {\n function Select2Module() {\n }\n return Select2Module;\n}());\nSelect2Module = __decorate([\n core_1.NgModule({\n declarations: [ng2_select2_component_1.Select2Component],\n exports: [ng2_select2_component_1.Select2Component]\n })\n], Select2Module);\nexports.Select2Module = Select2Module;\n//# sourceMappingURL=ng2-select2.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-select2/ng2-select2.js\n// module id = 91\n// module chunks = 0","\"use strict\";\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar core_1 = require(\"@angular/core\");\nvar Select2Component = (function () {\n function Select2Component(renderer) {\n this.renderer = renderer;\n // enable / disable default style for select2\n this.cssImport = true;\n // enable / disable select2\n this.disabled = false;\n // emitter when value is changed\n this.valueChanged = new core_1.EventEmitter();\n this.element = undefined;\n this.check = false;\n this.style = \".select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle;min-width:100px}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--classic .select2-results>.select2-results__options,.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:1px solid #000;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top,#fff 50%,#eee 100%);background-image:-o-linear-gradient(top,#fff 50%,#eee 100%);background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top,#eee 50%,#ccc 100%);background-image:-o-linear-gradient(top,#eee 50%,#ccc 100%);background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:4px 0 0 4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:0 0;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top,#fff 0,#eee 50%);background-image:-o-linear-gradient(top,#fff 0,#eee 50%);background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top,#eee 50%,#fff 100%);background-image:-o-linear-gradient(top,#eee 50%,#fff 100%);background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}\";\n }\n Select2Component.prototype.ngOnInit = function () {\n if (this.cssImport) {\n var head = document.getElementsByTagName('head')[0];\n var link = head.children[head.children.length - 1];\n if (!link.version) {\n var newLink = this.renderer.createElement(head, 'style');\n this.renderer.setElementProperty(newLink, 'type', 'text/css');\n this.renderer.setElementProperty(newLink, 'version', 'select2');\n this.renderer.setElementProperty(newLink, 'innerHTML', this.style);\n }\n }\n };\n Select2Component.prototype.ngOnChanges = function (changes) {\n if (!this.element) {\n return;\n }\n if (changes['data'] && JSON.stringify(changes['data'].previousValue) !== JSON.stringify(changes['data'].currentValue)) {\n this.initPlugin();\n var newValue = this.element.val();\n this.valueChanged.emit({\n value: newValue\n });\n }\n if (changes['value'] && changes['value'].previousValue !== changes['value'].currentValue) {\n var newValue = changes['value'].currentValue;\n this.setElementValue(newValue);\n this.valueChanged.emit({\n value: newValue\n });\n }\n if (changes['disabled'] && changes['disabled'].previousValue !== changes['disabled'].currentValue) {\n this.renderer.setElementProperty(this.selector.nativeElement, 'disabled', this.disabled);\n }\n };\n Select2Component.prototype.ngAfterViewInit = function () {\n var that = this;\n this.element = jQuery(this.selector.nativeElement);\n this.initPlugin();\n if (typeof this.value !== 'undefined') {\n this.setElementValue(this.value);\n }\n this.element.on('select2:select select2:unselect', function () {\n that.valueChanged.emit({\n value: that.element.val()\n });\n });\n };\n Select2Component.prototype.ngOnDestroy = function () {\n this.element.off(\"select2:select\");\n };\n Select2Component.prototype.initPlugin = function () {\n var _this = this;\n if (!this.element.select2) {\n if (!this.check) {\n this.check = true;\n console.log(\"Please add Select2 library (js file) to the project. You can download it from https://github.com/select2/select2/tree/master/dist/js.\");\n }\n return;\n }\n // If select2 already initialized remove him and remove all tags inside\n if (this.element.hasClass('select2-hidden-accessible') == true) {\n this.element.select2('destroy');\n this.renderer.setElementProperty(this.selector.nativeElement, 'innerHTML', '');\n }\n var options = {\n data: this.data,\n width: (this.width) ? this.width : 'resolve'\n };\n Object.assign(options, this.options);\n if (options.matcher) {\n jQuery.fn.select2.amd.require(['select2/compat/matcher'], function (oldMatcher) {\n options.matcher = oldMatcher(options.matcher);\n _this.element.select2(options);\n if (typeof _this.value !== 'undefined') {\n _this.setElementValue(_this.value);\n }\n });\n }\n else {\n this.element.select2(options);\n }\n if (this.disabled) {\n this.renderer.setElementProperty(this.selector.nativeElement, 'disabled', this.disabled);\n }\n };\n Select2Component.prototype.setElementValue = function (newValue) {\n if (Array.isArray(newValue)) {\n for (var _i = 0, _a = this.selector.nativeElement.options; _i < _a.length; _i++) {\n var option = _a[_i];\n if (newValue.indexOf(option.value) > -1) {\n this.renderer.setElementProperty(option, 'selected', 'true');\n }\n }\n }\n else {\n this.renderer.setElementProperty(this.selector.nativeElement, 'value', newValue);\n }\n this.element.val(newValue);\n this.element.trigger('change.select2');\n };\n return Select2Component;\n}());\n__decorate([\n core_1.ViewChild('selector'),\n __metadata(\"design:type\", core_1.ElementRef)\n], Select2Component.prototype, \"selector\", void 0);\n__decorate([\n core_1.Input(),\n __metadata(\"design:type\", Array)\n], Select2Component.prototype, \"data\", void 0);\n__decorate([\n core_1.Input(),\n __metadata(\"design:type\", Object)\n], Select2Component.prototype, \"value\", void 0);\n__decorate([\n core_1.Input(),\n __metadata(\"design:type\", Boolean)\n], Select2Component.prototype, \"cssImport\", void 0);\n__decorate([\n core_1.Input(),\n __metadata(\"design:type\", String)\n], Select2Component.prototype, \"width\", void 0);\n__decorate([\n core_1.Input(),\n __metadata(\"design:type\", Boolean)\n], Select2Component.prototype, \"disabled\", void 0);\n__decorate([\n core_1.Input(),\n __metadata(\"design:type\", Object)\n], Select2Component.prototype, \"options\", void 0);\n__decorate([\n core_1.Output(),\n __metadata(\"design:type\", Object)\n], Select2Component.prototype, \"valueChanged\", void 0);\nSelect2Component = __decorate([\n core_1.Component({\n selector: 'select2',\n template: '',\n encapsulation: core_1.ViewEncapsulation.None,\n changeDetection: core_1.ChangeDetectionStrategy.OnPush\n }),\n __metadata(\"design:paramtypes\", [core_1.Renderer])\n], Select2Component);\nexports.Select2Component = Select2Component;\n//# sourceMappingURL=ng2-select2.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-select2/ng2-select2.component.js\n// module id = 92\n// module chunks = 0","export * from './add-on.component';\r\nexport * from './add-on.routes';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/add-on/index.ts","import { Component } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\n@Component({\r\n selector: 'add-on',\r\n template: require('./add-on.component.html'),\r\n styles: [require('./add-on.component.scss')],\r\n host: {\r\n 'class': 'container-fluid'\r\n }\r\n})\r\nexport class AddOnComponent {\r\n private name$: Observable;\r\n\r\n constructor(private route: ActivatedRoute) {\r\n this.name$ = route\r\n .params\r\n .select('name');\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/add-on/add-on.component.ts","module.exports = \"
\\r\\n

\\r\\n \\r\\n {{ name$ | async }}\\r\\n

\\r\\n
\\r\\nTo be done...\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/add-on/add-on.component.html\n// module id = 114\n// module chunks = 0","module.exports = \":host {\\n width: 100%;\\n height: 100%;\\n display: block; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/add-on/add-on.component.scss\n// module id = 115\n// module chunks = 0","import { Routes } from '@angular/router';\r\n\r\nimport { AddOnComponent } from './add-on.component';\r\n\r\nexport const addOnRoutes: Routes = [\r\n {\r\n path: 'add-on/:name',\r\n component: AddOnComponent\r\n }\r\n];\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/add-on/add-on.routes.ts","export { KeyboardSliderComponent } from './keyboard-slider.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/keyboard/slider/index.ts","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n animate,\r\n keyframes,\r\n state,\r\n style,\r\n transition,\r\n trigger\r\n} from '@angular/core';\r\n\r\nimport { Layer } from '../../../config-serializer/config-items/Layer';\r\n\r\ntype AnimationKeyboard =\r\n 'leftIn' |\r\n 'leftOut' |\r\n 'rightIn' |\r\n 'rightOut';\r\n\r\n@Component({\r\n selector: 'keyboard-slider',\r\n template: require('./keyboard-slider.component.html'),\r\n styles: [require('./keyboard-slider.component.scss')],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n // We use 101%, because there was still a trace of the keyboard in the screen when animation was done\r\n animations: [\r\n trigger('layerState', [\r\n state('leftIn, rightIn', style({\r\n transform: 'translateX(-50%)',\r\n left: '50%'\r\n })),\r\n state('leftOut', style({\r\n transform: 'translateX(-101%)',\r\n left: '0'\r\n })),\r\n state('rightOut', style({\r\n transform: 'translateX(0)',\r\n left: '101%'\r\n })),\r\n transition('leftOut => leftIn, rightOut => leftIn', [\r\n animate('400ms ease-out', keyframes([\r\n style({ transform: 'translateX(0%)', left: '101%', offset: 0 }),\r\n style({ transform: 'translateX(-50%)', left: '50%', offset: 1 })\r\n ]))\r\n ]),\r\n transition('leftIn => leftOut, rightIn => leftOut', [\r\n animate('400ms ease-out', keyframes([\r\n style({ transform: 'translateX(-50%)', left: '50%', offset: 0 }),\r\n style({ transform: 'translateX(-101%)', left: '0%', offset: 1 })\r\n ]))\r\n ]),\r\n transition('* => rightIn', [\r\n animate('400ms ease-out', keyframes([\r\n style({ transform: 'translateX(-101%)', left: '0%', offset: 0 }),\r\n style({ transform: 'translateX(-50%)', left: '50%', offset: 1 })\r\n ]))\r\n ]),\r\n transition('* => rightOut', [\r\n animate('400ms ease-out', keyframes([\r\n style({ transform: 'translateX(-50%)', left: '50%', offset: 0 }),\r\n style({ transform: 'translateX(0%)', left: '101%', offset: 1 })\r\n ]))\r\n ]),\r\n transition(':leave', [\r\n animate('2000ms ease-out', keyframes([\r\n style({ opacity: 1, offset: 0 }),\r\n style({ opacity: 0, offset: 1 })\r\n ]))\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class KeyboardSliderComponent implements OnChanges {\r\n @Input() layers: Layer[];\r\n @Input() currentLayer: number;\r\n @Input() keybindAnimationEnabled: boolean;\r\n @Input() capturingEnabled: boolean;\r\n @Output() keyClick = new EventEmitter();\r\n @Output() keyHover = new EventEmitter();\r\n @Output() capture = new EventEmitter();\r\n\r\n private layerAnimationState: AnimationKeyboard[];\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['layers']) {\r\n this.layerAnimationState = this.layers.map(() => 'leftOut');\r\n this.layerAnimationState[this.currentLayer] = 'leftIn';\r\n }\r\n const layerChange = changes['currentLayer'];\r\n if (layerChange) {\r\n const prevValue = layerChange.isFirstChange() ? layerChange.currentValue : layerChange.previousValue;\r\n this.onLayerChange(prevValue, layerChange.currentValue);\r\n }\r\n }\r\n\r\n trackKeyboard(index: number) {\r\n return index;\r\n }\r\n\r\n onLayerChange(oldIndex: number, index: number): void {\r\n if (index > oldIndex) {\r\n this.layerAnimationState[oldIndex] = 'leftOut';\r\n this.layerAnimationState[index] = 'leftIn';\r\n } else {\r\n this.layerAnimationState[oldIndex] = 'rightOut';\r\n this.layerAnimationState[index] = 'rightIn';\r\n }\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/keyboard/slider/keyboard-slider.component.ts","module.exports = \"\\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/keyboard/slider/keyboard-slider.component.html\n// module id = 119\n// module chunks = 0","module.exports = \"svg-keyboard {\\n width: 95%;\\n max-width: 1400px;\\n position: absolute;\\n left: 0;\\n transform: translateX(-101%);\\n user-select: none; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/keyboard/slider/keyboard-slider.component.scss\n// module id = 120\n// module chunks = 0","export * from './add/keymap-add.component';\r\nexport * from './edit/keymap-edit.component';\r\nexport * from './header/keymap-header.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/keymap/index.ts","import { Component } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/combineLatest';\r\nimport 'rxjs/add/operator/publishReplay';\r\n\r\nimport { Keymap } from '../../../config-serializer/config-items/Keymap';\r\nimport { AppState } from '../../../store';\r\nimport { KeymapActions } from '../../../store/actions';\r\n\r\n@Component({\r\n selector: 'keymap-add',\r\n template: require('./keymap-add.component.html'),\r\n styles: [require('./keymap-add.component.scss')],\r\n host: {\r\n 'class': 'container-fluid'\r\n }\r\n})\r\nexport class KeymapAddComponent {\r\n presets$: Observable;\r\n private presetsAll$: Observable;\r\n private filterExpression$: BehaviorSubject;\r\n\r\n constructor(private store: Store) {\r\n this.presetsAll$ = store.select((appState: AppState) => appState.presetKeymaps);\r\n this.filterExpression$ = new BehaviorSubject('');\r\n\r\n this.presets$ = this.presetsAll$\r\n .combineLatest(this.filterExpression$, (keymaps: Keymap[], filterExpression: string) => {\r\n return keymaps.filter((keymap: Keymap) => keymap.name.toLocaleLowerCase().includes(filterExpression));\r\n })\r\n .publishReplay(1)\r\n .refCount();\r\n }\r\n\r\n filterKeyboards(filterExpression: string) {\r\n this.filterExpression$.next(filterExpression);\r\n }\r\n\r\n addKeymap(keymap: Keymap) {\r\n this.store.dispatch(KeymapActions.addKeymap(keymap));\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/keymap/add/keymap-add.component.ts","export * from './keymap';\r\nexport * from './macro';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/store/actions/index.ts","import { Action } from '@ngrx/store';\r\n\r\nimport { KeyAction } from '../../config-serializer/config-items/key-action';\r\nimport { Keymap } from '../../config-serializer/config-items/Keymap';\r\nimport { Macro } from '../../config-serializer/config-items/Macro';\r\n\r\nexport namespace KeymapActions {\r\n export const PREFIX = '[Keymap] ';\r\n export const ADD = KeymapActions.PREFIX + 'Add keymap';\r\n export const DUPLICATE = KeymapActions.PREFIX + 'Duplicate keymap';\r\n export const EDIT_ABBR = KeymapActions.PREFIX + 'Edit keymap abbreviation';\r\n export const EDIT_NAME = KeymapActions.PREFIX + 'Edit keymap title';\r\n export const SAVE_KEY = KeymapActions.PREFIX + 'Save key action';\r\n export const SET_DEFAULT = KeymapActions.PREFIX + 'Set default option';\r\n export const REMOVE = KeymapActions.PREFIX + 'Remove keymap';\r\n export const CHECK_MACRO = KeymapActions.PREFIX + 'Check deleted macro';\r\n\r\n export function addKeymap(item: Keymap): Action {\r\n return {\r\n type: KeymapActions.ADD,\r\n payload: item\r\n };\r\n }\r\n\r\n export function setDefault(abbr: string): Action {\r\n return {\r\n type: KeymapActions.SET_DEFAULT,\r\n payload: abbr\r\n };\r\n }\r\n\r\n export function removeKeymap(abbr: string): Action {\r\n return {\r\n type: KeymapActions.REMOVE,\r\n payload: abbr\r\n };\r\n }\r\n\r\n export function duplicateKeymap(keymap: Keymap): Action {\r\n return {\r\n type: KeymapActions.DUPLICATE,\r\n payload: keymap\r\n };\r\n }\r\n\r\n export function editKeymapName(abbr: string, name: string): Action {\r\n return {\r\n type: KeymapActions.EDIT_NAME,\r\n payload: {\r\n abbr: abbr,\r\n name: name\r\n }\r\n };\r\n }\r\n\r\n export function editKeymapAbbr(abbr: string, newAbbr: string): Action {\r\n return {\r\n type: KeymapActions.EDIT_ABBR,\r\n payload: {\r\n abbr: abbr,\r\n newAbbr: newAbbr\r\n }\r\n };\r\n }\r\n\r\n export function saveKey(keymap: Keymap, layer: number, module: number, key: number, keyAction: KeyAction): Action {\r\n return {\r\n type: KeymapActions.SAVE_KEY,\r\n payload: {\r\n keymap,\r\n layer,\r\n module,\r\n key,\r\n keyAction\r\n }\r\n };\r\n }\r\n\r\n export function checkMacro(macro: Macro): Action {\r\n return {\r\n type: KeymapActions.CHECK_MACRO,\r\n payload: macro\r\n };\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/store/actions/keymap.ts","import { Action } from '@ngrx/store';\r\n\r\nimport { Macro } from '../../config-serializer/config-items/Macro';\r\nimport { MacroAction } from '../../config-serializer/config-items/macro-action';\r\n\r\nexport namespace MacroActions {\r\n export const PREFIX = '[Macro] ';\r\n\r\n export const DUPLICATE = MacroActions.PREFIX + 'Duplicate macro';\r\n export const EDIT_NAME = MacroActions.PREFIX + 'Edit macro title';\r\n export const REMOVE = MacroActions.PREFIX + 'Remove macro';\r\n export const ADD = MacroActions.PREFIX + 'Add macro';\r\n\r\n export const ADD_ACTION = MacroActions.PREFIX + 'Add macro action';\r\n export const SAVE_ACTION = MacroActions.PREFIX + 'Save macro action';\r\n export const DELETE_ACTION = MacroActions.PREFIX + 'Delete macro action';\r\n export const REORDER_ACTION = MacroActions.PREFIX + 'Reorder macro action';\r\n\r\n export function addMacro(): Action {\r\n return {\r\n type: MacroActions.ADD\r\n };\r\n }\r\n\r\n export function removeMacro(macroId: number): Action {\r\n return {\r\n type: MacroActions.REMOVE,\r\n payload: macroId\r\n };\r\n }\r\n\r\n export function duplicateMacro(macro: Macro): Action {\r\n return {\r\n type: MacroActions.DUPLICATE,\r\n payload: macro\r\n };\r\n }\r\n\r\n export function editMacroName(id: number, name: string): Action {\r\n return {\r\n type: MacroActions.EDIT_NAME,\r\n payload: {\r\n id: id,\r\n name: name\r\n }\r\n };\r\n }\r\n\r\n export function addMacroAction(id: number, action: MacroAction): Action {\r\n return {\r\n type: MacroActions.ADD_ACTION,\r\n payload: {\r\n id: id,\r\n action: action\r\n }\r\n };\r\n }\r\n\r\n export function saveMacroAction(id: number, index: number, action: MacroAction): Action {\r\n return {\r\n type: MacroActions.SAVE_ACTION,\r\n payload: {\r\n id: id,\r\n index: index,\r\n action: action\r\n }\r\n };\r\n }\r\n\r\n export function deleteMacroAction(id: number, index: number, action: MacroAction): Action {\r\n return {\r\n type: MacroActions.DELETE_ACTION,\r\n payload: {\r\n id: id,\r\n index: index,\r\n action: action\r\n }\r\n };\r\n }\r\n\r\n export function reorderMacroAction(id: number, oldIndex: number, newIndex: number): Action {\r\n return {\r\n type: MacroActions.REORDER_ACTION,\r\n payload: {\r\n id: id,\r\n oldIndex: oldIndex,\r\n newIndex: newIndex\r\n }\r\n };\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/store/actions/macro.ts","module.exports = \"

\\r\\n \\r\\n Add new keymap\\r\\n

\\r\\n\\r\\n
\\r\\n
\\r\\n

{{ keymap.name }}

\\r\\n

\\r\\n {{ keymap.description }}\\r\\n

\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Sorry, no keyboard found under this search query.\\r\\n
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/keymap/add/keymap-add.component.html\n// module id = 130\n// module chunks = 0","module.exports = \":host {\\n overflow-y: auto;\\n display: block;\\n height: 100%; }\\n\\n.uhk__layer-switcher--wrapper {\\n position: relative; }\\n .uhk__layer-switcher--wrapper:before {\\n content: attr(data-title);\\n display: inline-block;\\n position: absolute;\\n bottom: -0.3em;\\n right: 100%;\\n font-size: 2.4rem;\\n padding-right: 0.25em;\\n margin: 0; }\\n\\n.keymap__search {\\n margin-top: 10px; }\\n .keymap__search .input-group {\\n width: 100%;\\n max-width: 350px;\\n float: left; }\\n .keymap__search_amount {\\n float: left;\\n margin: 7px 0 0 20px; }\\n\\n.keymap__description {\\n margin-bottom: 20px; }\\n\\n.keymap__list {\\n margin-top: 40px; }\\n .keymap__list_item {\\n margin-bottom: 50px; }\\n .keymap__list .btn-group-lg {\\n margin: 30px 0 0;\\n width: 100%;\\n text-align: center; }\\n .keymap__list .btn-group-lg .btn {\\n float: none;\\n padding-left: 50px;\\n padding-right: 50px; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/keymap/add/keymap-add.component.scss\n// module id = 131\n// module chunks = 0","import { Component } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport '@ngrx/core/add/operator/select';\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/first';\r\nimport 'rxjs/add/operator/let';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/publishReplay';\r\nimport 'rxjs/add/operator/switchMap';\r\n\r\nimport { saveAs } from 'file-saver';\r\n\r\nimport { Keymap } from '../../../config-serializer/config-items/Keymap';\r\nimport { AppState } from '../../../store';\r\nimport { getKeymap, getKeymaps, getUserConfiguration } from '../../../store/reducers/user-configuration';\r\n\r\n@Component({\r\n selector: 'keymap-edit',\r\n template: require('./keymap-edit.component.html'),\r\n styles: [require('./keymap-edit.component.scss')],\r\n host: {\r\n 'class': 'container-fluid'\r\n }\r\n})\r\nexport class KeymapEditComponent {\r\n\r\n protected keymap$: Observable;\r\n private deletable$: Observable;\r\n\r\n constructor(\r\n protected store: Store,\r\n private route: ActivatedRoute\r\n ) {\r\n this.keymap$ = route\r\n .params\r\n .select('abbr')\r\n .switchMap((abbr: string) => store.let(getKeymap(abbr)))\r\n .publishReplay(1)\r\n .refCount();\r\n\r\n this.deletable$ = store.let(getKeymaps())\r\n .map((keymaps: Keymap[]) => keymaps.length > 1);\r\n }\r\n\r\n downloadKeymap() {\r\n const exportableJSON$: Observable = this.keymap$\r\n .switchMap(keymap => this.toExportableJSON(keymap))\r\n .map(exportableJSON => JSON.stringify(exportableJSON));\r\n\r\n this.keymap$\r\n .combineLatest(exportableJSON$)\r\n .first()\r\n .subscribe(latest => {\r\n const keymap = latest[0];\r\n const exportableJSON = latest[1];\r\n const fileName = keymap.name + '_keymap.json';\r\n saveAs(new Blob([exportableJSON], { type: 'application/json' }), fileName);\r\n });\r\n }\r\n\r\n private toExportableJSON(keymap: Keymap): Observable {\r\n return this.store\r\n .let(getUserConfiguration())\r\n .first()\r\n .map(userConfiguration => {\r\n return {\r\n site: 'https://ultimatehackingkeyboard.com',\r\n description: 'Ultimate Hacking Keyboard keymap',\r\n keyboardModel: 'UHK60',\r\n dataModelVersion: userConfiguration.dataModelVersion,\r\n objectType: 'keymap',\r\n objectValue: keymap.toJsonObject()\r\n };\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/keymap/edit/keymap-edit.component.ts","\"use strict\";\nvar Observable_1 = require('rxjs/Observable');\nvar select_1 = require('../../operator/select');\nObservable_1.Observable.prototype.select = select_1.select;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ngrx/core/add/operator/select.js\n// module id = 133\n// module chunks = 0","/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */\nvar saveAs=saveAs||function(e){\"use strict\";if(\"undefined\"==typeof navigator||!/MSIE [1-9]\\./.test(navigator.userAgent)){var t=e.document,n=function(){return e.URL||e.webkitURL||e},o=t.createElementNS(\"http://www.w3.org/1999/xhtml\",\"a\"),r=\"download\"in o,i=function(e){var t=new MouseEvent(\"click\");e.dispatchEvent(t)},a=e.webkitRequestFileSystem,c=e.requestFileSystem||a||e.mozRequestFileSystem,u=function(t){(e.setImmediate||e.setTimeout)(function(){throw t},0)},f=\"application/octet-stream\",s=0,d=500,l=function(t){var o=function(){\"string\"==typeof t?n().revokeObjectURL(t):t.remove()};e.chrome?o():setTimeout(o,d)},v=function(e,t,n){t=[].concat(t);for(var o=t.length;o--;){var r=e[\"on\"+t[o]];if(\"function\"==typeof r)try{r.call(e,n||e)}catch(i){u(i)}}},p=function(e){return/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(e.type)?new Blob([\"\",e],{type:e.type}):e},w=function(t,u,d){d||(t=p(t));var w,y,m,S=this,h=t.type,O=!1,R=function(){v(S,\"writestart progress write writeend\".split(\" \"))},b=function(){if((O||!w)&&(w=n().createObjectURL(t)),y)y.location.href=w;else{var o=e.open(w,\"_blank\");void 0==o&&\"undefined\"!=typeof safari&&(e.location.href=w)}S.readyState=S.DONE,R(),l(w)},g=function(e){return function(){return S.readyState!==S.DONE?e.apply(this,arguments):void 0}},E={create:!0,exclusive:!1};return S.readyState=S.INIT,u||(u=\"download\"),r?(w=n().createObjectURL(t),o.href=w,o.download=u,void setTimeout(function(){i(o),R(),l(w),S.readyState=S.DONE})):(e.chrome&&h&&h!==f&&(m=t.slice||t.webkitSlice,t=m.call(t,0,t.size,f),O=!0),a&&\"download\"!==u&&(u+=\".download\"),(h===f||a)&&(y=e),c?(s+=t.size,void c(e.TEMPORARY,s,g(function(e){e.root.getDirectory(\"saved\",E,g(function(e){var n=function(){e.getFile(u,E,g(function(e){e.createWriter(g(function(n){n.onwriteend=function(t){y.location.href=e.toURL(),S.readyState=S.DONE,v(S,\"writeend\",t),l(e)},n.onerror=function(){var e=n.error;e.code!==e.ABORT_ERR&&b()},\"writestart progress write abort\".split(\" \").forEach(function(e){n[\"on\"+e]=S[\"on\"+e]}),n.write(t),S.abort=function(){n.abort(),S.readyState=S.DONE},S.readyState=S.WRITING}),b)}),b)};e.getFile(u,{create:!1},g(function(e){e.remove(),n()}),g(function(e){e.code===e.NOT_FOUND_ERR?n():b()}))}),b)}),b)):void b())},y=w.prototype,m=function(e,t,n){return new w(e,t,n)};return\"undefined\"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(e,t,n){return n||(e=p(e)),navigator.msSaveOrOpenBlob(e,t||\"download\")}:(y.abort=function(){var e=this;e.readyState=e.DONE,v(e,\"abort\")},y.readyState=y.INIT=0,y.WRITING=1,y.DONE=2,y.error=y.onwritestart=y.onprogress=y.onwrite=y.onabort=y.onerror=y.onwriteend=null,m)}}(\"undefined\"!=typeof self&&self||\"undefined\"!=typeof window&&window||this.content);\"undefined\"!=typeof module&&module.exports?module.exports.saveAs=saveAs:\"undefined\"!=typeof define&&null!==define&&null!=define.amd&&define([],function(){return saveAs});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/filesaver.js/FileSaver.min.js\n// module id = 139\n// module chunks = 0","module.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/amd-define.js\n// module id = 140\n// module chunks = 0","import '@ngrx/core/add/operator/select';\r\nimport { Action } from '@ngrx/store';\r\n\r\nimport 'rxjs/add/operator/map';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\nimport { Helper as KeyActionHelper, KeyAction } from '../../config-serializer/config-items/key-action';\r\nimport { Keymap } from '../../config-serializer/config-items/Keymap';\r\nimport { Macro } from '../../config-serializer/config-items/Macro';\r\nimport { UserConfiguration } from '../../config-serializer/config-items/UserConfiguration';\r\nimport { Layer } from '../../config-serializer/config-items/Layer';\r\nimport { Module } from '../../config-serializer/config-items/Module';\r\nimport { KeymapActions, MacroActions } from '../actions';\r\nimport { AppState } from '../index';\r\n\r\nconst initialState: UserConfiguration = new UserConfiguration();\r\n\r\n/* tslint:disable:no-switch-case-fall-through */\r\n// tslint bug: https://github.com/palantir/tslint/issues/1538\r\n\r\nexport default function (state = initialState, action: Action): UserConfiguration {\r\n const changedUserConfiguration: UserConfiguration = Object.assign(new UserConfiguration(), state);\r\n\r\n switch (action.type) {\r\n case KeymapActions.ADD:\r\n case KeymapActions.DUPLICATE:\r\n {\r\n const newKeymap: Keymap = new Keymap(action.payload);\r\n newKeymap.abbreviation = generateAbbr(state.keymaps, newKeymap.abbreviation);\r\n newKeymap.name = generateName(state.keymaps, newKeymap.name);\r\n newKeymap.isDefault = (state.keymaps.length === 0);\r\n\r\n changedUserConfiguration.keymaps = state.keymaps.concat(newKeymap);\r\n break;\r\n }\r\n case KeymapActions.EDIT_NAME:\r\n {\r\n const name: string = generateName(state.keymaps, action.payload.name);\r\n\r\n changedUserConfiguration.keymaps = state.keymaps.map((keymap: Keymap) => {\r\n if (keymap.abbreviation === action.payload.abbr) {\r\n keymap = Object.assign(new Keymap(), keymap);\r\n keymap.name = name;\r\n }\r\n return keymap;\r\n });\r\n break;\r\n }\r\n case KeymapActions.EDIT_ABBR:\r\n const abbr: string = generateAbbr(state.keymaps, action.payload.newAbbr);\r\n\r\n changedUserConfiguration.keymaps = state.keymaps.map((keymap: Keymap) => {\r\n if (keymap.abbreviation === action.payload.abbr) {\r\n keymap = Object.assign(new Keymap(), keymap);\r\n keymap.abbreviation = abbr;\r\n }\r\n\r\n return keymap;\r\n });\r\n break;\r\n case KeymapActions.SET_DEFAULT:\r\n changedUserConfiguration.keymaps = state.keymaps.map((keymap: Keymap) => {\r\n if (keymap.abbreviation === action.payload || keymap.isDefault) {\r\n keymap = Object.assign(new Keymap(), keymap);\r\n keymap.isDefault = keymap.abbreviation === action.payload;\r\n }\r\n\r\n return keymap;\r\n });\r\n break;\r\n case KeymapActions.REMOVE:\r\n let isDefault: boolean;\r\n\r\n let filtered: Keymap[] = state.keymaps.filter((keymap: Keymap) => {\r\n if (keymap.abbreviation === action.payload) {\r\n isDefault = keymap.isDefault;\r\n return false;\r\n }\r\n\r\n return true;\r\n });\r\n\r\n // If deleted one is default set default keymap to the first on the list of keymaps\r\n if (isDefault && filtered.length > 0) {\r\n filtered[0].isDefault = true;\r\n }\r\n\r\n // Check for the deleted keymap in other keymaps\r\n changedUserConfiguration.keymaps = filtered.map(keymap => {\r\n keymap = Object.assign(new Keymap(), keymap);\r\n keymap.layers = checkExistence(keymap.layers, 'keymapAbbreviation', action.payload);\r\n\r\n return keymap;\r\n });\r\n break;\r\n\r\n case KeymapActions.SAVE_KEY:\r\n {\r\n const newKeymap: Keymap = Object.assign(new Keymap(), action.payload.keymap);\r\n newKeymap.layers = newKeymap.layers.slice();\r\n\r\n const layerIndex: number = action.payload.layer;\r\n const newLayer: Layer = Object.assign(new Layer(), newKeymap.layers[layerIndex]);\r\n newKeymap.layers[layerIndex] = newLayer;\r\n\r\n const moduleIndex: number = action.payload.module;\r\n const newModule: Module = Object.assign(new Module(), newLayer.modules[moduleIndex]);\r\n newLayer.modules = newLayer.modules.slice();\r\n newLayer.modules[moduleIndex] = newModule;\r\n\r\n const keyIndex: number = action.payload.key;\r\n newModule.keyActions = newModule.keyActions.slice();\r\n newModule.keyActions[keyIndex] = KeyActionHelper.createKeyAction(action.payload.keyAction);\r\n\r\n changedUserConfiguration.keymaps = state.keymaps.map(keymap => {\r\n if (keymap.abbreviation === newKeymap.abbreviation) {\r\n keymap = newKeymap;\r\n }\r\n\r\n return keymap;\r\n });\r\n break;\r\n }\r\n case KeymapActions.CHECK_MACRO:\r\n changedUserConfiguration.keymaps = state.keymaps.map(keymap => {\r\n keymap = Object.assign(new Keymap(), keymap);\r\n keymap.layers = checkExistence(keymap.layers, '_macroId', action.payload);\r\n return keymap;\r\n });\r\n break;\r\n case MacroActions.ADD:\r\n {\r\n const newMacro = new Macro();\r\n newMacro.id = generateMacroId(state.macros);\r\n newMacro.name = generateName(state.macros, 'New macro');\r\n newMacro.isLooped = false;\r\n newMacro.isPrivate = true;\r\n newMacro.macroActions = [];\r\n\r\n changedUserConfiguration.macros = state.macros.concat(newMacro);\r\n break;\r\n }\r\n case MacroActions.DUPLICATE:\r\n {\r\n const newMacro = new Macro(action.payload);\r\n newMacro.name = generateName(state.macros, newMacro.name);\r\n newMacro.id = generateMacroId(state.macros);\r\n\r\n changedUserConfiguration.macros = state.macros.concat(newMacro);\r\n break;\r\n }\r\n case MacroActions.EDIT_NAME:\r\n {\r\n const name: string = generateName(state.macros, action.payload.name);\r\n\r\n changedUserConfiguration.macros = state.macros.map((macro: Macro) => {\r\n if (macro.id === action.payload.id) {\r\n macro.name = name;\r\n }\r\n\r\n return macro;\r\n });\r\n\r\n break;\r\n }\r\n case MacroActions.REMOVE:\r\n changedUserConfiguration.macros = state.macros.filter((macro: Macro) => macro.id !== action.payload);\r\n break;\r\n case MacroActions.ADD_ACTION:\r\n changedUserConfiguration.macros = state.macros.map((macro: Macro) => {\r\n if (macro.id === action.payload.id) {\r\n macro = new Macro(macro);\r\n macro.macroActions.push(action.payload.action);\r\n }\r\n\r\n return macro;\r\n });\r\n break;\r\n case MacroActions.SAVE_ACTION:\r\n changedUserConfiguration.macros = state.macros.map((macro: Macro) => {\r\n if (macro.id === action.payload.id) {\r\n macro = new Macro(macro);\r\n macro.macroActions[action.payload.index] = action.payload.action;\r\n }\r\n\r\n return macro;\r\n });\r\n break;\r\n case MacroActions.DELETE_ACTION:\r\n changedUserConfiguration.macros = state.macros.map((macro: Macro) => {\r\n if (macro.id === action.payload.id) {\r\n macro = new Macro(macro);\r\n macro.macroActions.splice(action.payload.index, 1);\r\n }\r\n\r\n return macro;\r\n });\r\n break;\r\n case MacroActions.REORDER_ACTION:\r\n changedUserConfiguration.macros = state.macros.map((macro: Macro) => {\r\n if (macro.id === action.payload.id) {\r\n let newIndex: number = action.payload.newIndex;\r\n\r\n // We need to reduce the new index for one when we are moving action down\r\n if (newIndex > action.payload.oldIndex) {\r\n --newIndex;\r\n }\r\n\r\n macro = new Macro(macro);\r\n macro.macroActions.splice(\r\n newIndex,\r\n 0,\r\n macro.macroActions.splice(action.payload.oldIndex, 1)[0]\r\n );\r\n }\r\n\r\n return macro;\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return changedUserConfiguration;\r\n}\r\n\r\nexport function getUserConfiguration(): (state$: Observable) => Observable {\r\n return (state$: Observable) => state$\r\n .select(state => state.userConfiguration);\r\n}\r\n\r\nexport function getKeymaps(): (state$: Observable) => Observable {\r\n return (state$: Observable) => state$\r\n .select(state => state.userConfiguration.keymaps);\r\n}\r\n\r\nexport function getKeymap(abbr: string) {\r\n if (abbr === undefined) {\r\n return getDefaultKeymap();\r\n }\r\n\r\n return (state$: Observable) => getKeymaps()(state$)\r\n .map((keymaps: Keymap[]) =>\r\n keymaps.find((keymap: Keymap) => keymap.abbreviation === abbr)\r\n );\r\n}\r\n\r\nexport function getDefaultKeymap() {\r\n return (state$: Observable) => getKeymaps()(state$)\r\n .map((keymaps: Keymap[]) =>\r\n keymaps.find((keymap: Keymap) => keymap.isDefault)\r\n );\r\n}\r\n\r\nexport function getMacros(): (state$: Observable) => Observable {\r\n return (state$: Observable) => state$\r\n .select(state => state.userConfiguration.macros);\r\n}\r\n\r\nexport function getMacro(id: number) {\r\n if (isNaN(id)) {\r\n return () => Observable.of(undefined);\r\n } else {\r\n return (state$: Observable) => getMacros()(state$)\r\n .map((macros: Macro[]) => macros.find((macro: Macro) => macro.id === id));\r\n }\r\n}\r\n\r\nfunction generateAbbr(keymaps: Keymap[], abbr: string): string {\r\n const chars: string[] = '23456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');\r\n let position = 0;\r\n\r\n while (keymaps.some((keymap: Keymap) => keymap.abbreviation === abbr)) {\r\n abbr = abbr.substring(0, abbr.length - 1) + chars[position];\r\n ++position;\r\n }\r\n\r\n return abbr;\r\n}\r\n\r\nfunction generateName(items: { name: string }[], name: string) {\r\n let suffix = 2;\r\n const oldName: string = name;\r\n\r\n while (items.some(item => item.name === name)) {\r\n name = oldName + ` (${suffix})`;\r\n ++suffix;\r\n }\r\n\r\n return name;\r\n}\r\n\r\nfunction generateMacroId(macros: Macro[]) {\r\n let newId = 0;\r\n\r\n macros.forEach((macro: Macro) => {\r\n if (macro.id > newId) {\r\n newId = macro.id;\r\n }\r\n });\r\n\r\n return newId + 1;\r\n}\r\n\r\nfunction checkExistence(layers: Layer[], property: string, value: any) {\r\n let newLayers = layers.map((layer) => {\r\n let newLayer = new Layer(layer);\r\n\r\n newLayer.modules = layer.modules.map((module: Module) => {\r\n module.keyActions.forEach((action: KeyAction, index: number) => {\r\n if (action && action.hasOwnProperty(property) && action[property] === value) {\r\n module.keyActions[index] = undefined;\r\n }\r\n });\r\n\r\n return module;\r\n });\r\n\r\n return newLayer;\r\n });\r\n\r\n return newLayers;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/store/reducers/user-configuration.ts","export * from './KeyAction';\r\nexport * from './KeystrokeAction';\r\nexport * from './MouseAction';\r\nexport * from './NoneAction';\r\nexport * from './PlayMacroAction';\r\nexport * from './SwitchKeymapAction';\r\nexport * from './SwitchLayerAction';\r\nexport * from './helper';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/key-action/index.ts","/// \r\n\r\nimport { Macro } from '../Macro';\r\nimport { UhkBuffer } from '../../UhkBuffer';\r\n\r\nexport enum KeyActionId {\r\n NoneAction = 0,\r\n KeystrokeAction = 1,\r\n /*\r\n 1 - 7 are reserved for KeystrokeAction\r\n 3 bits:\r\n 1: Do we have scancode?\r\n 2: Do we have modifiers?\r\n 3: Do we have longpress?\r\n */\r\n LastKeystrokeAction = 7, // TODO: remove this after refactoring the keyActionId check\r\n SwitchLayerAction = 8,\r\n SwitchKeymapAction = 9,\r\n MouseAction = 10,\r\n PlayMacroAction = 11\r\n}\r\n\r\nexport let keyActionType = {\r\n NoneAction : 'none',\r\n KeystrokeAction : 'keystroke',\r\n SwitchLayerAction : 'switchLayer',\r\n SwitchKeymapAction : 'switchKeymap',\r\n MouseAction : 'mouse',\r\n PlayMacroAction : 'playMacro'\r\n};\r\n\r\nexport abstract class KeyAction {\r\n\r\n assertKeyActionType(jsObject: any): void {\r\n let keyActionClassname: string = this.constructor.name;\r\n let keyActionTypeString: string = keyActionType[keyActionClassname];\r\n if (jsObject.keyActionType !== keyActionTypeString) {\r\n throw `Invalid ${keyActionClassname}.keyActionType: ${jsObject.keyActionType}`;\r\n }\r\n }\r\n\r\n readAndAssertKeyActionId(buffer: UhkBuffer): KeyActionId {\r\n let classname: string = this.constructor.name;\r\n let readKeyActionId: number = buffer.readUInt8();\r\n let keyActionId: number = KeyActionId[classname];\r\n if (keyActionId === KeyActionId.KeystrokeAction) {\r\n if (readKeyActionId < KeyActionId.KeystrokeAction || readKeyActionId > KeyActionId.LastKeystrokeAction) {\r\n throw `Invalid ${classname} first byte: ${readKeyActionId}`;\r\n }\r\n } else if (readKeyActionId !== keyActionId) {\r\n throw `Invalid ${classname} first byte: ${readKeyActionId}`;\r\n }\r\n return readKeyActionId;\r\n }\r\n\r\n abstract toJsonObject(macros?: Macro[]): any;\r\n abstract toBinary(buffer: UhkBuffer, macros?: Macro[]): any;\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/key-action/KeyAction.ts","import { assertEnum, assertUInt8 } from '../../assert';\r\nimport { UhkBuffer } from '../../UhkBuffer';\r\nimport { KeyModifiers } from '../KeyModifiers';\r\nimport { LongPressAction } from '../LongPressAction';\r\nimport { KeyAction, KeyActionId, keyActionType } from './KeyAction';\r\n\r\nexport enum KeystrokeActionFlag {\r\n scancode = 1 << 0,\r\n modifierMask = 1 << 1,\r\n longPressAction = 1 << 2\r\n}\r\n\r\ninterface JsonObjectKeystrokeAction {\r\n keyActionType: string;\r\n scancode?: number;\r\n modifierMask?: number;\r\n longPressAction?: string;\r\n}\r\n\r\nconst MODIFIERS = ['LCtrl', 'LShift', 'LAlt', 'LSuper', 'RCtrl', 'RShift', 'RAlt', 'RSuper'];\r\n\r\nexport class KeystrokeAction extends KeyAction {\r\n\r\n @assertUInt8\r\n scancode: number;\r\n\r\n @assertUInt8\r\n modifierMask: number;\r\n\r\n @assertEnum(LongPressAction)\r\n longPressAction: LongPressAction;\r\n\r\n constructor(other?: KeystrokeAction) {\r\n super();\r\n if (!other) {\r\n return;\r\n }\r\n this.scancode = other.scancode;\r\n this.modifierMask = other.modifierMask;\r\n this.longPressAction = other.longPressAction;\r\n }\r\n\r\n fromJsonObject(jsonObject: JsonObjectKeystrokeAction): KeystrokeAction {\r\n this.assertKeyActionType(jsonObject);\r\n this.scancode = jsonObject.scancode;\r\n this.modifierMask = jsonObject.modifierMask;\r\n this.longPressAction = LongPressAction[jsonObject.longPressAction];\r\n return this;\r\n }\r\n\r\n fromBinary(buffer: UhkBuffer): KeystrokeAction {\r\n let keyActionId: KeyActionId = this.readAndAssertKeyActionId(buffer);\r\n let flags: number = keyActionId - KeyActionId.KeystrokeAction;\r\n if (flags & KeystrokeActionFlag.scancode) {\r\n this.scancode = buffer.readUInt8();\r\n }\r\n if (flags & KeystrokeActionFlag.modifierMask) {\r\n this.modifierMask = buffer.readUInt8();\r\n }\r\n if (flags & KeystrokeActionFlag.longPressAction) {\r\n this.longPressAction = buffer.readUInt8();\r\n }\r\n return this;\r\n }\r\n\r\n toJsonObject(): JsonObjectKeystrokeAction {\r\n let jsonObject: JsonObjectKeystrokeAction = {\r\n keyActionType: keyActionType.KeystrokeAction\r\n };\r\n\r\n if (this.hasScancode()) {\r\n jsonObject.scancode = this.scancode;\r\n }\r\n\r\n if (this.hasActiveModifier()) {\r\n jsonObject.modifierMask = this.modifierMask;\r\n }\r\n\r\n if (this.hasLongPressAction()) {\r\n jsonObject.longPressAction = LongPressAction[this.longPressAction];\r\n }\r\n\r\n return jsonObject;\r\n }\r\n\r\n toBinary(buffer: UhkBuffer) {\r\n let flags = 0;\r\n let bufferData: number[] = [];\r\n\r\n if (this.hasScancode()) {\r\n flags |= KeystrokeActionFlag.scancode;\r\n bufferData.push(this.scancode);\r\n }\r\n\r\n if (this.hasActiveModifier()) {\r\n flags |= KeystrokeActionFlag.modifierMask;\r\n bufferData.push(this.modifierMask);\r\n }\r\n\r\n if (this.hasLongPressAction()) {\r\n flags |= KeystrokeActionFlag.longPressAction;\r\n bufferData.push(this.longPressAction);\r\n }\r\n\r\n buffer.writeUInt8(KeyActionId.KeystrokeAction + flags);\r\n for (let i = 0; i < bufferData.length; ++i) {\r\n buffer.writeUInt8(bufferData[i]);\r\n }\r\n }\r\n\r\n toString(): string {\r\n let properties: string[] = [];\r\n if (this.hasScancode()) {\r\n properties.push(`scancode=\"${this.scancode}\"`);\r\n }\r\n if (this.hasActiveModifier()) {\r\n properties.push(`modifierMask=\"${this.modifierMask}\"`);\r\n }\r\n if (this.hasLongPressAction()) {\r\n properties.push(`longPressAction=\"${this.longPressAction}\"`);\r\n }\r\n\r\n return ``;\r\n }\r\n\r\n isActive(modifier: KeyModifiers): boolean {\r\n return (this.modifierMask & modifier) > 0;\r\n }\r\n\r\n hasActiveModifier(): boolean {\r\n return this.modifierMask > 0;\r\n }\r\n\r\n hasLongPressAction(): boolean {\r\n return this.longPressAction !== undefined;\r\n }\r\n\r\n hasScancode(): boolean {\r\n return !!this.scancode;\r\n }\r\n\r\n hasOnlyOneActiveModifier(): boolean {\r\n return this.modifierMask !== 0 && !(this.modifierMask & this.modifierMask - 1);\r\n }\r\n\r\n getModifierList(): string[] {\r\n let modifierList: string[] = [];\r\n let modifierMask = this.modifierMask;\r\n for (let i = 0; modifierMask !== 0; ++i, modifierMask >>= 1) {\r\n if (modifierMask & 1) {\r\n modifierList.push(MODIFIERS[i]);\r\n }\r\n }\r\n return modifierList;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/key-action/KeystrokeAction.ts","export function assertUInt8(target: any, key: string) {\r\n return assertInteger(target, key, 0, 0xFF);\r\n}\r\n\r\nexport function assertInt8(target: any, key: string) {\r\n return assertInteger(target, key, -0x80, 0x7F);\r\n}\r\n\r\nexport function assertUInt16(target: any, key: string) {\r\n return assertInteger(target, key, 0, 0xFFFF);\r\n}\r\n\r\nexport function assertInt16(target: any, key: string) {\r\n return assertInteger(target, key, -0x8000, 0x7FFF);\r\n}\r\n\r\nexport function assertUInt32(target: any, key: string) {\r\n return assertInteger(target, key, 0, 0xFFFFFFFF);\r\n}\r\n\r\nexport function assertInt32(target: any, key: string) {\r\n return assertInteger(target, key, -0x80000000, 0x7FFFFFFF);\r\n}\r\n\r\nexport function assertCompactLength(target: any, key: string) {\r\n return assertUInt16(target, key);\r\n}\r\n\r\nfunction assertInteger(target: any, key: string, min: number, max: number) {\r\n const priv = '_' + key;\r\n\r\n function getter() {\r\n return this[priv];\r\n }\r\n\r\n function setter(newVal: any) {\r\n if (this[priv] !== newVal) {\r\n if (newVal < min || newVal > max) {\r\n throw `${target.constructor.name}.${key}: ` +\r\n `Integer ${newVal} is outside the valid [${min}, ${max}] interval`;\r\n }\r\n this[priv] = newVal;\r\n }\r\n }\r\n\r\n Object.defineProperty(target, key, {\r\n get: getter,\r\n set: setter,\r\n enumerable: true,\r\n configurable: true\r\n });\r\n}\r\n\r\nexport function assertEnum(enumerated: E) {\r\n return function(target: any, key: string) {\r\n const priv = '_' + key;\r\n\r\n function getter() {\r\n return this[priv];\r\n }\r\n\r\n function setter(newVal: any) {\r\n if (this[priv] !== newVal) {\r\n if (enumerated[newVal] === undefined) {\r\n throw `${target.constructor.name}.${key}: ${newVal} is not enum`;\r\n }\r\n this[priv] = newVal;\r\n }\r\n }\r\n\r\n Object.defineProperty(target, key, {\r\n get: getter,\r\n set: setter,\r\n enumerable: true,\r\n configurable: true\r\n });\r\n };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/assert.ts","export enum LongPressAction {\r\n leftCtrl,\r\n leftShift,\r\n leftAlt,\r\n leftSuper,\r\n rightCtrl,\r\n rightShift,\r\n rightAlt,\r\n rightSuper,\r\n mod,\r\n fn,\r\n mouse\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/LongPressAction.ts","import { assertEnum } from '../../assert';\r\nimport { UhkBuffer } from '../../UhkBuffer';\r\nimport { KeyAction, KeyActionId, keyActionType } from './KeyAction';\r\n\r\nexport enum MouseActionParam {\r\n leftClick,\r\n middleClick,\r\n rightClick,\r\n moveUp,\r\n moveDown,\r\n moveLeft,\r\n moveRight,\r\n scrollUp,\r\n scrollDown,\r\n scrollLeft,\r\n scrollRight,\r\n accelerate,\r\n decelerate\r\n}\r\n\r\nexport class MouseAction extends KeyAction {\r\n\r\n @assertEnum(MouseActionParam)\r\n mouseAction: MouseActionParam;\r\n\r\n constructor(other?: MouseAction) {\r\n super();\r\n if (!other) {\r\n return;\r\n }\r\n this.mouseAction = other.mouseAction;\r\n }\r\n\r\n fromJsonObject(jsObject: any): MouseAction {\r\n this.assertKeyActionType(jsObject);\r\n this.mouseAction = MouseActionParam[jsObject.mouseAction];\r\n return this;\r\n }\r\n\r\n fromBinary(buffer: UhkBuffer): MouseAction {\r\n this.readAndAssertKeyActionId(buffer);\r\n this.mouseAction = buffer.readUInt8();\r\n return this;\r\n }\r\n\r\n toJsonObject(): any {\r\n return {\r\n keyActionType: keyActionType.MouseAction,\r\n mouseAction: MouseActionParam[this.mouseAction]\r\n };\r\n }\r\n\r\n toBinary(buffer: UhkBuffer) {\r\n buffer.writeUInt8(KeyActionId.MouseAction);\r\n buffer.writeUInt8(this.mouseAction);\r\n }\r\n\r\n toString(): string {\r\n return ``;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/key-action/MouseAction.ts","import { UhkBuffer } from '../../UhkBuffer';\r\nimport { KeyAction, KeyActionId, keyActionType } from './KeyAction';\r\n\r\n/**\r\n * NoneAction is only intended for binary serialization of undefined key actions\r\n * DO NOT use it as a real KeyAction\r\n *\r\n */\r\n\r\nexport class NoneAction extends KeyAction {\r\n\r\n fromJsonObject(jsonObject: any): NoneAction {\r\n this.assertKeyActionType(jsonObject);\r\n return this;\r\n }\r\n\r\n fromBinary(buffer: UhkBuffer): NoneAction {\r\n this.readAndAssertKeyActionId(buffer);\r\n return this;\r\n }\r\n\r\n toJsonObject(): any {\r\n return {\r\n keyActionType: keyActionType.NoneAction\r\n };\r\n }\r\n\r\n toBinary(buffer: UhkBuffer) {\r\n buffer.writeUInt8(KeyActionId.NoneAction);\r\n }\r\n\r\n toString(): string {\r\n return '';\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/key-action/NoneAction.ts","import { assertUInt8 } from '../../assert';\r\nimport { UhkBuffer } from '../../UhkBuffer';\r\nimport { Macro } from '../Macro';\r\nimport { KeyAction, KeyActionId, keyActionType } from './KeyAction';\r\n\r\nexport class PlayMacroAction extends KeyAction {\r\n\r\n @assertUInt8\r\n macroId: number;\r\n\r\n constructor(parameter?: PlayMacroAction | Macro) {\r\n super();\r\n if (!parameter) {\r\n return;\r\n }\r\n if (parameter instanceof PlayMacroAction) {\r\n this.macroId = parameter.macroId;\r\n } else {\r\n this.macroId = parameter.id;\r\n }\r\n }\r\n\r\n fromJsonObject(jsonObject: any, macros: Macro[]): PlayMacroAction {\r\n this.assertKeyActionType(jsonObject);\r\n this.macroId = macros[jsonObject.macroIndex].id;\r\n return this;\r\n }\r\n\r\n fromBinary(buffer: UhkBuffer, macros: Macro[]): PlayMacroAction {\r\n this.readAndAssertKeyActionId(buffer);\r\n const macroIndex = buffer.readUInt8();\r\n this.macroId = macros[macroIndex].id;\r\n return this;\r\n }\r\n\r\n toJsonObject(macros: Macro[]): any {\r\n return {\r\n keyActionType: keyActionType.PlayMacroAction,\r\n macroIndex: macros.findIndex(macro => macro.id === this.macroId)\r\n };\r\n }\r\n\r\n toBinary(buffer: UhkBuffer, macros: Macro[]) {\r\n buffer.writeUInt8(KeyActionId.PlayMacroAction);\r\n buffer.writeUInt8(macros.findIndex(macro => macro.id === this.macroId));\r\n }\r\n\r\n toString(): string {\r\n return ``;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/key-action/PlayMacroAction.ts","import { UhkBuffer } from '../../UhkBuffer';\r\nimport { Keymap } from '../Keymap';\r\nimport { KeyAction, KeyActionId, keyActionType } from './KeyAction';\r\n\r\nexport class SwitchKeymapAction extends KeyAction {\r\n\r\n keymapAbbreviation: string;\r\n\r\n constructor(parameter?: SwitchKeymapAction | Keymap) {\r\n super();\r\n if (!parameter) {\r\n return;\r\n }\r\n if (parameter instanceof SwitchKeymapAction) {\r\n this.keymapAbbreviation = parameter.keymapAbbreviation;\r\n } else {\r\n this.keymapAbbreviation = parameter.abbreviation;\r\n }\r\n }\r\n\r\n fromJsonObject(jsonObject: any): SwitchKeymapAction {\r\n this.assertKeyActionType(jsonObject);\r\n this.keymapAbbreviation = jsonObject.keymapAbbreviation;\r\n return this;\r\n }\r\n\r\n fromBinary(buffer: UhkBuffer): SwitchKeymapAction {\r\n this.readAndAssertKeyActionId(buffer);\r\n this.keymapAbbreviation = buffer.readString();\r\n return this;\r\n }\r\n\r\n toJsonObject(): any {\r\n return {\r\n keyActionType: keyActionType.SwitchKeymapAction,\r\n keymapAbbreviation: this.keymapAbbreviation\r\n };\r\n }\r\n\r\n toBinary(buffer: UhkBuffer) {\r\n buffer.writeUInt8(KeyActionId.SwitchKeymapAction);\r\n buffer.writeString(this.keymapAbbreviation);\r\n }\r\n\r\n toString(): string {\r\n return ``;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/key-action/SwitchKeymapAction.ts","import { assertEnum } from '../../assert';\r\nimport { UhkBuffer } from '../../UhkBuffer';\r\nimport { KeyAction, KeyActionId, keyActionType } from './KeyAction';\r\n\r\nexport enum LayerName {\r\n mod,\r\n fn,\r\n mouse\r\n}\r\n\r\nexport class SwitchLayerAction extends KeyAction {\r\n\r\n isLayerToggleable: boolean;\r\n\r\n @assertEnum(LayerName)\r\n layer: LayerName;\r\n\r\n constructor(other?: SwitchLayerAction) {\r\n super();\r\n if (!other) {\r\n return;\r\n }\r\n this.isLayerToggleable = other.isLayerToggleable;\r\n this.layer = other.layer;\r\n }\r\n\r\n fromJsonObject(jsonObject: any): SwitchLayerAction {\r\n this.assertKeyActionType(jsonObject);\r\n this.layer = LayerName[jsonObject.layer];\r\n this.isLayerToggleable = jsonObject.toggle;\r\n return this;\r\n }\r\n\r\n fromBinary(buffer: UhkBuffer): SwitchLayerAction {\r\n this.readAndAssertKeyActionId(buffer);\r\n this.layer = buffer.readUInt8();\r\n this.isLayerToggleable = buffer.readBoolean();\r\n return this;\r\n }\r\n\r\n toJsonObject(): any {\r\n return {\r\n keyActionType: keyActionType.SwitchLayerAction,\r\n layer: LayerName[this.layer],\r\n toggle: this.isLayerToggleable\r\n };\r\n }\r\n\r\n toBinary(buffer: UhkBuffer) {\r\n buffer.writeUInt8(KeyActionId.SwitchLayerAction);\r\n buffer.writeUInt8(this.layer);\r\n buffer.writeBoolean(this.isLayerToggleable);\r\n }\r\n\r\n toString(): string {\r\n return ``;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/key-action/SwitchLayerAction.ts","import { UhkBuffer } from '../../UhkBuffer';\r\nimport {\r\n KeyAction,\r\n KeyActionId,\r\n KeystrokeAction,\r\n MouseAction,\r\n PlayMacroAction,\r\n SwitchKeymapAction,\r\n SwitchLayerAction,\r\n keyActionType\r\n} from './index';\r\n\r\nimport { Keymap } from '../Keymap';\r\nimport { Macro } from '../Macro';\r\n\r\nexport class Helper {\r\n\r\n static createKeyAction(source: KeyAction | UhkBuffer | any, macros?: Macro[]): KeyAction {\r\n if (source instanceof KeyAction) {\r\n return Helper.fromKeyAction(source);\r\n } else if (source instanceof UhkBuffer) {\r\n return Helper.fromUhkBuffer(source, macros);\r\n } else {\r\n return Helper.fromJSONObject(source, macros);\r\n }\r\n }\r\n\r\n private static fromUhkBuffer(buffer: UhkBuffer, macros: Macro[]): KeyAction {\r\n let keyActionFirstByte = buffer.readUInt8();\r\n buffer.backtrack();\r\n\r\n if (keyActionFirstByte >= KeyActionId.KeystrokeAction && keyActionFirstByte < KeyActionId.LastKeystrokeAction) {\r\n return new KeystrokeAction().fromBinary(buffer);\r\n }\r\n\r\n switch (keyActionFirstByte) {\r\n case KeyActionId.NoneAction:\r\n buffer.readUInt8(); // Read type just to skip it\r\n return undefined;\r\n case KeyActionId.SwitchLayerAction:\r\n return new SwitchLayerAction().fromBinary(buffer);\r\n case KeyActionId.SwitchKeymapAction:\r\n return new SwitchKeymapAction().fromBinary(buffer);\r\n case KeyActionId.MouseAction:\r\n return new MouseAction().fromBinary(buffer);\r\n case KeyActionId.PlayMacroAction:\r\n return new PlayMacroAction().fromBinary(buffer, macros);\r\n default:\r\n throw `Invalid KeyAction first byte: ${keyActionFirstByte}`;\r\n }\r\n }\r\n\r\n private static fromKeyAction(keyAction: KeyAction): KeyAction {\r\n let newKeyAction: KeyAction;\r\n if (keyAction instanceof KeystrokeAction) {\r\n newKeyAction = new KeystrokeAction(keyAction);\r\n } else if (keyAction instanceof SwitchLayerAction) {\r\n newKeyAction = new SwitchLayerAction(keyAction);\r\n } else if (keyAction instanceof SwitchKeymapAction) {\r\n newKeyAction = new SwitchKeymapAction(keyAction);\r\n } else if (keyAction instanceof MouseAction) {\r\n newKeyAction = new MouseAction(keyAction);\r\n } else if (keyAction instanceof PlayMacroAction) {\r\n newKeyAction = new PlayMacroAction(keyAction);\r\n }\r\n return newKeyAction;\r\n }\r\n\r\n private static fromJSONObject(keyAction: any, macros: Macro[]): KeyAction {\r\n if (!keyAction) {\r\n return;\r\n }\r\n\r\n switch (keyAction.keyActionType) {\r\n case keyActionType.KeystrokeAction:\r\n return new KeystrokeAction().fromJsonObject(keyAction);\r\n case keyActionType.SwitchLayerAction:\r\n return new SwitchLayerAction().fromJsonObject(keyAction);\r\n case keyActionType.SwitchKeymapAction:\r\n return new SwitchKeymapAction().fromJsonObject(keyAction);\r\n case keyActionType.MouseAction:\r\n return new MouseAction().fromJsonObject(keyAction);\r\n case keyActionType.PlayMacroAction:\r\n return new PlayMacroAction().fromJsonObject(keyAction, macros);\r\n default:\r\n throw `Invalid KeyAction.keyActionType: \"${keyAction.keyActionType}\"`;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/key-action/helper.ts","export class UhkBuffer {\r\n\r\n private static eepromSize = 32 * 1024;\r\n private static maxCompactLength = 0xFFFF;\r\n private static longCompactLengthPrefix = 0xFF;\r\n private static stringEncoding = 'utf8';\r\n private static isFirstElementToDump = false;\r\n\r\n offset: number;\r\n private _enableDump = false;\r\n\r\n private buffer: Buffer;\r\n private bytesToBacktrack: number;\r\n\r\n static simpleElementWriter(buffer: UhkBuffer, element: T): void {\r\n (element).toBinary(buffer); // TODO: Remove any\r\n }\r\n\r\n constructor() {\r\n this.offset = 0;\r\n this.bytesToBacktrack = 0;\r\n this.buffer = new Buffer(UhkBuffer.eepromSize);\r\n this.buffer.fill(0);\r\n }\r\n\r\n readInt8(): number {\r\n let value = this.buffer.readInt8(this.offset);\r\n this.dump(`i8(${value})`);\r\n this.bytesToBacktrack = 1;\r\n this.offset += this.bytesToBacktrack;\r\n return value;\r\n }\r\n\r\n writeInt8(value: number): void {\r\n this.dump(`i8(${value})`);\r\n this.buffer.writeInt8(value, this.offset);\r\n this.offset += 1;\r\n }\r\n\r\n readUInt8(): number {\r\n let value = this.buffer.readUInt8(this.offset);\r\n this.dump(`u8(${value})`);\r\n this.bytesToBacktrack = 1;\r\n this.offset += this.bytesToBacktrack;\r\n return value;\r\n }\r\n\r\n writeUInt8(value: number): void {\r\n this.dump(`u8(${value})`);\r\n this.buffer.writeUInt8(value, this.offset);\r\n this.offset += 1;\r\n }\r\n\r\n readInt16(): number {\r\n let value = this.buffer.readInt16LE(this.offset);\r\n this.dump(`i16(${value})`);\r\n this.bytesToBacktrack = 2;\r\n this.offset += this.bytesToBacktrack;\r\n return value;\r\n }\r\n\r\n writeInt16(value: number): void {\r\n this.dump(`i16(${value})`);\r\n this.buffer.writeInt16LE(value, this.offset);\r\n this.offset += 2;\r\n }\r\n\r\n readUInt16(): number {\r\n let value = this.buffer.readUInt16LE(this.offset);\r\n this.dump(`u16(${value})`);\r\n this.bytesToBacktrack = 2;\r\n this.offset += this.bytesToBacktrack;\r\n return value;\r\n }\r\n\r\n writeUInt16(value: number): void {\r\n this.dump(`u16(${value})`);\r\n this.buffer.writeUInt16LE(value, this.offset);\r\n this.offset += 2;\r\n }\r\n\r\n readInt32(): number {\r\n let value = this.buffer.readInt32LE(this.offset);\r\n this.dump(`i32(${value})`);\r\n this.bytesToBacktrack = 4;\r\n this.offset += this.bytesToBacktrack;\r\n return value;\r\n }\r\n\r\n writeInt32(value: number): void {\r\n this.dump(`i32(${value})`);\r\n this.buffer.writeInt32LE(value, this.offset);\r\n this.offset += 4;\r\n }\r\n\r\n readUInt32(): number {\r\n let value = this.buffer.readUInt32LE(this.offset);\r\n this.dump(`u32(${value})`);\r\n this.bytesToBacktrack = 4;\r\n this.offset += this.bytesToBacktrack;\r\n return value;\r\n }\r\n\r\n writeUInt32(value: number): void {\r\n this.dump(`u32(${value})`);\r\n this.buffer.writeUInt32LE(value, this.offset);\r\n this.offset += 4;\r\n }\r\n\r\n readCompactLength(): number {\r\n let length = this.readUInt8();\r\n if (length === UhkBuffer.longCompactLengthPrefix) {\r\n length += this.readUInt8() << 8;\r\n }\r\n return length;\r\n }\r\n\r\n writeCompactLength(length: number) {\r\n if (length >= UhkBuffer.longCompactLengthPrefix) {\r\n this.writeUInt8(UhkBuffer.longCompactLengthPrefix);\r\n this.writeUInt16(length);\r\n } else {\r\n this.writeUInt8(length);\r\n }\r\n }\r\n\r\n readString(): string {\r\n let stringByteLength = this.readCompactLength();\r\n let str = this.buffer.toString(UhkBuffer.stringEncoding, this.offset, this.offset + stringByteLength);\r\n this.dump(`${UhkBuffer.stringEncoding}(${str})`);\r\n this.bytesToBacktrack = stringByteLength;\r\n this.offset += stringByteLength;\r\n return str;\r\n }\r\n\r\n writeString(str: string): void {\r\n let stringByteLength = Buffer.byteLength(str, UhkBuffer.stringEncoding);\r\n\r\n if (stringByteLength > UhkBuffer.maxCompactLength) {\r\n throw `Cannot serialize string: ${stringByteLength} bytes is larger\r\n than the maximum allowed length of ${UhkBuffer.maxCompactLength} bytes`;\r\n }\r\n\r\n this.writeCompactLength(stringByteLength);\r\n this.dump(`${UhkBuffer.stringEncoding}(${str})`);\r\n this.buffer.write(str, this.offset, stringByteLength, UhkBuffer.stringEncoding);\r\n this.offset += stringByteLength;\r\n }\r\n\r\n readBoolean(): boolean {\r\n return this.readUInt8() !== 0;\r\n }\r\n\r\n writeBoolean(bool: boolean) {\r\n this.writeUInt8(bool ? 1 : 0);\r\n }\r\n\r\n readArray(elementReader: (buffer: UhkBuffer, index?: number) => T): T[] {\r\n let array: T[] = [];\r\n let length = this.readCompactLength();\r\n for (let i = 0; i < length; ++i) {\r\n array.push(elementReader(this, i));\r\n }\r\n return array;\r\n }\r\n\r\n writeArray(\r\n array: T[],\r\n elementWriter: (buffer: UhkBuffer, element: T, index?: number) => void = UhkBuffer.simpleElementWriter\r\n ): void {\r\n const length = array.length;\r\n this.writeCompactLength(length);\r\n for (let i = 0; i < length; ++i) {\r\n elementWriter(this, array[i], i);\r\n }\r\n }\r\n\r\n backtrack(): void {\r\n this.offset -= this.bytesToBacktrack;\r\n this.bytesToBacktrack = 0;\r\n }\r\n\r\n getBufferContent(): Buffer {\r\n return this.buffer.slice(0, this.offset);\r\n }\r\n\r\n get enableDump() {\r\n return this._enableDump;\r\n }\r\n\r\n set enableDump(value) {\r\n if (value) {\r\n UhkBuffer.isFirstElementToDump = true;\r\n }\r\n this._enableDump = value;\r\n }\r\n\r\n dump(value: any) {\r\n if (!this.enableDump) {\r\n return;\r\n }\r\n\r\n if (!UhkBuffer.isFirstElementToDump) {\r\n process.stdout.write(', ');\r\n }\r\n\r\n process.stdout.write(value);\r\n\r\n if (UhkBuffer.isFirstElementToDump) {\r\n UhkBuffer.isFirstElementToDump = false;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/UhkBuffer.ts","import { UhkBuffer } from '../UhkBuffer';\r\nimport { Layer } from './Layer';\r\nimport { Macro } from './Macro';\r\n\r\nexport class Keymap {\r\n\r\n name: string;\r\n\r\n description: string;\r\n\r\n abbreviation: string;\r\n\r\n isDefault: boolean;\r\n\r\n layers: Layer[];\r\n\r\n constructor(keymap?: Keymap) {\r\n if (!keymap) {\r\n return;\r\n }\r\n\r\n this.name = keymap.name;\r\n this.description = keymap.description;\r\n this.abbreviation = keymap.abbreviation;\r\n this.isDefault = keymap.isDefault;\r\n this.layers = keymap.layers.map(layer => new Layer(layer));\r\n }\r\n\r\n fromJsonObject(jsonObject: any, macros?: Macro[]): Keymap {\r\n this.isDefault = jsonObject.isDefault;\r\n this.abbreviation = jsonObject.abbreviation;\r\n this.name = jsonObject.name;\r\n this.description = jsonObject.description;\r\n this.layers = jsonObject.layers.map((layer: any) => new Layer().fromJsonObject(layer, macros));\r\n return this;\r\n }\r\n\r\n fromBinary(buffer: UhkBuffer, macros?: Macro[]): Keymap {\r\n this.abbreviation = buffer.readString();\r\n this.isDefault = buffer.readBoolean();\r\n this.name = buffer.readString();\r\n this.description = buffer.readString();\r\n this.layers = buffer.readArray(uhkBuffer => {\r\n return new Layer().fromBinary(uhkBuffer, macros);\r\n });\r\n return this;\r\n }\r\n\r\n toJsonObject(macros?: Macro[]): any {\r\n return {\r\n isDefault: this.isDefault,\r\n abbreviation: this.abbreviation,\r\n name: this.name,\r\n description: this.description,\r\n layers: this.layers.map(layer => layer.toJsonObject(macros))\r\n };\r\n }\r\n\r\n toBinary(buffer: UhkBuffer, macros?: Macro[]): void {\r\n buffer.writeString(this.abbreviation);\r\n buffer.writeBoolean(this.isDefault);\r\n buffer.writeString(this.name);\r\n buffer.writeString(this.description);\r\n buffer.writeArray(this.layers, (uhkBuffer: UhkBuffer, layer: Layer) => {\r\n layer.toBinary(uhkBuffer, macros);\r\n });\r\n }\r\n\r\n toString(): string {\r\n return ``;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/Keymap.ts","import { UhkBuffer } from '../UhkBuffer';\r\nimport { Keymap } from './Keymap';\r\nimport { Macro } from './Macro';\r\nimport { Module } from './Module';\r\n\r\nexport class Layer {\r\n\r\n modules: Module[];\r\n\r\n constructor(layers?: Layer) {\r\n if (!layers) {\r\n return;\r\n }\r\n this.modules = layers.modules.map(module => new Module(module));\r\n }\r\n\r\n fromJsonObject(jsonObject: any, macros?: Macro[]): Layer {\r\n this.modules = jsonObject.modules.map((module: any) => new Module().fromJsonObject(module, macros));\r\n return this;\r\n }\r\n\r\n fromBinary(buffer: UhkBuffer, macros?: Macro[]): Layer {\r\n this.modules = buffer.readArray(uhkBuffer => {\r\n return new Module().fromBinary(uhkBuffer, macros);\r\n });\r\n return this;\r\n }\r\n\r\n toJsonObject(macros?: Macro[]): any {\r\n return {\r\n modules: this.modules.map(module => module.toJsonObject(macros))\r\n };\r\n }\r\n\r\n toBinary(buffer: UhkBuffer, macros?: Macro[]): void {\r\n buffer.writeArray(this.modules, (uhkBuffer: UhkBuffer, module: Module) => {\r\n module.toBinary(uhkBuffer, macros);\r\n });\r\n }\r\n\r\n toString(): string {\r\n return ``;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/Layer.ts","import { assertEnum, assertUInt8 } from '../assert';\r\nimport { UhkBuffer } from '../UhkBuffer';\r\nimport { Helper as KeyActionHelper, KeyAction, NoneAction } from './key-action';\r\nimport { Keymap } from './Keymap';\r\nimport { Macro } from './Macro';\r\nimport { PlayMacroAction, SwitchLayerAction } from './key-action';\r\n\r\nenum PointerRole {\r\n none,\r\n move,\r\n scroll\r\n}\r\n\r\nexport class Module {\r\n\r\n @assertUInt8\r\n id: number;\r\n\r\n keyActions: KeyAction[];\r\n\r\n @assertEnum(PointerRole)\r\n pointerRole: PointerRole;\r\n\r\n constructor(other?: Module) {\r\n if (!other) {\r\n return;\r\n }\r\n this.id = other.id;\r\n this.keyActions = other.keyActions.map(keyAction => KeyActionHelper.createKeyAction(keyAction));\r\n this.pointerRole = other.pointerRole;\r\n }\r\n\r\n fromJsonObject(jsonObject: any, macros?: Macro[]): Module {\r\n this.id = jsonObject.id;\r\n this.pointerRole = PointerRole[jsonObject.pointerRole];\r\n this.keyActions = jsonObject.keyActions.map((keyAction: any) => {\r\n return KeyActionHelper.createKeyAction(keyAction, macros);\r\n });\r\n return this;\r\n }\r\n\r\n fromBinary(buffer: UhkBuffer, macros?: Macro[]): Module {\r\n this.id = buffer.readUInt8();\r\n this.pointerRole = buffer.readUInt8();\r\n let keyActionsLength: number = buffer.readCompactLength();\r\n this.keyActions = [];\r\n for (let i = 0; i < keyActionsLength; ++i) {\r\n this.keyActions.push(KeyActionHelper.createKeyAction(buffer, macros));\r\n }\r\n return this;\r\n }\r\n\r\n toJsonObject(macros?: Macro[]): any {\r\n return {\r\n id: this.id,\r\n pointerRole: PointerRole[this.pointerRole],\r\n keyActions: this.keyActions.map(keyAction => {\r\n if (keyAction && (macros || !(keyAction instanceof PlayMacroAction || keyAction instanceof SwitchLayerAction))) {\r\n return keyAction.toJsonObject(macros);\r\n }\r\n })\r\n };\r\n }\r\n\r\n toBinary(buffer: UhkBuffer, macros?: Macro[]): void {\r\n buffer.writeUInt8(this.id);\r\n buffer.writeUInt8(this.pointerRole);\r\n\r\n const noneAction = new NoneAction();\r\n\r\n const keyActions: KeyAction[] = this.keyActions.map(keyAction => {\r\n if (keyAction) {\r\n return keyAction;\r\n }\r\n return noneAction;\r\n });\r\n\r\n buffer.writeArray(keyActions, (uhkBuffer: UhkBuffer, keyAction: KeyAction) => {\r\n keyAction.toBinary(uhkBuffer, macros);\r\n });\r\n }\r\n\r\n toString(): string {\r\n return ``;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/Module.ts","import { assertUInt8 } from '../assert';\r\nimport { UhkBuffer } from '../UhkBuffer';\r\nimport { Helper as MacroActionHelper, MacroAction } from './macro-action';\r\n\r\nexport class Macro {\r\n\r\n @assertUInt8\r\n id: number;\r\n\r\n isLooped: boolean;\r\n\r\n isPrivate: boolean;\r\n\r\n name: string;\r\n\r\n macroActions: MacroAction[];\r\n\r\n constructor(other?: Macro) {\r\n if (!other) {\r\n return;\r\n }\r\n this.id = other.id;\r\n this.isLooped = other.isLooped;\r\n this.isPrivate = other.isPrivate;\r\n this.name = other.name;\r\n this.macroActions = other.macroActions.map(macroAction => MacroActionHelper.createMacroAction(macroAction));\r\n }\r\n\r\n fromJsonObject(jsonObject: any): Macro {\r\n this.isLooped = jsonObject.isLooped;\r\n this.isPrivate = jsonObject.isPrivate;\r\n this.name = jsonObject.name;\r\n this.macroActions = jsonObject.macroActions.map((macroAction: any) => MacroActionHelper.createMacroAction(macroAction));\r\n return this;\r\n }\r\n\r\n fromBinary(buffer: UhkBuffer): Macro {\r\n this.isLooped = buffer.readBoolean();\r\n this.isPrivate = buffer.readBoolean();\r\n this.name = buffer.readString();\r\n let macroActionsLength: number = buffer.readCompactLength();\r\n this.macroActions = [];\r\n for (let i = 0; i < macroActionsLength; ++i) {\r\n this.macroActions.push(MacroActionHelper.createMacroAction(buffer));\r\n }\r\n return this;\r\n }\r\n\r\n toJsonObject(): any {\r\n return {\r\n isLooped: this.isLooped,\r\n isPrivate: this.isPrivate,\r\n name: this.name,\r\n macroActions: this.macroActions.map(macroAction => macroAction.toJsonObject())\r\n };\r\n }\r\n\r\n toBinary(buffer: UhkBuffer): void {\r\n buffer.writeBoolean(this.isLooped);\r\n buffer.writeBoolean(this.isPrivate);\r\n buffer.writeString(this.name);\r\n buffer.writeArray(this.macroActions);\r\n }\r\n\r\n toString(): string {\r\n return ``;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/Macro.ts","export * from './DelayMacroAction';\r\nexport * from './EditableMacroAction';\r\nexport * from './KeyMacroAction';\r\nexport * from './MacroAction';\r\nexport * from './MoveMouseMacroAction';\r\nexport * from './MouseButtonMacroAction';\r\nexport * from './ScrollMouseMacroAction';\r\nexport * from './TextMacroAction';\r\nexport * from './helper';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/macro-action/index.ts","import { assertUInt16 } from '../../assert';\r\nimport { UhkBuffer } from '../../UhkBuffer';\r\nimport { MacroAction, MacroActionId, macroActionType } from './MacroAction';\r\n\r\nexport class DelayMacroAction extends MacroAction {\r\n\r\n @assertUInt16\r\n delay: number;\r\n\r\n constructor(other?: DelayMacroAction) {\r\n super();\r\n if (!other) {\r\n return;\r\n }\r\n this.delay = other.delay;\r\n }\r\n\r\n fromJsonObject(jsObject: any): DelayMacroAction {\r\n this.assertMacroActionType(jsObject);\r\n this.delay = jsObject.delay;\r\n return this;\r\n }\r\n\r\n fromBinary(buffer: UhkBuffer): DelayMacroAction {\r\n this.readAndAssertMacroActionId(buffer);\r\n this.delay = buffer.readUInt16();\r\n return this;\r\n }\r\n\r\n toJsonObject(): any {\r\n return {\r\n macroActionType: macroActionType.DelayMacroAction,\r\n delay: this.delay\r\n };\r\n }\r\n\r\n toBinary(buffer: UhkBuffer) {\r\n buffer.writeUInt8(MacroActionId.DelayMacroAction);\r\n buffer.writeUInt16(this.delay);\r\n }\r\n\r\n toString(): string {\r\n return ``;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/macro-action/DelayMacroAction.ts","import { UhkBuffer } from '../../UhkBuffer';\r\n\r\nexport enum MacroActionId {\r\n KeyMacroAction = 0,\r\n /*\r\n 0 - 8 are reserved for KeyMacroAction\r\n PressKeyMacroAction with scancode: 0\r\n PressKeyMacroAction with modifiers: 1\r\n PressKeyMacroAction with scancode and modifiers 2\r\n HoldKeyMacroAction with scancode: 3\r\n HoldKeyMacroAction with modifiers: 4\r\n HoldKeyMacroAction with scancode and modifiers 5\r\n ReleaseKeyMacroAction with scancode: 6\r\n ReleaseKeyMacroAction with modifiers: 7\r\n ReleaseKeyMacroAction with scancode and modifiers 8\r\n */\r\n LastKeyMacroAction = 8,\r\n MouseButtonMacroAction = 9,\r\n /*\r\n 9 - 11 are reserved for MouseButtonMacroAction\r\n PressMouseButtonsMacroAction = 9,\r\n HoldMouseButtonsMacroAction = 10,\r\n ReleaseMouseButtonsMacroAction = 11,\r\n */\r\n LastMouseButtonMacroAction = 11,\r\n MoveMouseMacroAction = 12,\r\n ScrollMouseMacroAction = 13,\r\n DelayMacroAction = 14,\r\n TextMacroAction = 15\r\n}\r\n\r\nexport enum MacroSubAction {\r\n press = 0,\r\n hold = 1,\r\n release = 2\r\n}\r\n\r\nexport let macroActionType = {\r\n KeyMacroAction : 'key',\r\n MouseButtonMacroAction : 'mouseButton',\r\n MoveMouseMacroAction : 'moveMouse',\r\n ScrollMouseMacroAction : 'scrollMouse',\r\n DelayMacroAction : 'delay',\r\n TextMacroAction : 'text'\r\n};\r\n\r\nexport abstract class MacroAction {\r\n assertMacroActionType(jsObject: any) {\r\n let macroActionClassname = this.constructor.name;\r\n let macroActionTypeString = macroActionType[macroActionClassname];\r\n if (jsObject.macroActionType !== macroActionTypeString) {\r\n throw `Invalid ${macroActionClassname}.macroActionType: ${jsObject.macroActionType}`;\r\n }\r\n }\r\n\r\n readAndAssertMacroActionId(buffer: UhkBuffer): MacroActionId {\r\n let classname: string = this.constructor.name;\r\n let readMacroActionId: MacroActionId = buffer.readUInt8();\r\n let macroActionId: MacroActionId = MacroActionId[classname];\r\n if (macroActionId === MacroActionId.KeyMacroAction) {\r\n if (readMacroActionId < MacroActionId.KeyMacroAction || readMacroActionId > MacroActionId.LastKeyMacroAction) {\r\n throw `Invalid ${classname} first byte: ${readMacroActionId}`;\r\n }\r\n } else if (macroActionId === MacroActionId.MouseButtonMacroAction) {\r\n if (readMacroActionId < MacroActionId.MouseButtonMacroAction ||\r\n readMacroActionId > MacroActionId.LastMouseButtonMacroAction) {\r\n throw `Invalid ${classname} first byte: ${readMacroActionId}`;\r\n }\r\n } else if (readMacroActionId !== macroActionId) {\r\n throw `Invalid ${classname} first byte: ${readMacroActionId}`;\r\n }\r\n return readMacroActionId;\r\n }\r\n\r\n abstract toJsonObject(): any;\r\n abstract toBinary(buffer: UhkBuffer): void;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/macro-action/MacroAction.ts","import { KeyAction, KeystrokeAction, keyActionType } from '../key-action';\r\nimport { DelayMacroAction } from './DelayMacroAction';\r\nimport { KeyMacroAction } from './KeyMacroAction';\r\nimport { MacroAction, MacroSubAction, macroActionType } from './MacroAction';\r\nimport { MouseButtonMacroAction } from './MouseButtonMacroAction';\r\nimport { MoveMouseMacroAction } from './MoveMouseMacroAction';\r\nimport { ScrollMouseMacroAction } from './ScrollMouseMacroAction';\r\nimport { TextMacroAction } from './TextMacroAction';\r\n\r\ninterface JsObjectEditableMacroAction {\r\n macroActionType: string;\r\n action?: string;\r\n scancode?: number;\r\n modifierMask?: number;\r\n mouseButtonsMask?: number;\r\n x?: number;\r\n y?: number;\r\n delay?: number;\r\n text?: string;\r\n}\r\n\r\nexport class EditableMacroAction {\r\n macroActionType: string;\r\n action: MacroSubAction;\r\n // Key macro action properties\r\n scancode: number;\r\n modifierMask: number;\r\n // Mouse macro action properties\r\n mouseButtonsMask: number;\r\n moveX: number;\r\n moveY: number;\r\n scrollX: number;\r\n scrollY: number;\r\n // Delay macro action properties\r\n delay: number;\r\n // Text macro action properties\r\n text: string;\r\n\r\n constructor(jsObject?: JsObjectEditableMacroAction) {\r\n if (!jsObject) {\r\n return;\r\n }\r\n\r\n this.macroActionType = jsObject.macroActionType;\r\n\r\n switch (this.macroActionType) {\r\n case macroActionType.KeyMacroAction:\r\n this.action = MacroSubAction[jsObject.action];\r\n this.scancode = jsObject.scancode;\r\n this.modifierMask = jsObject.modifierMask;\r\n break;\r\n case macroActionType.MouseButtonMacroAction:\r\n this.action = MacroSubAction[jsObject.action];\r\n this.mouseButtonsMask = jsObject.mouseButtonsMask;\r\n break;\r\n case macroActionType.MoveMouseMacroAction:\r\n this.moveX = jsObject.x;\r\n this.moveY = jsObject.y;\r\n break;\r\n case macroActionType.ScrollMouseMacroAction:\r\n this.scrollX = jsObject.x;\r\n this.scrollY = jsObject.y;\r\n break;\r\n case macroActionType.TextMacroAction:\r\n this.text = jsObject.text;\r\n break;\r\n case macroActionType.DelayMacroAction:\r\n this.delay = jsObject.delay;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n toJsObject(): any {\r\n return {\r\n macroActionType: this.macroActionType,\r\n action: this.action,\r\n delay: this.delay,\r\n text: this.text,\r\n scancode: this.scancode,\r\n modifierMask: this.modifierMask,\r\n mouseButtonsMask: this.mouseButtonsMask,\r\n mouseMove: {\r\n x: this.moveX,\r\n y: this.moveY\r\n },\r\n mouseScroll: {\r\n x: this.scrollX,\r\n y: this.scrollY\r\n }\r\n };\r\n }\r\n\r\n fromKeyAction(keyAction: KeyAction): void {\r\n let data = keyAction.toJsonObject();\r\n this.scancode = data.scancode;\r\n this.modifierMask = data.modifierMask;\r\n }\r\n\r\n toKeystrokeAction(): KeystrokeAction {\r\n let data = this.toJsObject();\r\n data.keyActionType = keyActionType.KeystrokeAction;\r\n return (new KeystrokeAction().fromJsonObject(data));\r\n }\r\n\r\n setMouseButtons(buttonStates: boolean[]): void {\r\n let bitmask = 0;\r\n for (let i = 0; i < buttonStates.length; i++) {\r\n bitmask |= Number(buttonStates[i]) << i;\r\n }\r\n this.mouseButtonsMask = bitmask;\r\n }\r\n\r\n getMouseButtons(): boolean[] {\r\n let enabledMouseButtons: boolean[] = [];\r\n for (let bitmask = this.mouseButtonsMask; bitmask; bitmask >>>= 1) {\r\n enabledMouseButtons.push(Boolean(bitmask & 1));\r\n }\r\n return enabledMouseButtons;\r\n }\r\n\r\n toClass(): MacroAction {\r\n switch (this.macroActionType) {\r\n // Delay action\r\n case macroActionType.DelayMacroAction:\r\n return new DelayMacroAction().fromJsonObject({\r\n macroActionType: this.macroActionType,\r\n delay: this.delay\r\n });\r\n // Text action\r\n case macroActionType.TextMacroAction:\r\n return new TextMacroAction().fromJsonObject({\r\n macroActionType: this.macroActionType,\r\n text: this.text\r\n });\r\n // Keypress action\r\n case macroActionType.KeyMacroAction:\r\n return new KeyMacroAction().fromJsonObject({\r\n macroActionType: this.macroActionType,\r\n action: MacroSubAction[this.action],\r\n scancode: this.scancode,\r\n modifierMask: this.modifierMask\r\n });\r\n // Mouse actions\r\n case macroActionType.MouseButtonMacroAction:\r\n return new MouseButtonMacroAction().fromJsonObject({\r\n macroActionType: this.macroActionType,\r\n action: MacroSubAction[this.action],\r\n mouseButtonsMask: this.mouseButtonsMask\r\n });\r\n case macroActionType.MoveMouseMacroAction:\r\n return new MoveMouseMacroAction().fromJsonObject({\r\n macroActionType: this.macroActionType,\r\n x: this.moveX,\r\n y: this.moveY\r\n });\r\n case macroActionType.ScrollMouseMacroAction:\r\n return new ScrollMouseMacroAction().fromJsonObject({\r\n macroActionType: this.macroActionType,\r\n x: this.scrollX,\r\n y: this.scrollY\r\n });\r\n default:\r\n throw new Error('Macro action type is missing or not implemented.');\r\n }\r\n }\r\n\r\n isKeyAction(): boolean {\r\n return this.macroActionType === macroActionType.KeyMacroAction;\r\n }\r\n\r\n isMouseButtonAction(): boolean {\r\n return this.macroActionType === macroActionType.MouseButtonMacroAction;\r\n }\r\n\r\n isOnlyHoldAction(): boolean {\r\n return this.action === MacroSubAction.hold;\r\n }\r\n\r\n isOnlyPressAction(): boolean {\r\n return this.action === MacroSubAction.press;\r\n }\r\n\r\n isOnlyReleaseAction(): boolean {\r\n return this.action === MacroSubAction.release;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/macro-action/EditableMacroAction.ts","import { assertEnum, assertUInt8 } from '../../assert';\r\nimport { UhkBuffer } from '../../UhkBuffer';\r\nimport { KeyModifiers } from '../KeyModifiers';\r\nimport { MacroAction, MacroActionId, MacroSubAction, macroActionType } from './MacroAction';\r\n\r\nconst NUM_OF_COMBINATIONS = 3; // Cases: scancode, modifer, both\r\n\r\ninterface JsObjectKeyMacroAction {\r\n macroActionType: string;\r\n action: string;\r\n scancode?: number;\r\n modifierMask?: number;\r\n}\r\n\r\nexport class KeyMacroAction extends MacroAction {\r\n\r\n @assertEnum(MacroSubAction)\r\n action: MacroSubAction;\r\n\r\n @assertUInt8\r\n scancode: number;\r\n\r\n @assertUInt8\r\n modifierMask: number;\r\n\r\n constructor(other?: KeyMacroAction) {\r\n super();\r\n if (!other) {\r\n return;\r\n }\r\n this.action = other.action;\r\n this.scancode = other.scancode;\r\n this.modifierMask = other.modifierMask;\r\n }\r\n\r\n fromJsonObject(jsObject: JsObjectKeyMacroAction): KeyMacroAction {\r\n this.assertMacroActionType(jsObject);\r\n this.action = MacroSubAction[jsObject.action];\r\n this.scancode = jsObject.scancode;\r\n this.modifierMask = jsObject.modifierMask;\r\n return this;\r\n }\r\n\r\n fromBinary(buffer: UhkBuffer): KeyMacroAction {\r\n let macroActionId: MacroActionId = this.readAndAssertMacroActionId(buffer);\r\n let keyMacroType: number = macroActionId - MacroActionId.KeyMacroAction;\r\n this.action = Math.floor(keyMacroType / NUM_OF_COMBINATIONS);\r\n keyMacroType %= NUM_OF_COMBINATIONS;\r\n if (keyMacroType % 2 === 0) {\r\n this.scancode = buffer.readUInt8();\r\n }\r\n if (keyMacroType !== 0) {\r\n this.modifierMask = buffer.readUInt8();\r\n }\r\n return this;\r\n }\r\n\r\n toJsonObject(): any {\r\n let jsObject: JsObjectKeyMacroAction = {\r\n macroActionType: macroActionType.KeyMacroAction,\r\n action: MacroSubAction[this.action]\r\n };\r\n\r\n if (this.hasScancode()) {\r\n jsObject.scancode = this.scancode;\r\n }\r\n\r\n if (this.hasModifiers()) {\r\n jsObject.modifierMask = this.modifierMask;\r\n }\r\n\r\n return jsObject;\r\n }\r\n\r\n toBinary(buffer: UhkBuffer) {\r\n let keyMacroType: number = MacroActionId.KeyMacroAction;\r\n keyMacroType += NUM_OF_COMBINATIONS * this.action;\r\n\r\n if (this.hasModifiers()) {\r\n ++keyMacroType;\r\n if (this.hasScancode()) {\r\n ++keyMacroType;\r\n }\r\n }\r\n buffer.writeUInt8(keyMacroType);\r\n if (this.hasScancode()) {\r\n buffer.writeUInt8(this.scancode);\r\n }\r\n if (this.hasModifiers()) {\r\n buffer.writeUInt8(this.modifierMask);\r\n }\r\n }\r\n\r\n toString(): string {\r\n return ``;\r\n }\r\n\r\n isModifierActive(modifier: KeyModifiers): boolean {\r\n return (this.modifierMask & modifier) > 0;\r\n }\r\n\r\n hasScancode(): boolean {\r\n return !!this.scancode;\r\n }\r\n\r\n hasModifiers(): boolean {\r\n return !!this.modifierMask;\r\n }\r\n\r\n isHoldAction(): boolean {\r\n return this.action === MacroSubAction.hold;\r\n }\r\n\r\n isPressAction(): boolean {\r\n return this.action === MacroSubAction.press;\r\n }\r\n\r\n isReleaseAction(): boolean {\r\n return this.action === MacroSubAction.release;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/macro-action/KeyMacroAction.ts","import { assertEnum, assertUInt8 } from '../../assert';\r\nimport { UhkBuffer } from '../../UhkBuffer';\r\nimport { MacroAction, MacroActionId, MacroSubAction, macroActionType } from './MacroAction';\r\n\r\nexport enum MouseButtons {\r\n Left = 1 << 0,\r\n Middle = 1 << 1,\r\n Right = 1 << 2\r\n};\r\n\r\ninterface JsObjectMouseButtonMacroAction {\r\n macroActionType: string;\r\n action: string;\r\n mouseButtonsMask?: number;\r\n}\r\n\r\nexport class MouseButtonMacroAction extends MacroAction {\r\n @assertEnum(MacroSubAction)\r\n action: MacroSubAction;\r\n\r\n @assertUInt8\r\n mouseButtonsMask: number;\r\n\r\n constructor(other?: MouseButtonMacroAction) {\r\n super();\r\n if (!other) {\r\n return;\r\n }\r\n this.action = other.action;\r\n this.mouseButtonsMask = other.mouseButtonsMask;\r\n }\r\n\r\n fromJsonObject(jsObject: JsObjectMouseButtonMacroAction): MouseButtonMacroAction {\r\n this.assertMacroActionType(jsObject);\r\n this.action = MacroSubAction[jsObject.action];\r\n this.mouseButtonsMask = jsObject.mouseButtonsMask;\r\n return this;\r\n }\r\n\r\n fromBinary(buffer: UhkBuffer): MouseButtonMacroAction {\r\n let macroActionId: MacroActionId = this.readAndAssertMacroActionId(buffer);\r\n this.action = macroActionId - MacroActionId.MouseButtonMacroAction;\r\n this.mouseButtonsMask = buffer.readUInt8();\r\n return this;\r\n }\r\n\r\n toJsonObject(): any {\r\n return {\r\n macroActionType: macroActionType.MouseButtonMacroAction,\r\n action: MacroSubAction[this.action],\r\n mouseButtonsMask: this.mouseButtonsMask\r\n };\r\n }\r\n\r\n toBinary(buffer: UhkBuffer): void {\r\n buffer.writeUInt8(MacroActionId.MouseButtonMacroAction + this.action);\r\n buffer.writeUInt8(this.mouseButtonsMask);\r\n }\r\n\r\n setMouseButtons(buttonStates: boolean[]): void {\r\n let bitmask = 0;\r\n for (let i = 0; i < buttonStates.length; i++) {\r\n bitmask |= Number(buttonStates[i]) << i;\r\n }\r\n this.mouseButtonsMask = bitmask;\r\n }\r\n\r\n getMouseButtons(): boolean[] {\r\n let enabledMouseButtons: boolean[] = [];\r\n for (let bitmask = this.mouseButtonsMask; bitmask; bitmask >>>= 1) {\r\n enabledMouseButtons.push(Boolean(bitmask & 1));\r\n }\r\n return enabledMouseButtons;\r\n }\r\n\r\n toString(): string {\r\n return ``;\r\n }\r\n\r\n hasButtons(): boolean {\r\n return this.mouseButtonsMask !== 0;\r\n }\r\n\r\n isOnlyHoldAction(): boolean {\r\n return this.action === MacroSubAction.hold;\r\n }\r\n\r\n isOnlyPressAction(): boolean {\r\n return this.action === MacroSubAction.press;\r\n }\r\n\r\n isOnlyReleaseAction(): boolean {\r\n return this.action === MacroSubAction.release;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/macro-action/MouseButtonMacroAction.ts","import { assertInt16 } from '../../assert';\r\nimport { UhkBuffer } from '../../UhkBuffer';\r\nimport { MacroAction, MacroActionId, macroActionType } from './MacroAction';\r\n\r\nexport class MoveMouseMacroAction extends MacroAction {\r\n\r\n @assertInt16\r\n x: number;\r\n\r\n @assertInt16\r\n y: number;\r\n\r\n constructor(other?: MoveMouseMacroAction) {\r\n super();\r\n if (!other) {\r\n return;\r\n }\r\n this.x = other.x;\r\n this.y = other.y;\r\n }\r\n\r\n fromJsonObject(jsObject: any): MoveMouseMacroAction {\r\n this.assertMacroActionType(jsObject);\r\n this.x = jsObject.x;\r\n this.y = jsObject.y;\r\n return this;\r\n }\r\n\r\n fromBinary(buffer: UhkBuffer): MoveMouseMacroAction {\r\n this.readAndAssertMacroActionId(buffer);\r\n this.x = buffer.readInt16();\r\n this.y = buffer.readInt16();\r\n return this;\r\n }\r\n\r\n toJsonObject(): any {\r\n return {\r\n macroActionType: macroActionType.MoveMouseMacroAction,\r\n x: this.x,\r\n y: this.y\r\n };\r\n }\r\n\r\n toBinary(buffer: UhkBuffer) {\r\n buffer.writeUInt8(MacroActionId.MoveMouseMacroAction);\r\n buffer.writeInt16(this.x);\r\n buffer.writeInt16(this.y);\r\n }\r\n\r\n toString(): string {\r\n return ``;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/macro-action/MoveMouseMacroAction.ts","import { assertInt16 } from '../../assert';\r\nimport { UhkBuffer } from '../../UhkBuffer';\r\nimport { MacroAction, MacroActionId, macroActionType } from './MacroAction';\r\n\r\nexport class ScrollMouseMacroAction extends MacroAction {\r\n\r\n @assertInt16\r\n x: number;\r\n\r\n @assertInt16\r\n y: number;\r\n\r\n constructor(other?: ScrollMouseMacroAction) {\r\n super();\r\n if (!other) {\r\n return;\r\n }\r\n this.x = other.x;\r\n this.y = other.y;\r\n }\r\n\r\n fromJsonObject(jsObject: any): ScrollMouseMacroAction {\r\n this.assertMacroActionType(jsObject);\r\n this.x = jsObject.x;\r\n this.y = jsObject.y;\r\n return this;\r\n }\r\n\r\n fromBinary(buffer: UhkBuffer): ScrollMouseMacroAction {\r\n this.readAndAssertMacroActionId(buffer);\r\n this.x = buffer.readInt16();\r\n this.y = buffer.readInt16();\r\n return this;\r\n }\r\n\r\n toJsonObject(): any {\r\n return {\r\n macroActionType: macroActionType.ScrollMouseMacroAction,\r\n x: this.x,\r\n y: this.y\r\n };\r\n }\r\n\r\n toBinary(buffer: UhkBuffer) {\r\n buffer.writeUInt8(MacroActionId.ScrollMouseMacroAction);\r\n buffer.writeInt16(this.x);\r\n buffer.writeInt16(this.y);\r\n }\r\n\r\n toString(): string {\r\n return ``;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/macro-action/ScrollMouseMacroAction.ts","import { UhkBuffer } from '../../UhkBuffer';\r\nimport { MacroAction, MacroActionId, macroActionType } from './MacroAction';\r\n\r\nexport class TextMacroAction extends MacroAction {\r\n\r\n text: string;\r\n\r\n constructor(other?: TextMacroAction) {\r\n super();\r\n if (!other) {\r\n return;\r\n }\r\n this.text = other.text;\r\n }\r\n\r\n fromJsonObject(jsObject: any): TextMacroAction {\r\n this.assertMacroActionType(jsObject);\r\n this.text = jsObject.text;\r\n return this;\r\n }\r\n\r\n fromBinary(buffer: UhkBuffer): TextMacroAction {\r\n this.readAndAssertMacroActionId(buffer);\r\n this.text = buffer.readString();\r\n return this;\r\n }\r\n\r\n toJsonObject(): any {\r\n return {\r\n macroActionType: macroActionType.TextMacroAction,\r\n text: this.text\r\n };\r\n }\r\n\r\n toBinary(buffer: UhkBuffer) {\r\n buffer.writeUInt8(MacroActionId.TextMacroAction);\r\n buffer.writeString(this.text);\r\n }\r\n\r\n toString(): string {\r\n return ``;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/macro-action/TextMacroAction.ts","import { UhkBuffer } from '../../UhkBuffer';\r\nimport {\r\n DelayMacroAction,\r\n KeyMacroAction,\r\n MacroAction,\r\n MacroActionId,\r\n MouseButtonMacroAction,\r\n MoveMouseMacroAction,\r\n ScrollMouseMacroAction,\r\n TextMacroAction,\r\n macroActionType\r\n} from './index';\r\n\r\nexport class Helper {\r\n\r\n static createMacroAction(source: MacroAction | UhkBuffer | any): MacroAction {\r\n if (source instanceof MacroAction) {\r\n return Helper.fromMacroAction(source);\r\n } else if (source instanceof UhkBuffer) {\r\n return Helper.fromUhkBuffer(source);\r\n } else {\r\n return Helper.fromJSONObject(source);\r\n }\r\n }\r\n\r\n private static fromUhkBuffer(buffer: UhkBuffer): MacroAction {\r\n let macroActionFirstByte = buffer.readUInt8();\r\n buffer.backtrack();\r\n\r\n if (macroActionFirstByte >= MacroActionId.KeyMacroAction && macroActionFirstByte <= MacroActionId.LastKeyMacroAction) {\r\n return new KeyMacroAction().fromBinary(buffer);\r\n } else if (\r\n macroActionFirstByte >= MacroActionId.MouseButtonMacroAction &&\r\n macroActionFirstByte <= MacroActionId.LastMouseButtonMacroAction\r\n ) {\r\n return new MouseButtonMacroAction().fromBinary(buffer);\r\n }\r\n switch (macroActionFirstByte) {\r\n case MacroActionId.MoveMouseMacroAction:\r\n return new MoveMouseMacroAction().fromBinary(buffer);\r\n case MacroActionId.ScrollMouseMacroAction:\r\n return new ScrollMouseMacroAction().fromBinary(buffer);\r\n case MacroActionId.DelayMacroAction:\r\n return new DelayMacroAction().fromBinary(buffer);\r\n case MacroActionId.TextMacroAction:\r\n return new TextMacroAction().fromBinary(buffer);\r\n default:\r\n throw `Invalid MacroAction first byte: ${macroActionFirstByte}`;\r\n }\r\n }\r\n\r\n private static fromMacroAction(macroAction: MacroAction): MacroAction {\r\n let newMacroAction: MacroAction;\r\n if (macroAction instanceof KeyMacroAction) {\r\n newMacroAction = new KeyMacroAction(macroAction);\r\n } else if (macroAction instanceof MouseButtonMacroAction) {\r\n newMacroAction = new MouseButtonMacroAction(macroAction);\r\n } else if (macroAction instanceof MoveMouseMacroAction) {\r\n newMacroAction = new MoveMouseMacroAction(macroAction);\r\n } else if (macroAction instanceof ScrollMouseMacroAction) {\r\n newMacroAction = new ScrollMouseMacroAction(macroAction);\r\n } else if (macroAction instanceof DelayMacroAction) {\r\n newMacroAction = new DelayMacroAction(macroAction);\r\n } else if (macroAction instanceof TextMacroAction) {\r\n newMacroAction = new TextMacroAction(macroAction);\r\n }\r\n return newMacroAction;\r\n }\r\n\r\n private static fromJSONObject(macroAction: any): MacroAction {\r\n switch (macroAction.macroActionType) {\r\n case macroActionType.KeyMacroAction:\r\n return new KeyMacroAction().fromJsonObject(macroAction);\r\n case macroActionType.MouseButtonMacroAction:\r\n return new MouseButtonMacroAction().fromJsonObject(macroAction);\r\n case macroActionType.MoveMouseMacroAction:\r\n return new MoveMouseMacroAction().fromJsonObject(macroAction);\r\n case macroActionType.ScrollMouseMacroAction:\r\n return new ScrollMouseMacroAction().fromJsonObject(macroAction);\r\n case macroActionType.DelayMacroAction:\r\n return new DelayMacroAction().fromJsonObject(macroAction);\r\n case macroActionType.TextMacroAction:\r\n return new TextMacroAction().fromJsonObject(macroAction);\r\n default:\r\n throw `Invalid MacroAction.macroActionType: \"${macroAction.macroActionType}\"`;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/macro-action/helper.ts","import { assertUInt16 } from '../assert';\r\nimport { UhkBuffer } from '../UhkBuffer';\r\nimport { Keymap } from './Keymap';\r\nimport { Macro } from './Macro';\r\nimport { ModuleConfiguration } from './ModuleConfiguration';\r\n\r\nexport class UserConfiguration {\r\n\r\n @assertUInt16\r\n dataModelVersion: number;\r\n\r\n moduleConfigurations: ModuleConfiguration[];\r\n\r\n keymaps: Keymap[];\r\n\r\n macros: Macro[];\r\n\r\n fromJsonObject(jsonObject: any): UserConfiguration {\r\n this.dataModelVersion = jsonObject.dataModelVersion;\r\n this.moduleConfigurations = jsonObject.moduleConfigurations.map((moduleConfiguration: any) => {\r\n return new ModuleConfiguration().fromJsonObject(moduleConfiguration);\r\n });\r\n this.macros = jsonObject.macros.map((macroJsonObject: any, index: number) => {\r\n const macro = new Macro().fromJsonObject(macroJsonObject);\r\n macro.id = index;\r\n return macro;\r\n });\r\n this.keymaps = jsonObject.keymaps.map((keymap: any) => new Keymap().fromJsonObject(keymap, this.macros));\r\n return this;\r\n }\r\n\r\n fromBinary(buffer: UhkBuffer): UserConfiguration {\r\n this.dataModelVersion = buffer.readUInt16();\r\n this.moduleConfigurations = buffer.readArray(uhkBuffer => {\r\n return new ModuleConfiguration().fromBinary(uhkBuffer);\r\n });\r\n this.macros = buffer.readArray((uhkBuffer, index) => {\r\n const macro = new Macro().fromBinary(uhkBuffer);\r\n macro.id = index;\r\n return macro;\r\n });\r\n this.keymaps = buffer.readArray(uhkBuffer => new Keymap().fromBinary(uhkBuffer, this.macros));\r\n return this;\r\n }\r\n\r\n toJsonObject(): any {\r\n return {\r\n dataModelVersion: this.dataModelVersion,\r\n moduleConfigurations: this.moduleConfigurations.map(moduleConfiguration => moduleConfiguration.toJsonObject()),\r\n keymaps: this.keymaps.map(keymap => keymap.toJsonObject(this.macros)),\r\n macros: this.macros.map(macro => macro.toJsonObject())\r\n };\r\n }\r\n\r\n toBinary(buffer: UhkBuffer): void {\r\n buffer.writeUInt16(this.dataModelVersion);\r\n buffer.writeArray(this.moduleConfigurations);\r\n buffer.writeArray(this.macros);\r\n buffer.writeArray(this.keymaps, (uhkBuffer: UhkBuffer, keymap: Keymap) => {\r\n keymap.toBinary(uhkBuffer, this.macros);\r\n });\r\n }\r\n\r\n toString(): string {\r\n return ``;\r\n }\r\n\r\n getKeymap(keymapAbbreviation: string): Keymap {\r\n return this.keymaps.find(keymap => keymapAbbreviation === keymap.abbreviation);\r\n }\r\n\r\n getMacro(macroId: number): Macro {\r\n return this.macros.find(macro => macroId === macro.id);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/UserConfiguration.ts","import { assertUInt8 } from '../assert';\r\nimport { UhkBuffer } from '../UhkBuffer';\r\n\r\nexport class ModuleConfiguration {\r\n\r\n /*\r\n * module id enumeration is a separate story\r\n */\r\n\r\n @assertUInt8\r\n id: number;\r\n\r\n @assertUInt8\r\n initialPointerSpeed: number;\r\n\r\n @assertUInt8\r\n pointerAcceleration: number;\r\n\r\n @assertUInt8\r\n maxPointerSpeed: number;\r\n\r\n fromJsonObject(jsonObject: any): ModuleConfiguration {\r\n this.id = jsonObject.id;\r\n this.initialPointerSpeed = jsonObject.initialPointerSpeed;\r\n this.pointerAcceleration = jsonObject.pointerAcceleration;\r\n this.maxPointerSpeed = jsonObject.maxPointerSpeed;\r\n return this;\r\n }\r\n\r\n fromBinary(buffer: UhkBuffer): ModuleConfiguration {\r\n this.id = buffer.readUInt8();\r\n this.initialPointerSpeed = buffer.readUInt8();\r\n this.pointerAcceleration = buffer.readUInt8();\r\n this.maxPointerSpeed = buffer.readUInt8();\r\n return this;\r\n }\r\n\r\n toJsonObject(): any {\r\n return {\r\n id: this.id,\r\n initialPointerSpeed: this.initialPointerSpeed,\r\n pointerAcceleration: this.pointerAcceleration,\r\n maxPointerSpeed: this.maxPointerSpeed\r\n };\r\n }\r\n\r\n toBinary(buffer: UhkBuffer): void {\r\n buffer.writeUInt8(this.id);\r\n buffer.writeUInt8(this.initialPointerSpeed);\r\n buffer.writeUInt8(this.pointerAcceleration);\r\n buffer.writeUInt8(this.maxPointerSpeed);\r\n }\r\n\r\n toString(): string {\r\n return ``;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/ModuleConfiguration.ts","module.exports = \"\\r\\n\\r\\n
\\r\\n Sorry, there is no keymap with this abbreviation.\\r\\n
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/keymap/edit/keymap-edit.component.html\n// module id = 174\n// module chunks = 0","module.exports = \":host {\\n width: 100%;\\n display: block; }\\n\\n.not-found {\\n margin-top: 30px;\\n font-size: 16px;\\n text-align: center; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/keymap/edit/keymap-edit.component.scss\n// module id = 175\n// module chunks = 0","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n OnChanges,\r\n Renderer,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { Keymap } from '../../../config-serializer/config-items/Keymap';\r\n\r\nimport { AppState } from '../../../store';\r\nimport { KeymapActions } from '../../../store/actions';\r\n\r\n@Component({\r\n selector: 'keymap-header',\r\n template: require('./keymap-header.component.html'),\r\n styles: [require('./keymap-header.component.scss')],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class KeymapHeaderComponent implements OnChanges {\r\n @Input() keymap: Keymap;\r\n @Input() deletable: boolean;\r\n @Output() downloadClick = new EventEmitter();\r\n\r\n @ViewChild('name') keymapName: ElementRef;\r\n @ViewChild('abbr') keymapAbbr: ElementRef;\r\n\r\n private starTitle: string;\r\n private trashTitle: string;\r\n\r\n constructor(private store: Store, private renderer: Renderer) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['keymap']) {\r\n this.setKeymapTitle();\r\n }\r\n if (changes['deletable']) {\r\n this.setTrashTitle();\r\n }\r\n }\r\n\r\n setDefault() {\r\n if (!this.keymap.isDefault) {\r\n this.store.dispatch(KeymapActions.setDefault(this.keymap.abbreviation));\r\n }\r\n }\r\n\r\n removeKeymap() {\r\n if (this.deletable) {\r\n this.store.dispatch(KeymapActions.removeKeymap(this.keymap.abbreviation));\r\n }\r\n }\r\n\r\n duplicateKeymap() {\r\n this.store.dispatch(KeymapActions.duplicateKeymap(this.keymap));\r\n }\r\n\r\n editKeymapName(name: string) {\r\n if (name.length === 0) {\r\n this.renderer.setElementProperty(this.keymapName.nativeElement, 'value', this.keymap.name);\r\n return;\r\n }\r\n\r\n this.store.dispatch(KeymapActions.editKeymapName(this.keymap.abbreviation, name));\r\n }\r\n\r\n editKeymapAbbr(newAbbr: string) {\r\n if (newAbbr.length !== 3) {\r\n this.renderer.setElementProperty(this.keymapAbbr.nativeElement, 'value', this.keymap.abbreviation);\r\n return;\r\n }\r\n\r\n newAbbr = newAbbr.toUpperCase();\r\n this.store.dispatch(KeymapActions.editKeymapAbbr(this.keymap.abbreviation, newAbbr));\r\n }\r\n\r\n setKeymapTitle(): void {\r\n this.starTitle = this.keymap.isDefault\r\n ? 'This is the default keymap which gets activated when powering the keyboard.'\r\n : 'Makes this keymap the default keymap which gets activated when powering the keyboard.';\r\n }\r\n\r\n setTrashTitle(): void {\r\n this.trashTitle = this.deletable ? '' : 'The last keymap cannot be deleted.';\r\n }\r\n\r\n onDownloadIconClick(): void {\r\n this.downloadClick.emit();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/keymap/header/keymap-header.component.ts","module.exports = \"
\\r\\n

\\r\\n \\r\\n keymap\\r\\n ()\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/keymap/header/keymap-header.component.html\n// module id = 177\n// module chunks = 0","module.exports = \":host {\\n display: block; }\\n\\n.keymap__is-default.fa-star-o {\\n cursor: pointer; }\\n .keymap__is-default.fa-star-o:hover {\\n color: #337ab7; }\\n\\n.keymap__remove {\\n font-size: 0.75em;\\n top: 8px; }\\n .keymap__remove:not(.disabled):hover {\\n cursor: pointer;\\n color: #900; }\\n .keymap__remove.disabled {\\n opacity: 0.25; }\\n\\n.keymap__duplicate {\\n font-size: 0.75em;\\n top: 7px;\\n margin-right: 15px;\\n position: relative; }\\n .keymap__duplicate:hover {\\n cursor: pointer;\\n color: #337ab7; }\\n\\n.layer__download {\\n top: 10px;\\n font-size: 0.8em;\\n position: relative;\\n margin-right: 10px; }\\n .layer__download:hover {\\n cursor: pointer;\\n color: #337ab7; }\\n\\n.pane-title {\\n margin-bottom: 1em; }\\n .pane-title__name, .pane-title__abbrev {\\n border: none;\\n border-bottom: 2px dotted #999;\\n padding: 0;\\n margin: 0 0.25rem; }\\n .pane-title__name:focus, .pane-title__abbrev:focus {\\n box-shadow: 0 0 0 1px #ccc, 0 0 5px 0 #ccc;\\n border-color: transparent; }\\n .pane-title__name {\\n width: 290px;\\n text-overflow: ellipsis; }\\n .pane-title__abbrev {\\n width: 90px;\\n text-align: center; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/keymap/header/keymap-header.component.scss\n// module id = 178\n// module chunks = 0","export * from './layers.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/layers/index.ts","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'layers',\r\n template: require('./layers.component.html'),\r\n styles: [require('./layers.component.scss')]\r\n})\r\nexport class LayersComponent {\r\n @Input() current: number;\r\n @Output() select = new EventEmitter();\r\n\r\n private buttons: string[];\r\n\r\n constructor() {\r\n this.buttons = ['Base', 'Mod', 'Fn', 'Mouse'];\r\n this.current = 0;\r\n }\r\n\r\n selectLayer(index: number) {\r\n if (this.current === index) {\r\n return;\r\n }\r\n\r\n this.select.emit({\r\n oldIndex: this.current,\r\n index: index\r\n });\r\n\r\n this.current = index;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/layers/layers.component.ts","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/layers/layers.component.html\n// module id = 181\n// module chunks = 0","module.exports = \":host {\\n display: block; }\\n :host.disabled button {\\n cursor: no-drop;\\n background: rgba(204, 204, 204, 0.43);\\n pointer-events: none; }\\n :host.disabled button.btn-primary {\\n background: #7c7c7c;\\n border-color: #7c7c7c; }\\n\\nbutton {\\n margin: 2px; }\\n\\n.uhk__layer-switcher--wrapper {\\n position: relative;\\n margin-bottom: 2rem; }\\n .uhk__layer-switcher--wrapper:before {\\n content: attr(data-title);\\n display: inline-block;\\n position: absolute;\\n bottom: -0.3em;\\n right: 100%;\\n font-size: 2.4rem;\\n padding-right: 0.25em;\\n margin: 0; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/layers/layers.component.scss\n// module id = 182\n// module chunks = 0","export * from './edit/macro-edit.component';\r\nexport * from './list/macro-list.component';\r\nexport * from './header/macro-header.component';\r\nexport * from './macro.routes';\r\nexport * from './not-found';\r\nexport * from './item';\r\nexport * from './action-editor';\r\nexport * from './action-editor/tab';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/index.ts","import { Component, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { Subscription } from 'rxjs/Subscription';\r\n\r\nimport { Macro } from '../../../config-serializer/config-items/Macro';\r\nimport { MacroAction } from '../../../config-serializer/config-items/macro-action/MacroAction';\r\n\r\nimport { MacroActions } from '../../../store/actions';\r\nimport { AppState } from '../../../store/index';\r\nimport { getMacro } from '../../../store/reducers/user-configuration';\r\n\r\n@Component({\r\n selector: 'macro-edit',\r\n template: require('./macro-edit.component.html'),\r\n styles: [require('./macro-edit.component.scss')],\r\n host: {\r\n 'class': 'container-fluid'\r\n }\r\n})\r\nexport class MacroEditComponent implements OnDestroy {\r\n private subscription: Subscription;\r\n private macro: Macro;\r\n private isNew: boolean;\r\n\r\n constructor(private store: Store, public route: ActivatedRoute) {\r\n this.subscription = route\r\n .params\r\n .select('id')\r\n .switchMap((id: string) => store.let(getMacro(+id)))\r\n .subscribe((macro: Macro) => {\r\n this.macro = macro;\r\n });\r\n\r\n this.isNew = this.route.snapshot.params['empty'] === 'new';\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n addAction(macroId: number, action: MacroAction) {\r\n this.store.dispatch(MacroActions.addMacroAction(macroId, action));\r\n }\r\n\r\n editAction(macroId: number, index: number, action: MacroAction) {\r\n this.store.dispatch(MacroActions.saveMacroAction(macroId, index, action));\r\n }\r\n\r\n deleteAction(macroId: number, index: number, action: MacroAction) {\r\n this.store.dispatch(MacroActions.deleteMacroAction(macroId, index, action));\r\n }\r\n\r\n reorderAction(macroId: number, oldIndex: number, newIndex: number) {\r\n this.store.dispatch(MacroActions.reorderMacroAction(macroId, oldIndex, newIndex));\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/edit/macro-edit.component.ts","module.exports = \"\\r\\n\\r\\n
\\r\\n There is no macro with id {{ route.params.select('id') | async }}.\\r\\n
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/edit/macro-edit.component.html\n// module id = 185\n// module chunks = 0","module.exports = \":host {\\n width: 100%;\\n height: 100%;\\n display: block; }\\n\\n.not-found {\\n margin-top: 30px;\\n font-size: 16px;\\n text-align: center; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/edit/macro-edit.component.scss\n// module id = 186\n// module chunks = 0","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n QueryList,\r\n ViewChildren,\r\n animate,\r\n forwardRef,\r\n state,\r\n style,\r\n transition,\r\n trigger\r\n} from '@angular/core';\r\n\r\nimport { DragulaService } from 'ng2-dragula/ng2-dragula';\r\n\r\nimport { Macro } from '../../../config-serializer/config-items/Macro';\r\nimport { MacroAction } from '../../../config-serializer/config-items/macro-action';\r\nimport { MacroItemComponent } from './../index';\r\n\r\n@Component({\r\n animations: [\r\n trigger('toggler', [\r\n state('inactive', style({\r\n height: '0px'\r\n })),\r\n state('active', style({\r\n height: '*'\r\n })),\r\n transition('inactive <=> active', animate('500ms ease-out'))\r\n ]),\r\n trigger('togglerNew', [\r\n state('void', style({\r\n height: '0px'\r\n })),\r\n state('active', style({\r\n height: '*'\r\n })),\r\n transition(':enter', animate('500ms ease-out')),\r\n transition(':leave', animate('500ms ease-out'))\r\n ])\r\n ],\r\n selector: 'macro-list',\r\n template: require('./macro-list.component.html'),\r\n styles: [require('./macro-list.component.scss')],\r\n viewProviders: [DragulaService]\r\n})\r\nexport class MacroListComponent {\r\n @Input() macro: Macro;\r\n @ViewChildren(forwardRef(() => MacroItemComponent)) macroItems: QueryList;\r\n\r\n @Output() add = new EventEmitter();\r\n @Output() edit = new EventEmitter();\r\n @Output() delete = new EventEmitter();\r\n @Output() reorder = new EventEmitter();\r\n\r\n private newMacro: Macro = undefined;\r\n private activeEdit: number = undefined;\r\n private dragIndex: number;\r\n private showNew: boolean = false;\r\n\r\n constructor(private dragulaService: DragulaService) {\r\n /* tslint:disable:no-unused-variable: Used by Dragula. */\r\n dragulaService.setOptions('macroActions', {\r\n moves: function (el: any, container: any, handle: any) {\r\n return handle.className.includes('action--movable');\r\n }\r\n });\r\n\r\n dragulaService.drag.subscribe((value: any) => {\r\n this.dragIndex = +value[1].getAttribute('data-index');\r\n });\r\n\r\n dragulaService.drop.subscribe((value: any) => {\r\n if (value[4]) {\r\n this.reorder.emit({\r\n macroId: this.macro.id,\r\n oldIndex: this.dragIndex,\r\n newIndex: +value[4].getAttribute('data-index')\r\n });\r\n }\r\n });\r\n }\r\n\r\n showNewAction() {\r\n this.hideActiveEditor();\r\n\r\n this.newMacro = undefined;\r\n this.showNew = true;\r\n }\r\n\r\n hideNewAction() {\r\n this.showNew = false;\r\n }\r\n\r\n addNewAction(macroAction: MacroAction) {\r\n this.add.emit({\r\n macroId: this.macro.id,\r\n action: macroAction\r\n });\r\n\r\n this.newMacro = undefined;\r\n this.showNew = false;\r\n }\r\n\r\n editAction(index: number) {\r\n // Hide other editors when clicking edit button of a macro action\r\n this.hideActiveEditor();\r\n this.showNew = false;\r\n this.activeEdit = index;\r\n }\r\n\r\n cancelAction() {\r\n this.activeEdit = undefined;\r\n }\r\n\r\n saveAction(macroAction: MacroAction, index: number) {\r\n this.edit.emit({\r\n macroId: this.macro.id,\r\n index: index,\r\n action: macroAction\r\n });\r\n\r\n this.hideActiveEditor();\r\n }\r\n\r\n deleteAction(macroAction: MacroAction, index: number) {\r\n this.delete.emit({\r\n macroId: this.macro.id,\r\n index: index,\r\n action: macroAction\r\n });\r\n\r\n this.hideActiveEditor();\r\n }\r\n\r\n private hideActiveEditor() {\r\n if (this.activeEdit !== undefined) {\r\n this.macroItems.toArray()[this.activeEdit].cancelEdit();\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/list/macro-list.component.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/list/macro-list.component.html\n// module id = 188\n// module chunks = 0","module.exports = \":host {\\n display: flex;\\n flex-direction: column;\\n height: 100%; }\\n :host .list-container {\\n display: flex;\\n flex: 1; }\\n\\n.main-wrapper {\\n width: 500px; }\\n\\nh1 {\\n margin-bottom: 3rem; }\\n\\n.action--edit__form {\\n background-color: #fff;\\n margin-left: -0.5rem;\\n margin-right: -15px;\\n margin-top: 15px;\\n padding-top: 15px;\\n border-top: 1px solid #ddd; }\\n\\n.action--item {\\n padding-left: 8px; }\\n .action--item.active, .action--item.active:hover {\\n background-color: white;\\n font-weight: bold;\\n color: black;\\n border-color: black;\\n z-index: 10; }\\n\\n.list-group {\\n overflow: auto; }\\n\\n.macro__name {\\n border-bottom: 2px dotted #999;\\n padding: 0 0.5rem;\\n margin: 0 0.25rem; }\\n\\n.macro-settings {\\n border: 1px solid black;\\n border-top-color: #999;\\n z-index: 100; }\\n .macro-settings .helper {\\n position: absolute;\\n display: block;\\n height: 13px;\\n background: #fff;\\n width: 100%;\\n left: 0;\\n top: -14px; }\\n\\n.action--item.active.callout,\\n.macro-settings.callout {\\n box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.5); }\\n\\n.macro-actions-container {\\n margin-bottom: 0;\\n border-radius: 4px;\\n border: 1px solid #ddd;\\n border-bottom: 0; }\\n\\n.list-group-item .move-handle:hover {\\n cursor: move; }\\n\\n.flex-button-wrapper {\\n display: flex;\\n flex-direction: row-reverse; }\\n\\n.flex-button {\\n align-self: flex-end; }\\n\\n.add-new__action-container {\\n overflow: hidden;\\n flex-shrink: 0;\\n border-top: 1px solid #ddd; }\\n\\n.add-new__action-item {\\n border-radius: 0 0 4px 4px;\\n border-top: 0;\\n padding: 0; }\\n .add-new__action-item:hover {\\n cursor: pointer; }\\n .add-new__action-item--link {\\n width: 50%;\\n float: left;\\n padding: 10px 5px;\\n text-align: center;\\n color: #337ab7; }\\n .add-new__action-item--link:first-of-type {\\n border-right: 1px solid #ddd; }\\n .add-new__action-item--link:hover {\\n text-decoration: none;\\n background: #e6e6e6; }\\n .add-new__action-item .fa-circle {\\n color: #c00; }\\n\\n.gu-mirror {\\n position: fixed;\\n margin: 0;\\n z-index: 9999;\\n opacity: 0.8; }\\n\\n.gu-hide {\\n display: none; }\\n\\n.gu-unselectable {\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/list/macro-list.component.scss\n// module id = 189\n// module chunks = 0","import {\r\n AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, Input, OnChanges, Renderer,\r\n ViewChild\r\n} from '@angular/core';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { Macro } from '../../../config-serializer/config-items/Macro';\r\n\r\nimport { MacroActions } from '../../../store/actions';\r\nimport { AppState } from '../../../store/index';\r\n\r\n@Component({\r\n selector: 'macro-header',\r\n template: require('./macro-header.component.html'),\r\n styles: [require('./macro-header.component.scss')],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MacroHeaderComponent implements AfterViewInit, OnChanges {\r\n @Input() macro: Macro;\r\n @Input() isNew: boolean;\r\n @ViewChild('macroName') macroName: ElementRef;\r\n\r\n constructor(private store: Store, private renderer: Renderer) { }\r\n\r\n ngOnChanges() {\r\n if (this.isNew) {\r\n this.renderer.invokeElementMethod(this.macroName.nativeElement, 'select', []);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.isNew) {\r\n this.renderer.invokeElementMethod(this.macroName.nativeElement, 'select', []);\r\n }\r\n }\r\n\r\n removeMacro() {\r\n this.store.dispatch(MacroActions.removeMacro(this.macro.id));\r\n }\r\n\r\n duplicateMacro() {\r\n this.store.dispatch(MacroActions.duplicateMacro(this.macro));\r\n }\r\n\r\n editMacroName(name: string) {\r\n if (name.length === 0) {\r\n this.renderer.setElementProperty(this.macroName.nativeElement, 'value', this.macro.name);\r\n return;\r\n }\r\n\r\n this.store.dispatch(MacroActions.editMacroName(this.macro.id, name));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/header/macro-header.component.ts","module.exports = \"
\\r\\n

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/header/macro-header.component.html\n// module id = 191\n// module chunks = 0","module.exports = \".macro__remove {\\n font-size: 0.75em;\\n top: 8px; }\\n .macro__remove:hover {\\n cursor: pointer;\\n color: #900; }\\n\\n.macro__duplicate {\\n font-size: 0.75em;\\n top: 7px;\\n margin-right: 15px;\\n position: relative; }\\n .macro__duplicate:hover {\\n cursor: pointer;\\n color: #337ab7; }\\n\\n.pane-title {\\n margin-bottom: 1em; }\\n .pane-title__name {\\n border: none;\\n border-bottom: 2px dotted #999;\\n padding: 0;\\n margin: 0 0.25rem;\\n width: 330px;\\n text-overflow: ellipsis; }\\n .pane-title__name:focus {\\n box-shadow: 0 0 0 1px #ccc, 0 0 5px 0 #ccc;\\n border-color: transparent; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/header/macro-header.component.scss\n// module id = 192\n// module chunks = 0","import { Routes } from '@angular/router';\r\n\r\nimport { MacroEditComponent } from './edit/macro-edit.component';\r\nimport { MacroNotFoundComponent, MacroNotFoundGuard } from './not-found';\r\n\r\nexport const macroRoutes: Routes = [\r\n {\r\n path: 'macro',\r\n component: MacroNotFoundComponent,\r\n canActivate: [MacroNotFoundGuard]\r\n },\r\n {\r\n path: 'macro/:id',\r\n component: MacroEditComponent\r\n },\r\n {\r\n path: 'macro/:id/:empty',\r\n component: MacroEditComponent\r\n }\r\n];\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/macro.routes.ts","export { MacroNotFoundComponent } from './macro-not-found.component';\r\nexport { MacroNotFoundGuard } from './macro-not-found-guard.service';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/not-found/index.ts","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'macro-not-found',\r\n template: require('./macro-not-found.component.html'),\r\n styles: [require('./macro-not-found.component.scss')]\r\n})\r\nexport class MacroNotFoundComponent { }\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/not-found/macro-not-found.component.ts","module.exports = \"
\\r\\n You don't have any macros. Try to add one!\\r\\n
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/not-found/macro-not-found.component.html\n// module id = 196\n// module chunks = 0","module.exports = \".not-found {\\n margin-top: 30px;\\n font-size: 16px;\\n text-align: center; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/not-found/macro-not-found.component.scss\n// module id = 197\n// module chunks = 0","import { Injectable } from '@angular/core';\r\nimport { CanActivate, Router } from '@angular/router';\r\n\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\nimport 'rxjs/add/operator/let';\r\nimport 'rxjs/add/operator/map';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { AppState } from '../../../store/index';\r\nimport { getMacros } from '../../../store/reducers/user-configuration';\r\nimport { Macro } from './../../../config-serializer/config-items/Macro';\r\n\r\n@Injectable()\r\nexport class MacroNotFoundGuard implements CanActivate {\r\n\r\n constructor(private store: Store, private router: Router) { }\r\n\r\n canActivate(): Observable {\r\n return this.store\r\n .let(getMacros())\r\n .map((macros: Macro[]) => {\r\n const hasMacros = macros.length > 0;\r\n if (hasMacros) {\r\n this.router.navigate(['/macro', macros[0].id]);\r\n }\r\n return !hasMacros;\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/not-found/macro-not-found-guard.service.ts","export { MacroItemComponent } from './macro-item.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/item/index.ts","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n animate,\r\n state,\r\n style,\r\n transition,\r\n trigger\r\n} from '@angular/core';\r\n\r\nimport { KeyModifiers } from '../../../config-serializer/config-items/KeyModifiers';\r\nimport {\r\n DelayMacroAction,\r\n KeyMacroAction,\r\n MacroAction,\r\n MouseButtonMacroAction,\r\n MoveMouseMacroAction,\r\n ScrollMouseMacroAction,\r\n TextMacroAction\r\n} from '../../../config-serializer/config-items/macro-action';\r\n\r\nimport { MapperService } from '../../../services/mapper.service';\r\n\r\n@Component({\r\n animations: [\r\n trigger('toggler', [\r\n state('inactive', style({\r\n height: '0px'\r\n })),\r\n state('active', style({\r\n height: '*'\r\n })),\r\n transition('inactive <=> active', animate('500ms ease-out'))\r\n ])\r\n ],\r\n selector: 'macro-item',\r\n template: require('./macro-item.component.html'),\r\n styles: [require('./macro-item.component.scss')],\r\n host: { 'class': 'macro-item' }\r\n})\r\nexport class MacroItemComponent implements OnInit, OnChanges {\r\n @Input() macroAction: MacroAction;\r\n @Input() editable: boolean;\r\n @Input() deletable: boolean;\r\n @Input() movable: boolean;\r\n\r\n @Output() save = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n @Output() edit = new EventEmitter();\r\n @Output() delete = new EventEmitter();\r\n\r\n private title: string;\r\n private iconName: string;\r\n private editing: boolean;\r\n private newItem: boolean = false;\r\n\r\n constructor(private mapper: MapperService) { }\r\n\r\n ngOnInit() {\r\n this.updateView();\r\n if (!this.macroAction) {\r\n this.editing = true;\r\n this.newItem = true;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['macroAction']) {\r\n this.updateView();\r\n }\r\n }\r\n\r\n saveEditedAction(editedAction: MacroAction): void {\r\n this.macroAction = editedAction;\r\n this.editing = false;\r\n this.updateView();\r\n this.save.emit(editedAction);\r\n }\r\n\r\n editAction(): void {\r\n if (!this.editable || this.editing) {\r\n return;\r\n }\r\n\r\n this.editing = true;\r\n this.edit.emit();\r\n }\r\n\r\n cancelEdit(): void {\r\n this.editing = false;\r\n this.cancel.emit();\r\n }\r\n\r\n deleteAction(): void {\r\n this.delete.emit();\r\n }\r\n\r\n private updateView(): void {\r\n if (!this.macroAction) {\r\n this.title = 'New macro action';\r\n } else if (this.macroAction instanceof DelayMacroAction) {\r\n // Delay\r\n this.iconName = 'clock';\r\n let action: DelayMacroAction = this.macroAction as DelayMacroAction;\r\n const delay = action.delay > 0 ? action.delay / 1000 : 0;\r\n this.title = `Delay of ${delay}s`;\r\n } else if (this.macroAction instanceof TextMacroAction) {\r\n // Write text\r\n let action: TextMacroAction = this.macroAction as TextMacroAction;\r\n this.iconName = 'font';\r\n this.title = `Write text: ${action.text}`;\r\n } else if (this.macroAction instanceof KeyMacroAction) {\r\n // Key pressed/held/released\r\n const action: KeyMacroAction = this.macroAction as KeyMacroAction;\r\n this.setKeyActionContent(action);\r\n } else if (this.macroAction instanceof MouseButtonMacroAction) {\r\n // Mouse button clicked/held/released\r\n const action: MouseButtonMacroAction = this.macroAction as MouseButtonMacroAction;\r\n this.setMouseButtonActionContent(action);\r\n } else if (this.macroAction instanceof MoveMouseMacroAction || this.macroAction instanceof ScrollMouseMacroAction) {\r\n // Mouse moved or scrolled\r\n this.setMouseMoveScrollActionContent(this.macroAction);\r\n } else {\r\n this.title = this.macroAction.constructor.name;\r\n }\r\n }\r\n\r\n private setKeyActionContent(action: KeyMacroAction): void {\r\n if (!action.hasScancode() && !action.hasModifiers()) {\r\n this.title = 'Invalid keypress';\r\n return;\r\n }\r\n\r\n if (action.isPressAction()) {\r\n // Press key\r\n this.iconName = 'hand-pointer';\r\n this.title = 'Press key: ';\r\n } else if (action.isHoldAction()) {\r\n // Hold key\r\n this.iconName = 'hand-rock';\r\n this.title = 'Hold key: ';\r\n } else if (action.isReleaseAction()) {\r\n // Release key\r\n this.iconName = 'hand-paper';\r\n this.title = 'Release key: ';\r\n }\r\n\r\n if (action.hasScancode()) {\r\n const scancode: string = (this.mapper.scanCodeToText(action.scancode) || [ 'Unknown' ]).join(' ');\r\n if (scancode) {\r\n this.title += scancode;\r\n }\r\n }\r\n\r\n if (action.hasModifiers()) {\r\n // Press/hold/release modifiers\r\n for (let i = KeyModifiers.leftCtrl; i !== KeyModifiers.rightGui; i <<= 1) {\r\n if (action.isModifierActive(i)) {\r\n this.title += ' ' + KeyModifiers[i];\r\n }\r\n }\r\n }\r\n }\r\n\r\n private setMouseMoveScrollActionContent(action: MacroAction): void {\r\n let typedAction: any;\r\n if (action instanceof MoveMouseMacroAction) {\r\n // Move mouse pointer\r\n this.iconName = 'mouse-pointer';\r\n this.title = 'Move pointer';\r\n typedAction = this.macroAction as MoveMouseMacroAction;\r\n } else {\r\n // Scroll mouse\r\n this.iconName = 'mouse-pointer';\r\n this.title = 'Scroll';\r\n typedAction = this.macroAction as ScrollMouseMacroAction;\r\n }\r\n\r\n let needAnd: boolean;\r\n if (Math.abs(typedAction.x) !== 0) {\r\n this.title += ` by ${Math.abs(typedAction.x)}px ${typedAction.x > 0 ? 'left' : 'right'}`;\r\n needAnd = true;\r\n }\r\n if (Math.abs(typedAction.y) !== 0) {\r\n this.title += ` ${needAnd ? 'and' : 'by'} ${Math.abs(typedAction.y)}px ${typedAction.y > 0 ? 'down' : 'up'}`;\r\n }\r\n }\r\n\r\n private setMouseButtonActionContent(action: MouseButtonMacroAction): void {\r\n // Press/hold/release mouse buttons\r\n if (action.isOnlyPressAction()) {\r\n this.iconName = 'mouse-pointer';\r\n this.title = 'Click mouse button: ';\r\n } else if (action.isOnlyHoldAction()) {\r\n this.iconName = 'hand-rock';\r\n this.title = 'Hold mouse button: ';\r\n } else if (action.isOnlyReleaseAction()) {\r\n this.iconName = 'hand-paper';\r\n this.title = 'Release mouse button: ';\r\n }\r\n\r\n const buttonLabels: string[] = ['Left', 'Middle', 'Right'];\r\n const selectedButtons: boolean[] = action.getMouseButtons();\r\n const selectedButtonLabels: string[] = [];\r\n selectedButtons.forEach((isSelected, idx) => {\r\n if (isSelected && buttonLabels[idx]) {\r\n selectedButtonLabels.push(buttonLabels[idx]);\r\n }\r\n });\r\n this.title += selectedButtonLabels.join(', ');\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/item/macro-item.component.ts","export enum KeyModifiers {\r\n leftCtrl = 1 << 0,\r\n leftShift = 1 << 1,\r\n leftAlt = 1 << 2,\r\n leftGui = 1 << 3,\r\n rightCtrl = 1 << 4,\r\n rightShift = 1 << 5,\r\n rightAlt = 1 << 6,\r\n rightGui = 1 << 7\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/config-serializer/config-items/KeyModifiers.ts","/* tslint:disable:variable-name */\r\nconst __svg__ = { path: '../../../images/icons/**/*.svg', name: 'assets/compiled_sprite.svg' };\r\n/* tslint:enable:variable-name */\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class MapperService {\r\n\r\n private scanCodeTextMap: Map;\r\n\r\n private scanCodeFileName: Map;\r\n private nameToFileName: Map;\r\n\r\n constructor() {\r\n this.initScanCodeTextMap();\r\n this.initScanCodeFileName();\r\n this.initNameToFileNames();\r\n }\r\n\r\n public scanCodeToText(scanCode: number): string[] {\r\n return this.scanCodeTextMap.get(scanCode);\r\n }\r\n\r\n public hasScancodeIcon(scancode: number): boolean {\r\n return this.scanCodeFileName.has(scancode);\r\n }\r\n\r\n public scanCodeToSvgImagePath(scanCode: number): string {\r\n let fileName: string = this.scanCodeFileName.get(scanCode);\r\n if (fileName) {\r\n return 'assets/compiled_sprite.svg#' + fileName;\r\n }\r\n return undefined;\r\n }\r\n\r\n public getIcon(iconName: string): string {\r\n return 'assets/compiled_sprite.svg#' + this.nameToFileName.get(iconName);\r\n }\r\n\r\n public modifierMapper(x: number) {\r\n if (x < 8) {\r\n return Math.floor(x / 2) * 4 + 1 - x; // 1, 0, 3, 2, 5, 4, 7, 6\r\n } else {\r\n return x;\r\n }\r\n }\r\n\r\n // TODO: read the mapping from JSON\r\n private initScanCodeTextMap(): void {\r\n this.scanCodeTextMap = new Map();\r\n this.scanCodeTextMap.set(4, ['A']);\r\n this.scanCodeTextMap.set(5, ['B']);\r\n this.scanCodeTextMap.set(6, ['C']);\r\n this.scanCodeTextMap.set(7, ['D']);\r\n this.scanCodeTextMap.set(8, ['E']);\r\n this.scanCodeTextMap.set(9, ['F']);\r\n this.scanCodeTextMap.set(10, ['G']);\r\n this.scanCodeTextMap.set(11, ['H']);\r\n this.scanCodeTextMap.set(12, ['I']);\r\n this.scanCodeTextMap.set(13, ['J']);\r\n this.scanCodeTextMap.set(14, ['K']);\r\n this.scanCodeTextMap.set(15, ['L']);\r\n this.scanCodeTextMap.set(16, ['M']);\r\n this.scanCodeTextMap.set(17, ['N']);\r\n this.scanCodeTextMap.set(18, ['O']);\r\n this.scanCodeTextMap.set(19, ['P']);\r\n this.scanCodeTextMap.set(20, ['Q']);\r\n this.scanCodeTextMap.set(21, ['R']);\r\n this.scanCodeTextMap.set(22, ['S']);\r\n this.scanCodeTextMap.set(23, ['T']);\r\n this.scanCodeTextMap.set(24, ['U']);\r\n this.scanCodeTextMap.set(25, ['V']);\r\n this.scanCodeTextMap.set(26, ['W']);\r\n this.scanCodeTextMap.set(27, ['X']);\r\n this.scanCodeTextMap.set(28, ['Y']);\r\n this.scanCodeTextMap.set(29, ['Z']);\r\n this.scanCodeTextMap.set(30, ['1', '!']);\r\n this.scanCodeTextMap.set(31, ['2', '@']);\r\n this.scanCodeTextMap.set(32, ['3', '#']);\r\n this.scanCodeTextMap.set(33, ['4', '$']);\r\n this.scanCodeTextMap.set(34, ['5', '%']);\r\n this.scanCodeTextMap.set(35, ['6', '^']);\r\n this.scanCodeTextMap.set(36, ['7', '&']);\r\n this.scanCodeTextMap.set(37, ['8', '*']);\r\n this.scanCodeTextMap.set(38, ['9', '(']);\r\n this.scanCodeTextMap.set(39, ['0', ')']);\r\n this.scanCodeTextMap.set(40, ['Enter']);\r\n this.scanCodeTextMap.set(41, ['Esc']);\r\n this.scanCodeTextMap.set(42, ['Backspace']);\r\n this.scanCodeTextMap.set(43, ['Tab']);\r\n this.scanCodeTextMap.set(44, ['Space']);\r\n this.scanCodeTextMap.set(45, ['-', '_']);\r\n this.scanCodeTextMap.set(46, ['=', '+']);\r\n this.scanCodeTextMap.set(47, ['[', '{']);\r\n this.scanCodeTextMap.set(48, [']', '}']);\r\n this.scanCodeTextMap.set(49, ['\\\\', '|']);\r\n this.scanCodeTextMap.set(50, ['NON_US_HASHMARK_AND_TILDE']);\r\n this.scanCodeTextMap.set(51, [';', ':']);\r\n this.scanCodeTextMap.set(52, ['\\'', '\"']);\r\n this.scanCodeTextMap.set(53, ['`', '~']);\r\n this.scanCodeTextMap.set(54, [',', '<']);\r\n this.scanCodeTextMap.set(55, ['.', '>']);\r\n this.scanCodeTextMap.set(56, ['/', '?']);\r\n this.scanCodeTextMap.set(57, ['Caps Lock']);\r\n this.scanCodeTextMap.set(58, ['F1']);\r\n this.scanCodeTextMap.set(59, ['F2']);\r\n this.scanCodeTextMap.set(60, ['F3']);\r\n this.scanCodeTextMap.set(61, ['F4']);\r\n this.scanCodeTextMap.set(62, ['F5']);\r\n this.scanCodeTextMap.set(63, ['F6']);\r\n this.scanCodeTextMap.set(64, ['F7']);\r\n this.scanCodeTextMap.set(65, ['F8']);\r\n this.scanCodeTextMap.set(66, ['F9']);\r\n this.scanCodeTextMap.set(67, ['F10']);\r\n this.scanCodeTextMap.set(68, ['F11']);\r\n this.scanCodeTextMap.set(69, ['F12']);\r\n this.scanCodeTextMap.set(70, ['PrtScn']);\r\n this.scanCodeTextMap.set(71, ['Scroll Lock']);\r\n this.scanCodeTextMap.set(72, ['Pause']);\r\n this.scanCodeTextMap.set(73, ['Insert']);\r\n this.scanCodeTextMap.set(74, ['Home']);\r\n this.scanCodeTextMap.set(75, ['PgUp']);\r\n this.scanCodeTextMap.set(76, ['Del']);\r\n this.scanCodeTextMap.set(77, ['End']);\r\n this.scanCodeTextMap.set(78, ['PgDn']);\r\n this.scanCodeTextMap.set(79, ['Right Arrow']);\r\n this.scanCodeTextMap.set(80, ['Left Arrow']);\r\n this.scanCodeTextMap.set(81, ['Down Arrow']);\r\n this.scanCodeTextMap.set(82, ['Up Arrow']);\r\n this.scanCodeTextMap.set(83, ['Num Lock']);\r\n this.scanCodeTextMap.set(84, ['/']);\r\n this.scanCodeTextMap.set(85, ['*']);\r\n this.scanCodeTextMap.set(86, ['-']);\r\n this.scanCodeTextMap.set(87, ['+']);\r\n this.scanCodeTextMap.set(88, ['Enter']);\r\n this.scanCodeTextMap.set(89, ['end', '1']);\r\n this.scanCodeTextMap.set(90, ['2']);\r\n this.scanCodeTextMap.set(91, ['pgdn', '3']);\r\n this.scanCodeTextMap.set(92, ['4']);\r\n this.scanCodeTextMap.set(93, ['5']);\r\n this.scanCodeTextMap.set(94, ['6']);\r\n this.scanCodeTextMap.set(95, ['home', '7']);\r\n this.scanCodeTextMap.set(96, ['8']);\r\n this.scanCodeTextMap.set(97, ['pgup', '9']);\r\n this.scanCodeTextMap.set(98, ['Insert', '0']);\r\n this.scanCodeTextMap.set(99, ['Del', '.']);\r\n this.scanCodeTextMap.set(104, ['F13']);\r\n this.scanCodeTextMap.set(105, ['F14']);\r\n this.scanCodeTextMap.set(106, ['F15']);\r\n this.scanCodeTextMap.set(107, ['F16']);\r\n this.scanCodeTextMap.set(108, ['F17']);\r\n this.scanCodeTextMap.set(109, ['F18']);\r\n this.scanCodeTextMap.set(110, ['F19']);\r\n this.scanCodeTextMap.set(111, ['F20']);\r\n this.scanCodeTextMap.set(112, ['F21']);\r\n this.scanCodeTextMap.set(113, ['F22']);\r\n this.scanCodeTextMap.set(114, ['F23']);\r\n this.scanCodeTextMap.set(115, ['F24']);\r\n this.scanCodeTextMap.set(118, ['Menu']);\r\n this.scanCodeTextMap.set(176, ['00']);\r\n this.scanCodeTextMap.set(177, ['000']);\r\n this.scanCodeTextMap.set(232, ['Play']);\r\n this.scanCodeTextMap.set(233, ['Stop']);\r\n this.scanCodeTextMap.set(234, ['Prev']);\r\n this.scanCodeTextMap.set(235, ['Next']);\r\n this.scanCodeTextMap.set(236, ['Eject']);\r\n this.scanCodeTextMap.set(237, ['Vol +']);\r\n this.scanCodeTextMap.set(238, ['Vol -']);\r\n this.scanCodeTextMap.set(239, ['Mute']);\r\n this.scanCodeTextMap.set(240, ['WWW']);\r\n this.scanCodeTextMap.set(241, ['Bckwrd']);\r\n this.scanCodeTextMap.set(242, ['Frwrd']);\r\n this.scanCodeTextMap.set(243, ['Cancel']);\r\n }\r\n\r\n private initScanCodeFileName(): void {\r\n this.scanCodeFileName = new Map();\r\n this.scanCodeFileName.set(79, 'icon-kbd__mod--arrow-right');\r\n this.scanCodeFileName.set(80, 'icon-kbd__mod--arrow-left');\r\n this.scanCodeFileName.set(81, 'icon-kbd__mod--arrow-down');\r\n this.scanCodeFileName.set(82, 'icon-kbd__mod--arrow-up');\r\n this.scanCodeFileName.set(118, 'icon-kbd__mod--menu');\r\n }\r\n\r\n private initNameToFileNames(): void {\r\n this.nameToFileName = new Map();\r\n this.nameToFileName.set('toggle', 'icon-kbd__fn--toggle');\r\n this.nameToFileName.set('switch-keymap', 'icon-kbd__mod--switch-keymap');\r\n this.nameToFileName.set('macro', 'icon-icon__macro');\r\n this.nameToFileName.set('shift', 'icon-kbd__default--modifier-shift');\r\n this.nameToFileName.set('option', 'icon-kbd__default--modifier-option');\r\n this.nameToFileName.set('command', 'icon-kbd__default--modifier-command');\r\n this.nameToFileName.set('mouse', 'icon-kbd__mouse');\r\n this.nameToFileName.set('left-arrow', 'icon-kbd__mod--arrow-left');\r\n this.nameToFileName.set('right-arrow', 'icon-kbd__mod--arrow-right');\r\n this.nameToFileName.set('down-arrow', 'icon-kbd__mod--arrow-down');\r\n this.nameToFileName.set('up-arrow', 'icon-kbd__mod--arrow-up');\r\n this.nameToFileName.set('scroll-left', 'icon-kbd__mouse--scroll-left');\r\n this.nameToFileName.set('scroll-right', 'icon-kbd__mouse--scroll-right');\r\n this.nameToFileName.set('scroll-down', 'icon-kbd__mouse--scroll-down');\r\n this.nameToFileName.set('scroll-up', 'icon-kbd__mouse--scroll-up');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/services/mapper.service.ts","module.exports = \"
\\r\\n \\r\\n
\\r\\n \\r\\n
{{ title }}
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/item/macro-item.component.html\n// module id = 203\n// module chunks = 0","module.exports = \":host {\\n overflow: hidden;\\n display: block; }\\n :host.macro-item:first-of-type .list-group-item {\\n border-radius: 4px 4px 0 0; }\\n :host.macro-item:last-of-type .list-group-item {\\n border-bottom: 0; }\\n :host.gu-transit {\\n opacity: 0.2; }\\n :host.gu-transit .list-group-item {\\n background: #f5f5f5; }\\n\\n.action--item {\\n display: flex;\\n flex-shrink: 0;\\n border: 0;\\n border-bottom: 1px solid #ddd; }\\n .action--item icon {\\n margin: 0 5px; }\\n .action--item > div {\\n display: flex;\\n flex: 1; }\\n .action--item:first-child {\\n border-radius: 0; }\\n .action--item.is-editing {\\n background: #f5f5f5; }\\n .action--item--wrap {\\n justify-content: space-between; }\\n .action--item--wrap.pointer:hover {\\n cursor: pointer;\\n color: #337ab7; }\\n\\n.action--title {\\n display: flex;\\n flex: 1; }\\n\\n.action--movable:hover {\\n cursor: move; }\\n\\n.list-group-item {\\n margin-bottom: 0; }\\n\\n.macro-action-editor__container {\\n padding-top: 0;\\n padding-bottom: 0;\\n border-radius: 0;\\n border: none;\\n overflow: hidden; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/item/macro-item.component.scss\n// module id = 204\n// module chunks = 0","export { MacroActionEditorComponent } from './macro-action-editor.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/action-editor/index.ts","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\n\r\nimport {\r\n EditableMacroAction,\r\n MacroAction,\r\n TextMacroAction,\r\n macroActionType\r\n} from '../../../config-serializer/config-items/macro-action';\r\nimport { MacroKeyTabComponent } from './tab/key';\r\n\r\nenum TabName {\r\n Keypress,\r\n Text,\r\n Mouse,\r\n Delay\r\n};\r\n\r\n@Component({\r\n selector: 'macro-action-editor',\r\n template: require('./macro-action-editor.component.html'),\r\n styles: [require('./macro-action-editor.component.scss')],\r\n host: { 'class': 'macro-action-editor' }\r\n})\r\nexport class MacroActionEditorComponent implements OnInit {\r\n @Input() macroAction: MacroAction;\r\n\r\n @Output() save = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n\r\n @ViewChild('tab') selectedTab: any;\r\n\r\n private editableMacroAction: EditableMacroAction;\r\n private activeTab: TabName;\r\n /* tslint:disable:variable-name: It is an enum type. So it can start with uppercase. */\r\n /* tslint:disable:no-unused-variable: It is used in the template. */\r\n private TabName = TabName;\r\n /* tslint:enable:no-unused-variable */\r\n /* tslint:enable:variable-name */\r\n\r\n ngOnInit() {\r\n let macroAction: MacroAction = this.macroAction ? this.macroAction : new TextMacroAction();\r\n this.editableMacroAction = new EditableMacroAction(macroAction.toJsonObject());\r\n let tab: TabName = this.getTabName(this.editableMacroAction);\r\n this.activeTab = tab;\r\n }\r\n\r\n onCancelClick(): void {\r\n this.cancel.emit();\r\n }\r\n\r\n onSaveClick(): void {\r\n try {\r\n const action = this.editableMacroAction;\r\n if (action.isKeyAction()) {\r\n // Could updating the saved keys be done in a better way?\r\n const tab = this.selectedTab as MacroKeyTabComponent;\r\n action.fromKeyAction(tab.getKeyAction());\r\n }\r\n this.save.emit(action.toClass());\r\n } catch (e) {\r\n // TODO: show error dialog\r\n console.error(e);\r\n }\r\n }\r\n\r\n selectTab(tab: TabName): void {\r\n this.activeTab = tab;\r\n this.editableMacroAction.macroActionType = this.getTabMacroActionType(tab);\r\n }\r\n\r\n getTabName(action: EditableMacroAction): TabName {\r\n switch (action.macroActionType) {\r\n // Delay action\r\n case macroActionType.DelayMacroAction:\r\n return TabName.Delay;\r\n // Text action\r\n case macroActionType.TextMacroAction:\r\n return TabName.Text;\r\n // Keypress actions\r\n case macroActionType.KeyMacroAction:\r\n return TabName.Keypress;\r\n // Mouse actions\r\n case macroActionType.MouseButtonMacroAction:\r\n case macroActionType.MoveMouseMacroAction:\r\n case macroActionType.ScrollMouseMacroAction:\r\n return TabName.Mouse;\r\n default:\r\n return TabName.Keypress;\r\n }\r\n }\r\n\r\n getTabMacroActionType(tab: TabName): string {\r\n switch (tab) {\r\n case TabName.Delay:\r\n return macroActionType.DelayMacroAction;\r\n case TabName.Keypress:\r\n return macroActionType.KeyMacroAction;\r\n case TabName.Mouse:\r\n return macroActionType.MouseButtonMacroAction;\r\n case TabName.Text:\r\n return macroActionType.TextMacroAction;\r\n default:\r\n throw new Error('Could not get macro action type');\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/action-editor/macro-action-editor.component.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/action-editor/macro-action-editor.component.html\n// module id = 207\n// module chunks = 0","module.exports = \":host {\\n display: block;\\n width: 100%; }\\n\\n.action--editor {\\n padding-top: 0;\\n padding-bottom: 0;\\n border-radius: 0;\\n border: 0; }\\n\\n.nav {\\n padding-bottom: 1rem; }\\n .nav li a {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0; }\\n .nav li a.selected {\\n font-style: italic; }\\n .nav li a:hover {\\n cursor: pointer; }\\n .nav li.active {\\n z-index: 2; }\\n .nav li.active a.selected {\\n font-style: normal; }\\n .nav li.active a:after {\\n content: '';\\n display: block;\\n position: absolute;\\n width: 0;\\n height: 0;\\n top: 0;\\n right: -4rem;\\n border-color: transparent transparent transparent #337ab7;\\n border-style: solid;\\n border-width: 2rem; }\\n\\n.editor__tabs, .editor__tab-links {\\n padding-top: 1rem; }\\n\\n.editor__tabs {\\n border-left: 1px solid #ddd;\\n margin-left: -1.6rem;\\n padding-left: 3rem; }\\n\\n.editor__actions {\\n float: right; }\\n .editor__actions-container {\\n background: #f5f5f5;\\n border-top: 1px solid #ddd;\\n border-bottom: 1px solid #ddd;\\n padding: 1rem 1.5rem; }\\n\\n.flex-button-wrapper {\\n display: flex;\\n flex-direction: row-reverse; }\\n\\n.flex-button {\\n align-self: flex-end; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/action-editor/macro-action-editor.component.scss\n// module id = 208\n// module chunks = 0","export { MacroDelayTabComponent } from './delay';\r\nexport { MacroKeyTabComponent } from './key';\r\nexport { MacroMouseTabComponent } from './mouse';\r\nexport { MacroTextTabComponent } from './text';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/action-editor/tab/index.ts","export { MacroDelayTabComponent } from './macro-delay.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/action-editor/tab/delay/index.ts","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n ViewChild\r\n} from '@angular/core';\r\n\r\nimport { EditableMacroAction } from '../../../../../config-serializer/config-items/macro-action';\r\n\r\nconst INITIAL_DELAY = 0.5; // In seconds\r\n\r\n@Component({\r\n selector: 'macro-delay-tab',\r\n template: require('./macro-delay.component.html'),\r\n styles: [require('./macro-delay.component.scss')],\r\n host: { 'class': 'macro__delay' },\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MacroDelayTabComponent implements OnInit {\r\n @Input() macroAction: EditableMacroAction;\r\n @ViewChild('macroDelayInput') input: ElementRef;\r\n\r\n private delay: number;\r\n /* tslint:disable:no-unused-variable: It is used in the template. */\r\n private presets: number[] = [0.3, 0.5, 0.8, 1, 2, 3, 4, 5];\r\n /* tslint:enable:no-unused-variable */\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.delay = this.macroAction.delay > 0 ? this.macroAction.delay / 1000 : INITIAL_DELAY;\r\n }\r\n\r\n setDelay(value: number): void {\r\n this.delay = value;\r\n this.macroAction.delay = this.delay * 1000;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/action-editor/tab/delay/macro-delay.component.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

Enter delay in seconds

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Choose a preset
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/action-editor/tab/delay/macro-delay.component.html\n// module id = 212\n// module chunks = 0","module.exports = \":host {\\n display: flex;\\n flex-direction: column;\\n position: relative; }\\n\\n.macro-delay__presets {\\n margin-top: 1rem; }\\n .macro-delay__presets button {\\n margin-right: 0.25rem;\\n margin-bottom: 0.25rem; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/action-editor/tab/delay/macro-delay.component.scss\n// module id = 213\n// module chunks = 0","export { MacroKeyTabComponent } from './macro-key.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/action-editor/tab/key/index.ts","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\n\r\nimport { KeyAction } from '../../../../../config-serializer/config-items/key-action';\r\nimport { EditableMacroAction, MacroSubAction } from '../../../../../config-serializer/config-items/macro-action';\r\nimport { KeypressTabComponent } from '../../../../popover/tab';\r\nimport { Tab } from '../../../../popover/tab';\r\n\r\nenum TabName {\r\n Keypress,\r\n Hold,\r\n Release\r\n}\r\n\r\n@Component({\r\n selector: 'macro-key-tab',\r\n template: require('./macro-key.component.html'),\r\n styles: [\r\n require('../../macro-action-editor.component.scss'),\r\n require('./macro-key.component.scss')\r\n ],\r\n host: { 'class': 'macro__mouse' }\r\n})\r\nexport class MacroKeyTabComponent implements OnInit {\r\n @Input() macroAction: EditableMacroAction;\r\n @ViewChild('tab') selectedTab: Tab;\r\n @ViewChild('keypressTab') keypressTab: KeypressTabComponent;\r\n\r\n private defaultKeyAction: KeyAction;\r\n\r\n private activeTab: TabName;\r\n /* tslint:disable:variable-name: It is an enum type. So it can start with uppercase. */\r\n /* tslint:disable:no-unused-variable: It is used in the template. */\r\n private TabName = TabName;\r\n /* tslint:enable:no-unused-variable */\r\n /* tslint:enable:variable-name */\r\n\r\n ngOnInit() {\r\n this.defaultKeyAction = this.macroAction.toKeystrokeAction();\r\n this.selectTab(this.getTabName(this.macroAction));\r\n }\r\n\r\n selectTab(tab: TabName): void {\r\n this.activeTab = tab;\r\n this.macroAction.action = this.getActionType(tab);\r\n }\r\n\r\n getTabName(action: EditableMacroAction): TabName {\r\n if (!action.action || action.isOnlyPressAction()) {\r\n return TabName.Keypress;\r\n } else if (action.isOnlyHoldAction()) {\r\n return TabName.Hold;\r\n } else if (action.isOnlyReleaseAction()) {\r\n return TabName.Release;\r\n }\r\n }\r\n\r\n getActionType(tab: TabName): MacroSubAction {\r\n switch (tab) {\r\n case TabName.Keypress:\r\n return MacroSubAction.press;\r\n case TabName.Hold:\r\n return MacroSubAction.hold;\r\n case TabName.Release:\r\n return MacroSubAction.release;\r\n default:\r\n throw new Error('Invalid tab type');\r\n }\r\n }\r\n\r\n getKeyAction(): KeyAction {\r\n return this.keypressTab.toKeyAction();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/action-editor/tab/key/macro-key.component.ts","export * from './tab';\r\nexport { KeymapTabComponent } from './keymap';\r\nexport { KeypressTabComponent } from './keypress';\r\nexport { LayerTabComponent } from './layer';\r\nexport { MacroTabComponent } from './macro';\r\nexport { MouseTabComponent } from './mouse';\r\nexport { NoneTabComponent } from './none';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/tab/index.ts","import { EventEmitter, Output } from '@angular/core';\r\n\r\nimport { KeyAction } from '../../../config-serializer/config-items/key-action';\r\n\r\nexport abstract class Tab {\r\n @Output() validAction = new EventEmitter();\r\n\r\n abstract keyActionValid(): boolean;\r\n abstract fromKeyAction(keyAction: KeyAction): boolean;\r\n abstract toKeyAction(): KeyAction;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/tab/tab.ts","export * from './keymap-tab.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/tab/keymap/index.ts","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\n\r\nimport { Select2OptionData } from 'ng2-select2/ng2-select2';\r\n\r\nimport { KeyAction, SwitchKeymapAction } from '../../../../config-serializer/config-items/key-action';\r\nimport { Keymap } from '../../../../config-serializer/config-items/Keymap';\r\nimport { Tab } from '../tab';\r\n\r\n@Component({\r\n selector: 'keymap-tab',\r\n template: require('./keymap-tab.component.html'),\r\n styles: [require('./keymap-tab.component.scss')],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class KeymapTabComponent extends Tab implements OnInit, OnChanges {\r\n @Input() defaultKeyAction: KeyAction;\r\n @Input() keymaps: Keymap[];\r\n\r\n private keymapOptions: Array;\r\n private selectedKeymap: Keymap;\r\n\r\n constructor() {\r\n super();\r\n this.keymapOptions = [];\r\n }\r\n\r\n ngOnInit() {\r\n this.keymapOptions = this.keymaps\r\n .map((keymap: Keymap): Select2OptionData => {\r\n return {\r\n id: keymap.abbreviation,\r\n text: keymap.name\r\n };\r\n });\r\n if (this.keymaps.length > 0) {\r\n this.selectedKeymap = this.keymaps[0];\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n this.fromKeyAction(this.defaultKeyAction);\r\n this.validAction.emit(true);\r\n }\r\n\r\n // TODO: change to the correct type when the wrapper has added it.\r\n onChange(event: any) {\r\n if (event.value === '-1') {\r\n this.selectedKeymap = undefined;\r\n } else {\r\n this.selectedKeymap = this.keymaps.find((keymap: Keymap) => keymap.abbreviation === event.value);\r\n }\r\n }\r\n\r\n keyActionValid(): boolean {\r\n return !!this.selectedKeymap;\r\n }\r\n\r\n fromKeyAction(keyAction: KeyAction): boolean {\r\n if (!(keyAction instanceof SwitchKeymapAction)) {\r\n return false;\r\n }\r\n\r\n const switchKeymapAction: SwitchKeymapAction = keyAction;\r\n this.selectedKeymap = this.keymaps\r\n .find((keymap: Keymap) => keymap.abbreviation === switchKeymapAction.keymapAbbreviation);\r\n }\r\n\r\n toKeyAction(): SwitchKeymapAction {\r\n if (!this.keyActionValid()) {\r\n throw new Error('KeyAction is not valid. No selected keymap!');\r\n }\r\n\r\n const keymapAction = new SwitchKeymapAction();\r\n keymapAction.keymapAbbreviation = this.selectedKeymap.abbreviation;\r\n return keymapAction;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/tab/keymap/keymap-tab.component.ts","module.exports = \"\\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/popover/tab/keymap/keymap-tab.component.html\n// module id = 220\n// module chunks = 0","module.exports = \":host {\\n display: flex;\\n flex-direction: column; }\\n :host > span {\\n text-align: center; }\\n :host > div {\\n display: flex;\\n margin-top: 2px; }\\n :host > div b {\\n display: flex;\\n align-items: center;\\n margin-right: 7px; }\\n :host > div select2 {\\n flex: 1; }\\n :host > div:last-child {\\n margin-top: 10px; }\\n :host > div:last-child img {\\n max-height: 100%;\\n max-width: 100%; }\\n\\n.empty {\\n display: flex; }\\n .empty img {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n position: relative; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/popover/tab/keymap/keymap-tab.component.scss\n// module id = 221\n// module chunks = 0","export * from './keypress-tab.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/tab/keypress/index.ts","import { Component, Input, EventEmitter, OnChanges, Output } from '@angular/core';\r\n\r\nimport { Select2OptionData, Select2TemplateFunction } from 'ng2-select2';\r\n\r\nimport { KeyAction, KeystrokeAction } from '../../../../config-serializer/config-items/key-action';\r\n\r\nimport { Tab } from '../tab';\r\nimport { MapperService } from '../../../../services/mapper.service';\r\n\r\n@Component({\r\n selector: 'keypress-tab',\r\n template: require('./keypress-tab.component.html'),\r\n styles: [require('./keypress-tab.component.scss')]\r\n})\r\nexport class KeypressTabComponent extends Tab implements OnChanges {\r\n @Input() defaultKeyAction: KeyAction;\r\n @Input() longPressEnabled: boolean;\r\n\r\n private leftModifiers: string[];\r\n private rightModifiers: string[];\r\n\r\n private leftModifierSelects: boolean[];\r\n private rightModifierSelects: boolean[];\r\n\r\n private scanCodeGroups: Array;\r\n private longPressGroups: Array;\r\n private options: Select2Options;\r\n\r\n private scanCode: number;\r\n private selectedLongPressIndex: number;\r\n\r\n constructor(private mapper: MapperService) {\r\n super();\r\n this.leftModifiers = ['LShift', 'LCtrl', 'LSuper', 'LAlt'];\r\n this.rightModifiers = ['RShift', 'RCtrl', 'RSuper', 'RAlt'];\r\n this.scanCodeGroups = [{\r\n id: '0',\r\n text: 'None'\r\n }];\r\n this.scanCodeGroups = this.scanCodeGroups.concat(require('json!./scancodes.json'));\r\n this.longPressGroups = require('json!./longPress.json');\r\n this.leftModifierSelects = Array(this.leftModifiers.length).fill(false);\r\n this.rightModifierSelects = Array(this.rightModifiers.length).fill(false);\r\n this.scanCode = 0;\r\n this.selectedLongPressIndex = -1;\r\n this.options = {\r\n templateResult: this.scanCodeTemplateResult,\r\n matcher: (term: string, text: string, data: Select2OptionData) => {\r\n let found = text.toUpperCase().indexOf(term.toUpperCase()) > -1;\r\n\r\n if (!found && data.additional && data.additional.explanation) {\r\n found = data.additional.explanation.toUpperCase().indexOf(term.toUpperCase()) > -1;\r\n }\r\n\r\n return found;\r\n }\r\n };\r\n }\r\n\r\n ngOnChanges() {\r\n this.fromKeyAction(this.defaultKeyAction);\r\n this.validAction.emit(this.keyActionValid());\r\n }\r\n\r\n keyActionValid(keystrokeAction?: KeystrokeAction): boolean {\r\n if (!keystrokeAction) {\r\n keystrokeAction = this.toKeyAction();\r\n }\r\n\r\n return (keystrokeAction) ? (keystrokeAction.scancode > 0 || keystrokeAction.modifierMask > 0) : false;\r\n }\r\n\r\n onKeysCapture(event: {code: number, left: boolean[], right: boolean[]}) {\r\n if (event.code) {\r\n this.scanCode = event.code;\r\n } else {\r\n this.scanCode = 0;\r\n }\r\n\r\n this.leftModifierSelects = event.left;\r\n this.rightModifierSelects = event.right;\r\n this.validAction.emit(this.keyActionValid());\r\n }\r\n\r\n fromKeyAction(keyAction: KeyAction): boolean {\r\n if (!(keyAction instanceof KeystrokeAction)) {\r\n return false;\r\n }\r\n let keystrokeAction: KeystrokeAction = keyAction;\r\n // Restore scancode\r\n this.scanCode = keystrokeAction.scancode || 0;\r\n\r\n let leftModifiersLength: number = this.leftModifiers.length;\r\n\r\n // Restore modifiers\r\n for (let i = 0; i < leftModifiersLength; ++i) {\r\n this.leftModifierSelects[this.mapper.modifierMapper(i)] = ((keystrokeAction.modifierMask >> i) & 1) === 1;\r\n }\r\n\r\n for (let i = leftModifiersLength; i < leftModifiersLength + this.rightModifierSelects.length; ++i) {\r\n let index: number = this.mapper.modifierMapper(i) - leftModifiersLength;\r\n this.rightModifierSelects[index] = ((keystrokeAction.modifierMask >> i) & 1) === 1;\r\n }\r\n\r\n // Restore longPressAction\r\n if (keystrokeAction.longPressAction !== undefined) {\r\n this.selectedLongPressIndex = this.mapper.modifierMapper(keystrokeAction.longPressAction);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n toKeyAction(): KeystrokeAction {\r\n let keystrokeAction: KeystrokeAction = new KeystrokeAction();\r\n keystrokeAction.scancode = this.scanCode;\r\n\r\n keystrokeAction.modifierMask = 0;\r\n let modifiers = this.leftModifierSelects.concat(this.rightModifierSelects).map(x => x ? 1 : 0);\r\n for (let i = 0; i < modifiers.length; ++i) {\r\n keystrokeAction.modifierMask |= modifiers[i] << this.mapper.modifierMapper(i);\r\n }\r\n\r\n keystrokeAction.longPressAction = this.selectedLongPressIndex === -1\r\n ? undefined\r\n : this.mapper.modifierMapper(this.selectedLongPressIndex);\r\n\r\n if (this.keyActionValid(keystrokeAction)) {\r\n return keystrokeAction;\r\n }\r\n }\r\n\r\n scanCodeTemplateResult: Select2TemplateFunction = (state: Select2OptionData): JQuery | string => {\r\n if (!state.id) {\r\n return state.text;\r\n }\r\n\r\n if (state.additional && state.additional.explanation) {\r\n return jQuery(\r\n ''\r\n + '' + state.text + ''\r\n + ' '\r\n + state.additional.explanation\r\n + '' +\r\n ''\r\n );\r\n } else {\r\n return jQuery('' + state.text + '');\r\n }\r\n }\r\n\r\n toggleModifier(right: boolean, index: number) {\r\n let modifierSelects: boolean[] = right ? this.rightModifierSelects : this.leftModifierSelects;\r\n modifierSelects[index] = !modifierSelects[index];\r\n\r\n this.validAction.emit(this.keyActionValid());\r\n }\r\n\r\n onLongpressChange(event: {value: string}) {\r\n this.selectedLongPressIndex = +event.value;\r\n }\r\n\r\n onScancodeChange(event: {value: string}) {\r\n this.scanCode = +event.value;\r\n this.validAction.emit(this.keyActionValid());\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/tab/keypress/keypress-tab.component.ts","module.exports = [\n\t{\n\t\t\"text\": \"Alphabet\",\n\t\t\"children\": [\n\t\t\t{\n\t\t\t\t\"id\": \"4\",\n\t\t\t\t\"text\": \"A\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"5\",\n\t\t\t\t\"text\": \"B\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"6\",\n\t\t\t\t\"text\": \"C\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"7\",\n\t\t\t\t\"text\": \"D\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"8\",\n\t\t\t\t\"text\": \"E\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"9\",\n\t\t\t\t\"text\": \"F\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"10\",\n\t\t\t\t\"text\": \"G\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"11\",\n\t\t\t\t\"text\": \"H\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"12\",\n\t\t\t\t\"text\": \"I\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"13\",\n\t\t\t\t\"text\": \"J\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"14\",\n\t\t\t\t\"text\": \"K\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"15\",\n\t\t\t\t\"text\": \"L\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"16\",\n\t\t\t\t\"text\": \"M\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"17\",\n\t\t\t\t\"text\": \"N\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"18\",\n\t\t\t\t\"text\": \"O\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"19\",\n\t\t\t\t\"text\": \"P\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"20\",\n\t\t\t\t\"text\": \"Q\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"21\",\n\t\t\t\t\"text\": \"R\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"22\",\n\t\t\t\t\"text\": \"S\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"23\",\n\t\t\t\t\"text\": \"T\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"24\",\n\t\t\t\t\"text\": \"U\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"25\",\n\t\t\t\t\"text\": \"V\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"26\",\n\t\t\t\t\"text\": \"W\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"27\",\n\t\t\t\t\"text\": \"X\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"28\",\n\t\t\t\t\"text\": \"Y\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"29\",\n\t\t\t\t\"text\": \"Z\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"text\": \"Number Row\",\n\t\t\"children\": [\n\t\t\t{\n\t\t\t\t\"id\": \"30\",\n\t\t\t\t\"text\": \"1 !\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"31\",\n\t\t\t\t\"text\": \"2 @\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"32\",\n\t\t\t\t\"text\": \"3 #\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"33\",\n\t\t\t\t\"text\": \"4 $\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"34\",\n\t\t\t\t\"text\": \"5 %\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"35\",\n\t\t\t\t\"text\": \"6 ^\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"36\",\n\t\t\t\t\"text\": \"7 &\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"37\",\n\t\t\t\t\"text\": \"8 *\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"38\",\n\t\t\t\t\"text\": \"9 (\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"39\",\n\t\t\t\t\"text\": \"0 )\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"text\": \"Whitespace\",\n\t\t\"children\": [\n\t\t\t{\n\t\t\t\t\"id\": \"40\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"Return\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"Enter\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"41\",\n\t\t\t\t\"text\": \"Escape\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"42\",\n\t\t\t\t\"text\": \"Backspace\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"43\",\n\t\t\t\t\"text\": \"Tab\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"44\",\n\t\t\t\t\"text\": \"Space\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"text\": \"Punctuation\",\n\t\t\"children\": [\n\t\t\t{\n\t\t\t\t\"id\": \"45\",\n\t\t\t\t\"text\": \"- _\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"46\",\n\t\t\t\t\"text\": \"= +\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"47\",\n\t\t\t\t\"text\": \"[ {\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"48\",\n\t\t\t\t\"text\": \"] }\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"49\",\n\t\t\t\t\"text\": \"\\\\ |\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"51\",\n\t\t\t\t\"text\": \"; :\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"52\",\n\t\t\t\t\"text\": \"' \\\"\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"53\",\n\t\t\t\t\"text\": \"` ~\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"54\",\n\t\t\t\t\"text\": \", <\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"55\",\n\t\t\t\t\"text\": \". >\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"56\",\n\t\t\t\t\"text\": \"/ ?\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"text\": \"Function keys\",\n\t\t\"children\": [\n\t\t\t{\n\t\t\t\t\"id\": \"58\",\n\t\t\t\t\"text\": \"F1\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"59\",\n\t\t\t\t\"text\": \"F2\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"60\",\n\t\t\t\t\"text\": \"F3\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"61\",\n\t\t\t\t\"text\": \"F4\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"62\",\n\t\t\t\t\"text\": \"F5\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"63\",\n\t\t\t\t\"text\": \"F6\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"64\",\n\t\t\t\t\"text\": \"F7\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"65\",\n\t\t\t\t\"text\": \"F8\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"66\",\n\t\t\t\t\"text\": \"F9\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"67\",\n\t\t\t\t\"text\": \"F10\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"68\",\n\t\t\t\t\"text\": \"F11\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"69\",\n\t\t\t\t\"text\": \"F12\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"104\",\n\t\t\t\t\"text\": \"F13\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"105\",\n\t\t\t\t\"text\": \"F14\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"106\",\n\t\t\t\t\"text\": \"F15\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"107\",\n\t\t\t\t\"text\": \"F16\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"108\",\n\t\t\t\t\"text\": \"F17\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"109\",\n\t\t\t\t\"text\": \"F18\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"110\",\n\t\t\t\t\"text\": \"F19\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"111\",\n\t\t\t\t\"text\": \"F20\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"112\",\n\t\t\t\t\"text\": \"F21\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"113\",\n\t\t\t\t\"text\": \"F22\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"114\",\n\t\t\t\t\"text\": \"F23\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"115\",\n\t\t\t\t\"text\": \"F24\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"text\": \"Navigation\",\n\t\t\"children\": [\n\t\t\t{\n\t\t\t\t\"id\": \"74\",\n\t\t\t\t\"text\": \"Home\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"75\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"PgUp pageup\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"Page Up\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"77\",\n\t\t\t\t\"text\": \"End\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"78\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"PgDn pagedown\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"Page Down\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"79\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"ArrowRight\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"Right Arrow\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"80\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"ArrowLeft\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"Left Arrow\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"81\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"ArrowDown\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"Down Arrow\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"82\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"ArrowUp\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"Up Arrow\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"text\": \"Numpad\",\n\t\t\"children\": [\n\t\t\t{\n\t\t\t\t\"id\": \"83\",\n\t\t\t\t\"text\": \"NumLock\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"84\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"slash\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"/\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"85\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"asterisk\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"*\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"86\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"minus\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"-\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"87\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"plus\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"+\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"88\",\n\t\t\t\t\"text\": \"Enter\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"89\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"one\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"1\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"90\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"two\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"2\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"91\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"three\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"3\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"92\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"four\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"4\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"93\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"five\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"5\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"94\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"six\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"6\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"95\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"seven\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"7\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"96\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"eight\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"8\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"97\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"nine\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"9\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"98\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"zero\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"0\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"99\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"Period\"\n\t\t\t\t},\n\t\t\t\t\"text\": \".\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"176\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"Doublezero\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"00\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"177\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"Triplezero\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"000\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"text\": \"Misc\",\n\t\t\"children\": [\n\t\t\t{\n\t\t\t\t\"id\": \"118\",\n\t\t\t\t\"text\": \"Menu\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"73\",\n\t\t\t\t\"text\": \"Insert\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"76\",\n\t\t\t\t\"additional\": {\n\t\t\t\t\t\"explanation\": \"Delete Forward\"\n\t\t\t\t},\n\t\t\t\t\"text\": \"Delete\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"57\",\n\t\t\t\t\"text\": \"CapsLock\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"70\",\n\t\t\t\t\"text\": \"PrintScreen\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"71\",\n\t\t\t\t\"text\": \"ScrollLock\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"72\",\n\t\t\t\t\"text\": \"Pause\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"text\": \"Media Keys\",\n\t\t\"children\": [\n\t\t\t{\n\t\t\t\t\"id\": \"127\",\n\t\t\t\t\"text\": \"Mute\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"128\",\n\t\t\t\t\"text\": \"Volume Up\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"129\",\n\t\t\t\t\"text\": \"Volume Down\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"\",\n\t\t\t\t\"text\": \"Next Track\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"\",\n\t\t\t\t\"text\": \"Previous Track\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"\",\n\t\t\t\t\"text\": \"Stop\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"\",\n\t\t\t\t\"text\": \"Play/Pause\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"\",\n\t\t\t\t\"text\": \"Eject\"\n\t\t\t}\n\t\t]\n\t}\n];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/json-loader!./shared/src/components/popover/tab/keypress/scancodes.json\n// module id = 224\n// module chunks = 0","module.exports = [\n\t{\n\t\t\"id\": \"-1\",\n\t\t\"text\": \"None\"\n\t},\n\t{\n\t\t\"text\": \"Modifiers\",\n\t\t\"children\": [\n\t\t\t{\n\t\t\t\t\"id\": \"0\",\n\t\t\t\t\"text\": \"LShift\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"1\",\n\t\t\t\t\"text\": \"LCtrl\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"2\",\n\t\t\t\t\"text\": \"LSuper\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"3\",\n\t\t\t\t\"text\": \"LAlt\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"4\",\n\t\t\t\t\"text\": \"RShift\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"5\",\n\t\t\t\t\"text\": \"RCtrl\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"6\",\n\t\t\t\t\"text\": \"RSuper\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"7\",\n\t\t\t\t\"text\": \"RAlt\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"text\": \"Layer switcher\",\n\t\t\"children\": [\n\t\t\t{\n\t\t\t\t\"id\": \"8\",\n\t\t\t\t\"text\": \"Mod\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"9\",\n\t\t\t\t\"text\": \"Mouse\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"id\": \"10\",\n\t\t\t\t\"text\": \"Fn\"\n\t\t\t}\n\t\t]\n\t}\n];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/json-loader!./shared/src/components/popover/tab/keypress/longPress.json\n// module id = 225\n// module chunks = 0","module.exports = \"
\\r\\n Scancode:\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Modifiers:\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Long press action:\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n When a key is configured as layer switcher key, you can't assign other functions to it.\\r\\n To assign a scancode to the key, set the Layer action to None.\\r\\n
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/popover/tab/keypress/keypress-tab.component.html\n// module id = 226\n// module chunks = 0","module.exports = \":host {\\n display: flex;\\n flex-direction: column;\\n position: relative; }\\n :host .scancode-options {\\n margin-bottom: 10px;\\n margin-top: 2px; }\\n :host .scancode-options > b {\\n position: relative;\\n top: 2px; }\\n :host .modifier-options > b {\\n position: relative;\\n top: -9px;\\n margin-right: 4px; }\\n :host .modifier-options .btn-toolbar {\\n display: inline-block; }\\n :host .long-press-container {\\n display: flex;\\n margin-top: 3rem; }\\n :host .long-press-container > b {\\n margin-right: 0.6em;\\n align-items: center;\\n display: flex; }\\n :host .long-press-container .secondary-role {\\n width: 135px; }\\n :host .long-press-container icon {\\n margin-left: 0.6em; }\\n :host .setting-label.disabled {\\n color: #999; }\\n :host .disabled-state--text {\\n display: none;\\n position: absolute;\\n top: 50%;\\n margin-top: -4rem;\\n color: #31708f;\\n padding-right: 40px; }\\n :host .disabled-state--text .fa {\\n font-size: 2.6rem;\\n float: left;\\n padding: 1rem 1.5rem 2rem; }\\n :host.disabled .scancode-options,\\n :host.disabled .modifier-options,\\n :host.disabled .long-press-container {\\n visibility: hidden; }\\n :host.disabled .disabled-state--text {\\n display: block; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/popover/tab/keypress/keypress-tab.component.scss\n// module id = 227\n// module chunks = 0","export * from './layer-tab.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/tab/layer/index.ts","import { Component, EventEmitter, HostBinding, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\r\n\r\nimport { KeyAction, LayerName, SwitchLayerAction } from '../../../../config-serializer/config-items/key-action';\r\n\r\nimport { Tab } from '../tab';\r\n\r\n@Component({\r\n selector: 'layer-tab',\r\n template: require('./layer-tab.component.html'),\r\n styles: [require('./layer-tab.component.scss')]\r\n})\r\nexport class LayerTabComponent extends Tab implements OnChanges {\r\n @Input() defaultKeyAction: KeyAction;\r\n @Input() currentLayer: number;\r\n\r\n @HostBinding('class.no-base') isNotBase: boolean;\r\n\r\n toggleData: { id: boolean, text: string }[] = [\r\n {\r\n id: false,\r\n text: 'Activate'\r\n },\r\n {\r\n id: true,\r\n text: 'Toggle'\r\n }\r\n ];\r\n\r\n layerData: { id: number, text: string }[] = [\r\n {\r\n id: 0,\r\n text: 'Mod'\r\n },\r\n {\r\n id: 1,\r\n text: 'Fn'\r\n },\r\n {\r\n id: 2,\r\n text: 'Mouse'\r\n }\r\n ];\r\n\r\n private toggle: boolean;\r\n private layer: LayerName;\r\n\r\n constructor() {\r\n super();\r\n this.toggle = false;\r\n this.layer = LayerName.mod;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['defaultKeyAction']) {\r\n this.fromKeyAction(this.defaultKeyAction);\r\n }\r\n\r\n if (changes['currentLayer']) {\r\n this.isNotBase = this.currentLayer > 0;\r\n }\r\n\r\n this.validAction.emit(true);\r\n }\r\n\r\n keyActionValid(): boolean {\r\n return !this.isNotBase;\r\n }\r\n\r\n fromKeyAction(keyAction: KeyAction): boolean {\r\n if (!(keyAction instanceof SwitchLayerAction)) {\r\n return false;\r\n }\r\n\r\n let switchLayerAction: SwitchLayerAction = keyAction;\r\n this.toggle = switchLayerAction.isLayerToggleable;\r\n this.layer = switchLayerAction.layer;\r\n return true;\r\n }\r\n\r\n toKeyAction(): SwitchLayerAction {\r\n let keyAction = new SwitchLayerAction();\r\n keyAction.isLayerToggleable = this.toggle;\r\n keyAction.layer = this.layer;\r\n if (!this.keyActionValid()) {\r\n throw new Error('KeyAction is invalid!');\r\n }\r\n return keyAction;\r\n }\r\n\r\n toggleChanged(value: string) {\r\n this.toggle = value === 'true';\r\n }\r\n\r\n layerChanged(value: number) {\r\n this.layer = +value;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/tab/layer/layer-tab.component.ts","module.exports = \"\\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/popover/tab/layer/layer-tab.component.html\n// module id = 230\n// module chunks = 0","module.exports = \":host {\\n display: flex;\\n margin: 0 -5px; }\\n :host.no-base {\\n justify-content: center; }\\n :host > span,\\n :host > select {\\n margin: 0 5px;\\n display: flex;\\n align-items: center; }\\n\\nselect {\\n background-color: #fff;\\n border: 1px solid #aaa;\\n border-radius: 4px;\\n padding: 4px 20px 4px 8px; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/popover/tab/layer/layer-tab.component.scss\n// module id = 231\n// module chunks = 0","export * from './macro-tab.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/tab/macro/index.ts","import { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output } from '@angular/core';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { Subscription } from 'rxjs/Subscription';\r\n\r\nimport { Select2OptionData } from 'ng2-select2/ng2-select2';\r\n\r\nimport { KeyAction, PlayMacroAction } from '../../../../config-serializer/config-items/key-action';\r\nimport { Macro } from '../../../../config-serializer/config-items/Macro';\r\n\r\nimport { Tab } from '../tab';\r\n\r\nimport { AppState } from '../../../../store/index';\r\nimport { getMacros } from '../../../../store/reducers/user-configuration';\r\n\r\n@Component({\r\n selector: 'macro-tab',\r\n template: require('./macro-tab.component.html'),\r\n styles: [require('./macro-tab.component.scss')]\r\n})\r\nexport class MacroTabComponent extends Tab implements OnInit, OnChanges, OnDestroy {\r\n @Input() defaultKeyAction: KeyAction;\r\n\r\n private macros: Macro[];\r\n private macroOptions: Array;\r\n private selectedMacroIndex: number;\r\n private subscription: Subscription;\r\n\r\n constructor(private store: Store) {\r\n super();\r\n this.subscription = store.let(getMacros())\r\n .subscribe((macros: Macro[]) => this.macros = macros);\r\n this.macroOptions = [];\r\n this.selectedMacroIndex = 0;\r\n }\r\n\r\n ngOnInit() {\r\n this.macroOptions = this.macros.map(function (macro: Macro, index: number): Select2OptionData {\r\n return {\r\n id: index.toString(),\r\n text: macro.name\r\n };\r\n });\r\n }\r\n\r\n ngOnChanges() {\r\n this.fromKeyAction(this.defaultKeyAction);\r\n this.validAction.emit(true);\r\n }\r\n\r\n // TODO: change to the correct type when the wrapper has added it.\r\n onChange(event: any) {\r\n this.selectedMacroIndex = +event.value;\r\n }\r\n\r\n keyActionValid(): boolean {\r\n return this.selectedMacroIndex >= 0;\r\n }\r\n\r\n fromKeyAction(keyAction: KeyAction): boolean {\r\n if (!(keyAction instanceof PlayMacroAction)) {\r\n return false;\r\n }\r\n const playMacroAction: PlayMacroAction = keyAction;\r\n this.selectedMacroIndex = this.macros.findIndex(macro => playMacroAction.macroId === macro.id);\r\n return true;\r\n }\r\n\r\n toKeyAction(): PlayMacroAction {\r\n if (!this.keyActionValid()) {\r\n throw new Error('KeyAction is not valid. No selected macro!');\r\n }\r\n\r\n const keymapAction = new PlayMacroAction();\r\n keymapAction.macroId = this.macros[this.selectedMacroIndex].id;\r\n return keymapAction;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/tab/macro/macro-tab.component.ts","module.exports = \"\\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/popover/tab/macro/macro-tab.component.html\n// module id = 234\n// module chunks = 0","module.exports = \":host {\\n display: flex;\\n flex-direction: column; }\\n :host > span {\\n text-align: center; }\\n :host .macro-selector {\\n display: flex;\\n margin-top: 2px; }\\n :host .macro-selector b {\\n display: flex;\\n align-items: center;\\n margin-right: 7px; }\\n :host .macro-selector select2 {\\n flex: 1; }\\n :host .macro-action-container {\\n display: flex;\\n flex-direction: column;\\n min-height: 200px;\\n max-height: 300px;\\n margin: 20px 0;\\n overflow-x: hidden;\\n overflow-y: auto;\\n border-radius: 4px;\\n border: 1px solid #ddd; }\\n :host .macro-action-container .list-group {\\n margin-bottom: 0;\\n border: 0; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/popover/tab/macro/macro-tab.component.scss\n// module id = 235\n// module chunks = 0","export * from './mouse-tab.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/tab/mouse/index.ts","import { Component, EventEmitter, Input, OnChanges, Output } from '@angular/core';\r\n\r\nimport { KeyAction, MouseAction, MouseActionParam } from '../../../../config-serializer/config-items/key-action';\r\nimport { Tab } from '../tab';\r\n\r\n@Component({\r\n selector: 'mouse-tab',\r\n template: require('./mouse-tab.component.html'),\r\n styles: [require('./mouse-tab.component.scss')]\r\n})\r\nexport class MouseTabComponent extends Tab implements OnChanges {\r\n @Input() defaultKeyAction: KeyAction;\r\n\r\n private mouseActionParam: MouseActionParam;\r\n private selectedPageIndex: number;\r\n /* tslint:disable:variable-name: It is an enum type. So it can start with uppercase. */\r\n /* tslint:disable:no-unused-variable: It is used in the template. */\r\n private MouseActionParam = MouseActionParam;\r\n /* tslint:enable:no-unused-variable tslint:enable:variable-name */\r\n\r\n private pages: string[];\r\n\r\n constructor() {\r\n super();\r\n this.selectedPageIndex = 0;\r\n this.pages = ['Move', 'Scroll', 'Click', 'Speed'];\r\n }\r\n\r\n ngOnChanges() {\r\n this.fromKeyAction(this.defaultKeyAction);\r\n this.validAction.emit(this.keyActionValid());\r\n }\r\n\r\n keyActionValid(): boolean {\r\n return this.mouseActionParam !== undefined;\r\n }\r\n\r\n fromKeyAction(keyAction: KeyAction): boolean {\r\n if (!(keyAction instanceof MouseAction)) {\r\n return false;\r\n }\r\n\r\n let mouseAction: MouseAction = keyAction;\r\n this.mouseActionParam = mouseAction.mouseAction;\r\n\r\n if (mouseAction.mouseAction === MouseActionParam.moveUp) {\r\n this.selectedPageIndex = 0;\r\n }\r\n\r\n switch (mouseAction.mouseAction) {\r\n case MouseActionParam.moveDown:\r\n case MouseActionParam.moveUp:\r\n case MouseActionParam.moveLeft:\r\n case MouseActionParam.moveRight:\r\n this.selectedPageIndex = 0;\r\n break;\r\n case MouseActionParam.scrollDown:\r\n case MouseActionParam.scrollUp:\r\n case MouseActionParam.scrollLeft:\r\n case MouseActionParam.scrollRight:\r\n this.selectedPageIndex = 1;\r\n break;\r\n case MouseActionParam.leftClick:\r\n case MouseActionParam.middleClick:\r\n case MouseActionParam.rightClick:\r\n this.selectedPageIndex = 2;\r\n break;\r\n case MouseActionParam.decelerate:\r\n case MouseActionParam.accelerate:\r\n this.selectedPageIndex = 3;\r\n break;\r\n default:\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n toKeyAction(): MouseAction {\r\n let mouseAction: MouseAction = new MouseAction();\r\n mouseAction.mouseAction = this.mouseActionParam;\r\n return mouseAction;\r\n }\r\n\r\n changePage(index: number) {\r\n if (index < -1 || index > 3) {\r\n console.error(`Invalid index error: ${index}`);\r\n return;\r\n }\r\n\r\n this.selectedPageIndex = index;\r\n this.mouseActionParam = undefined;\r\n this.validAction.emit(false);\r\n }\r\n\r\n setMouseActionParam(mouseActionParam: MouseActionParam) {\r\n this.mouseActionParam = mouseActionParam;\r\n this.validAction.emit(true);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/tab/mouse/mouse-tab.component.ts","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Press this key along with mouse movement/scrolling to accelerate/decelerate the speed of the action.

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

You can set the multiplier in the settings.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/popover/tab/mouse/mouse-tab.component.html\n// module id = 238\n// module chunks = 0","module.exports = \":host {\\n display: flex; }\\n :host.popover-content {\\n padding: 10px;\\n display: flex;\\n align-items: center; }\\n :host .mouse-action .nav {\\n border-right: 1px solid #ccc; }\\n :host .mouse-action .nav li a {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0; }\\n :host .mouse-action .nav li a.selected {\\n font-style: italic; }\\n :host .mouse-action .nav li.active a.selected {\\n font-style: normal; }\\n :host .mouse-action .nav li.active a:after {\\n content: '';\\n display: block;\\n position: absolute;\\n width: 0;\\n height: 0;\\n top: 0;\\n right: -4rem;\\n border-color: transparent transparent transparent #337ab7;\\n border-style: solid;\\n border-width: 2rem; }\\n :host .help-text--mouse-speed {\\n margin-bottom: 2rem;\\n font-size: 0.9em;\\n color: #666; }\\n :host .help-text--mouse-speed p {\\n margin: 0; }\\n :host .details .btn-placeholder {\\n visibility: hidden; }\\n\\n.mouse__config--speed .btn-default {\\n font-size: 25px;\\n line-height: 22px;\\n padding-top: 4px;\\n padding-bottom: 4px; }\\n .mouse__config--speed .btn-default span {\\n font-size: 13px;\\n display: block;\\n text-align: center; }\\n\\n.help-text--mouse-speed.last-help {\\n margin-bottom: 0;\\n margin-top: 2rem; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/popover/tab/mouse/mouse-tab.component.scss\n// module id = 239\n// module chunks = 0","export * from './none-tab.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/tab/none/index.ts","import { Component, EventEmitter, OnChanges, Output } from '@angular/core';\r\n\r\nimport { Tab } from '../tab';\r\n\r\n@Component({\r\n selector: 'none-tab',\r\n template: require('./none-tab.component.html'),\r\n styles: [require('./none-tab.component.scss')]\r\n})\r\nexport class NoneTabComponent extends Tab implements OnChanges {\r\n ngOnChanges(event: any) {\r\n this.validAction.emit(true);\r\n }\r\n\r\n keyActionValid(): boolean {\r\n return true;\r\n }\r\n\r\n fromKeyAction(): boolean {\r\n return false;\r\n }\r\n\r\n toKeyAction(): undefined {\r\n return undefined;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/tab/none/none-tab.component.ts","module.exports = \"This key is unassigned and has no functionality.\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/popover/tab/none/none-tab.component.html\n// module id = 242\n// module chunks = 0","module.exports = \":host {\\n display: flex;\\n justify-content: center;\\n padding: 2rem 0; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/popover/tab/none/none-tab.component.scss\n// module id = 243\n// module chunks = 0","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Press key

\\r\\n

Hold key

\\r\\n

Release key

\\r\\n \\r\\n
\\r\\n
\\r\\n
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/action-editor/tab/key/macro-key.component.html\n// module id = 244\n// module chunks = 0","module.exports = \".macro-key__container {\\n padding: 0; }\\n\\n.macro-key__types {\\n margin-left: 0;\\n padding: 0 0 1rem; }\\n\\n.macro-key__action {\\n padding-left: 3rem;\\n padding-bottom: 1rem; }\\n .macro-key__action-container {\\n margin-top: -1rem;\\n padding-top: 1rem;\\n border-left: 1px solid #ddd; }\\n\\n.fa {\\n min-width: 14px; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/action-editor/tab/key/macro-key.component.scss\n// module id = 245\n// module chunks = 0","export { MacroMouseTabComponent } from './macro-mouse.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/action-editor/tab/mouse/index.ts","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\n\r\nimport { EditableMacroAction, MacroSubAction, macroActionType } from '../../../../../config-serializer/config-items/macro-action';\r\nimport { Tab } from '../../../../popover/tab';\r\n\r\nenum TabName {\r\n Move,\r\n Scroll,\r\n Click,\r\n Hold,\r\n Release\r\n}\r\n\r\n@Component({\r\n selector: 'macro-mouse-tab',\r\n template: require('./macro-mouse.component.html'),\r\n styles: [\r\n require('../../macro-action-editor.component.scss'),\r\n require('./macro-mouse.component.scss')\r\n ],\r\n host: { 'class': 'macro__mouse' }\r\n})\r\nexport class MacroMouseTabComponent implements OnInit {\r\n @Input() macroAction: EditableMacroAction;\r\n @ViewChild('tab') selectedTab: Tab;\r\n\r\n private activeTab: TabName;\r\n private buttonLabels: string[];\r\n private selectedButtons: boolean[];\r\n /* tslint:disable:variable-name: It is an enum type. So it can start with uppercase. */\r\n /* tslint:disable:no-unused-variable: It is used in the template. */\r\n private TabName = TabName;\r\n /* tslint:enable:no-unused-variable */\r\n /* tslint:enable:variable-name */\r\n\r\n constructor() {\r\n this.buttonLabels = ['Left', 'Middle', 'Right'];\r\n this.selectedButtons = Array(this.buttonLabels.length).fill(false);\r\n }\r\n\r\n ngOnInit() {\r\n const tabName = this.getTabName(this.macroAction);\r\n this.selectTab(tabName);\r\n const buttonActions = [TabName.Click, TabName.Hold, TabName.Release];\r\n if (buttonActions.includes(this.activeTab)) {\r\n this.selectedButtons = this.macroAction.getMouseButtons();\r\n }\r\n }\r\n\r\n selectTab(tab: TabName): void {\r\n this.activeTab = tab;\r\n this.macroAction.macroActionType = this.getMacroActionType(tab);\r\n if (this.macroAction.macroActionType === macroActionType.MouseButtonMacroAction) {\r\n this.macroAction.action = this.getAction(tab);\r\n }\r\n }\r\n\r\n setMouseClick(index: number): void {\r\n this.selectedButtons[index] = !this.selectedButtons[index];\r\n this.macroAction.setMouseButtons(this.selectedButtons);\r\n }\r\n\r\n hasButton(index: number): boolean {\r\n return this.selectedButtons[index];\r\n }\r\n\r\n getAction(tab: TabName): MacroSubAction {\r\n switch (tab) {\r\n case TabName.Click:\r\n return MacroSubAction.press;\r\n case TabName.Hold:\r\n return MacroSubAction.hold;\r\n case TabName.Release:\r\n return MacroSubAction.release;\r\n default:\r\n throw new Error('Invalid tab name');\r\n }\r\n }\r\n\r\n getTabName(action: EditableMacroAction): TabName {\r\n if (action.macroActionType === macroActionType.MouseButtonMacroAction) {\r\n if (!action.action || action.isOnlyPressAction()) {\r\n return TabName.Click;\r\n } else if (action.isOnlyPressAction()) {\r\n return TabName.Hold;\r\n } else if (action.isOnlyReleaseAction()) {\r\n return TabName.Release;\r\n }\r\n } else if (action.macroActionType === macroActionType.MoveMouseMacroAction) {\r\n return TabName.Move;\r\n } else if (action.macroActionType === macroActionType.ScrollMouseMacroAction) {\r\n return TabName.Scroll;\r\n }\r\n return TabName.Move;\r\n }\r\n\r\n getMacroActionType(tab: TabName): string {\r\n if (tab === TabName.Click || tab === TabName.Hold || tab === TabName.Release) {\r\n return macroActionType.MouseButtonMacroAction;\r\n } else if (tab === TabName.Move) {\r\n return macroActionType.MoveMouseMacroAction;\r\n } else if (tab === TabName.Scroll) {\r\n return macroActionType.ScrollMouseMacroAction;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/action-editor/tab/mouse/macro-mouse.component.ts","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Move pointer

\\r\\n

Use negative values to move down or left from current position.

\\r\\n
\\r\\n
\\r\\n \\r\\n pixels\\r\\n
\\r\\n
\\r\\n \\r\\n pixels\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Scroll

\\r\\n

Use negative values to move down or left from current position.

\\r\\n
\\r\\n
\\r\\n \\r\\n pixels\\r\\n
\\r\\n
\\r\\n \\r\\n pixels\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Click mouse button

\\r\\n

Hold mouse button

\\r\\n

Release mouse button

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/action-editor/tab/mouse/macro-mouse.component.html\n// module id = 248\n// module chunks = 0","module.exports = \".macro-mouse__container {\\n padding: 0; }\\n\\n.macro-mouse__types {\\n border-right: 1px solid #ddd;\\n border-left: 0;\\n margin-top: -1rem;\\n margin-left: 0;\\n padding: 1rem 0; }\\n\\n.macro-mouse__actions {\\n padding-left: 3rem;\\n padding-bottom: 1rem; }\\n\\n.macro-mouse__buttons {\\n margin-top: 3rem;\\n margin-bottom: 1rem; }\\n\\n.fa {\\n min-width: 14px; }\\n\\n.form-horizontal .form-group {\\n margin: 0 0 0.5rem; }\\n\\n.form-horizontal label {\\n display: inline-block;\\n margin-right: 0.5rem; }\\n\\n.form-horizontal .form-control {\\n display: inline-block;\\n width: 60%; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/action-editor/tab/mouse/macro-mouse.component.scss\n// module id = 249\n// module chunks = 0","export { MacroTextTabComponent } from './macro-text.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/action-editor/tab/text/index.ts","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n Input,\r\n Renderer,\r\n ViewChild\r\n} from '@angular/core';\r\n\r\nimport { EditableMacroAction } from '../../../../../config-serializer/config-items/macro-action';\r\n\r\n@Component({\r\n selector: 'macro-text-tab',\r\n template: require('./macro-text.component.html'),\r\n styles: [require('./macro-text.component.scss')],\r\n host: { 'class': 'macro__text' }\r\n})\r\nexport class MacroTextTabComponent implements AfterViewInit {\r\n @Input() macroAction: EditableMacroAction;\r\n @ViewChild('macroTextInput') input: ElementRef;\r\n\r\n constructor(private renderer: Renderer) {}\r\n\r\n ngAfterViewInit() {\r\n this.renderer.invokeElementMethod(this.input.nativeElement, 'focus');\r\n }\r\n\r\n onTextChange() {\r\n this.macroAction.text = this.input.nativeElement.value;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/macro/action-editor/tab/text/macro-text.component.ts","module.exports = \"
\\r\\n

Type text

\\r\\n

Input the text you want to type with this macro action.

\\r\\n \\r\\n
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/action-editor/tab/text/macro-text.component.html\n// module id = 252\n// module chunks = 0","module.exports = \":host {\\n display: flex;\\n flex-direction: column;\\n position: relative; }\\n\\n.macro__text-input {\\n width: 100%;\\n min-height: 10rem;\\n margin-bottom: 1rem; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/macro/action-editor/tab/text/macro-text.component.scss\n// module id = 253\n// module chunks = 0","export * from './notification.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/notification/index.ts","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'notification',\r\n template: require('./notification.component.html'),\r\n styles: [require('./notification.component.scss')]\r\n})\r\nexport class NotificationComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/notification/notification.component.ts","module.exports = \"Keymap removed\\r\\nUndo\\r\\n×\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/notification/notification.component.html\n// module id = 256\n// module chunks = 0","module.exports = \":host {\\n padding: 1rem 1.5rem;\\n box-shadow: 0 0 0 1px #000;\\n border-radius: 0.5rem;\\n position: absolute;\\n top: 2rem;\\n right: 2rem;\\n z-index: 10000;\\n background-color: #333;\\n color: #eee;\\n display: none; }\\n\\n.action {\\n margin-left: 1rem;\\n margin-right: 1rem;\\n color: #5bc0de;\\n text-transform: uppercase;\\n font-weight: bold; }\\n .action:focus, .action:active, .action:hover {\\n text-decoration: none;\\n color: #5bc0de; }\\n\\n.dismiss {\\n position: relative;\\n bottom: 1px;\\n color: #ccc; }\\n .dismiss:hover {\\n cursor: pointer;\\n color: #fff; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/notification/notification.component.scss\n// module id = 257\n// module chunks = 0","export * from './popover.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/index.ts","import {\r\n Component, ElementRef, EventEmitter, HostListener, Input, OnChanges, Output, SimpleChanges, ViewChild,\r\n animate, keyframes, state, style, transition, trigger\r\n} from '@angular/core';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\nimport {\r\n KeyAction,\r\n KeystrokeAction,\r\n MouseAction,\r\n PlayMacroAction,\r\n SwitchKeymapAction,\r\n SwitchLayerAction\r\n} from '../../config-serializer/config-items/key-action';\r\nimport { Keymap } from '../../config-serializer/config-items/Keymap';\r\n\r\nimport { Tab } from './tab/tab';\r\n\r\nimport { AppState } from '../../store';\r\nimport { getKeymaps } from '../../store/reducers/user-configuration';\r\n\r\nenum TabName {\r\n Keypress,\r\n Layer,\r\n Mouse,\r\n Macro,\r\n Keymap,\r\n None\r\n}\r\n\r\n@Component({\r\n selector: 'popover',\r\n template: require('./popover.component.html'),\r\n styles: [require('./popover.component.scss')],\r\n animations: [\r\n trigger('popover', [\r\n state('closed', style({\r\n transform: 'translateY(30px)',\r\n visibility: 'hidden',\r\n opacity: 0\r\n })),\r\n state('opened', style({\r\n transform: 'translateY(0)',\r\n visibility: 'visible',\r\n opacity: 1\r\n })),\r\n transition('opened => closed', [\r\n animate('200ms ease-out', keyframes([\r\n style({ transform: 'translateY(0)', visibility: 'visible', opacity: 1, offset: 0 }),\r\n style({ transform: 'translateY(30px)', visibility: 'hidden', opacity: 0, offset: 1 })\r\n ]))\r\n ]),\r\n transition('closed => opened', [\r\n style({\r\n visibility: 'visible'\r\n }),\r\n animate('200ms ease-out', keyframes([\r\n style({ transform: 'translateY(30px)', opacity: 0, offset: 0 }),\r\n style({ transform: 'translateY(0)', opacity: 1, offset: 1 })\r\n ]))\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class PopoverComponent implements OnChanges {\r\n @Input() defaultKeyAction: KeyAction;\r\n @Input() currentKeymap: Keymap;\r\n @Input() currentLayer: number;\r\n @Input() keyPosition: ClientRect;\r\n @Input() wrapPosition: ClientRect;\r\n @Input() visible: boolean;\r\n\r\n @Output() cancel = new EventEmitter();\r\n @Output() remap = new EventEmitter();\r\n\r\n @ViewChild('tab') selectedTab: Tab;\r\n @ViewChild('popover') popoverHost: ElementRef;\r\n\r\n public tabName = TabName;\r\n public keyActionValid: boolean;\r\n private activeTab: TabName;\r\n private keymaps$: Observable;\r\n private leftArrow: boolean = false;\r\n private rightArrow: boolean = false;\r\n private topPosition: number = 0;\r\n private leftPosition: number = 0;\r\n private animationState: string;\r\n\r\n constructor(private store: Store) {\r\n this.animationState = 'closed';\r\n this.keymaps$ = store.let(getKeymaps())\r\n .map((keymaps: Keymap[]) =>\r\n keymaps.filter((keymap: Keymap) => this.currentKeymap.abbreviation !== keymap.abbreviation)\r\n );\r\n }\r\n\r\n ngOnChanges(change: SimpleChanges) {\r\n if (this.keyPosition && this.wrapPosition && (change['keyPosition'] || change['wrapPosition'])) {\r\n this.calculatePosition();\r\n }\r\n\r\n if (change['defaultKeyAction']) {\r\n let tab: TabName;\r\n\r\n if (this.defaultKeyAction instanceof KeystrokeAction) {\r\n tab = TabName.Keypress;\r\n } else if (this.defaultKeyAction instanceof SwitchLayerAction) {\r\n tab = TabName.Layer;\r\n } else if (this.defaultKeyAction instanceof MouseAction) {\r\n tab = TabName.Mouse;\r\n } else if (this.defaultKeyAction instanceof PlayMacroAction) {\r\n tab = TabName.Macro;\r\n } else if (this.defaultKeyAction instanceof SwitchKeymapAction) {\r\n tab = TabName.Keymap;\r\n } else {\r\n tab = TabName.None;\r\n }\r\n\r\n this.selectTab(tab);\r\n }\r\n\r\n if (change['visible']) {\r\n if (change['visible'].currentValue) {\r\n this.animationState = 'opened';\r\n } else {\r\n this.animationState = 'closed';\r\n }\r\n }\r\n }\r\n\r\n onCancelClick(): void {\r\n this.cancel.emit(undefined);\r\n }\r\n\r\n onRemapKey(): void {\r\n if (this.keyActionValid) {\r\n try {\r\n let keyAction = this.selectedTab.toKeyAction();\r\n this.remap.emit(keyAction);\r\n } catch (e) {\r\n // TODO: show error dialog\r\n console.error(e);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('keydown.escape')\r\n onEscape(): void {\r\n this.cancel.emit();\r\n }\r\n\r\n selectTab(tab: TabName): void {\r\n this.activeTab = tab;\r\n }\r\n\r\n onOverlay() {\r\n this.cancel.emit(undefined);\r\n }\r\n\r\n private calculatePosition() {\r\n const offsetLeft: number = this.wrapPosition.left + 265; // 265 is a width of the side menu with a margin\r\n const popover: HTMLElement = this.popoverHost.nativeElement;\r\n let newLeft: number = this.keyPosition.left + (this.keyPosition.width / 2);\r\n\r\n this.leftArrow = newLeft < offsetLeft;\r\n this.rightArrow = (newLeft + popover.offsetWidth) > offsetLeft + this.wrapPosition.width;\r\n\r\n if (this.leftArrow) {\r\n newLeft = this.keyPosition.left;\r\n } else if (this.rightArrow) {\r\n newLeft = this.keyPosition.left - popover.offsetWidth + this.keyPosition.width;\r\n } else {\r\n newLeft -= popover.offsetWidth / 2;\r\n }\r\n\r\n // 7 is a space between a bottom key position and a popover\r\n this.topPosition = this.keyPosition.top + this.keyPosition.height + 7 + window.scrollY;\r\n this.leftPosition = newLeft;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/popover.component.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/popover/popover.component.html\n// module id = 260\n// module chunks = 0","module.exports = \".popover {\\n display: flex;\\n flex-direction: column;\\n padding: 0;\\n max-width: 568px;\\n width: 100%;\\n user-select: none; }\\n .popover.leftArrow .arrowCustom {\\n transform: none;\\n left: 22px; }\\n .popover.rightArrow .arrowCustom {\\n transform: none;\\n right: 22px;\\n left: auto; }\\n .popover > .container-fluid {\\n overflow: hidden; }\\n\\n.nav-tabs > li {\\n overflow: hidden; }\\n\\n.arrowCustom {\\n position: absolute;\\n top: -16px;\\n left: 50%;\\n transform: translateX(-50%);\\n width: 41px;\\n height: 16px; }\\n .arrowCustom:before {\\n content: '';\\n width: 0;\\n height: 0;\\n border-left: 21px solid transparent;\\n border-right: 21px solid transparent;\\n border-bottom: 17px solid rgba(0, 0, 0, 0.2);\\n display: block;\\n position: absolute;\\n top: -1px; }\\n .arrowCustom:after {\\n content: '';\\n width: 0;\\n height: 0;\\n border-left: 20px solid transparent;\\n border-right: 20px solid transparent;\\n border-bottom: 16px solid #f7f7f7;\\n display: block;\\n position: absolute;\\n top: 0; }\\n\\n.popover-action {\\n padding: 8px 14px;\\n margin: 0;\\n font-size: 14px;\\n background-color: #f7f7f7;\\n border-top: 1px solid #ebebeb;\\n border-radius: 0 0 5px 5px;\\n text-align: right; }\\n\\n.popover-title.menu-tabs {\\n padding: 0.5rem 0.5rem 0;\\n display: block; }\\n .popover-title.menu-tabs .nav-tabs {\\n position: relative;\\n top: 1px;\\n display: flex; }\\n .popover-title.menu-tabs .nav-tabs .menu-tabs--item {\\n display: flex;\\n align-items: center;\\n cursor: pointer; }\\n .popover-title.menu-tabs .nav-tabs .menu-tabs--item i {\\n margin-right: 0.25em; }\\n\\n.popover-content {\\n padding: 10px 24px; }\\n\\n.popover-overlay {\\n position: fixed;\\n width: 100%;\\n height: 0;\\n top: 0;\\n left: 0;\\n z-index: 1050;\\n background: transparent;\\n transition: background 200ms ease-out, height 0ms 200ms linear; }\\n .popover-overlay.display {\\n height: 100%;\\n background: rgba(0, 0, 0, 0.2);\\n transition: background 200ms ease-out; }\\n\\n.select2-item {\\n position: relative;\\n font-size: 1.5rem; }\\n .select2-item.keymap-name--wrapper {\\n padding-left: 50px; }\\n .select2-item .layout-segment-code {\\n height: 2rem;\\n position: absolute;\\n left: 0;\\n top: 50%;\\n margin-top: -1rem; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/popover/popover.component.scss\n// module id = 261\n// module chunks = 0","export * from './capture-keystroke-button.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/widgets/capture-keystroke/index.ts","import { Component, EventEmitter, HostListener, Output } from '@angular/core';\r\nimport { CaptureService } from '../../../../services/capture.service';\r\n\r\n@Component({\r\n selector: 'capture-keystroke-button',\r\n template: require('./capture-keystroke-button.component.html'),\r\n styles: [require('./capture-keystroke-button.component.scss')]\r\n})\r\nexport class CaptureKeystrokeButtonComponent {\r\n @Output() capture = new EventEmitter();\r\n\r\n private record: boolean;\r\n private first: boolean; // enable usage of Enter to start capturing\r\n private scanCodePressed: boolean;\r\n\r\n constructor(private captureService: CaptureService) {\r\n this.record = false;\r\n this.captureService.initModifiers();\r\n this.captureService.populateMapping();\r\n this.scanCodePressed = false;\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n onKeyUp(e: KeyboardEvent) {\r\n if (this.scanCodePressed) {\r\n e.preventDefault();\r\n this.scanCodePressed = false;\r\n } else if (this.record && !this.first) {\r\n e.preventDefault();\r\n this.saveScanCode();\r\n }\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: KeyboardEvent) {\r\n const code: number = e.keyCode;\r\n const enter = 13;\r\n\r\n if (this.record) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.first = false;\r\n\r\n if (this.captureService.hasMap(code)) {\r\n this.saveScanCode(this.captureService.getMap(code));\r\n this.scanCodePressed = true;\r\n } else {\r\n this.captureService.setModifier((e.location === 1), code);\r\n }\r\n } else if (code === enter) {\r\n this.record = true;\r\n this.first = true;\r\n }\r\n }\r\n\r\n @HostListener('focusout')\r\n onFocusOut() {\r\n this.record = false;\r\n this.reset();\r\n }\r\n\r\n start(): void {\r\n this.record = true;\r\n }\r\n\r\n private saveScanCode(code?: number) {\r\n this.record = false;\r\n const left: boolean[] = this.captureService.getModifiers(true);\r\n const right: boolean[] = this.captureService.getModifiers(false);\r\n\r\n this.capture.emit({\r\n code,\r\n left,\r\n right\r\n });\r\n\r\n this.reset();\r\n }\r\n\r\n private reset() {\r\n this.first = false;\r\n this.captureService.initModifiers();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/widgets/capture-keystroke/capture-keystroke-button.component.ts","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class CaptureService {\r\n private mapping: Map;\r\n private leftModifiers: Map;\r\n private rightModifiers: Map;\r\n\r\n constructor() {\r\n this.leftModifiers = new Map();\r\n this.rightModifiers = new Map();\r\n this.mapping = new Map();\r\n }\r\n\r\n public getMap(code: number) {\r\n return this.mapping.get(code);\r\n }\r\n\r\n public hasMap(code: number) {\r\n return this.mapping.has(code);\r\n }\r\n\r\n public setModifier(left: boolean, code: number) {\r\n return left ? this.leftModifiers.set(code, true) : this.rightModifiers.set(code, true);\r\n }\r\n\r\n public getModifiers(left: boolean) {\r\n return left ? this.reMap(this.leftModifiers) : this.reMap(this.rightModifiers);\r\n }\r\n\r\n public initModifiers() {\r\n this.leftModifiers.set(16, false); // Shift\r\n this.leftModifiers.set(17, false); // Ctrl\r\n this.leftModifiers.set(18, false); // Alt\r\n this.leftModifiers.set(91, false); // Super\r\n\r\n this.rightModifiers.set(16, false); // Shift\r\n this.rightModifiers.set(17, false); // Ctrl\r\n this.rightModifiers.set(18, false); // Alt\r\n this.rightModifiers.set(91, false); // Super\r\n }\r\n\r\n public populateMapping () {\r\n this.mapping.set(8, 42); // Backspace\r\n this.mapping.set(9, 43); // Tab\r\n this.mapping.set(13, 40); // Enter\r\n this.mapping.set(19, 72); // Pause/break\r\n this.mapping.set(20, 57); // Caps lock\r\n this.mapping.set(27, 41); // Escape\r\n this.mapping.set(32, 44); // (space)\r\n this.mapping.set(33, 75); // Page up\r\n this.mapping.set(34, 78); // Page down\r\n this.mapping.set(35, 77); // End\r\n this.mapping.set(36, 74); // Home\r\n this.mapping.set(37, 80); // Left arrow\r\n this.mapping.set(38, 82); // Up arrow\r\n this.mapping.set(39, 79); // Right arrow\r\n this.mapping.set(40, 81); // Down arrow\r\n this.mapping.set(45, 73); // Insert\r\n this.mapping.set(46, 76); // Delete\r\n this.mapping.set(48, 39); // 0\r\n this.mapping.set(49, 30); // 1\r\n this.mapping.set(50, 31); // 2\r\n this.mapping.set(51, 32); // 3\r\n this.mapping.set(52, 33); // 4\r\n this.mapping.set(53, 34); // 5\r\n this.mapping.set(54, 35); // 6\r\n this.mapping.set(55, 36); // 7\r\n this.mapping.set(56, 37); // 8\r\n this.mapping.set(57, 38); // 9\r\n this.mapping.set(65, 4); // A\r\n this.mapping.set(66, 5); // B\r\n this.mapping.set(67, 6); // C\r\n this.mapping.set(68, 7); // D\r\n this.mapping.set(69, 8); // E\r\n this.mapping.set(70, 9); // F\r\n this.mapping.set(71, 10); // G\r\n this.mapping.set(72, 11); // H\r\n this.mapping.set(73, 12); // I\r\n this.mapping.set(74, 13); // J\r\n this.mapping.set(75, 14); // K\r\n this.mapping.set(76, 15); // L\r\n this.mapping.set(77, 16); // M\r\n this.mapping.set(78, 17); // N\r\n this.mapping.set(79, 18); // O\r\n this.mapping.set(80, 19); // P\r\n this.mapping.set(81, 20); // Q\r\n this.mapping.set(82, 21); // R\r\n this.mapping.set(83, 22); // S\r\n this.mapping.set(84, 23); // T\r\n this.mapping.set(85, 24); // U\r\n this.mapping.set(86, 25); // V\r\n this.mapping.set(87, 26); // W\r\n this.mapping.set(88, 27); // X\r\n this.mapping.set(89, 28); // Y\r\n this.mapping.set(90, 29); // Z\r\n this.mapping.set(93, 118); // Menu\r\n this.mapping.set(96, 98); // Num pad 0\r\n this.mapping.set(97, 89); // Num pad 1\r\n this.mapping.set(98, 90); // Num pad 2\r\n this.mapping.set(99, 91); // Num pad 3\r\n this.mapping.set(100, 92); // Num pad 4\r\n this.mapping.set(101, 93); // Num pad 5\r\n this.mapping.set(102, 94); // Num pad 6\r\n this.mapping.set(103, 95); // Num pad 7\r\n this.mapping.set(104, 96); // Num pad 8\r\n this.mapping.set(105, 97); // Num pad 9\r\n this.mapping.set(106, 85); // Multiply\r\n this.mapping.set(107, 87); // Add\r\n this.mapping.set(109, 86); // Subtract\r\n this.mapping.set(110, 99); // Decimal point\r\n this.mapping.set(111, 84); // Divide\r\n this.mapping.set(112, 58); // F1\r\n this.mapping.set(113, 59); // F2\r\n this.mapping.set(114, 60); // F3\r\n this.mapping.set(115, 61); // F4\r\n this.mapping.set(116, 62); // F5\r\n this.mapping.set(117, 63); // F6\r\n this.mapping.set(118, 64); // F7\r\n this.mapping.set(119, 65); // F8\r\n this.mapping.set(120, 66); // F9\r\n this.mapping.set(121, 67); // F10\r\n this.mapping.set(122, 68); // F11\r\n this.mapping.set(123, 69); // F12\r\n this.mapping.set(144, 83); // Num lock\r\n this.mapping.set(145, 71); // Scroll lock\r\n this.mapping.set(186, 51); // Semi-colon\r\n this.mapping.set(187, 46); // Equal sign\r\n this.mapping.set(188, 54); // Comma\r\n this.mapping.set(189, 45); // Dash\r\n this.mapping.set(190, 55); // Period\r\n this.mapping.set(191, 56); // Forward slash\r\n this.mapping.set(192, 53); // Grave accent\r\n this.mapping.set(219, 47); // Open bracket\r\n this.mapping.set(220, 49); // Back slash\r\n this.mapping.set(221, 48); // Close bracket\r\n this.mapping.set(222, 52); // Single quote\r\n }\r\n\r\n private reMap(value: Map): boolean[] {\r\n return [value.get(16), value.get(17), value.get(91), value.get(18)];\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/services/capture.service.ts","module.exports = \"\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/popover/widgets/capture-keystroke/capture-keystroke-button.component.html\n// module id = 265\n// module chunks = 0","module.exports = \"button {\\n display: inline-block;\\n margin: 0 0 0 0.25rem; }\\n\\n.fa-circle {\\n color: #c00; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/popover/widgets/capture-keystroke/capture-keystroke-button.component.scss\n// module id = 266\n// module chunks = 0","export * from './icon.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/widgets/icon/index.ts","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'icon',\r\n template: require('./icon.component.html'),\r\n styles: [require('./icon.component.scss')]\r\n})\r\nexport class IconComponent implements OnInit {\r\n\r\n @Input() name: string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/popover/widgets/icon/icon.component.ts","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/popover/widgets/icon/icon.component.html\n// module id = 269\n// module chunks = 0","module.exports = \":host {\\n display: flex;\\n align-items: center; }\\n\\n.action--edit:hover {\\n color: #337ab7;\\n cursor: pointer; }\\n\\n.action--trash:hover {\\n color: #d9534f;\\n cursor: pointer; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/popover/widgets/icon/icon.component.scss\n// module id = 270\n// module chunks = 0","export * from './settings.component';\r\nexport * from './settings.routes';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/settings/index.ts","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'settings',\r\n template: require('./settings.component.html'),\r\n styles: [require('./settings.component.scss')],\r\n host: {\r\n 'class': 'container-fluid'\r\n }\r\n})\r\nexport class SettingsComponent {\r\n constructor() { }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/settings/settings.component.ts","module.exports = \"
\\r\\n

\\r\\n \\r\\n Settings\\r\\n

\\r\\n
\\r\\nTo be done...\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/settings/settings.component.html\n// module id = 273\n// module chunks = 0","module.exports = \":host {\\n width: 100%;\\n height: 100%;\\n display: block; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/settings/settings.component.scss\n// module id = 274\n// module chunks = 0","import { Routes } from '@angular/router';\r\n\r\nimport { SettingsComponent } from './settings.component';\r\n\r\nexport const settingsRoutes: Routes = [\r\n {\r\n path: 'settings',\r\n component: SettingsComponent\r\n }\r\n];\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/settings/settings.routes.ts","export * from './side-menu.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/side-menu/index.ts","import { Component, Renderer, animate, state, style, transition, trigger } from '@angular/core';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/let';\r\n\r\nimport { Keymap } from '../../config-serializer/config-items/Keymap';\r\nimport { Macro } from '../../config-serializer/config-items/Macro';\r\n\r\nimport { AppState } from '../../store';\r\nimport { MacroActions } from '../../store/actions';\r\nimport { getKeymaps, getMacros } from '../../store/reducers/user-configuration';\r\n\r\n@Component({\r\n animations: [\r\n trigger('toggler', [\r\n state('inactive', style({\r\n height: '0px'\r\n })),\r\n state('active', style({\r\n height: '*'\r\n })),\r\n transition('inactive <=> active', animate('500ms ease-out'))\r\n ])\r\n ],\r\n selector: 'side-menu',\r\n template: require('./side-menu.component.html'),\r\n styles: [require('./side-menu.component.scss')]\r\n})\r\nexport class SideMenuComponent {\r\n private keymaps$: Observable;\r\n private macros$: Observable;\r\n private animation: { [key: string]: 'active' | 'inactive' };\r\n\r\n constructor(private store: Store, private renderer: Renderer) {\r\n this.animation = {\r\n keymap: 'active',\r\n macro: 'active',\r\n addon: 'active'\r\n };\r\n\r\n this.keymaps$ = store.let(getKeymaps())\r\n .map(keymaps => keymaps.slice()) // Creating a new array reference, because the sort is working in place\r\n .do((keymaps: Keymap[]) => {\r\n keymaps.sort((first: Keymap, second: Keymap) => first.name.localeCompare(second.name));\r\n });\r\n\r\n this.macros$ = store.let(getMacros())\r\n .map(macros => macros.slice()) // Creating a new array reference, because the sort is working in place\r\n .do((macros: Macro[]) => {\r\n macros.sort((first: Macro, second: Macro) => first.name.localeCompare(second.name));\r\n });\r\n }\r\n\r\n toggleHide(event: Event, type: string) {\r\n let header: DOMTokenList = (event.target).classList;\r\n let show = false;\r\n\r\n if (header.contains('fa-chevron-down')) {\r\n show = true;\r\n this.animation[type] = 'active';\r\n } else {\r\n this.animation[type] = 'inactive';\r\n }\r\n\r\n this.renderer.setElementClass(event.target, 'fa-chevron-up', show);\r\n this.renderer.setElementClass(event.target, 'fa-chevron-down', !show);\r\n }\r\n\r\n addMacro() {\r\n this.store.dispatch(MacroActions.addMacro());\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/side-menu/side-menu.component.ts","module.exports = \"
    \\r\\n
  • \\r\\n
    \\r\\n Keymaps\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n Macros\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n Add-on modules\\r\\n \\r\\n
    \\r\\n \\r\\n
  • \\r\\n
\\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/side-menu/side-menu.component.html\n// module id = 280\n// module chunks = 0","module.exports = \":host {\\n background-color: #f5f5f5;\\n border-right: 1px solid #ccc;\\n position: fixed;\\n overflow-y: auto;\\n width: 250px;\\n height: 100%; }\\n\\na {\\n color: #333; }\\n\\nul {\\n padding: 0;\\n margin: 0; }\\n ul li {\\n list-style: none;\\n padding: 0; }\\n ul ul {\\n overflow: hidden; }\\n\\n.sidebar__level-1 {\\n padding: 0.5rem 1rem;\\n font-size: 2rem;\\n line-height: 3rem;\\n cursor: default; }\\n .sidebar__level-1:hover .fa-chevron-up,\\n .sidebar__level-1:hover .fa-chevron-down {\\n display: inline-block; }\\n .sidebar__level-1--item {\\n margin-top: 0; }\\n .sidebar__level-1--item:nth-child(1) {\\n margin: 0; }\\n .sidebar__level-1 .sidebar__name {\\n width: 100%;\\n display: block; }\\n .sidebar__level-1 .fa-chevron-up,\\n .sidebar__level-1 .fa-chevron-down {\\n margin-right: 1rem;\\n font-size: 1.5rem;\\n position: relative;\\n top: 0.5rem;\\n display: none;\\n cursor: pointer; }\\n\\n.sidebar__level-2--item {\\n padding: 0 20px 0 0;\\n position: relative; }\\n .sidebar__level-2--item.active {\\n background-color: #555;\\n color: #fff; }\\n .sidebar__level-2--item.active .fa-star {\\n color: #fff; }\\n .sidebar__level-2--item.active:hover {\\n background-color: #555; }\\n .sidebar__level-2--item:hover {\\n cursor: pointer; }\\n .sidebar__level-2--item .fa.pull-right {\\n position: relative;\\n top: 2px; }\\n .sidebar__level-2--item .fa-star {\\n color: #666; }\\n .sidebar__level-2--item a {\\n display: block;\\n width: 100%;\\n padding: 0 15px 0 30px; }\\n .sidebar__level-2--item a:hover, .sidebar__level-2--item a:focus {\\n text-decoration: none; }\\n\\n.sidebar__level-1:hover, .sidebar__level-2:hover {\\n background-color: rgba(0, 0, 0, 0.05); }\\n\\n.sidebar__level-1.active, .sidebar__level-2.active {\\n background-color: rgba(0, 0, 0, 0.18); }\\n\\n.sidebar__fav {\\n position: absolute;\\n right: 19px;\\n top: 3px; }\\n\\n.menu--bottom {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n width: 100%; }\\n .menu--bottom .sidebar__level-1 {\\n display: block;\\n padding: 1rem;\\n cursor: pointer; }\\n .menu--bottom .sidebar__level-1:hover {\\n text-decoration: none; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/side-menu/side-menu.component.scss\n// module id = 281\n// module chunks = 0","export * from './svg-keyboard.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keyboard/index.ts","import { Component, EventEmitter, Input, OnInit, Output, ChangeDetectionStrategy } from '@angular/core';\r\n\r\nimport { Module } from '../../../config-serializer/config-items/Module';\r\nimport { SvgModule } from '../module';\r\n\r\n@Component({\r\n selector: 'svg-keyboard',\r\n template: require('./svg-keyboard.component.html'),\r\n styles: [require('./svg-keyboard.component.scss')],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SvgKeyboardComponent implements OnInit {\r\n @Input() moduleConfig: Module[];\r\n @Input() keybindAnimationEnabled: boolean;\r\n @Input() capturingEnabled: boolean;\r\n @Output() keyClick = new EventEmitter();\r\n @Output() keyHover = new EventEmitter();\r\n @Output() capture = new EventEmitter();\r\n\r\n private modules: SvgModule[];\r\n private svgAttributes: { viewBox: string, transform: string, fill: string };\r\n\r\n constructor() {\r\n this.modules = [];\r\n this.svgAttributes = this.getKeyboardSvgAttributes();\r\n }\r\n\r\n ngOnInit() {\r\n this.modules = this.getSvgModules();\r\n }\r\n\r\n onKeyClick(moduleId: number, keyId: number, keyTarget: HTMLElement): void {\r\n this.keyClick.emit({\r\n moduleId,\r\n keyId,\r\n keyTarget\r\n });\r\n }\r\n\r\n onCapture(moduleId: number, keyId: number, captured: {code: number, left: boolean[], right: boolean[]}): void {\r\n this.capture.emit({\r\n moduleId,\r\n keyId,\r\n captured\r\n });\r\n }\r\n\r\n onKeyHover(keyId: number, event: MouseEvent, over: boolean, moduleId: number): void {\r\n this.keyHover.emit({\r\n moduleId,\r\n event,\r\n over,\r\n keyId\r\n });\r\n }\r\n\r\n private getKeyboardSvgAttributes(): { viewBox: string, transform: string, fill: string } {\r\n let svg: any = this.getBaseLayer();\r\n return {\r\n viewBox: svg.$.viewBox,\r\n transform: svg.g[0].$.transform,\r\n fill: svg.g[0].$.fill\r\n };\r\n }\r\n\r\n private getSvgModules(): SvgModule[] {\r\n let modules = this.getBaseLayer().g[0].g.map((obj: any) => new SvgModule(obj));\r\n return [modules[1], modules[0]]; // TODO: remove if the svg will be correct\r\n }\r\n\r\n private getBaseLayer(): any {\r\n return require('xml!../../../../../images/base-layer.svg').svg;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keyboard/svg-keyboard.component.ts","export * from './svg-module.component';\r\nexport * from './svg-module.model';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/module/index.ts","import { Component, EventEmitter, Input, Output, ChangeDetectionStrategy } from '@angular/core';\r\n\r\nimport { KeyAction } from '../../../config-serializer/config-items/key-action';\r\n\r\nimport { SvgKeyboardKey } from '../keys';\r\n\r\n@Component({\r\n selector: 'g[svg-module]',\r\n template: require('./svg-module.component.html'),\r\n styles: [require('./svg-module.component.scss')],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SvgModuleComponent {\r\n @Input() coverages: any[];\r\n @Input() keyboardKeys: SvgKeyboardKey[];\r\n @Input() keyActions: KeyAction[];\r\n @Input() keybindAnimationEnabled: boolean;\r\n @Input() capturingEnabled: boolean;\r\n @Output() keyClick = new EventEmitter();\r\n @Output() keyHover = new EventEmitter();\r\n @Output() capture = new EventEmitter();\r\n\r\n constructor() {\r\n this.keyboardKeys = [];\r\n }\r\n\r\n onKeyClick(index: number, keyTarget: HTMLElement): void {\r\n this.keyClick.emit({\r\n index,\r\n keyTarget\r\n });\r\n }\r\n\r\n onKeyHover(index: number, event: MouseEvent, over: boolean): void {\r\n this.keyHover.emit({\r\n index,\r\n event,\r\n over\r\n });\r\n }\r\n\r\n onCapture(index: number, captured: {code: number, left: boolean[], right: boolean[]}) {\r\n this.capture.emit({\r\n index,\r\n captured\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/module/svg-module.component.ts","module.exports = \"\\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/module/svg-module.component.html\n// module id = 286\n// module chunks = 0","module.exports = \":host {\\n position: relative; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/module/svg-module.component.scss\n// module id = 287\n// module chunks = 0","import { SvgKeyboardKey } from '../keys';\r\n\r\nexport class SvgModule {\r\n private coverages: any[];\r\n private keyboardKeys: SvgKeyboardKey[];\r\n private attributes: any;\r\n\r\n constructor(obj: { rect: any[], path: any[], $: Object }) {\r\n this.keyboardKeys = obj.rect.map(rect => rect.$).map(rect => {\r\n rect.height = +rect.height;\r\n rect.width = +rect.width;\r\n return rect;\r\n });\r\n this.coverages = obj.path;\r\n this.attributes = obj.$;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/module/svg-module.model.ts","module.exports = {\"svg\":{\"$\":{\"xmlns:dc\":\"http://purl.org/dc/elements/1.1/\",\"xmlns:cc\":\"http://creativecommons.org/ns#\",\"xmlns:rdf\":\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\"xmlns:svg\":\"http://www.w3.org/2000/svg\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:sodipodi\":\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\",\"xmlns:inkscape\":\"http://www.inkscape.org/namespaces/inkscape\",\"version\":\"1.1\",\"width\":\"1024.3346\",\"height\":\"471.36612\",\"viewBox\":\"0 0 1024.3346 471.36612\",\"style\":\"overflow:visible;\",\"id\":\"SvgjsSvg1006\",\"inkscape:version\":\"0.91 r\",\"sodipodi:docname\":\"base-layer.svg\"},\"metadata\":[{\"$\":{\"id\":\"metadata230\"},\"rdf:RDF\":[{\"cc:Work\":[{\"$\":{\"rdf:about\":\"\"},\"dc:format\":[\"image/svg+xml\"],\"dc:type\":[{\"$\":{\"rdf:resource\":\"http://purl.org/dc/dcmitype/StillImage\"}}]}]}]}],\"defs\":[{\"$\":{\"id\":\"defs228\"}}],\"sodipodi:namedview\":[{\"$\":{\"pagecolor\":\"#ffffff\",\"bordercolor\":\"#666666\",\"borderopacity\":\"1\",\"objecttolerance\":\"10\",\"gridtolerance\":\"10\",\"guidetolerance\":\"10\",\"inkscape:pageopacity\":\"0\",\"inkscape:pageshadow\":\"2\",\"inkscape:window-width\":\"1920\",\"inkscape:window-height\":\"1028\",\"id\":\"namedview226\",\"showgrid\":\"false\",\"inkscape:zoom\":\"1.046533\",\"inkscape:cx\":\"461.77814\",\"inkscape:cy\":\"312.8806\",\"inkscape:window-x\":\"0\",\"inkscape:window-y\":\"25\",\"inkscape:window-maximized\":\"1\",\"inkscape:current-layer\":\"left-parts\"}}],\"text\":[{\"$\":{\"x\":\"495.03632\",\"y\":\"20\",\"style\":\"font-size:34px;fill:#000000;font-family:Sans;text-align:center;text-anchor:middle;display:none;\",\"font-family\":\"Helvetica, Arial, sans-serif\",\"id\":\"layer-text\"},\"tspan\":[{\"_\":\"\\r\\n Base layer\\r\\n \",\"$\":{\"x\":\"495.03632\",\"dy\":\"20.8\",\"id\":\"SvgjsTspan1235\"}}]}],\"g\":[{\"$\":{\"transform\":\"translate(0 -580.99607)\",\"style\":\"stroke:none;\",\"id\":\"root\",\"fill\":\"#333333\"},\"g\":[{\"$\":{\"transform\":\"translate(221.57008 1101.7666)\",\"id\":\"left-parts\"},\"path\":[{\"$\":{\"d\":\"m 272.81516,-456.8166 -110.96971,0 c -0.32924,0 -0.65827,-0.0468 -0.97472,-0.1386 -0.31645,-0.0918 -0.62027,-0.22866 -0.89995,-0.40551 -0.27968,-0.17684 -0.53514,-0.39367 -0.7565,-0.64244 -0.22135,-0.24877 -0.40854,-0.52944 -0.55411,-0.83133 -0.14558,-0.3019 -0.24947,-0.62497 -0.30744,-0.95668 -3.11169,-17.80554 -6.22337,-35.61107 -9.33505,-53.41661 -0.16174,-0.9255 -0.46824,-1.8252 -0.90498,-2.65546 -0.43675,-0.83027 -1.00365,-1.59085 -1.67347,-2.24448 -0.66982,-0.65363 -1.44238,-1.20007 -2.2801,-1.61231 -0.83772,-0.41224 -1.74031,-0.69012 -2.66354,-0.81983 -0.92322,-0.12971 -1.86673,-0.11121 -2.78423,0.0544 l -352.97851,63.7382 c -0.81059,0.14636 -1.60096,0.40708 -2.34074,0.77257 -0.73979,0.3655 -1.42881,0.83571 -2.04035,1.39272 -0.61154,0.55702 -1.14547,1.20071 -1.58116,1.90622 -0.43571,0.70551 -0.77307,1.47267 -0.99931,2.2718 -0.22626,0.79913 -0.34137,1.63006 -0.34137,2.4609 l 0,389.594539 c 0,0.936363 0.14626,1.872858 0.43247,2.764016 0.2862,0.891158 0.7123,1.736655 1.25787,2.494964 0.54557,0.75831 1.21044,1.429141 1.96201,1.979608 0.75157,0.550465 1.58955,0.980376 2.47279,1.269152 0.88324,0.288776 1.8114,0.436358 2.73944,0.436358 l 342.7307,-1.4e-5 c 1.77165,0 3.54314,-1.7716 3.54314,-3.5432 0,-12.931979 0,-22.981768 0,-34.5827 0,-1.7717 -1.77149,-3.545 -3.54314,-3.545 l -322.73675,0.0013 c -2.79101,0 -5.3291,-2.56086 -5.3291,-5.376898 l 0,-329.455425 c 0,-2.81604 2.53809,-5.3769 5.3291,-5.3769 l 463.75521,0 c 0.93041,0 1.77697,-0.85444 1.77697,-1.79353 0,-7.80504 0,-14.68214 0,-21.94355 0,-0.94218 -0.84656,-1.79632 -1.77697,-1.79632\",\"id\":\"left-case\"}}],\"rect\":[{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"-194.89622\",\"y\":\"-427.82285\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-0\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"-127.57339\",\"y\":\"-427.82285\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-1\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"-60.250557\",\"y\":\"-427.82285\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-2\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"7.072278\",\"y\":\"-427.82285\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-3\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"74.395111\",\"y\":\"-427.82285\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-4\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"141.71794\",\"y\":\"-427.82285\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-5\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"209.04079\",\"y\":\"-427.82285\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-6\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"-194.89622\",\"y\":\"-360.50003\",\"height\":\"63.779526\",\"width\":\"95.669289\",\"id\":\"key-7\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"-95.683624\",\"y\":\"-360.50003\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-8\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"-28.360792\",\"y\":\"-360.50003\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-9\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"38.962044\",\"y\":\"-360.50003\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-10\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"106.28487\",\"y\":\"-360.50003\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-11\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"173.60771\",\"y\":\"-360.50003\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-12\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"-194.89622\",\"y\":\"-293.17719\",\"height\":\"63.779526\",\"width\":\"111.61417\",\"id\":\"key-13\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"-79.419846\",\"y\":\"-293.17719\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-14\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"-11.778116\",\"y\":\"-293.17719\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-15\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"55.863617\",\"y\":\"-293.17719\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-16\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"123.50535\",\"y\":\"-293.17719\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-17\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"191.14708\",\"y\":\"-293.17719\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-18\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"-194.89622\",\"y\":\"-225.85435\",\"height\":\"63.779526\",\"width\":\"143.50394\",\"id\":\"key-19\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"-47.14032\",\"y\":\"-225.85435\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-20\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"20.891174\",\"y\":\"-225.85435\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-21\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"88.922668\",\"y\":\"-225.85435\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-22\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"156.95416\",\"y\":\"-225.85435\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-23\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"224.98566\",\"y\":\"-225.85435\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-24\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"-194.89622\",\"y\":\"-158.53151\",\"height\":\"63.779526\",\"width\":\"79.724411\",\"id\":\"key-25\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"-111.98284\",\"y\":\"-158.53151\",\"height\":\"63.779526\",\"width\":\"79.724411\",\"id\":\"key-26\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"-29.069458\",\"y\":\"-158.53151\",\"height\":\"63.779526\",\"width\":\"79.724411\",\"id\":\"key-27\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"53.843929\",\"y\":\"-158.53151\",\"height\":\"63.779526\",\"width\":\"79.724411\",\"id\":\"key-28\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"137.11165\",\"y\":\"-158.53151\",\"height\":\"63.779526\",\"width\":\"131.10236\",\"id\":\"key-29\"}},{\"$\":{\"rx\":\"3.4856062\",\"ry\":\"3.5433071\",\"x\":\"137.11165\",\"y\":\"-91.071709\",\"height\":\"41.667309\",\"width\":\"131.10236\",\"id\":\"key-30\"}}],\"text\":[{\"$\":{\"y\":\"-435.0346495\",\"x\":\"-163.006457\",\"font-size\":\"19\",\"id\":\"SvgjsText1084\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"~\",\"$\":{\"x\":\"-163.006457\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1085\"}},{\"_\":\"`\",\"$\":{\"x\":\"-163.006457\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1086\"}}]},{\"$\":{\"y\":\"-435.0346495\",\"x\":\"-95.683627\",\"font-size\":\"19\",\"id\":\"SvgjsText1087\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"!\",\"$\":{\"x\":\"-95.683627\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1088\"}},{\"_\":\"1\",\"$\":{\"x\":\"-95.683627\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1089\"}}]},{\"$\":{\"y\":\"-435.0346495\",\"x\":\"-28.360794000000002\",\"font-size\":\"19\",\"id\":\"SvgjsText1090\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"@\",\"$\":{\"x\":\"-28.360794000000002\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1091\"}},{\"_\":\"2\",\"$\":{\"x\":\"-28.360794000000002\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1092\"}}]},{\"$\":{\"y\":\"-435.0346495\",\"x\":\"38.962041\",\"font-size\":\"19\",\"id\":\"SvgjsText1093\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"#\",\"$\":{\"x\":\"38.962041\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1094\"}},{\"_\":\"3\",\"$\":{\"x\":\"38.962041\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1095\"}}]},{\"$\":{\"y\":\"-435.0346495\",\"x\":\"106.284874\",\"font-size\":\"19\",\"id\":\"SvgjsText1096\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"$\",\"$\":{\"x\":\"106.284874\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1097\"}},{\"_\":\"4\",\"$\":{\"x\":\"106.284874\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1098\"}}]},{\"$\":{\"y\":\"-435.0346495\",\"x\":\"173.607703\",\"font-size\":\"19\",\"id\":\"SvgjsText1099\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"%\",\"$\":{\"x\":\"173.607703\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1100\"}},{\"_\":\"5\",\"$\":{\"x\":\"173.607703\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1101\"}}]},{\"$\":{\"y\":\"-435.0346495\",\"x\":\"240.93055299999997\",\"font-size\":\"19\",\"id\":\"SvgjsText1102\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"^\",\"$\":{\"x\":\"240.93055299999997\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1103\"}},{\"_\":\"6\",\"$\":{\"x\":\"240.93055299999997\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1104\"}}]},{\"$\":{\"y\":\"-352.50870449999996\",\"x\":\"-147.0615755\",\"font-size\":\"19\",\"id\":\"SvgjsText1125\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Tab\\r\\n \",\"$\":{\"x\":\"-147.0615755\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1126\"}}]},{\"$\":{\"y\":\"-352.50870449999996\",\"x\":\"-63.79386099999999\",\"font-size\":\"19\",\"id\":\"SvgjsText1127\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Q\\r\\n \",\"$\":{\"x\":\"-63.79386099999999\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1128\"}}]},{\"$\":{\"y\":\"-352.50870449999996\",\"x\":\"3.5289709999999985\",\"font-size\":\"19\",\"id\":\"SvgjsText1129\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n W\\r\\n \",\"$\":{\"x\":\"3.5289709999999985\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1130\"}}]},{\"$\":{\"y\":\"-352.50870449999996\",\"x\":\"70.851807\",\"font-size\":\"19\",\"id\":\"SvgjsText1131\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n E\\r\\n \",\"$\":{\"x\":\"70.851807\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1132\"}}]},{\"$\":{\"y\":\"-352.50870449999996\",\"x\":\"138.174633\",\"font-size\":\"19\",\"id\":\"SvgjsText1133\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n R\\r\\n \",\"$\":{\"x\":\"138.174633\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1134\"}}]},{\"$\":{\"y\":\"-352.50870449999996\",\"x\":\"205.49747299999999\",\"font-size\":\"19\",\"id\":\"SvgjsText1135\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n T\\r\\n \",\"$\":{\"x\":\"205.49747299999999\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1136\"}}]},{\"$\":{\"y\":\"-285.1858645\",\"x\":\"-139.089135\",\"font-size\":\"19\",\"id\":\"SvgjsText1156\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Mouse\\r\\n \",\"$\":{\"x\":\"-139.089135\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1157\"}}]},{\"$\":{\"y\":\"-285.1858645\",\"x\":\"-47.530083000000005\",\"font-size\":\"19\",\"id\":\"SvgjsText1158\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n A\\r\\n \",\"$\":{\"x\":\"-47.530083000000005\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1159\"}}]},{\"$\":{\"y\":\"-285.1858645\",\"x\":\"20.111646999999998\",\"font-size\":\"19\",\"id\":\"SvgjsText1160\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n S\\r\\n \",\"$\":{\"x\":\"20.111646999999998\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1161\"}}]},{\"$\":{\"y\":\"-285.1858645\",\"x\":\"87.75337999999999\",\"font-size\":\"19\",\"id\":\"SvgjsText1162\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n D\\r\\n \",\"$\":{\"x\":\"87.75337999999999\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1163\"}}]},{\"$\":{\"y\":\"-285.1858645\",\"x\":\"155.395113\",\"font-size\":\"19\",\"id\":\"SvgjsText1164\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n F\\r\\n \",\"$\":{\"x\":\"155.395113\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1165\"}}]},{\"$\":{\"y\":\"-285.1858645\",\"x\":\"223.03684299999998\",\"font-size\":\"19\",\"id\":\"SvgjsText1166\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n G\\r\\n \",\"$\":{\"x\":\"223.03684299999998\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1167\"}}]},{\"$\":{\"y\":\"-217.86302450000002\",\"x\":\"-123.14425\",\"font-size\":\"19\",\"id\":\"SvgjsText1184\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Shift\\r\\n \",\"$\":{\"x\":\"-123.14425\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1185\"}}]},{\"$\":{\"y\":\"-217.86302450000002\",\"x\":\"-15.250557000000004\",\"font-size\":\"19\",\"id\":\"SvgjsText1186\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Z\\r\\n \",\"$\":{\"x\":\"-15.250557000000004\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1187\"}}]},{\"$\":{\"y\":\"-217.86302450000002\",\"x\":\"52.780936999999994\",\"font-size\":\"19\",\"id\":\"SvgjsText1188\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n X\\r\\n \",\"$\":{\"x\":\"52.780936999999994\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1189\"}}]},{\"$\":{\"y\":\"-217.86302450000002\",\"x\":\"120.812431\",\"font-size\":\"19\",\"id\":\"SvgjsText1190\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n C\\r\\n \",\"$\":{\"x\":\"120.812431\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1191\"}}]},{\"$\":{\"y\":\"-217.86302450000002\",\"x\":\"188.843923\",\"font-size\":\"19\",\"id\":\"SvgjsText1192\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n V\\r\\n \",\"$\":{\"x\":\"188.843923\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1193\"}}]},{\"$\":{\"y\":\"-217.86302450000002\",\"x\":\"256.875423\",\"font-size\":\"19\",\"id\":\"SvgjsText1194\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n B\\r\\n \",\"$\":{\"x\":\"256.875423\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1195\"}}]},{\"$\":{\"y\":\"-150.5401845\",\"x\":\"-155.0340145\",\"font-size\":\"19\",\"id\":\"SvgjsText1211\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Ctrl\\r\\n \",\"$\":{\"x\":\"-155.0340145\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1212\"}}]},{\"$\":{\"y\":\"-150.5401845\",\"x\":\"-72.1206345\",\"font-size\":\"19\",\"id\":\"SvgjsText1213\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Super\\r\\n \",\"$\":{\"x\":\"-72.1206345\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1214\"}}]},{\"$\":{\"y\":\"-150.5401845\",\"x\":\"10.7927475\",\"font-size\":\"19\",\"id\":\"SvgjsText1215\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Alt\\r\\n \",\"$\":{\"x\":\"10.7927475\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1216\"}}]},{\"$\":{\"y\":\"-150.5401845\",\"x\":\"93.7061345\",\"font-size\":\"19\",\"id\":\"SvgjsText1217\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Fn\\r\\n \",\"$\":{\"x\":\"93.7061345\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1218\"}}]},{\"$\":{\"y\":\"-150.5401845\",\"x\":\"202.66282999999999\",\"font-size\":\"19\",\"id\":\"SvgjsText1219\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Mod\\r\\n \",\"$\":{\"x\":\"202.66282999999999\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1220\"}}]},{\"$\":{\"y\":\"-94.136492\",\"x\":\"202.66282999999999\",\"font-size\":\"19\",\"id\":\"SvgjsText1231\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Space\\r\\n \",\"$\":{\"x\":\"202.66282999999999\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1232\"}}]}]},{\"$\":{\"transform\":\"translate(44.404903 1101.7674)\",\"id\":\"right-parts\"},\"path\":[{\"$\":{\"d\":\"m 951.05862,-431.2832 c 2.791,0 5.32908,2.56086 5.32908,5.3769 l 0,329.455425 c 0,2.816038 -2.53808,5.376898 -5.32908,5.376898 l -370.67909,-0.0013 c -1.77166,0 -3.54347,1.7733 -3.54347,3.545 0,12.895215 0,23.315027 0,34.58266 0,1.7716 1.77181,3.5432 3.54347,3.5432 l 390.67297,1.44e-4 c 0.92804,0 1.85621,-0.147582 2.73944,-0.436358 0.88324,-0.288776 1.72122,-0.718687 2.47277,-1.269152 0.75157,-0.550467 1.41644,-1.221298 1.96201,-1.979608 0.54557,-0.758309 0.97166,-1.603806 1.25787,-2.494964 0.2862,-0.891158 0.43247,-1.827653 0.43247,-2.764016 l 0,-389.434639 c 0,-0.83901 -0.11739,-1.67813 -0.34806,-2.4845 -0.23066,-0.80638 -0.57456,-1.57983 -1.01841,-2.28986 -0.44385,-0.71002 -0.98756,-1.35643 -1.60971,-1.91378 -0.62215,-0.55735 -1.3226,-1.0255 -2.07365,-1.38629 -0.75105,-0.36078 -1.55253,-0.61412 -2.37301,-0.75058 -130.52433,-21.7076 -270.93602,-45.05959 -384.94144,-64.01992 -0.91165,-0.15162 -1.8469,-0.15828 -2.76061,-0.0195 -0.91372,0.13871 -1.8056,0.42276 -2.63265,0.83829 -0.82706,0.41551 -1.58903,0.96236 -2.24949,1.61394 -0.66047,0.65158 -1.21924,1.40768 -1.64996,2.2319 -0.43072,0.82422 -0.73327,1.71631 -0.8936,2.63375 -3.12168,17.84567 -6.23258,35.69325 -9.35634,53.53854 -0.058,0.33171 -0.16187,0.65478 -0.30744,0.95668 -0.14556,0.30189 -0.33275,0.58256 -0.5541,0.83133 -0.22136,0.24877 -0.47683,0.4656 -0.7565,0.64244 -0.27967,0.17685 -0.5835,0.31372 -0.89995,0.40551 -0.31645,0.0919 -0.64548,0.1386 -0.97471,0.1386 l -109.19782,-2e-5 c -0.93043,-10e-6 -1.77697,0.85413 -1.77697,1.79631 10e-6,7.4108 -1e-5,15.64271 0,21.94355 0,0.93909 0.84654,1.79353 1.77697,1.79353 l 495.73901,0\",\"id\":\"right-case\"}}],\"rect\":[{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"453.52896\",\"y\":\"-427.82285\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-0\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"520.85181\",\"y\":\"-427.82285\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-1\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"588.17462\",\"y\":\"-427.82285\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-2\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"655.4975\",\"y\":\"-427.82285\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-3\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"722.82031\",\"y\":\"-427.82285\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-4\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"790.14313\",\"y\":\"-427.82285\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-5\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"857.466\",\"y\":\"-427.82285\",\"height\":\"63.779526\",\"width\":\"95.669289\",\"id\":\"key-6\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"418.09589\",\"y\":\"-360.50003\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-7\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"485.41873\",\"y\":\"-360.50003\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-8\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"552.74158\",\"y\":\"-360.50003\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-9\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"620.06439\",\"y\":\"-360.50003\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-10\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"687.38727\",\"y\":\"-360.50003\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-11\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"754.71008\",\"y\":\"-360.50003\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-12\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"822.0329\",\"y\":\"-360.50003\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-13\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"889.35571\",\"y\":\"-360.50003\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-14\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"435.67072\",\"y\":\"-293.17719\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-15\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"503.31244\",\"y\":\"-293.17719\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-16\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"570.95416\",\"y\":\"-293.17719\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-17\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"638.59589\",\"y\":\"-293.17719\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-18\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"706.23761\",\"y\":\"-293.17719\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-19\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"773.87939\",\"y\":\"-293.17719\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-20\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"841.52112\",\"y\":\"-293.17719\",\"height\":\"63.779526\",\"width\":\"111.61417\",\"id\":\"key-21\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"469.47385\",\"y\":\"-225.85435\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-22\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"537.50537\",\"y\":\"-225.85435\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-23\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"605.53687\",\"y\":\"-225.85435\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-24\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"673.56836\",\"y\":\"-225.85435\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-25\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"741.59985\",\"y\":\"-225.85435\",\"height\":\"63.779526\",\"width\":\"63.779526\",\"id\":\"key-26\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"809.63135\",\"y\":\"-225.85435\",\"height\":\"63.779526\",\"width\":\"143.50394\",\"id\":\"key-27\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"448.92267\",\"y\":\"-158.53151\",\"height\":\"63.779526\",\"width\":\"124.37008\",\"id\":\"key-28\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"576.83606\",\"y\":\"-158.53151\",\"height\":\"63.779526\",\"width\":\"79.724411\",\"id\":\"key-29\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"659.74945\",\"y\":\"-158.53151\",\"height\":\"63.779526\",\"width\":\"79.724411\",\"id\":\"key-30\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"742.66284\",\"y\":\"-158.53151\",\"height\":\"63.779526\",\"width\":\"79.724411\",\"id\":\"key-31\"}},{\"$\":{\"rx\":\"3.5433071\",\"ry\":\"3.5433071\",\"x\":\"825.57623\",\"y\":\"-158.53151\",\"height\":\"63.779526\",\"width\":\"127.55905\",\"id\":\"key-32\"}},{\"$\":{\"rx\":\"3.493542\",\"ry\":\"3.5433071\",\"x\":\"448.92267\",\"y\":\"-91.071663\",\"height\":\"41.667309\",\"width\":\"124.37009\",\"id\":\"key-33\"}}],\"text\":[{\"$\":{\"y\":\"-435.0346495\",\"x\":\"485.418723\",\"font-size\":\"19\",\"id\":\"SvgjsText1105\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"&\",\"$\":{\"x\":\"485.418723\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1106\"}},{\"_\":\"7\",\"$\":{\"x\":\"485.418723\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1107\"}}]},{\"$\":{\"y\":\"-435.0346495\",\"x\":\"552.741573\",\"font-size\":\"19\",\"id\":\"SvgjsText1108\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"*\",\"$\":{\"x\":\"552.741573\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1109\"}},{\"_\":\"8\",\"$\":{\"x\":\"552.741573\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1110\"}}]},{\"$\":{\"y\":\"-435.0346495\",\"x\":\"620.064383\",\"font-size\":\"19\",\"id\":\"SvgjsText1111\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"(\",\"$\":{\"x\":\"620.064383\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1112\"}},{\"_\":\"9\",\"$\":{\"x\":\"620.064383\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1113\"}}]},{\"$\":{\"y\":\"-435.0346495\",\"x\":\"687.387263\",\"font-size\":\"19\",\"id\":\"SvgjsText1114\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\")\",\"$\":{\"x\":\"687.387263\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1115\"}},{\"_\":\"0\",\"$\":{\"x\":\"687.387263\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1116\"}}]},{\"$\":{\"y\":\"-435.0346495\",\"x\":\"754.710073\",\"font-size\":\"19\",\"id\":\"SvgjsText1117\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"_\",\"$\":{\"x\":\"754.710073\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1118\"}},{\"_\":\"-\",\"$\":{\"x\":\"754.710073\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1119\"}}]},{\"$\":{\"y\":\"-435.0346495\",\"x\":\"822.0328930000001\",\"font-size\":\"19\",\"id\":\"SvgjsText1120\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"+\",\"$\":{\"x\":\"822.0328930000001\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1121\"}},{\"_\":\"=\",\"$\":{\"x\":\"822.0328930000001\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1122\"}}]},{\"$\":{\"y\":\"-419.8315245\",\"x\":\"905.3006445\",\"font-size\":\"19\",\"id\":\"SvgjsText1123\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n ←\\r\\n \",\"$\":{\"x\":\"905.3006445\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1124\"}}]},{\"$\":{\"y\":\"-352.50870449999996\",\"x\":\"449.985653\",\"font-size\":\"19\",\"id\":\"SvgjsText1137\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Y\\r\\n \",\"$\":{\"x\":\"449.985653\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1138\"}}]},{\"$\":{\"y\":\"-352.50870449999996\",\"x\":\"517.308493\",\"font-size\":\"19\",\"id\":\"SvgjsText1139\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n U\\r\\n \",\"$\":{\"x\":\"517.308493\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1140\"}}]},{\"$\":{\"y\":\"-352.50870449999996\",\"x\":\"584.631343\",\"font-size\":\"19\",\"id\":\"SvgjsText1141\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n I\\r\\n \",\"$\":{\"x\":\"584.631343\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1142\"}}]},{\"$\":{\"y\":\"-352.50870449999996\",\"x\":\"651.954153\",\"font-size\":\"19\",\"id\":\"SvgjsText1143\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n O\\r\\n \",\"$\":{\"x\":\"651.954153\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1144\"}}]},{\"$\":{\"y\":\"-352.50870449999996\",\"x\":\"719.277033\",\"font-size\":\"19\",\"id\":\"SvgjsText1145\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n P\\r\\n \",\"$\":{\"x\":\"719.277033\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1146\"}}]},{\"$\":{\"y\":\"-367.71182949999996\",\"x\":\"786.599843\",\"font-size\":\"19\",\"id\":\"SvgjsText1147\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"{\",\"$\":{\"x\":\"786.599843\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1148\"}},{\"_\":\"[\",\"$\":{\"x\":\"786.599843\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1149\"}}]},{\"$\":{\"y\":\"-367.71182949999996\",\"x\":\"853.9226630000001\",\"font-size\":\"19\",\"id\":\"SvgjsText1150\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"}\",\"$\":{\"x\":\"853.9226630000001\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1151\"}},{\"_\":\"]\",\"$\":{\"x\":\"853.9226630000001\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1152\"}}]},{\"$\":{\"y\":\"-367.71182949999996\",\"x\":\"921.2454730000001\",\"font-size\":\"19\",\"id\":\"SvgjsText1153\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"|\",\"$\":{\"x\":\"921.2454730000001\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1154\"}},{\"_\":\"\\\\\",\"$\":{\"x\":\"921.2454730000001\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1155\"}}]},{\"$\":{\"y\":\"-285.1858645\",\"x\":\"467.56048300000003\",\"font-size\":\"19\",\"id\":\"SvgjsText1168\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n H\\r\\n \",\"$\":{\"x\":\"467.56048300000003\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1169\"}}]},{\"$\":{\"y\":\"-285.1858645\",\"x\":\"535.2022029999999\",\"font-size\":\"19\",\"id\":\"SvgjsText1170\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n J\\r\\n \",\"$\":{\"x\":\"535.2022029999999\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1171\"}}]},{\"$\":{\"y\":\"-285.1858645\",\"x\":\"602.843923\",\"font-size\":\"19\",\"id\":\"SvgjsText1172\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n K\\r\\n \",\"$\":{\"x\":\"602.843923\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1173\"}}]},{\"$\":{\"y\":\"-285.1858645\",\"x\":\"670.4856530000001\",\"font-size\":\"19\",\"id\":\"SvgjsText1174\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n L\\r\\n \",\"$\":{\"x\":\"670.4856530000001\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1175\"}}]},{\"$\":{\"y\":\"-300.3889895\",\"x\":\"738.127373\",\"font-size\":\"19\",\"id\":\"SvgjsText1176\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\":\",\"$\":{\"x\":\"738.127373\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1177\"}},{\"_\":\";\",\"$\":{\"x\":\"738.127373\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1178\"}}]},{\"$\":{\"y\":\"-300.3889895\",\"x\":\"805.769153\",\"font-size\":\"19\",\"id\":\"SvgjsText1179\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\\"\",\"$\":{\"x\":\"805.769153\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1180\"}},{\"_\":\"'\",\"$\":{\"x\":\"805.769153\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1181\"}}]},{\"$\":{\"y\":\"-285.1858645\",\"x\":\"897.328205\",\"font-size\":\"19\",\"id\":\"SvgjsText1182\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Enter\\r\\n \",\"$\":{\"x\":\"897.328205\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1183\"}}]},{\"$\":{\"y\":\"-217.86302450000002\",\"x\":\"501.36361300000004\",\"font-size\":\"19\",\"id\":\"SvgjsText1196\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n N\\r\\n \",\"$\":{\"x\":\"501.36361300000004\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1197\"}}]},{\"$\":{\"y\":\"-217.86302450000002\",\"x\":\"569.395133\",\"font-size\":\"19\",\"id\":\"SvgjsText1198\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n M\\r\\n \",\"$\":{\"x\":\"569.395133\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1199\"}}]},{\"$\":{\"y\":\"-233.06614950000002\",\"x\":\"637.426633\",\"font-size\":\"19\",\"id\":\"SvgjsText1200\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"<\",\"$\":{\"x\":\"637.426633\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1201\"}},{\"_\":\",\",\"$\":{\"x\":\"637.426633\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1202\"}}]},{\"$\":{\"y\":\"-233.06614950000002\",\"x\":\"705.458123\",\"font-size\":\"19\",\"id\":\"SvgjsText1203\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\">\",\"$\":{\"x\":\"705.458123\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1204\"}},{\"_\":\".\",\"$\":{\"x\":\"705.458123\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1205\"}}]},{\"$\":{\"y\":\"-233.06614950000002\",\"x\":\"773.489613\",\"font-size\":\"19\",\"id\":\"SvgjsText1206\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"?\",\"$\":{\"x\":\"773.489613\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1207\"}},{\"_\":\"/\",\"$\":{\"x\":\"773.489613\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1208\"}}]},{\"$\":{\"y\":\"-217.86302450000002\",\"x\":\"881.38332\",\"font-size\":\"19\",\"id\":\"SvgjsText1209\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Shift\\r\\n \",\"$\":{\"x\":\"881.38332\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1210\"}}]},{\"$\":{\"y\":\"-150.5401845\",\"x\":\"511.10771\",\"font-size\":\"19\",\"id\":\"SvgjsText1221\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Space\\r\\n \",\"$\":{\"x\":\"511.10771\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1222\"}}]},{\"$\":{\"y\":\"-150.5401845\",\"x\":\"616.6982654999999\",\"font-size\":\"19\",\"id\":\"SvgjsText1223\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Fn\\r\\n \",\"$\":{\"x\":\"616.6982654999999\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1224\"}}]},{\"$\":{\"y\":\"-150.5401845\",\"x\":\"699.6116555\",\"font-size\":\"19\",\"id\":\"SvgjsText1225\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Alt\\r\\n \",\"$\":{\"x\":\"699.6116555\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1226\"}}]},{\"$\":{\"y\":\"-150.5401845\",\"x\":\"782.5250454999999\",\"font-size\":\"19\",\"id\":\"SvgjsText1227\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Super\\r\\n \",\"$\":{\"x\":\"782.5250454999999\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1228\"}}]},{\"$\":{\"y\":\"-150.5401845\",\"x\":\"889.355755\",\"font-size\":\"19\",\"id\":\"SvgjsText1229\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Ctrl\\r\\n \",\"$\":{\"x\":\"889.355755\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1230\"}}]},{\"$\":{\"y\":\"-94.136446\",\"x\":\"511.107715\",\"font-size\":\"19\",\"id\":\"SvgjsText1233\",\"text-anchor\":\"middle\",\"font-family\":\"Helvetica\",\"fill\":\"#ffffff\"},\"tspan\":[{\"_\":\"\\r\\n Mod\\r\\n \",\"$\":{\"x\":\"511.107715\",\"dy\":\"30.400000000000002\",\"id\":\"SvgjsTspan1234\"}}]}]}]}]}}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xml-loader!./images/base-layer.svg\n// module id = 289\n// module chunks = 0","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/keyboard/svg-keyboard.component.html\n// module id = 290\n// module chunks = 0","module.exports = \":host {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n position: relative; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/keyboard/svg-keyboard.component.scss\n// module id = 291\n// module chunks = 0","export { SvgIconTextKeyComponent } from './svg-icon-text-key';\r\nexport { SvgKeyboardKeyComponent, SvgKeyboardKey } from './svg-keyboard-key';\r\nexport { SvgKeystrokeKeyComponent } from './svg-keystroke-key';\r\nexport { SvgMouseKeyComponent } from './svg-mouse-key';\r\nexport { SvgMouseClickKeyComponent } from './svg-mouse-click-key';\r\nexport { SvgMouseMoveKeyComponent } from './svg-mouse-move-key';\r\nexport { SvgMouseSpeedKeyComponent } from './svg-mouse-speed-key';\r\nexport { SvgMouseScrollKeyComponent } from './svg-mouse-scroll-key';\r\nexport { SvgOneLineTextKeyComponent } from './svg-one-line-text-key';\r\nexport { SvgSingleIconKeyComponent } from './svg-single-icon-key';\r\nexport { SvgSwitchKeymapKeyComponent } from './svg-switch-keymap-key';\r\nexport { SvgTextIconKeyComponent } from './svg-text-icon-key';\r\nexport { SvgTwoLineTextKeyComponent } from './svg-two-line-text-key';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/index.ts","export * from './svg-icon-text-key.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-icon-text-key/index.ts","import { Component, Input, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'g[svg-icon-text-key]',\r\n template: require('./svg-icon-text-key.component.html'),\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SvgIconTextKeyComponent implements OnInit {\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() icon: string;\r\n @Input() text: string;\r\n\r\n private useWidth: number;\r\n private useHeight: number;\r\n private useX: number;\r\n private useY: number;\r\n private textY: number;\r\n private spanX: number;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n this.useWidth = this.width / 3;\r\n this.useHeight = this.height / 3;\r\n this.useX = (this.width > 2 * this.height) ? 0 : this.width / 3;\r\n this.useY = (this.width > 2 * this.height) ? this.height / 3 : this.height / 10;\r\n this.textY = (this.width > 2 * this.height) ? this.height / 2 : this.height * 0.6;\r\n this.spanX = (this.width > 2 * this.height) ? this.width * 0.6 : this.width / 2;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-icon-text-key/svg-icon-text-key.component.ts","module.exports = \"\\r\\n\\r\\n\\r\\n {{ text }}\\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/keys/svg-icon-text-key/svg-icon-text-key.component.html\n// module id = 295\n// module chunks = 0","export * from './svg-keyboard-key.component';\r\nexport * from './svg-keyboard-key.model';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-keyboard-key/index.ts","import {\r\n Component, ElementRef, EventEmitter, HostListener, Input, OnChanges, OnDestroy, OnInit, Output, Renderer,\r\n SimpleChange, animate, group, state, style, transition, trigger\r\n} from '@angular/core';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { Subscription } from 'rxjs/Subscription';\r\n\r\nimport {\r\n KeyAction,\r\n KeystrokeAction,\r\n LayerName,\r\n MouseAction,\r\n PlayMacroAction,\r\n SwitchKeymapAction,\r\n SwitchLayerAction\r\n} from '../../../../config-serializer/config-items/key-action';\r\nimport { KeyModifiers } from '../../../../config-serializer/config-items/KeyModifiers';\r\nimport { Macro } from '../../../../config-serializer/config-items/Macro';\r\n\r\nimport { CaptureService } from '../../../../services/capture.service';\r\nimport { MapperService } from '../../../../services/mapper.service';\r\n\r\nimport { AppState } from '../../../../store/index';\r\nimport { getMacros } from '../../../../store/reducers/user-configuration';\r\n\r\nenum LabelTypes {\r\n KeystrokeKey,\r\n MouseKey,\r\n OneLineText,\r\n TwoLineText,\r\n TextIcon,\r\n SingleIcon,\r\n SwitchKeymap,\r\n IconText\r\n}\r\n\r\n@Component({\r\n animations: [\r\n trigger('change', [\r\n transition('inactive => active', [\r\n style({ fill: '#fff' }),\r\n group([\r\n animate('1s ease-out', style({\r\n fill: '#333'\r\n }))\r\n ])\r\n ])\r\n ]),\r\n trigger('recording', [\r\n state('inactive', style({\r\n fill: 'rgba(204, 0, 0, 1)'\r\n })),\r\n state('active', style({\r\n fill: 'rgba(204, 0, 0, 0.6)'\r\n })),\r\n transition('inactive <=> active', animate('600ms ease-in-out'))\r\n ])\r\n ],\r\n selector: 'g[svg-keyboard-key]',\r\n template: require('./svg-keyboard-key.component.html'),\r\n styles: [require('./svg-keyboard-key.component.scss')]\r\n})\r\nexport class SvgKeyboardKeyComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input() id: string;\r\n @Input() rx: string;\r\n @Input() ry: string;\r\n @Input() height: number;\r\n @Input() width: number;\r\n @Input() keyAction: KeyAction;\r\n @Input() keybindAnimationEnabled: boolean;\r\n @Input() capturingEnabled: boolean;\r\n @Output() keyClick = new EventEmitter();\r\n @Output() capture = new EventEmitter();\r\n\r\n enumLabelTypes = LabelTypes;\r\n\r\n public changeAnimation: string = 'inactive';\r\n public recordAnimation: string;\r\n\r\n private labelSource: any;\r\n private labelType: LabelTypes;\r\n private macros: Macro[];\r\n private subscription: Subscription;\r\n private recording: boolean;\r\n private scanCodePressed: boolean;\r\n\r\n @HostListener('click')\r\n onClick() {\r\n this.reset();\r\n this.keyClick.emit(this.element.nativeElement);\r\n }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n onMouseDown(e: MouseEvent) {\r\n if ((e.which === 2 || e.button === 1) && this.capturingEnabled) {\r\n e.preventDefault();\r\n this.renderer.invokeElementMethod(this.element.nativeElement, 'focus');\r\n\r\n if (this.recording) {\r\n this.reset();\r\n } else {\r\n this.recording = true;\r\n this.recordAnimation = 'active';\r\n }\r\n }\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n onKeyUpe(e: KeyboardEvent) {\r\n if (this.scanCodePressed) {\r\n e.preventDefault();\r\n this.scanCodePressed = false;\r\n } else if (this.recording) {\r\n e.preventDefault();\r\n this.saveScanCode();\r\n }\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: KeyboardEvent) {\r\n const code: number = e.keyCode;\r\n\r\n if (this.recording) {\r\n e.preventDefault();\r\n\r\n if (this.captureService.hasMap(code)) {\r\n this.saveScanCode(this.captureService.getMap(code));\r\n this.scanCodePressed = true;\r\n } else {\r\n this.captureService.setModifier((e.location === 1), code);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('focusout')\r\n onFocusOut() {\r\n this.reset();\r\n }\r\n\r\n constructor(\r\n private mapper: MapperService,\r\n private store: Store,\r\n private element: ElementRef,\r\n private captureService: CaptureService,\r\n private renderer: Renderer\r\n ) {\r\n this.subscription = store.let(getMacros())\r\n .subscribe((macros: Macro[]) => this.macros = macros);\r\n\r\n this.reset();\r\n this.captureService.populateMapping();\r\n this.scanCodePressed = false;\r\n }\r\n\r\n ngOnInit() {\r\n this.setLabels();\r\n }\r\n\r\n ngOnChanges(changes: { [propertyName: string]: SimpleChange }) {\r\n if (changes['keyAction']) {\r\n this.setLabels();\r\n if (this.keybindAnimationEnabled) {\r\n this.changeAnimation = 'active';\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n onChangeAnimationDone() {\r\n this.changeAnimation = 'inactive';\r\n }\r\n\r\n onRecordingAnimationDone() {\r\n if (this.recording && this.recordAnimation === 'inactive') {\r\n this.recordAnimation = 'active';\r\n } else {\r\n this.recordAnimation = 'inactive';\r\n }\r\n }\r\n\r\n private reset() {\r\n this.recording = false;\r\n this.changeAnimation = 'inactive';\r\n this.captureService.initModifiers();\r\n }\r\n\r\n private saveScanCode(code = 0) {\r\n this.recording = false;\r\n this.changeAnimation = 'inactive';\r\n\r\n const left: boolean[] = this.captureService.getModifiers(true);\r\n const right: boolean[] = this.captureService.getModifiers(false);\r\n\r\n this.capture.emit({\r\n code,\r\n left,\r\n right\r\n });\r\n\r\n this.captureService.initModifiers();\r\n }\r\n\r\n private setLabels(): void {\r\n if (!this.keyAction) {\r\n this.labelSource = undefined;\r\n this.labelType = LabelTypes.OneLineText;\r\n return;\r\n }\r\n\r\n this.labelType = LabelTypes.OneLineText;\r\n\r\n if (this.keyAction instanceof KeystrokeAction) {\r\n let keyAction: KeystrokeAction = this.keyAction as KeystrokeAction;\r\n let newLabelSource: string[];\r\n\r\n if (!keyAction.hasActiveModifier() && keyAction.hasScancode()) {\r\n let scancode: number = keyAction.scancode;\r\n newLabelSource = this.mapper.scanCodeToText(scancode);\r\n if (this.mapper.hasScancodeIcon(scancode)) {\r\n this.labelSource = this.mapper.scanCodeToSvgImagePath(scancode);\r\n this.labelType = LabelTypes.SingleIcon;\r\n } else if (newLabelSource !== undefined) {\r\n if (newLabelSource.length === 1) {\r\n this.labelSource = newLabelSource[0];\r\n this.labelType = LabelTypes.OneLineText;\r\n } else {\r\n this.labelSource = newLabelSource;\r\n this.labelType = LabelTypes.TwoLineText;\r\n }\r\n }\r\n } else if (keyAction.hasOnlyOneActiveModifier() && !keyAction.hasScancode()) {\r\n newLabelSource = [];\r\n switch (keyAction.modifierMask) {\r\n case KeyModifiers.leftCtrl:\r\n case KeyModifiers.rightCtrl:\r\n newLabelSource.push('Ctrl');\r\n break;\r\n case KeyModifiers.leftShift:\r\n case KeyModifiers.rightShift:\r\n newLabelSource.push('Shift');\r\n break;\r\n case KeyModifiers.leftAlt:\r\n case KeyModifiers.rightAlt:\r\n newLabelSource.push('Alt');\r\n break;\r\n case KeyModifiers.leftGui:\r\n case KeyModifiers.rightGui:\r\n newLabelSource.push('Super');\r\n break;\r\n default:\r\n newLabelSource.push('Undefined');\r\n break;\r\n }\r\n this.labelSource = newLabelSource;\r\n } else {\r\n this.labelType = LabelTypes.KeystrokeKey;\r\n this.labelSource = this.keyAction;\r\n }\r\n } else if (this.keyAction instanceof SwitchLayerAction) {\r\n let keyAction: SwitchLayerAction = this.keyAction as SwitchLayerAction;\r\n let newLabelSource: string;\r\n switch (keyAction.layer) {\r\n case LayerName.mod:\r\n newLabelSource = 'Mod';\r\n break;\r\n case LayerName.fn:\r\n newLabelSource = 'Fn';\r\n break;\r\n case LayerName.mouse:\r\n newLabelSource = 'Mouse';\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (keyAction.isLayerToggleable) {\r\n this.labelType = LabelTypes.TextIcon;\r\n this.labelSource = {\r\n text: newLabelSource,\r\n icon: this.mapper.getIcon('toggle')\r\n };\r\n } else {\r\n this.labelType = LabelTypes.OneLineText;\r\n this.labelSource = newLabelSource;\r\n }\r\n } else if (this.keyAction instanceof SwitchKeymapAction) {\r\n let keyAction: SwitchKeymapAction = this.keyAction as SwitchKeymapAction;\r\n this.labelType = LabelTypes.SwitchKeymap;\r\n this.labelSource = keyAction.keymapAbbreviation;\r\n } else if (this.keyAction instanceof PlayMacroAction) {\r\n let keyAction: PlayMacroAction = this.keyAction as PlayMacroAction;\r\n const macro: Macro = this.macros.find((_macro: Macro) => _macro.id === keyAction.macroId);\r\n this.labelType = LabelTypes.IconText;\r\n this.labelSource = {\r\n icon: this.mapper.getIcon('macro'),\r\n text: macro.name\r\n };\r\n } else if (this.keyAction instanceof MouseAction) {\r\n this.labelType = LabelTypes.MouseKey;\r\n this.labelSource = this.keyAction;\r\n } else {\r\n this.labelSource = undefined;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-keyboard-key/svg-keyboard-key.component.ts","module.exports = \"\\r\\n\\r\\n\\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/keys/svg-keyboard-key/svg-keyboard-key.component.html\n// module id = 298\n// module chunks = 0","module.exports = \":host {\\n cursor: pointer;\\n outline: none; }\\n :host /deep/ text {\\n dominant-baseline: central; }\\n :host:hover {\\n fill: #494949; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/keys/svg-keyboard-key/svg-keyboard-key.component.scss\n// module id = 299\n// module chunks = 0","export * from './svg-keystroke-key.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-keystroke-key/index.ts","import { Component, Input, OnChanges, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\n\r\nimport { KeystrokeAction } from '../../../../config-serializer/config-items/key-action';\r\nimport { KeyModifiers } from '../../../../config-serializer/config-items/KeyModifiers';\r\nimport { MapperService } from '../../../../services/mapper.service';\r\n\r\nclass SvgAttributes {\r\n width: number;\r\n height: number;\r\n x: number;\r\n y: number;\r\n disabled: boolean;\r\n\r\n constructor() {\r\n this.width = 0;\r\n this.height = 0;\r\n this.x = 0;\r\n this.y = 0;\r\n this.disabled = true;\r\n }\r\n}\r\n\r\nenum Modifiers {\r\n Shift, Control, Alt, Command\r\n}\r\n\r\n@Component({\r\n selector: 'g[svg-keystroke-key]',\r\n template: require('./svg-keystroke-key.component.html'),\r\n styles: [require('./svg-keystroke-key.component.scss')],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SvgKeystrokeKeyComponent implements OnInit, OnChanges {\r\n @Input() height: number;\r\n @Input() width: number;\r\n @Input() keystrokeAction: KeystrokeAction;\r\n\r\n private viewBox: string;\r\n private textContainer: SvgAttributes;\r\n private modifierContainer: SvgAttributes;\r\n private shift: SvgAttributes;\r\n private control: SvgAttributes;\r\n private option: SvgAttributes;\r\n private command: SvgAttributes;\r\n\r\n private labelSource: any;\r\n private labelType: 'empty' | 'one-line' | 'two-line' | 'icon';\r\n\r\n private modifierIconNames: {\r\n shift?: string,\r\n option?: string,\r\n command?: string\r\n };\r\n\r\n constructor(private mapper: MapperService) {\r\n this.modifierIconNames = {};\r\n this.textContainer = new SvgAttributes();\r\n this.modifierContainer = new SvgAttributes();\r\n this.shift = new SvgAttributes();\r\n this.control = new SvgAttributes();\r\n this.option = new SvgAttributes();\r\n this.command = new SvgAttributes();\r\n }\r\n\r\n ngOnInit() {\r\n this.viewBox = [0, 0, this.width, this.height].join(' ');\r\n this.modifierIconNames.shift = this.mapper.getIcon('shift');\r\n this.modifierIconNames.option = this.mapper.getIcon('option');\r\n this.modifierIconNames.command = this.mapper.getIcon('command');\r\n\r\n let bottomSideMode: boolean = this.width < this.height * 1.8;\r\n\r\n const heightWidthRatio = this.height / this.width;\r\n\r\n if (bottomSideMode) {\r\n const maxIconWidth = this.width / 4;\r\n const maxIconHeight = this.height;\r\n const iconScalingFactor = 0.8;\r\n let iconWidth = iconScalingFactor * heightWidthRatio * maxIconWidth;\r\n let iconHeight = iconScalingFactor * maxIconHeight;\r\n this.modifierContainer.width = this.width;\r\n this.modifierContainer.height = this.height / 5;\r\n this.modifierContainer.y = this.height - this.modifierContainer.height;\r\n this.shift.width = iconWidth;\r\n this.shift.height = iconHeight;\r\n this.shift.x = (maxIconWidth - iconWidth) / 2;\r\n this.shift.y = (maxIconHeight - iconHeight) / 2;\r\n this.control.width = iconWidth;\r\n this.control.height = iconHeight;\r\n this.control.x = this.shift.x + maxIconWidth;\r\n this.control.y = this.shift.y;\r\n this.option.width = iconWidth;\r\n this.option.height = iconHeight;\r\n this.option.x = this.control.x + maxIconWidth;\r\n this.option.y = this.shift.y;\r\n this.command.width = iconWidth;\r\n this.command.height = iconHeight;\r\n this.command.x = this.option.x + maxIconWidth;\r\n this.command.y = this.shift.y;\r\n this.textContainer.y = -this.modifierContainer.height / 2;\r\n } else {\r\n this.modifierContainer.width = this.width / 4;\r\n this.modifierContainer.height = this.height;\r\n this.modifierContainer.x = this.width - this.modifierContainer.width;\r\n\r\n const length = Math.min(this.modifierContainer.width / 2, this.modifierContainer.height / 2);\r\n\r\n const iconScalingFactor = 0.8;\r\n const iconWidth = iconScalingFactor * this.width * (length / this.modifierContainer.width);\r\n const iconHeight = iconScalingFactor * this.height * (length / this.modifierContainer.height);\r\n this.shift.width = iconWidth;\r\n this.shift.height = iconHeight;\r\n this.shift.x = this.width / 4 - iconWidth / 2;\r\n this.shift.y = this.height / 4 - iconHeight / 2;\r\n this.control.width = iconWidth;\r\n this.control.height = iconHeight;\r\n this.control.x = this.shift.x + this.width / 2;\r\n this.control.y = this.shift.y;\r\n this.option.width = iconWidth;\r\n this.option.height = iconHeight;\r\n this.option.x = this.shift.x;\r\n this.option.y = this.shift.y + this.height / 2;\r\n this.command.width = iconWidth;\r\n this.command.height = iconHeight;\r\n this.command.x = this.option.x + this.width / 2;\r\n this.command.y = this.option.y;\r\n this.textContainer.x = -this.modifierContainer.width / 2;\r\n }\r\n\r\n this.textContainer.width = this.width;\r\n this.textContainer.height = this.height;\r\n }\r\n\r\n ngOnChanges() {\r\n let newLabelSource: string[];\r\n if (this.keystrokeAction.hasScancode()) {\r\n let scancode: number = this.keystrokeAction.scancode;\r\n newLabelSource = this.mapper.scanCodeToText(scancode);\r\n if (newLabelSource) {\r\n if (newLabelSource.length === 1) {\r\n this.labelSource = newLabelSource[0];\r\n this.labelType = 'one-line';\r\n } else {\r\n this.labelSource = newLabelSource;\r\n this.labelType = 'two-line';\r\n }\r\n } else {\r\n this.labelSource = this.mapper.scanCodeToSvgImagePath(scancode);\r\n this.labelType = 'icon';\r\n }\r\n } else {\r\n this.labelType = 'empty';\r\n }\r\n\r\n this.shift.disabled = !this.keystrokeAction.isActive(KeyModifiers.leftShift | KeyModifiers.rightShift);\r\n this.control.disabled = !this.keystrokeAction.isActive(KeyModifiers.leftCtrl | KeyModifiers.rightCtrl);\r\n this.option.disabled = !this.keystrokeAction.isActive(KeyModifiers.leftAlt | KeyModifiers.rightAlt);\r\n this.command.disabled = !this.keystrokeAction.isActive(KeyModifiers.leftGui | KeyModifiers.rightGui);\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-keystroke-key/svg-keystroke-key.component.ts","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n C\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/keys/svg-keystroke-key/svg-keystroke-key.component.html\n// module id = 302\n// module chunks = 0","module.exports = \".disabled {\\n fill: gray; }\\n\\ntext {\\n font-size: 100px; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/keys/svg-keystroke-key/svg-keystroke-key.component.scss\n// module id = 303\n// module chunks = 0","export * from './svg-mouse-key';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-mouse-key/index.ts","import { Component, Input, OnChanges, ChangeDetectionStrategy } from '@angular/core';\r\n\r\nimport { MouseAction, MouseActionParam } from '../../../../config-serializer/config-items/key-action';\r\n\r\n@Component({\r\n selector: 'g[svg-mouse-key]',\r\n template: require('./svg-mouse-key.html'),\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SvgMouseKeyComponent implements OnChanges {\r\n @Input() mouseAction: MouseAction;\r\n private type: 'click' | 'scroll' | 'move' | 'speed';\r\n private param: any;\r\n\r\n constructor() { }\r\n\r\n ngOnChanges() {\r\n switch (this.mouseAction.mouseAction) {\r\n case MouseActionParam.leftClick:\r\n this.type = 'click';\r\n this.param = 'Left';\r\n break;\r\n case MouseActionParam.rightClick:\r\n this.type = 'click';\r\n this.param = 'Right';\r\n break;\r\n case MouseActionParam.middleClick:\r\n this.type = 'click';\r\n this.param = 'Middle';\r\n break;\r\n case MouseActionParam.scrollDown:\r\n this.type = 'scroll';\r\n this.param = 'down';\r\n break;\r\n case MouseActionParam.scrollLeft:\r\n this.type = 'scroll';\r\n this.param = 'left';\r\n break;\r\n case MouseActionParam.scrollRight:\r\n this.type = 'scroll';\r\n this.param = 'right';\r\n break;\r\n case MouseActionParam.scrollUp:\r\n this.type = 'scroll';\r\n this.param = 'up';\r\n break;\r\n case MouseActionParam.moveDown:\r\n this.type = 'move';\r\n this.param = 'down';\r\n break;\r\n case MouseActionParam.moveLeft:\r\n this.type = 'move';\r\n this.param = 'left';\r\n break;\r\n case MouseActionParam.moveRight:\r\n this.type = 'move';\r\n this.param = 'right';\r\n break;\r\n case MouseActionParam.moveUp:\r\n this.type = 'move';\r\n this.param = 'up';\r\n break;\r\n case MouseActionParam.accelerate:\r\n this.type = 'speed';\r\n this.param = true;\r\n break;\r\n case MouseActionParam.decelerate:\r\n this.type = 'speed';\r\n this.param = false;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-mouse-key/svg-mouse-key.ts","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/keys/svg-mouse-key/svg-mouse-key.html\n// module id = 306\n// module chunks = 0","export * from './svg-mouse-click-key';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-mouse-click-key/index.ts","import { Component, Input, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\n\r\nimport { MapperService } from '../../../../services/mapper.service';\r\n\r\n@Component({\r\n selector: 'g[svg-mouse-click-key]',\r\n template: require('./svg-mouse-click-key.html'),\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SvgMouseClickKeyComponent implements OnInit {\r\n @Input() button: string;\r\n\r\n private icon: string;\r\n\r\n constructor(private mapper: MapperService) {\r\n this.icon = this.mapper.getIcon('mouse');\r\n }\r\n\r\n ngOnInit() { }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-mouse-click-key/svg-mouse-click-key.ts","module.exports = \"\\r\\n\\r\\n\\r\\n Click \\r\\n\\r\\n\\r\\n {{ button }} \\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/keys/svg-mouse-click-key/svg-mouse-click-key.html\n// module id = 309\n// module chunks = 0","export * from './svg-mouse-move-key';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-mouse-move-key/index.ts","import { Component, Input, OnChanges, ChangeDetectionStrategy } from '@angular/core';\r\n\r\nimport { MapperService } from '../../../../services/mapper.service';\r\n\r\n@Component({\r\n selector: 'g[svg-mouse-move-key]',\r\n template: require('./svg-mouse-move-key.html'),\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SvgMouseMoveKeyComponent implements OnChanges {\r\n @Input() direction: string;\r\n\r\n private mouseIcon: string;\r\n private directionIcon: string;\r\n\r\n constructor(private mapper: MapperService) { }\r\n\r\n ngOnChanges() {\r\n this.mouseIcon = this.mapper.getIcon('mouse');\r\n this.directionIcon = this.mapper.getIcon(`${this.direction}-arrow`);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-mouse-move-key/svg-mouse-move-key.ts","module.exports = \"\\r\\n\\r\\n Move \\r\\n\\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/keys/svg-mouse-move-key/svg-mouse-move-key.html\n// module id = 312\n// module chunks = 0","export * from './svg-mouse-speed-key';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-mouse-speed-key/index.ts","import { Component, Input, OnChanges, ChangeDetectionStrategy } from '@angular/core';\r\n\r\nimport { MapperService } from '../../../../services/mapper.service';\r\n\r\n@Component({\r\n selector: 'g[svg-mouse-speed-key]',\r\n template: require('./svg-mouse-speed-key.html'),\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SvgMouseSpeedKeyComponent implements OnChanges {\r\n @Input() plus: boolean;\r\n\r\n private icon: string;\r\n private sign: string;\r\n\r\n constructor(private mapper: MapperService) {\r\n this.icon = this.mapper.getIcon('mouse');\r\n }\r\n\r\n ngOnChanges() {\r\n this.sign = this.plus ? '+' : '-';\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-mouse-speed-key/svg-mouse-speed-key.ts","module.exports = \"\\r\\n\\r\\n\\r\\n Speed \\r\\n\\r\\n\\r\\n {{ sign }} \\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/keys/svg-mouse-speed-key/svg-mouse-speed-key.html\n// module id = 315\n// module chunks = 0","export * from './svg-mouse-scroll-key';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-mouse-scroll-key/index.ts","import { Component, Input, OnChanges, ChangeDetectionStrategy } from '@angular/core';\r\n\r\nimport { MapperService } from '../../../../services/mapper.service';\r\n\r\n@Component({\r\n selector: 'g[svg-mouse-scroll-key]',\r\n template: require('./svg-mouse-scroll-key.html'),\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SvgMouseScrollKeyComponent implements OnChanges {\r\n @Input() direction: string;\r\n\r\n private mouseIcon: string;\r\n private directionIcon: string;\r\n\r\n constructor(private mapper: MapperService) { }\r\n\r\n ngOnChanges() {\r\n this.mouseIcon = this.mapper.getIcon('mouse');\r\n this.directionIcon = this.mapper.getIcon(`scroll-${this.direction}`);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-mouse-scroll-key/svg-mouse-scroll-key.ts","module.exports = \"\\r\\n\\r\\n Scroll \\r\\n\\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/keys/svg-mouse-scroll-key/svg-mouse-scroll-key.html\n// module id = 318\n// module chunks = 0","export * from './svg-one-line-text-key.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-one-line-text-key/index.ts","import { Component, Input, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'g[svg-one-line-text-key]',\r\n template: require('./svg-one-line-text-key.component.html'),\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SvgOneLineTextKeyComponent implements OnInit {\r\n @Input() height: number;\r\n @Input() width: number;\r\n @Input() text: string;\r\n\r\n private textY: number;\r\n private spanX: number;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.textY = this.height / 2;\r\n this.spanX = this.width / 2;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-one-line-text-key/svg-one-line-text-key.component.ts","module.exports = \" \\r\\n {{ text }}\\r\\n \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/keys/svg-one-line-text-key/svg-one-line-text-key.component.html\n// module id = 321\n// module chunks = 0","export * from './svg-single-icon-key.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-single-icon-key/index.ts","import { Component, Input, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'g[svg-single-icon-key]',\r\n template: require('./svg-single-icon-key.component.html'),\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SvgSingleIconKeyComponent implements OnInit {\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() icon: string;\r\n\r\n private svgHeight: number;\r\n private svgWidth: number;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.svgWidth = this.width / 3;\r\n this.svgHeight = this.height / 3;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-single-icon-key/svg-single-icon-key.component.ts","module.exports = \"\\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/keys/svg-single-icon-key/svg-single-icon-key.component.html\n// module id = 324\n// module chunks = 0","export * from './svg-switch-keymap-key.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-switch-keymap-key/index.ts","import { Component, Input, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\n\r\nimport { MapperService } from '../../../../services/mapper.service';\r\n\r\n@Component({\r\n selector: 'g[svg-switch-keymap-key]',\r\n template: require('./svg-switch-keymap-key.component.html'),\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SvgSwitchKeymapKeyComponent implements OnInit {\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() abbreviation: string;\r\n\r\n private icon: string;\r\n private useWidth: number;\r\n private useHeight: number;\r\n private useX: number;\r\n private useY: number;\r\n private textY: number;\r\n private spanX: number;\r\n\r\n constructor(private mapperService: MapperService) { }\r\n\r\n ngOnInit() {\r\n this.icon = this.mapperService.getIcon('switch-keymap');\r\n\r\n this.useWidth = this.width / 4;\r\n this.useHeight = this.height / 4;\r\n this.useX = this.width * 3 / 8;\r\n this.useY = this.height / 5;\r\n this.textY = this.height * 2 / 3;\r\n this.spanX = this.width / 2;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-switch-keymap-key/svg-switch-keymap-key.component.ts","module.exports = \"\\r\\n\\r\\n\\r\\n {{ abbreviation }}\\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/keys/svg-switch-keymap-key/svg-switch-keymap-key.component.html\n// module id = 327\n// module chunks = 0","export * from './svg-text-icon-key.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-text-icon-key/index.ts","import { Component, Input, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'g[svg-text-icon-key]',\r\n template: require('./svg-text-icon-key.component.html'),\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SvgTextIconKeyComponent implements OnInit {\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() text: string;\r\n @Input() icon: string;\r\n\r\n private useWidth: number;\r\n private useHeight: number;\r\n private useX: number;\r\n private useY: number;\r\n private textY: number;\r\n private textAnchor: string;\r\n private spanX: number;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.useWidth = this.width / 3;\r\n this.useHeight = this.height / 3;\r\n this.useX = (this.width > 2 * this.height) ? this.width * 0.6 : this.width / 3;\r\n this.useY = (this.width > 2 * this.height) ? this.height / 3 : this.height / 2;\r\n this.textY = (this.width > 2 * this.height) ? this.height / 2 : this.height / 3;\r\n this.textAnchor = (this.width > 2 * this.height) ? 'end' : 'middle';\r\n this.spanX = (this.width > 2 * this.height) ? 0.6 * this.width : this.width / 2;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-text-icon-key/svg-text-icon-key.component.ts","module.exports = \" \\r\\n {{ text }}\\r\\n \\r\\n\\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/keys/svg-text-icon-key/svg-text-icon-key.component.html\n// module id = 330\n// module chunks = 0","export * from './svg-two-line-text-key.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-two-line-text-key/index.ts","import { Component, Input, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'g[svg-two-line-text-key]',\r\n template: require('./svg-two-line-text-key.component.html'),\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SvgTwoLineTextKeyComponent implements OnInit {\r\n @Input() height: number;\r\n @Input() width: number;\r\n @Input() texts: string[];\r\n\r\n private textY: number;\r\n private spanX: number;\r\n private spanYs: number[];\r\n\r\n constructor() {\r\n this.spanYs = [];\r\n }\r\n\r\n ngOnInit() {\r\n this.textY = this.height / 2;\r\n this.spanX = this.width / 2;\r\n for (let i = 0; i < this.texts.length; ++i) {\r\n this.spanYs.push((0.75 - i * 0.5) * this.height);\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/keys/svg-two-line-text-key/svg-two-line-text-key.component.ts","module.exports = \"\\r\\n {{ text }}\\r\\n \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/keys/svg-two-line-text-key/svg-two-line-text-key.component.html\n// module id = 333\n// module chunks = 0","export * from './svg-keyboard-wrap.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/wrap/index.ts","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n Renderer,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n ViewChild,\r\n SimpleChanges\r\n} from '@angular/core';\r\n\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/of';\r\nimport 'rxjs/add/operator/map';\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { MapperService } from '../../../services/mapper.service';\r\n\r\nimport {\r\n KeyAction,\r\n KeystrokeAction,\r\n LayerName,\r\n MouseAction,\r\n MouseActionParam,\r\n PlayMacroAction,\r\n SwitchKeymapAction,\r\n SwitchLayerAction\r\n} from '../../../config-serializer/config-items/key-action';\r\nimport { Keymap } from '../../../config-serializer/config-items/Keymap';\r\nimport { Layer } from '../../../config-serializer/config-items/Layer';\r\nimport { LongPressAction } from '../../../config-serializer/config-items/LongPressAction';\r\nimport { camelCaseToSentence, capitalizeFirstLetter } from '../../../util';\r\n\r\nimport { AppState } from '../../../store';\r\nimport { KeymapActions } from '../../../store/actions';\r\nimport { PopoverComponent } from '../../popover';\r\n\r\ninterface NameValuePair {\r\n name: string;\r\n value: string;\r\n}\r\n\r\n@Component({\r\n selector: 'svg-keyboard-wrap',\r\n template: require('./svg-keyboard-wrap.component.html'),\r\n styles: [require('./svg-keyboard-wrap.component.scss')],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SvgKeyboardWrapComponent implements OnInit, OnChanges {\r\n @Input() keymap: Keymap;\r\n @Input() popoverEnabled: boolean = true;\r\n @Input() tooltipEnabled: boolean = false;\r\n\r\n @ViewChild(PopoverComponent, { read: ElementRef }) popover: ElementRef;\r\n\r\n private popoverShown: boolean;\r\n private keyEditConfig: { moduleId: number, keyId: number };\r\n private popoverInitKeyAction: KeyAction;\r\n private keybindAnimationEnabled: boolean;\r\n private currentLayer: number = 0;\r\n private tooltipData: {\r\n posTop: number,\r\n posLeft: number,\r\n content: Observable,\r\n show: boolean\r\n };\r\n private layers: Layer[];\r\n private keyPosition: ClientRect;\r\n private wrapPosition: ClientRect;\r\n private wrapHost: HTMLElement;\r\n private keyElement: HTMLElement;\r\n\r\n @HostBinding('class.space') get space() {\r\n return this.popoverEnabled;\r\n }\r\n\r\n @HostListener('window:resize')\r\n onResize() {\r\n if (this.wrapHost) {\r\n this.wrapPosition = this.wrapHost.getBoundingClientRect();\r\n }\r\n\r\n if (this.keyElement) {\r\n this.keyPosition = this.keyElement.getBoundingClientRect();\r\n }\r\n }\r\n\r\n constructor(\r\n private store: Store,\r\n private mapper: MapperService,\r\n private element: ElementRef,\r\n private renderer: Renderer\r\n ) {\r\n this.keyEditConfig = {\r\n moduleId: undefined,\r\n keyId: undefined\r\n };\r\n\r\n this.tooltipData = {\r\n posTop: 0,\r\n posLeft: 0,\r\n content: Observable.of([]),\r\n show: false\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n this.wrapHost = this.element.nativeElement;\r\n this.wrapPosition = this.wrapHost.getBoundingClientRect();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const keymapChanges = changes['keymap'];\r\n if (keymapChanges) {\r\n this.popoverShown = false;\r\n this.layers = this.keymap.layers;\r\n if (keymapChanges.previousValue.abbreviation !== keymapChanges.currentValue.abbreviation) {\r\n this.currentLayer = 0;\r\n this.keybindAnimationEnabled = keymapChanges.isFirstChange();\r\n } else {\r\n this.keybindAnimationEnabled = true;\r\n }\r\n }\r\n\r\n }\r\n\r\n onKeyClick(moduleId: number, keyId: number, keyTarget: HTMLElement): void {\r\n if (!this.popoverShown && this.popoverEnabled) {\r\n this.keyEditConfig = {\r\n moduleId,\r\n keyId\r\n };\r\n\r\n const keyActionToEdit: KeyAction = this.layers[this.currentLayer].modules[moduleId].keyActions[keyId];\r\n this.keyElement = keyTarget;\r\n this.showPopover(keyActionToEdit);\r\n }\r\n }\r\n\r\n onKeyHover(moduleId: number, event: MouseEvent, over: boolean, keyId: number): void {\r\n if (this.tooltipEnabled) {\r\n const keyActionToEdit: KeyAction = this.layers[this.currentLayer].modules[moduleId].keyActions[keyId];\r\n\r\n if (over) {\r\n this.showTooltip(keyActionToEdit, event);\r\n } else {\r\n this.hideTooltip();\r\n }\r\n }\r\n }\r\n\r\n onCapture(moduleId: number, keyId: number, captured: { code: number, left: boolean[], right: boolean[] }): void {\r\n let keystrokeAction: KeystrokeAction = new KeystrokeAction();\r\n const modifiers = captured.left.concat(captured.right).map(x => x ? 1 : 0);\r\n\r\n keystrokeAction.scancode = captured.code;\r\n keystrokeAction.modifierMask = 0;\r\n\r\n for (let i = 0; i < modifiers.length; ++i) {\r\n keystrokeAction.modifierMask |= modifiers[i] << this.mapper.modifierMapper(i);\r\n }\r\n\r\n this.store.dispatch(\r\n KeymapActions.saveKey(\r\n this.keymap,\r\n this.currentLayer,\r\n moduleId,\r\n keyId,\r\n keystrokeAction)\r\n );\r\n }\r\n\r\n onRemap(keyAction: KeyAction): void {\r\n this.store.dispatch(\r\n KeymapActions.saveKey(\r\n this.keymap,\r\n this.currentLayer,\r\n this.keyEditConfig.moduleId,\r\n this.keyEditConfig.keyId,\r\n keyAction)\r\n );\r\n this.hidePopover();\r\n }\r\n\r\n showPopover(keyAction: KeyAction): void {\r\n this.keyPosition = this.keyElement.getBoundingClientRect();\r\n this.popoverInitKeyAction = keyAction;\r\n this.popoverShown = true;\r\n this.renderer.invokeElementMethod(this.popover.nativeElement, 'focus');\r\n }\r\n\r\n showTooltip(keyAction: KeyAction, event: MouseEvent): void {\r\n if (keyAction === undefined) {\r\n return;\r\n }\r\n\r\n const el: Element = event.target as Element || event.srcElement;\r\n const position: ClientRect = el.getBoundingClientRect();\r\n let posLeft: number = this.tooltipData.posLeft;\r\n let posTop: number = this.tooltipData.posTop;\r\n\r\n if (el.tagName === 'g') {\r\n posLeft = position.left + (position.width / 2);\r\n posTop = position.top + position.height;\r\n }\r\n\r\n this.tooltipData = {\r\n posLeft: posLeft,\r\n posTop: posTop,\r\n content: this.getKeyActionContent(keyAction),\r\n show: true\r\n };\r\n }\r\n\r\n hideTooltip() {\r\n this.tooltipData.show = false;\r\n }\r\n\r\n hidePopover(): void {\r\n this.popoverShown = false;\r\n }\r\n\r\n selectLayer(index: number): void {\r\n this.currentLayer = index;\r\n }\r\n\r\n getSelectedLayer(): number {\r\n return this.currentLayer;\r\n }\r\n\r\n private getKeyActionContent(keyAction: KeyAction): Observable {\r\n if (keyAction instanceof KeystrokeAction) {\r\n const keystrokeAction: KeystrokeAction = keyAction;\r\n const content: NameValuePair[] = [];\r\n content.push({\r\n name: 'Action type',\r\n value: 'Keystroke'\r\n });\r\n\r\n if (keystrokeAction.hasScancode()) {\r\n let value: string = keystrokeAction.scancode.toString();\r\n const scanCodeTexts: string = (this.mapper.scanCodeToText(keystrokeAction.scancode) || []).join(', ');\r\n if (scanCodeTexts.length > 0) {\r\n value += ' (' + scanCodeTexts + ')';\r\n }\r\n content.push({\r\n name: 'Scancode',\r\n value\r\n });\r\n }\r\n\r\n if (keystrokeAction.hasActiveModifier()) {\r\n content.push({\r\n name: 'Modifiers',\r\n value: keystrokeAction.getModifierList().join(', ')\r\n });\r\n }\r\n\r\n if (keystrokeAction.hasLongPressAction()) {\r\n content.push({\r\n name: 'Long press',\r\n value: LongPressAction[keystrokeAction.longPressAction]\r\n });\r\n }\r\n return Observable.of(content);\r\n } else if (keyAction instanceof MouseAction) {\r\n const mouseAction: MouseAction = keyAction;\r\n const content: NameValuePair[] =\r\n [\r\n {\r\n name: 'Action type',\r\n value: 'Mouse'\r\n },\r\n {\r\n name: 'Action',\r\n value: camelCaseToSentence(MouseActionParam[mouseAction.mouseAction])\r\n }\r\n ];\r\n return Observable.of(content);\r\n } else if (keyAction instanceof PlayMacroAction) {\r\n const playMacroAction: PlayMacroAction = keyAction;\r\n return this.store\r\n .select(appState => appState.userConfiguration.macros)\r\n .map(macroState => macroState.find(macro => {\r\n return macro.id === playMacroAction.macroId;\r\n }).name)\r\n .map(macroName => {\r\n const content: NameValuePair[] = [\r\n {\r\n name: 'Action type',\r\n value: 'Play macro'\r\n },\r\n {\r\n name: 'Macro name',\r\n value: macroName\r\n }\r\n ];\r\n return content;\r\n });\r\n } else if (keyAction instanceof SwitchKeymapAction) {\r\n const switchKeymapAction: SwitchKeymapAction = keyAction;\r\n return this.store\r\n .select(appState => appState.userConfiguration.keymaps)\r\n .map(keymaps => keymaps.find(keymap => keymap.abbreviation === switchKeymapAction.keymapAbbreviation).name)\r\n .map(keymapName => {\r\n const content: NameValuePair[] = [\r\n {\r\n name: 'Action type',\r\n value: 'Switch keymap'\r\n },\r\n {\r\n name: 'Keymap',\r\n value: keymapName\r\n }\r\n ];\r\n return content;\r\n });\r\n } else if (keyAction instanceof SwitchLayerAction) {\r\n const switchLayerAction: SwitchLayerAction = keyAction;\r\n const content: NameValuePair[] =\r\n [\r\n {\r\n name: 'Action type',\r\n value: 'Switch layer'\r\n },\r\n {\r\n name: 'Layer',\r\n value: capitalizeFirstLetter(LayerName[switchLayerAction.layer])\r\n },\r\n {\r\n name: 'Toogle',\r\n value: switchLayerAction.isLayerToggleable ? 'On' : 'Off'\r\n }\r\n ];\r\n return Observable.of(content);\r\n }\r\n\r\n return Observable.of([]);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/svg/wrap/svg-keyboard-wrap.component.ts","// Source: http://stackoverflow.com/questions/13720256/javascript-regex-camelcase-to-sentence\r\nexport function camelCaseToSentence(camelCasedText: string): string {\r\n return camelCasedText.replace(/^[a-z]|[A-Z]/g, function (v, i) {\r\n return i === 0 ? v.toUpperCase() : ' ' + v.toLowerCase();\r\n });\r\n}\r\n\r\nexport function capitalizeFirstLetter(text: string): string {\r\n return text.charAt(0).toUpperCase() + text.slice(1);\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/util/index.ts","module.exports = \"\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/wrap/svg-keyboard-wrap.component.html\n// module id = 338\n// module chunks = 0","module.exports = \":host {\\n width: 100%;\\n display: block; }\\n :host.space {\\n margin-bottom: 405px; }\\n\\nkeyboard-slider {\\n display: block;\\n position: relative;\\n overflow: hidden;\\n /* TODO create dynamic */\\n height: 500px;\\n margin-top: 30px; }\\n\\n.tooltip {\\n position: fixed;\\n transform: translate(-50%, -6px);\\n display: none; }\\n .tooltip-inner {\\n background: #fff;\\n color: #000;\\n box-shadow: 0 1px 5px #000;\\n text-align: left; }\\n .tooltip-inner p {\\n margin-bottom: 2px; }\\n .tooltip-inner p:last-of-type {\\n margin-bottom: 0; }\\n .tooltip.bottom .tooltip-arrow {\\n border-bottom-color: #fff;\\n top: 1px; }\\n .tooltip.in {\\n display: block;\\n opacity: 1; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/components/svg/wrap/svg-keyboard-wrap.component.scss\n// module id = 339\n// module chunks = 0","export * from './main-app.component';\r\nexport * from './main-app.routes';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./web/src/main-app/index.ts","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'main-app',\r\n template: require('./main-app.component.html'),\r\n styles: [\r\n require('../shared/main-app/main-app.component.scss'),\r\n require('./main-app.component.scss')\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class MainAppComponent { }\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./web/src/main-app/main-app.component.ts","module.exports = \"\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Fork me on GitHub\\r\\n
\\r\\n\\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./web/src/main-app/main-app.component.html\n// module id = 342\n// module chunks = 0","module.exports = \"main-app {\\n display: block;\\n min-height: 100vh;\\n width: 100%;\\n overflow: hidden;\\n position: relative; }\\n main-app .select2-container--default .select2-selection--single .select2-selection__rendered {\\n line-height: 26px; }\\n\\n.main-content {\\n margin-left: 250px; }\\n\\n.select2-container {\\n z-index: 1100; }\\n .select2-container .scancode--searchterm {\\n text-align: right;\\n color: #b7b7b7; }\\n\\n.select2-item {\\n display: flex;\\n justify-content: space-between; }\\n\\n.select2-results {\\n text-align: left; }\\n\\n.nav-pills > li > a {\\n cursor: pointer; }\\n\\n.select2-container--default .select2-dropdown--below .select2-results > .select2-results__options {\\n max-height: 300px; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./shared/src/main-app/main-app.component.scss\n// module id = 343\n// module chunks = 0","module.exports = \"/* GitHub ribbon */\\n.github-fork-ribbon {\\n background-color: #a00;\\n overflow: hidden;\\n white-space: nowrap;\\n position: fixed;\\n right: -50px;\\n bottom: 40px;\\n z-index: 2000;\\n /* stylelint-disable indentation */\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n -webkit-box-shadow: 0 0 10px #888;\\n -moz-box-shadow: 0 0 10px #888;\\n box-shadow: 0 0 10px #888;\\n /* stylelint-enable indentation */ }\\n .github-fork-ribbon a {\\n border: 1px solid #faa;\\n color: #fff;\\n display: block;\\n font: bold 81.25% 'Helvetica Neue', Helvetica, Arial, sans-serif;\\n margin: 1px 0;\\n padding: 10px 50px;\\n text-align: center;\\n text-decoration: none;\\n text-shadow: 0 0 5px #444; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./web/src/main-app/main-app.component.scss\n// module id = 344\n// module chunks = 0","import { ModuleWithProviders } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nimport { addOnRoutes } from '../shared/components/add-on';\r\nimport { keymapRoutes } from '../components/keymap';\r\nimport { macroRoutes } from '../shared/components/macro';\r\nimport { settingsRoutes } from '../shared/components/settings';\r\n\r\nconst appRoutes: Routes = [\r\n ...keymapRoutes,\r\n ...macroRoutes,\r\n ...addOnRoutes,\r\n ...settingsRoutes\r\n];\r\n\r\nexport const appRoutingProviders: any[] = [ ];\r\n\r\nexport const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes, { useHash: true });\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./web/src/main-app/main-app.routes.ts","export * from './keymap.routes';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./web/src/components/keymap/index.ts","import { Routes } from '@angular/router';\r\n\r\nimport { KeymapAddComponent } from '../../shared/components/keymap/add/keymap-add.component';\r\nimport { KeymapEditComponent, KeymapEditGuard } from '../../shared/components/keymap/edit';\r\n\r\nexport const keymapRoutes: Routes = [\r\n {\r\n path: '',\r\n redirectTo: '/keymap',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'keymap',\r\n component: KeymapEditComponent,\r\n canActivate: [KeymapEditGuard]\r\n },\r\n {\r\n path: 'keymap/add',\r\n component: KeymapAddComponent\r\n },\r\n {\r\n path: 'keymap/:abbr',\r\n component: KeymapEditComponent\r\n }\r\n];\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./web/src/components/keymap/keymap.routes.ts","export { KeymapEditComponent } from './keymap-edit.component';\r\nexport { KeymapEditGuard } from './keymap-edit-guard.service';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/keymap/edit/index.ts","import { Injectable } from '@angular/core';\r\nimport { CanActivate, Router } from '@angular/router';\r\n\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\nimport 'rxjs/add/observable/of';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/let';\r\nimport 'rxjs/add/operator/switchMap';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { Keymap } from './../../../config-serializer/config-items/Keymap';\r\nimport { AppState } from '../../../store/index';\r\nimport { getKeymaps } from '../../../store/reducers/user-configuration';\r\n\r\n@Injectable()\r\nexport class KeymapEditGuard implements CanActivate {\r\n\r\n constructor(private store: Store, private router: Router) { }\r\n\r\n canActivate(): Observable {\r\n return this.store\r\n .let(getKeymaps())\r\n .do((keymaps: Keymap[]) => {\r\n const defaultKeymap = keymaps.find(keymap => keymap.isDefault);\r\n this.router.navigate(['/keymap', defaultKeymap.abbreviation]);\r\n })\r\n .switchMap(() => Observable.of(false));\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/components/keymap/edit/keymap-edit-guard.service.ts","export * from './cancelable';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/directives/index.ts","export { CancelableDirective } from './cancelable.directive';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/directives/cancelable/index.ts","import { Directive, ElementRef, HostListener, Renderer } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cancelable]'\r\n})\r\nexport class CancelableDirective {\r\n\r\n private originalValue: string;\r\n\r\n constructor(private elementRef: ElementRef, private renderer: Renderer) { }\r\n\r\n @HostListener('focus') onFocus(): void {\r\n this.originalValue = this.elementRef.nativeElement.value;\r\n }\r\n\r\n @HostListener('keyup.escape') onEscape(): void {\r\n this.renderer.setElementProperty(this.elementRef.nativeElement, 'value', this.originalValue);\r\n this.renderer.invokeElementMethod(this.elementRef.nativeElement, 'blur');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/directives/cancelable/cancelable.directive.ts","export * from './keymap';\r\nexport * from './macro';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/store/effects/index.ts","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { Actions, Effect } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/withLatestFrom';\r\n\r\nimport { KeymapActions } from '../actions';\r\nimport { AppState } from '../index';\r\n\r\nimport { Keymap } from '../../config-serializer/config-items/Keymap';\r\n\r\n@Injectable()\r\nexport class KeymapEffects {\r\n\r\n @Effect({ dispatch: false }) addOrDuplicate$: any = this.actions$\r\n .ofType(KeymapActions.ADD, KeymapActions.DUPLICATE)\r\n .withLatestFrom(this.store)\r\n .map(latest => latest[1].userConfiguration.keymaps)\r\n .do(keymaps => {\r\n this.router.navigate(['/keymap', keymaps[keymaps.length - 1].abbreviation]);\r\n });\r\n\r\n @Effect({ dispatch: false }) remove$: any = this.actions$\r\n .ofType(KeymapActions.REMOVE)\r\n .withLatestFrom(this.store)\r\n .map(latest => latest[1].userConfiguration.keymaps)\r\n .do(keymaps => {\r\n if (keymaps.length === 0) {\r\n this.router.navigate(['/keymap/add']);\r\n } else {\r\n const favourite: Keymap = keymaps.find(keymap => keymap.isDefault);\r\n this.router.navigate(['/keymap', favourite.abbreviation]);\r\n }\r\n });\r\n\r\n @Effect({ dispatch: false }) editAbbr$: any = this.actions$\r\n .ofType(KeymapActions.EDIT_ABBR)\r\n .map(action => action.payload.newAbbr)\r\n .do(newAbbr => {\r\n this.router.navigate(['/keymap', newAbbr]);\r\n });\r\n\r\n constructor(private actions$: Actions, private router: Router, private store: Store) { }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/store/effects/keymap.ts","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { Actions, Effect } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/withLatestFrom';\r\n\r\nimport { Macro } from '../../config-serializer/config-items/Macro';\r\n\r\nimport { KeymapActions, MacroActions } from '../actions';\r\nimport { AppState } from '../index';\r\n\r\n@Injectable()\r\nexport class MacroEffects {\r\n\r\n @Effect({dispatch: false}) remove$: any = this.actions$\r\n .ofType(MacroActions.REMOVE)\r\n .map(action => this.store.dispatch(KeymapActions.checkMacro(action.payload)))\r\n .withLatestFrom(this.store)\r\n .map(latest => latest[1].userConfiguration.macros)\r\n .do(macros => {\r\n if (macros.length === 0) {\r\n this.router.navigate(['/macro']);\r\n } else {\r\n this.router.navigate(['/macro', macros[0].id]);\r\n }\r\n });\r\n\r\n @Effect({dispatch: false}) add$: any = this.actions$\r\n .ofType(MacroActions.ADD)\r\n .withLatestFrom(this.store)\r\n .map(latest => latest[1].userConfiguration.macros)\r\n .map(macros => macros[macros.length - 1])\r\n .do(lastMacro => {\r\n this.router.navigate(['/macro', lastMacro.id, 'new']);\r\n });\r\n\r\n constructor(private actions$: Actions, private router: Router, private store: Store) {}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/store/effects/macro.ts","import userConfigurationReducer, { getUserConfiguration } from './user-configuration';\r\nimport presetReducer from './preset';\r\n\r\nexport { userConfigurationReducer, presetReducer, getUserConfiguration };\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/store/reducers/index.ts","import { Keymap } from '../../config-serializer/config-items/Keymap';\r\n\r\nconst initialState: Keymap[] = [];\r\n\r\nexport default function(state = initialState): Keymap[] {\r\n return state;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/store/reducers/preset.ts","import { Injectable } from '@angular/core';\r\n\r\nimport { Action } from '@ngrx/store';\r\n\r\nimport { Keymap } from '../../config-serializer/config-items/Keymap';\r\nimport { Macro } from '../../config-serializer/config-items/Macro';\r\nimport { UserConfiguration } from '../../config-serializer/config-items/UserConfiguration';\r\n\r\nimport { KeymapActions, MacroActions } from '../actions';\r\nimport { AppState } from '../index';\r\nimport { Electron } from './electron';\r\nimport { Local } from './local';\r\n\r\n@Injectable()\r\nexport class DataStorage {\r\n\r\n private _environment: Local | Electron;\r\n private defaultUserConfiguration: UserConfiguration;\r\n private uhkPresets: Keymap[];\r\n\r\n constructor() {\r\n this.initUHKJson();\r\n this.detectEnvironment();\r\n }\r\n\r\n initialState(): AppState {\r\n const config: UserConfiguration = this.getConfiguration();\r\n return {\r\n userConfiguration: config,\r\n presetKeymaps: this.uhkPresets\r\n };\r\n }\r\n\r\n detectEnvironment(): void {\r\n // Electron\r\n // TODO check if we can remove when electron will be implemented (maybe use process.versions['electron'])\r\n if (typeof window !== 'undefined' && (window).process && (window).process.type === 'renderer') {\r\n this._environment = new Electron();\r\n }\r\n // Local storage\r\n else {\r\n this._environment = new Local(this.defaultUserConfiguration.dataModelVersion);\r\n }\r\n }\r\n\r\n // TODO: Add type for state\r\n saveState(reducer: any): (state: any, action: Action) => AppState {\r\n return (state: any, action: Action) => {\r\n const nextState = reducer(state, action);\r\n this._environment.saveConfig(nextState);\r\n return nextState;\r\n };\r\n }\r\n\r\n initUHKJson() {\r\n this.defaultUserConfiguration = new UserConfiguration()\r\n .fromJsonObject(require('json!../../config-serializer/user-config.json'));\r\n this.uhkPresets = (require('json!../../config-serializer/preset-keymaps.json'))\r\n .map(keymap => new Keymap().fromJsonObject(keymap));\r\n }\r\n\r\n getConfiguration(): UserConfiguration {\r\n let config: UserConfiguration = this._environment.getConfig();\r\n if (!config) {\r\n config = this.defaultUserConfiguration;\r\n }\r\n return config;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/store/storage/index.ts","import { UserConfiguration } from '../../config-serializer/config-items/UserConfiguration';\r\n\r\nexport class Electron {\r\n getConfig(): UserConfiguration {\r\n // TODO implement load logic\r\n return;\r\n }\r\n\r\n /* tslint:disable:no-unused-variable */\r\n saveConfig(config: UserConfiguration): void {\r\n // TODO implement save logic\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/store/storage/electron.ts","import { UserConfiguration } from '../../config-serializer/config-items/UserConfiguration';\r\n\r\nexport class Local {\r\n\r\n constructor(private dataModelVersion: number) { }\r\n\r\n getConfig(): UserConfiguration {\r\n let configJsonString = localStorage.getItem('config');\r\n let config: UserConfiguration;\r\n\r\n if (configJsonString) {\r\n const configJsonObject = JSON.parse(configJsonString);\r\n if (configJsonObject.dataModelVersion === this.dataModelVersion) {\r\n config = new UserConfiguration().fromJsonObject(configJsonObject);\r\n }\r\n }\r\n\r\n return config;\r\n }\r\n\r\n saveConfig(config: UserConfiguration): void {\r\n localStorage.setItem('config', JSON.stringify(config.toJsonObject()));\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/store/storage/local.ts","module.exports = {\n\t\"dataModelVersion\": 3,\n\t\"moduleConfigurations\": [\n\t\t{\n\t\t\t\"id\": 1,\n\t\t\t\"initialPointerSpeed\": 1,\n\t\t\t\"pointerAcceleration\": 5,\n\t\t\t\"maxPointerSpeed\": 200\n\t\t}\n\t],\n\t\"keymaps\": [\n\t\t{\n\t\t\t\"isDefault\": true,\n\t\t\t\"abbreviation\": \"QTY\",\n\t\t\t\"name\": \"QWERTY\",\n\t\t\t\"description\": \"\",\n\t\t\t\"layers\": [\n\t\t\t\t{\n\t\t\t\t\t\"modules\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 36\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 37\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 38\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 39\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 45\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 46\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 42\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 28\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 24\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 12\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 18\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 19\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 47\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 48\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 49\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 11\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 13\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 14\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 15\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 51\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 52\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 40\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 17\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 16\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 54\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 55\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 56\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 32\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 44\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"fn\",\n\t\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 64\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 128\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 16\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"mod\",\n\t\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 53\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 30\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 31\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 32\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 33\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 34\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 35\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 43\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 20\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 26\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 8\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 21\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 23\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"mouse\",\n\t\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 4\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 22\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 7\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 9\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 10\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 2\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 29\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 27\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 6\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 25\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 1\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 8\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 4\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"fn\",\n\t\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"mod\",\n\t\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 44\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 2,\n\t\t\t\t\t\t\t\"pointerRole\": \"scroll\",\n\t\t\t\t\t\t\t\"keyActions\": []\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"modules\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\t\"pointerRole\": \"none\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 75\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 74\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 82\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 77\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 78\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 80\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 81\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 79\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchKeymap\",\n\t\t\t\t\t\t\t\t\t\"keymapAbbreviation\": \"VIM\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 118\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 32\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"fn\",\n\t\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 64\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 128\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 16\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"mod\",\n\t\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\t\"pointerRole\": \"none\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"mouse\",\n\t\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 2\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 1\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 8\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 4\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"fn\",\n\t\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"mod\",\n\t\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"modules\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"fn\",\n\t\t\t\t\t\t\t\t\t\"toggle\": true\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 232\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 237\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 233\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 234\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 238\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 235\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 239\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 32\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"fn\",\n\t\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 64\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 128\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 16\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"mod\",\n\t\t\t\t\t\t\t\t\t\"toggle\": true\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\t\"pointerRole\": \"scroll\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"mouse\",\n\t\t\t\t\t\t\t\t\t\"toggle\": true\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"mod\",\n\t\t\t\t\t\t\t\t\t\"toggle\": true\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"mouse\",\n\t\t\t\t\t\t\t\t\t\"toggle\": true\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 2\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 1\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 8\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 4\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"fn\",\n\t\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"mod\",\n\t\t\t\t\t\t\t\t\t\"toggle\": true\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"modules\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\t\"mouseAction\": \"scrollUp\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\t\"mouseAction\": \"moveUp\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\t\"mouseAction\": \"scrollDown\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\t\"mouseAction\": \"moveLeft\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\t\"mouseAction\": \"moveDown\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\t\"mouseAction\": \"moveRight\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 64\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 128\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 16\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\t\"layer\": \"mouse\",\n\t\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\t\"mouseAction\": \"rightClick\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\t\"mouseAction\": \"middleClick\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\t\"mouseAction\": \"leftClick\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 1\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 8\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"modifierMask\": 4\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\t\"mouseAction\": \"accelerate\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\t\"mouseAction\": \"decelerate\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"isDefault\": false,\n\t\t\t\"abbreviation\": \"VIM\",\n\t\t\t\"name\": \"VIM\",\n\t\t\t\"description\": \"\",\n\t\t\t\"layers\": [\n\t\t\t\t{\n\t\t\t\t\t\"modules\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\t\"mouseAction\": \"scrollDown\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"playMacro\",\n\t\t\t\t\t\t\t\t\t\"macroIndex\": 0\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"switchKeymap\",\n\t\t\t\t\t\t\t\t\t\"keymapAbbreviation\": \"QTY\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\t\"pointerRole\": \"scroll\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 2,\n\t\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 111\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"modules\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\t\"pointerRole\": \"scroll\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 111\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"modules\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\t\"pointerRole\": \"scroll\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 111\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"modules\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\t\"pointerRole\": \"scroll\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\t\"scancode\": 111\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"isDefault\": false,\n\t\t\t\"abbreviation\": \"DVR\",\n\t\t\t\"name\": \"DVR\",\n\t\t\t\"description\": \"\",\n\t\t\t\"layers\": [\n\t\t\t\t{\n\t\t\t\t\t\"modules\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"modules\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"modules\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"modules\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t],\n\t\"macros\": [\n\t\t{\n\t\t\t\"isLooped\": false,\n\t\t\t\"isPrivate\": true,\n\t\t\t\"name\": \"My address\",\n\t\t\t\"macroActions\": [\n\t\t\t\t{\n\t\t\t\t\t\"macroActionType\": \"key\",\n\t\t\t\t\t\"action\": \"press\",\n\t\t\t\t\t\"scancode\": 111\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"macroActionType\": \"key\",\n\t\t\t\t\t\"action\": \"hold\",\n\t\t\t\t\t\"scancode\": 83\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"macroActionType\": \"key\",\n\t\t\t\t\t\"action\": \"release\",\n\t\t\t\t\t\"scancode\": 112\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"macroActionType\": \"key\",\n\t\t\t\t\t\"action\": \"press\",\n\t\t\t\t\t\"modifierMask\": 93\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"macroActionType\": \"key\",\n\t\t\t\t\t\"action\": \"hold\",\n\t\t\t\t\t\"modifierMask\": 101\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"macroActionType\": \"key\",\n\t\t\t\t\t\"action\": \"release\",\n\t\t\t\t\t\"modifierMask\": 133\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"macroActionType\": \"mouseButton\",\n\t\t\t\t\t\"action\": \"press\",\n\t\t\t\t\t\"mouseButtonsMask\": 9\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"macroActionType\": \"mouseButton\",\n\t\t\t\t\t\"action\": \"hold\",\n\t\t\t\t\t\"mouseButtonsMask\": 12\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"macroActionType\": \"mouseButton\",\n\t\t\t\t\t\"action\": \"release\",\n\t\t\t\t\t\"mouseButtonsMask\": 104\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"macroActionType\": \"moveMouse\",\n\t\t\t\t\t\"x\": -1920,\n\t\t\t\t\t\"y\": 220\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"macroActionType\": \"scrollMouse\",\n\t\t\t\t\t\"x\": 0,\n\t\t\t\t\t\"y\": 20000\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"macroActionType\": \"delay\",\n\t\t\t\t\t\"delay\": 40000\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"macroActionType\": \"text\",\n\t\t\t\t\t\"text\": \"this is a text\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"isLooped\": true,\n\t\t\t\"isPrivate\": true,\n\t\t\t\"name\": \"Blah Blah blah\",\n\t\t\t\"macroActions\": [\n\t\t\t\t{\n\t\t\t\t\t\"macroActionType\": \"key\",\n\t\t\t\t\t\"action\": \"press\",\n\t\t\t\t\t\"scancode\": 111\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"macroActionType\": \"mouseButton\",\n\t\t\t\t\t\"action\": \"release\",\n\t\t\t\t\t\"mouseButtonsMask\": 104\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"macroActionType\": \"scrollMouse\",\n\t\t\t\t\t\"x\": 0,\n\t\t\t\t\t\"y\": -20000\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"macroActionType\": \"delay\",\n\t\t\t\t\t\"delay\": 40000\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"macroActionType\": \"text\",\n\t\t\t\t\t\"text\": \"blahhhhhhh\"\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t]\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/json-loader!./shared/src/config-serializer/user-config.json\n// module id = 362\n// module chunks = 0","module.exports = [\n\t{\n\t\t\"isDefault\": false,\n\t\t\"abbreviation\": \"QTY\",\n\t\t\"name\": \"QWERTY\",\n\t\t\"description\": \"Maecenas sem dui, ullamcorper consequat pellentesque ut, mattis at velit. Duis scelerisque eleifend gravida. Aenean at mauris rhoncus, dictum mi vitae, semper eros. Quisque maximus est elit, at condimentum ligula consectetur vel. Aenean lorem felis, molestie id ex suscipit, sagittis mollis dui. Phasellus in felis in libero bibendum ornare. Duis vestibulum dolor sed diam tempor vulputate. Curabitur scelerisque pretium ipsum. Phasellus non orci vestibulum, vehicula lectus sit amet, lacinia velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In diam lacus, cursus at pretium vel, ullamcorper at ante.\",\n\t\t\"layers\": [\n\t\t\t{\n\t\t\t\t\"modules\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 36\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 37\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 38\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 39\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 45\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 46\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 42\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 28\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 24\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 12\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 18\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 19\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 47\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 48\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 49\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 11\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 13\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 14\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 15\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 51\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 52\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 40\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 17\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 16\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 54\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 55\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 56\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 32\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 44\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"fn\",\n\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 64\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 128\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 16\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"mod\",\n\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 53\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 30\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 31\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 32\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 33\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 34\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 35\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 43\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 20\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 26\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 8\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 21\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 23\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"mouse\",\n\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 4\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 22\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 7\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 9\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 10\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 2\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 29\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 27\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 6\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 25\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 5\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 1\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 8\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 4\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"fn\",\n\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"mod\",\n\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 44\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 2,\n\t\t\t\t\t\t\"pointerRole\": \"scroll\",\n\t\t\t\t\t\t\"keyActions\": []\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"modules\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\"pointerRole\": \"none\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 75\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 74\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 82\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 77\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 78\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 80\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 81\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 79\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchKeymap\",\n\t\t\t\t\t\t\t\t\"keymapAbbreviation\": \"VIM\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 118\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 32\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"fn\",\n\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 64\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 128\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 16\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"mod\",\n\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\"pointerRole\": \"none\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"mouse\",\n\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 2\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 1\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 8\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 4\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"fn\",\n\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"mod\",\n\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"modules\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"fn\",\n\t\t\t\t\t\t\t\t\"toggle\": true\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 232\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 237\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 233\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 234\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 238\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 235\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 239\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 32\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"fn\",\n\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 64\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 128\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 16\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"mod\",\n\t\t\t\t\t\t\t\t\"toggle\": true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\"pointerRole\": \"scroll\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"mouse\",\n\t\t\t\t\t\t\t\t\"toggle\": true\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"mod\",\n\t\t\t\t\t\t\t\t\"toggle\": true\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"mouse\",\n\t\t\t\t\t\t\t\t\"toggle\": true\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 2\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 1\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 8\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 4\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"fn\",\n\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"mod\",\n\t\t\t\t\t\t\t\t\"toggle\": true\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"modules\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\"mouseAction\": \"scrollUp\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\"mouseAction\": \"moveUp\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\"mouseAction\": \"scrollDown\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\"mouseAction\": \"moveLeft\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\"mouseAction\": \"moveDown\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\"mouseAction\": \"moveRight\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 64\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 128\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 16\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchLayer\",\n\t\t\t\t\t\t\t\t\"layer\": \"mouse\",\n\t\t\t\t\t\t\t\t\"toggle\": false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\"mouseAction\": \"rightClick\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\"mouseAction\": \"middleClick\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\"mouseAction\": \"leftClick\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 1\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 8\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"modifierMask\": 4\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\"mouseAction\": \"accelerate\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\"mouseAction\": \"decelerate\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"isDefault\": false,\n\t\t\"abbreviation\": \"VIM\",\n\t\t\"name\": \"VIM\",\n\t\t\"description\": \"Phasellus egestas ac tellus id tincidunt. Ut non nisl turpis. Morbi molestie diam elit, et cursus nibh tempus vel. Vestibulum mattis arcu nec nisi dictum, quis facilisis augue rutrum. Fusce vel tristique metus. Nullam pretium elit et enim maximus ornare. Praesent ultrices ligula ut mi convallis, quis ultrices enim venenatis. Aenean interdum odio aliquam quam vestibulum, vel bibendum elit ornare. Morbi leo enim, ullamcorper a bibendum sit amet, ultrices vitae ligula. Etiam consectetur et massa a convallis. Nullam non nisi aliquet, suscipit nulla a, tempor odio. Praesent eu turpis euismod, pellentesque mauris ut, imperdiet felis. Pellentesque vehicula luctus purus, et mattis ante volutpat eu. Quisque venenatis porta odio.\",\n\t\t\"layers\": [\n\t\t\t{\n\t\t\t\t\"modules\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"mouse\",\n\t\t\t\t\t\t\t\t\"mouseAction\": \"scrollDown\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"switchKeymap\",\n\t\t\t\t\t\t\t\t\"keymapAbbreviation\": \"QTY\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\"pointerRole\": \"scroll\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 2,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"keyActionType\": \"keystroke\",\n\t\t\t\t\t\t\t\t\"scancode\": 111\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"modules\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"modules\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"modules\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"isDefault\": false,\n\t\t\"abbreviation\": \"DVR\",\n\t\t\"name\": \"DVR\",\n\t\t\"description\": \"Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aenean dictum sollicitudin massa, ut lacinia ipsum. Ut bibendum ipsum ac pulvinar vehicula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam feugiat lobortis lacus, id viverra nisl varius eu. Aliquam vitae eros a augue fermentum ultricies. Nam tempus dui sed ante ultricies bibendum. In ligula velit, aliquet a felis vitae, gravida tincidunt ante. Proin euismod velit odio, at pretium lacus porta egestas. Suspendisse aliquam, lacus accumsan dapibus elementum, orci felis egestas leo, non vulputate lorem turpis nec risus. Curabitur id volutpat orci. Sed aliquet finibus iaculis. In venenatis neque ac dolor posuere, vel vestibulum augue posuere.\",\n\t\t\"layers\": [\n\t\t\t{\n\t\t\t\t\"modules\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"modules\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"modules\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"modules\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"isDefault\": false,\n\t\t\"abbreviation\": \"EMY\",\n\t\t\"name\": \"Empty keymap\",\n\t\t\"description\": \"None of the keys are bind to any key action. It is ideal if you want to start creating your keymap from the ground up.\",\n\t\t\"layers\": [\n\t\t\t{\n\t\t\t\t\"modules\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"modules\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"modules\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"modules\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 0,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"id\": 1,\n\t\t\t\t\t\t\"pointerRole\": \"move\",\n\t\t\t\t\t\t\"keyActions\": [\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t}\n];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/json-loader!./shared/src/config-serializer/preset-keymaps.json\n// module id = 363\n// module chunks = 0","var WritableStream = require('stream').Writable\nvar inherits = require('util').inherits\n\nmodule.exports = BrowserStdout\n\n\ninherits(BrowserStdout, WritableStream)\n\nfunction BrowserStdout(opts) {\n if (!(this instanceof BrowserStdout)) return new BrowserStdout(opts)\n\n opts = opts || {}\n WritableStream.call(this, opts)\n this.label = (opts.label !== undefined) ? opts.label : 'stdout'\n}\n\nBrowserStdout.prototype._write = function(chunks, encoding, cb) {\n var output = chunks.toString ? chunks.toString() : chunks\n if (this.label === false) {\n console.log(output)\n } else {\n console.log(this.label+':', output)\n }\n process.nextTick(cb)\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/browser-stdout/index.js\n// module id = 364\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/readable.js');\nStream.Writable = require('readable-stream/writable.js');\nStream.Duplex = require('readable-stream/duplex.js');\nStream.Transform = require('readable-stream/transform.js');\nStream.PassThrough = require('readable-stream/passthrough.js');\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/stream-browserify/index.js\n// module id = 365\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nfunction EventEmitter() {\n this._events = this._events || {};\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nEventEmitter.defaultMaxListeners = 10;\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function(n) {\n if (!isNumber(n) || n < 0 || isNaN(n))\n throw TypeError('n must be a positive number');\n this._maxListeners = n;\n return this;\n};\n\nEventEmitter.prototype.emit = function(type) {\n var er, handler, len, args, i, listeners;\n\n if (!this._events)\n this._events = {};\n\n // If there is no 'error' event listener then throw.\n if (type === 'error') {\n if (!this._events.error ||\n (isObject(this._events.error) && !this._events.error.length)) {\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n // At least give some kind of context to the user\n var err = new Error('Uncaught, unspecified \"error\" event. (' + er + ')');\n err.context = er;\n throw err;\n }\n }\n }\n\n handler = this._events[type];\n\n if (isUndefined(handler))\n return false;\n\n if (isFunction(handler)) {\n switch (arguments.length) {\n // fast cases\n case 1:\n handler.call(this);\n break;\n case 2:\n handler.call(this, arguments[1]);\n break;\n case 3:\n handler.call(this, arguments[1], arguments[2]);\n break;\n // slower\n default:\n args = Array.prototype.slice.call(arguments, 1);\n handler.apply(this, args);\n }\n } else if (isObject(handler)) {\n args = Array.prototype.slice.call(arguments, 1);\n listeners = handler.slice();\n len = listeners.length;\n for (i = 0; i < len; i++)\n listeners[i].apply(this, args);\n }\n\n return true;\n};\n\nEventEmitter.prototype.addListener = function(type, listener) {\n var m;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events)\n this._events = {};\n\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (this._events.newListener)\n this.emit('newListener', type,\n isFunction(listener.listener) ?\n listener.listener : listener);\n\n if (!this._events[type])\n // Optimize the case of one listener. Don't need the extra array object.\n this._events[type] = listener;\n else if (isObject(this._events[type]))\n // If we've already got an array, just append.\n this._events[type].push(listener);\n else\n // Adding the second element, need to change to array.\n this._events[type] = [this._events[type], listener];\n\n // Check for listener leak\n if (isObject(this._events[type]) && !this._events[type].warned) {\n if (!isUndefined(this._maxListeners)) {\n m = this._maxListeners;\n } else {\n m = EventEmitter.defaultMaxListeners;\n }\n\n if (m && m > 0 && this._events[type].length > m) {\n this._events[type].warned = true;\n console.error('(node) warning: possible EventEmitter memory ' +\n 'leak detected. %d listeners added. ' +\n 'Use emitter.setMaxListeners() to increase limit.',\n this._events[type].length);\n if (typeof console.trace === 'function') {\n // not supported in IE 10\n console.trace();\n }\n }\n }\n\n return this;\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.once = function(type, listener) {\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n var fired = false;\n\n function g() {\n this.removeListener(type, g);\n\n if (!fired) {\n fired = true;\n listener.apply(this, arguments);\n }\n }\n\n g.listener = listener;\n this.on(type, g);\n\n return this;\n};\n\n// emits a 'removeListener' event iff the listener was removed\nEventEmitter.prototype.removeListener = function(type, listener) {\n var list, position, length, i;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events || !this._events[type])\n return this;\n\n list = this._events[type];\n length = list.length;\n position = -1;\n\n if (list === listener ||\n (isFunction(list.listener) && list.listener === listener)) {\n delete this._events[type];\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n\n } else if (isObject(list)) {\n for (i = length; i-- > 0;) {\n if (list[i] === listener ||\n (list[i].listener && list[i].listener === listener)) {\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (list.length === 1) {\n list.length = 0;\n delete this._events[type];\n } else {\n list.splice(position, 1);\n }\n\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.removeAllListeners = function(type) {\n var key, listeners;\n\n if (!this._events)\n return this;\n\n // not listening for removeListener, no need to emit\n if (!this._events.removeListener) {\n if (arguments.length === 0)\n this._events = {};\n else if (this._events[type])\n delete this._events[type];\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n for (key in this._events) {\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = {};\n return this;\n }\n\n listeners = this._events[type];\n\n if (isFunction(listeners)) {\n this.removeListener(type, listeners);\n } else if (listeners) {\n // LIFO order\n while (listeners.length)\n this.removeListener(type, listeners[listeners.length - 1]);\n }\n delete this._events[type];\n\n return this;\n};\n\nEventEmitter.prototype.listeners = function(type) {\n var ret;\n if (!this._events || !this._events[type])\n ret = [];\n else if (isFunction(this._events[type]))\n ret = [this._events[type]];\n else\n ret = this._events[type].slice();\n return ret;\n};\n\nEventEmitter.prototype.listenerCount = function(type) {\n if (this._events) {\n var evlistener = this._events[type];\n\n if (isFunction(evlistener))\n return 1;\n else if (evlistener)\n return evlistener.length;\n }\n return 0;\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n return emitter.listenerCount(type);\n};\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/events/events.js\n// module id = 366\n// module chunks = 0","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inherits/inherits_browser.js\n// module id = 367\n// module chunks = 0","var Stream = (function (){\n try {\n return require('st' + 'ream'); // hack to fix a circular dependency issue when used with browserify\n } catch(_){}\n}());\nexports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = Stream || exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\n\nif (!process.browser && process.env.READABLE_STREAM === 'disable' && Stream) {\n module.exports = Stream;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/readable-stream/readable.js\n// module id = 368\n// module chunks = 0","'use strict';\n\nmodule.exports = Readable;\n\n/**/\nvar processNextTick = require('process-nextick-args');\n/**/\n\n/**/\nvar isArray = require('isarray');\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream;\n(function () {\n try {\n Stream = require('st' + 'ream');\n } catch (_) {} finally {\n if (!Stream) Stream = require('events').EventEmitter;\n }\n})();\n/**/\n\nvar Buffer = require('buffer').Buffer;\n/**/\nvar bufferShim = require('buffer-shims');\n/**/\n\n/**/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar debugUtil = require('util');\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/BufferList');\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') {\n return emitter.prependListener(event, fn);\n } else {\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n }\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm;\n\n // cast to ints.\n this.highWaterMark = ~ ~this.highWaterMark;\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // when piping, we only care about 'readable' events that happen\n // after read()ing all the bytes and not getting any pushback.\n this.ranOut = false;\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options && typeof options.read === 'function') this._read = options.read;\n\n Stream.call(this);\n}\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n\n if (!state.objectMode && typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = bufferShim.from(chunk, encoding);\n encoding = '';\n }\n }\n\n return readableAddChunk(this, state, chunk, encoding, false);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n var state = this._readableState;\n return readableAddChunk(this, state, chunk, '', true);\n};\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\nfunction readableAddChunk(stream, state, chunk, encoding, addToFront) {\n var er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (state.ended && !addToFront) {\n var e = new Error('stream.push() after EOF');\n stream.emit('error', e);\n } else if (state.endEmitted && addToFront) {\n var _e = new Error('stream.unshift() after end event');\n stream.emit('error', _e);\n } else {\n var skipAdd;\n if (state.decoder && !addToFront && !encoding) {\n chunk = state.decoder.write(chunk);\n skipAdd = !state.objectMode && chunk.length === 0;\n }\n\n if (!addToFront) state.reading = false;\n\n // Don't add to the buffer if we've decoded to an empty string chunk and\n // we're not in object mode\n if (!skipAdd) {\n // if we want the data now, just emit it.\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n }\n\n maybeReadMore(stream, state);\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n\n return needMoreData(state);\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction chunkInvalid(state, chunk) {\n var er = null;\n if (!Buffer.isBuffer(chunk) && typeof chunk !== 'string' && chunk !== null && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) processNextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n processNextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : cleanup;\n if (state.endEmitted) processNextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable) {\n debug('onunpipe');\n if (readable === src) {\n cleanup();\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', cleanup);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', src._readableState.awaitDrain);\n src._readableState.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this);\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n processNextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this, state);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n processNextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var state = this._readableState;\n var paused = false;\n\n var self = this;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) self.push(chunk);\n }\n\n self.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = self.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n var events = ['error', 'close', 'destroy', 'pause', 'resume'];\n forEach(events, function (ev) {\n stream.on(ev, self.emit.bind(self, ev));\n });\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n self._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return self;\n};\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = bufferShim.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n processNextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction forEach(xs, f) {\n for (var i = 0, l = xs.length; i < l; i++) {\n f(xs[i], i);\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/readable-stream/lib/_stream_readable.js\n// module id = 369\n// module chunks = 0","'use strict';\n\nif (!process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = nextTick;\n} else {\n module.exports = process.nextTick;\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/process-nextick-args/index.js\n// module id = 370\n// module chunks = 0","'use strict';\n\nvar buffer = require('buffer');\nvar Buffer = buffer.Buffer;\nvar SlowBuffer = buffer.SlowBuffer;\nvar MAX_LEN = buffer.kMaxLength || 2147483647;\nexports.alloc = function alloc(size, fill, encoding) {\n if (typeof Buffer.alloc === 'function') {\n return Buffer.alloc(size, fill, encoding);\n }\n if (typeof encoding === 'number') {\n throw new TypeError('encoding must not be number');\n }\n if (typeof size !== 'number') {\n throw new TypeError('size must be a number');\n }\n if (size > MAX_LEN) {\n throw new RangeError('size is too large');\n }\n var enc = encoding;\n var _fill = fill;\n if (_fill === undefined) {\n enc = undefined;\n _fill = 0;\n }\n var buf = new Buffer(size);\n if (typeof _fill === 'string') {\n var fillBuf = new Buffer(_fill, enc);\n var flen = fillBuf.length;\n var i = -1;\n while (++i < size) {\n buf[i] = fillBuf[i % flen];\n }\n } else {\n buf.fill(_fill);\n }\n return buf;\n}\nexports.allocUnsafe = function allocUnsafe(size) {\n if (typeof Buffer.allocUnsafe === 'function') {\n return Buffer.allocUnsafe(size);\n }\n if (typeof size !== 'number') {\n throw new TypeError('size must be a number');\n }\n if (size > MAX_LEN) {\n throw new RangeError('size is too large');\n }\n return new Buffer(size);\n}\nexports.from = function from(value, encodingOrOffset, length) {\n if (typeof Buffer.from === 'function' && (!global.Uint8Array || Uint8Array.from !== Buffer.from)) {\n return Buffer.from(value, encodingOrOffset, length);\n }\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number');\n }\n if (typeof value === 'string') {\n return new Buffer(value, encodingOrOffset);\n }\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n var offset = encodingOrOffset;\n if (arguments.length === 1) {\n return new Buffer(value);\n }\n if (typeof offset === 'undefined') {\n offset = 0;\n }\n var len = length;\n if (typeof len === 'undefined') {\n len = value.byteLength - offset;\n }\n if (offset >= value.byteLength) {\n throw new RangeError('\\'offset\\' is out of bounds');\n }\n if (len > value.byteLength - offset) {\n throw new RangeError('\\'length\\' is out of bounds');\n }\n return new Buffer(value.slice(offset, offset + len));\n }\n if (Buffer.isBuffer(value)) {\n var out = new Buffer(value.length);\n value.copy(out, 0, 0, value.length);\n return out;\n }\n if (value) {\n if (Array.isArray(value) || (typeof ArrayBuffer !== 'undefined' && value.buffer instanceof ArrayBuffer) || 'length' in value) {\n return new Buffer(value);\n }\n if (value.type === 'Buffer' && Array.isArray(value.data)) {\n return new Buffer(value.data);\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ' + 'ArrayBuffer, Array, or array-like object.');\n}\nexports.allocUnsafeSlow = function allocUnsafeSlow(size) {\n if (typeof Buffer.allocUnsafeSlow === 'function') {\n return Buffer.allocUnsafeSlow(size);\n }\n if (typeof size !== 'number') {\n throw new TypeError('size must be a number');\n }\n if (size >= MAX_LEN) {\n throw new RangeError('size is too large');\n }\n return new SlowBuffer(size);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/buffer-shims/index.js\n// module id = 372\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-util-is/lib/util.js\n// module id = 373\n// module chunks = 0","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// util (ignored)\n// module id = 374\n// module chunks = 0","'use strict';\n\nvar Buffer = require('buffer').Buffer;\n/**/\nvar bufferShim = require('buffer-shims');\n/**/\n\nmodule.exports = BufferList;\n\nfunction BufferList() {\n this.head = null;\n this.tail = null;\n this.length = 0;\n}\n\nBufferList.prototype.push = function (v) {\n var entry = { data: v, next: null };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n};\n\nBufferList.prototype.unshift = function (v) {\n var entry = { data: v, next: this.head };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n};\n\nBufferList.prototype.shift = function () {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n};\n\nBufferList.prototype.clear = function () {\n this.head = this.tail = null;\n this.length = 0;\n};\n\nBufferList.prototype.join = function (s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }return ret;\n};\n\nBufferList.prototype.concat = function (n) {\n if (this.length === 0) return bufferShim.alloc(0);\n if (this.length === 1) return this.head.data;\n var ret = bufferShim.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n p.data.copy(ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/readable-stream/lib/internal/streams/BufferList.js\n// module id = 375\n// module chunks = 0","// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n};\n/**/\n\nmodule.exports = Duplex;\n\n/**/\nvar processNextTick = require('process-nextick-args');\n/**/\n\n/**/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/**/\n\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\n\nutil.inherits(Duplex, Readable);\n\nvar keys = objectKeys(Writable.prototype);\nfor (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false) this.readable = false;\n\n if (options && options.writable === false) this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n processNextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nfunction forEach(xs, f) {\n for (var i = 0, l = xs.length; i < l; i++) {\n f(xs[i], i);\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/readable-stream/lib/_stream_duplex.js\n// module id = 376\n// module chunks = 0","// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\nmodule.exports = Writable;\n\n/**/\nvar processNextTick = require('process-nextick-args');\n/**/\n\n/**/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : processNextTick;\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream;\n(function () {\n try {\n Stream = require('st' + 'ream');\n } catch (_) {} finally {\n if (!Stream) Stream = require('events').EventEmitter;\n }\n})();\n/**/\n\nvar Buffer = require('buffer').Buffer;\n/**/\nvar bufferShim = require('buffer-shims');\n/**/\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm;\n\n // cast to ints.\n this.highWaterMark = ~ ~this.highWaterMark;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function () {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function (object) {\n if (realHasInstance.call(this, object)) return true;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function (object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n\n if (typeof options.writev === 'function') this._writev = options.writev;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n processNextTick(cb, er);\n}\n\n// If we get something that is not a buffer, string, null, or undefined,\n// and we're not in objectMode, then that's an error.\n// Otherwise stream chunks are all considered to be of length=1, and the\n// watermarks determine how many objects to keep in the buffer, rather than\n// how many bytes or characters.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n // Always throw error if a null is written\n // if we are not in object mode then throw\n // if it is not a buffer, string, or undefined.\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (!Buffer.isBuffer(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n processNextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (Buffer.isBuffer(chunk)) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function') cb = nop;\n\n if (state.ended) writeAfterEnd(this, cb);else if (validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function () {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = bufferShim.from(chunk, encoding);\n }\n return chunk;\n}\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, chunk, encoding, cb) {\n chunk = decodeChunk(state, chunk, encoding);\n\n if (Buffer.isBuffer(chunk)) encoding = 'buffer';\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = new WriteReq(chunk, encoding, cb);\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) processNextTick(cb, er);else cb(er);\n\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n /**/\n asyncWrite(afterWrite, stream, state, finished, cb);\n /**/\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n while (entry) {\n buffer[count] = entry;\n entry = entry.next;\n count += 1;\n }\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequestCount = 0;\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending && !state.finished) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished) {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n if (state.pendingcb === 0) {\n prefinish(stream, state);\n state.finished = true;\n stream.emit('finish');\n } else {\n prefinish(stream, state);\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) processNextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function (err) {\n var entry = _this.entry;\n _this.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n if (state.corkedRequestsFree) {\n state.corkedRequestsFree.next = _this;\n } else {\n state.corkedRequestsFree = _this;\n }\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/readable-stream/lib/_stream_writable.js\n// module id = 377\n// module chunks = 0","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/util-deprecate/browser.js\n// module id = 378\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar Buffer = require('buffer').Buffer;\n\nvar isBufferEncoding = Buffer.isEncoding\n || function(encoding) {\n switch (encoding && encoding.toLowerCase()) {\n case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': case 'raw': return true;\n default: return false;\n }\n }\n\n\nfunction assertEncoding(encoding) {\n if (encoding && !isBufferEncoding(encoding)) {\n throw new Error('Unknown encoding: ' + encoding);\n }\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters. CESU-8 is handled as part of the UTF-8 encoding.\n//\n// @TODO Handling all encodings inside a single object makes it very difficult\n// to reason about this code, so it should be split up in the future.\n// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code\n// points as used by CESU-8.\nvar StringDecoder = exports.StringDecoder = function(encoding) {\n this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');\n assertEncoding(encoding);\n switch (this.encoding) {\n case 'utf8':\n // CESU-8 represents each of Surrogate Pair by 3-bytes\n this.surrogateSize = 3;\n break;\n case 'ucs2':\n case 'utf16le':\n // UTF-16 represents each of Surrogate Pair by 2-bytes\n this.surrogateSize = 2;\n this.detectIncompleteChar = utf16DetectIncompleteChar;\n break;\n case 'base64':\n // Base-64 stores 3 bytes in 4 chars, and pads the remainder.\n this.surrogateSize = 3;\n this.detectIncompleteChar = base64DetectIncompleteChar;\n break;\n default:\n this.write = passThroughWrite;\n return;\n }\n\n // Enough space to store all bytes of a single character. UTF-8 needs 4\n // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate).\n this.charBuffer = new Buffer(6);\n // Number of bytes received for the current incomplete multi-byte character.\n this.charReceived = 0;\n // Number of bytes expected for the current incomplete multi-byte character.\n this.charLength = 0;\n};\n\n\n// write decodes the given buffer and returns it as JS string that is\n// guaranteed to not contain any partial multi-byte characters. Any partial\n// character found at the end of the buffer is buffered up, and will be\n// returned when calling write again with the remaining bytes.\n//\n// Note: Converting a Buffer containing an orphan surrogate to a String\n// currently works, but converting a String to a Buffer (via `new Buffer`, or\n// Buffer#write) will replace incomplete surrogates with the unicode\n// replacement character. See https://codereview.chromium.org/121173009/ .\nStringDecoder.prototype.write = function(buffer) {\n var charStr = '';\n // if our last write ended with an incomplete multibyte character\n while (this.charLength) {\n // determine how many remaining bytes this buffer has to offer for this char\n var available = (buffer.length >= this.charLength - this.charReceived) ?\n this.charLength - this.charReceived :\n buffer.length;\n\n // add the new bytes to the char buffer\n buffer.copy(this.charBuffer, this.charReceived, 0, available);\n this.charReceived += available;\n\n if (this.charReceived < this.charLength) {\n // still not enough chars in this buffer? wait for more ...\n return '';\n }\n\n // remove bytes belonging to the current character from the buffer\n buffer = buffer.slice(available, buffer.length);\n\n // get the character that was split\n charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding);\n\n // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character\n var charCode = charStr.charCodeAt(charStr.length - 1);\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n this.charLength += this.surrogateSize;\n charStr = '';\n continue;\n }\n this.charReceived = this.charLength = 0;\n\n // if there are no more bytes in this buffer, just emit our char\n if (buffer.length === 0) {\n return charStr;\n }\n break;\n }\n\n // determine and set charLength / charReceived\n this.detectIncompleteChar(buffer);\n\n var end = buffer.length;\n if (this.charLength) {\n // buffer the incomplete character bytes we got\n buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end);\n end -= this.charReceived;\n }\n\n charStr += buffer.toString(this.encoding, 0, end);\n\n var end = charStr.length - 1;\n var charCode = charStr.charCodeAt(end);\n // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n var size = this.surrogateSize;\n this.charLength += size;\n this.charReceived += size;\n this.charBuffer.copy(this.charBuffer, size, 0, size);\n buffer.copy(this.charBuffer, 0, 0, size);\n return charStr.substring(0, end);\n }\n\n // or just emit the charStr\n return charStr;\n};\n\n// detectIncompleteChar determines if there is an incomplete UTF-8 character at\n// the end of the given buffer. If so, it sets this.charLength to the byte\n// length that character, and sets this.charReceived to the number of bytes\n// that are available for this character.\nStringDecoder.prototype.detectIncompleteChar = function(buffer) {\n // determine how many bytes we have to check at the end of this buffer\n var i = (buffer.length >= 3) ? 3 : buffer.length;\n\n // Figure out if one of the last i bytes of our buffer announces an\n // incomplete char.\n for (; i > 0; i--) {\n var c = buffer[buffer.length - i];\n\n // See http://en.wikipedia.org/wiki/UTF-8#Description\n\n // 110XXXXX\n if (i == 1 && c >> 5 == 0x06) {\n this.charLength = 2;\n break;\n }\n\n // 1110XXXX\n if (i <= 2 && c >> 4 == 0x0E) {\n this.charLength = 3;\n break;\n }\n\n // 11110XXX\n if (i <= 3 && c >> 3 == 0x1E) {\n this.charLength = 4;\n break;\n }\n }\n this.charReceived = i;\n};\n\nStringDecoder.prototype.end = function(buffer) {\n var res = '';\n if (buffer && buffer.length)\n res = this.write(buffer);\n\n if (this.charReceived) {\n var cr = this.charReceived;\n var buf = this.charBuffer;\n var enc = this.encoding;\n res += buf.slice(0, cr).toString(enc);\n }\n\n return res;\n};\n\nfunction passThroughWrite(buffer) {\n return buffer.toString(this.encoding);\n}\n\nfunction utf16DetectIncompleteChar(buffer) {\n this.charReceived = buffer.length % 2;\n this.charLength = this.charReceived ? 2 : 0;\n}\n\nfunction base64DetectIncompleteChar(buffer) {\n this.charReceived = buffer.length % 3;\n this.charLength = this.charReceived ? 3 : 0;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/string_decoder/index.js\n// module id = 379\n// module chunks = 0","// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\n\nvar Duplex = require('./_stream_duplex');\n\n/**/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(Transform, Duplex);\n\nfunction TransformState(stream) {\n this.afterTransform = function (er, data) {\n return afterTransform(stream, er, data);\n };\n\n this.needTransform = false;\n this.transforming = false;\n this.writecb = null;\n this.writechunk = null;\n this.writeencoding = null;\n}\n\nfunction afterTransform(stream, er, data) {\n var ts = stream._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) return stream.emit('error', new Error('no writecb in Transform class'));\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data !== null && data !== undefined) stream.push(data);\n\n cb(er);\n\n var rs = stream._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n stream._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = new TransformState(this);\n\n var stream = this;\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.once('prefinish', function () {\n if (typeof this._flush === 'function') this._flush(function (er, data) {\n done(stream, er, data);\n });else done(stream);\n });\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n\n if (data !== null && data !== undefined) stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n var ws = stream._writableState;\n var ts = stream._transformState;\n\n if (ws.length) throw new Error('Calling transform done when ws.length != 0');\n\n if (ts.transforming) throw new Error('Calling transform done when still transforming');\n\n return stream.push(null);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/readable-stream/lib/_stream_transform.js\n// module id = 380\n// module chunks = 0","// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\n/**/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/readable-stream/lib/_stream_passthrough.js\n// module id = 381\n// module chunks = 0","module.exports = require(\"./lib/_stream_writable.js\")\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/readable-stream/writable.js\n// module id = 382\n// module chunks = 0","module.exports = require(\"./lib/_stream_duplex.js\")\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/readable-stream/duplex.js\n// module id = 383\n// module chunks = 0","module.exports = require(\"./lib/_stream_transform.js\")\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/readable-stream/transform.js\n// module id = 384\n// module chunks = 0","module.exports = require(\"./lib/_stream_passthrough.js\")\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/readable-stream/passthrough.js\n// module id = 385\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/util/util.js\n// module id = 386\n// module chunks = 0","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/util/support/isBufferBrowser.js\n// module id = 387\n// module chunks = 0","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/util/~/inherits/inherits_browser.js\n// module id = 388\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/assets/compiled_sprite.svg b/assets/compiled_sprite.svg index 625da678..ab5bca21 100644 --- a/assets/compiled_sprite.svg +++ b/assets/compiled_sprite.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/images/icons/kbd__mouse--scroll-rigth.svg b/images/icons/kbd__mouse--scroll-rigth.svg deleted file mode 100644 index 5a019e8d..00000000 --- a/images/icons/kbd__mouse--scroll-rigth.svg +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/index.html b/index.html index 0897d5c9..baaf9d8b 100644 --- a/index.html +++ b/index.html @@ -7,8 +7,8 @@ - - + + @@ -26,8 +26,6 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= - - - + diff --git a/polyfills.uhk.js b/polyfills.uhk.js new file mode 100644 index 00000000..4f697e41 --- /dev/null +++ b/polyfills.uhk.js @@ -0,0 +1,4260 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // install a JSONP callback for chunk loading +/******/ var parentJsonpFunction = window["webpackJsonp"]; +/******/ window["webpackJsonp"] = function webpackJsonpCallback(chunkIds, moreModules) { +/******/ // add "moreModules" to the modules object, +/******/ // then flag all "chunkIds" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0, callbacks = []; +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(installedChunks[chunkId]) +/******/ callbacks.push.apply(callbacks, installedChunks[chunkId]); +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ for(moduleId in moreModules) { +/******/ modules[moduleId] = moreModules[moduleId]; +/******/ } +/******/ if(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules); +/******/ while(callbacks.length) +/******/ callbacks.shift().call(null, __webpack_require__); +/******/ if(moreModules[0]) { +/******/ installedModules[0] = 0; +/******/ return __webpack_require__(0); +/******/ } +/******/ }; +/******/ +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // object to store loaded and loading chunks +/******/ // "0" means "already loaded" +/******/ // Array means "loading", array contains callbacks +/******/ var installedChunks = { +/******/ 1:0 +/******/ }; +/******/ +/******/ // 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; +/******/ } +/******/ +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = function requireEnsure(chunkId, callback) { +/******/ // "0" is the signal for "already loaded" +/******/ if(installedChunks[chunkId] === 0) +/******/ return callback.call(null, __webpack_require__); +/******/ +/******/ // an array means "currently loading". +/******/ if(installedChunks[chunkId] !== undefined) { +/******/ installedChunks[chunkId].push(callback); +/******/ } else { +/******/ // start chunk loading +/******/ installedChunks[chunkId] = [callback]; +/******/ var head = document.getElementsByTagName('head')[0]; +/******/ var script = document.createElement('script'); +/******/ script.type = 'text/javascript'; +/******/ script.charset = 'utf-8'; +/******/ script.async = true; +/******/ +/******/ script.src = __webpack_require__.p + "" + chunkId + "." + ({"0":"app","2":"vendor"}[chunkId]||chunkId) + ".uhk.js"; +/******/ head.appendChild(script); +/******/ } +/******/ }; +/******/ +/******/ // 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__) { + + "use strict"; + __webpack_require__(389); + __webpack_require__(439); + __webpack_require__(483); + + +/***/ }, + +/***/ 1: +/***/ function(module, exports) { + + // shim for using process in browser + var process = module.exports = {}; + + // 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 defaultSetTimout() { + throw new Error('setTimeout has not been defined'); + } + function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); + } + (function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } + } ()) + function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + 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); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + 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); + } + } + + + + } + var queue = []; + var draining = false; + var currentQueue; + var queueIndex = -1; + + function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } + } + + function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); + } + + process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } + }; + + // 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; }; + + +/***/ }, + +/***/ 389: +/***/ function(module, exports, __webpack_require__) { + + __webpack_require__(390); + __webpack_require__(427); + __webpack_require__(430); + __webpack_require__(431); + __webpack_require__(435); + __webpack_require__(436); + __webpack_require__(438); + module.exports = __webpack_require__(393).Object; + +/***/ }, + +/***/ 390: +/***/ function(module, exports, __webpack_require__) { + + // https://github.com/tc39/proposal-object-getownpropertydescriptors + var $export = __webpack_require__(391) + , ownKeys = __webpack_require__(409) + , toIObject = __webpack_require__(412) + , gOPD = __webpack_require__(424) + , createProperty = __webpack_require__(426); + + $export($export.S, 'Object', { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){ + var O = toIObject(object) + , getDesc = gOPD.f + , keys = ownKeys(O) + , result = {} + , i = 0 + , key; + while(keys.length > i)createProperty(result, key = keys[i++], getDesc(O, key)); + return result; + } + }); + +/***/ }, + +/***/ 391: +/***/ function(module, exports, __webpack_require__) { + + var global = __webpack_require__(392) + , core = __webpack_require__(393) + , hide = __webpack_require__(394) + , redefine = __webpack_require__(404) + , ctx = __webpack_require__(407) + , 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 && target[key] !== undefined; + // 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)redefine(target, key, out, type & $export.U); + // 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 + $export.U = 64; // safe + $export.R = 128; // real proto method for `library` + module.exports = $export; + +/***/ }, + +/***/ 392: +/***/ 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 + +/***/ }, + +/***/ 393: +/***/ function(module, exports) { + + var core = module.exports = {version: '2.4.0'}; + if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef + +/***/ }, + +/***/ 394: +/***/ function(module, exports, __webpack_require__) { + + var dP = __webpack_require__(395) + , createDesc = __webpack_require__(403); + module.exports = __webpack_require__(399) ? function(object, key, value){ + return dP.f(object, key, createDesc(1, value)); + } : function(object, key, value){ + object[key] = value; + return object; + }; + +/***/ }, + +/***/ 395: +/***/ function(module, exports, __webpack_require__) { + + var anObject = __webpack_require__(396) + , IE8_DOM_DEFINE = __webpack_require__(398) + , toPrimitive = __webpack_require__(402) + , dP = Object.defineProperty; + + exports.f = __webpack_require__(399) ? Object.defineProperty : function defineProperty(O, P, Attributes){ + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if(IE8_DOM_DEFINE)try { + return dP(O, P, Attributes); + } catch(e){ /* empty */ } + if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!'); + if('value' in Attributes)O[P] = Attributes.value; + return O; + }; + +/***/ }, + +/***/ 396: +/***/ function(module, exports, __webpack_require__) { + + var isObject = __webpack_require__(397); + module.exports = function(it){ + if(!isObject(it))throw TypeError(it + ' is not an object!'); + return it; + }; + +/***/ }, + +/***/ 397: +/***/ function(module, exports) { + + module.exports = function(it){ + return typeof it === 'object' ? it !== null : typeof it === 'function'; + }; + +/***/ }, + +/***/ 398: +/***/ function(module, exports, __webpack_require__) { + + module.exports = !__webpack_require__(399) && !__webpack_require__(400)(function(){ + return Object.defineProperty(__webpack_require__(401)('div'), 'a', {get: function(){ return 7; }}).a != 7; + }); + +/***/ }, + +/***/ 399: +/***/ function(module, exports, __webpack_require__) { + + // Thank's IE8 for his funny defineProperty + module.exports = !__webpack_require__(400)(function(){ + return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; + }); + +/***/ }, + +/***/ 400: +/***/ function(module, exports) { + + module.exports = function(exec){ + try { + return !!exec(); + } catch(e){ + return true; + } + }; + +/***/ }, + +/***/ 401: +/***/ function(module, exports, __webpack_require__) { + + var isObject = __webpack_require__(397) + , document = __webpack_require__(392).document + // in old IE typeof document.createElement is 'object' + , is = isObject(document) && isObject(document.createElement); + module.exports = function(it){ + return is ? document.createElement(it) : {}; + }; + +/***/ }, + +/***/ 402: +/***/ function(module, exports, __webpack_require__) { + + // 7.1.1 ToPrimitive(input [, PreferredType]) + var isObject = __webpack_require__(397); + // 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"); + }; + +/***/ }, + +/***/ 403: +/***/ function(module, exports) { + + module.exports = function(bitmap, value){ + return { + enumerable : !(bitmap & 1), + configurable: !(bitmap & 2), + writable : !(bitmap & 4), + value : value + }; + }; + +/***/ }, + +/***/ 404: +/***/ function(module, exports, __webpack_require__) { + + var global = __webpack_require__(392) + , hide = __webpack_require__(394) + , has = __webpack_require__(405) + , SRC = __webpack_require__(406)('src') + , TO_STRING = 'toString' + , $toString = Function[TO_STRING] + , TPL = ('' + $toString).split(TO_STRING); + + __webpack_require__(393).inspectSource = function(it){ + return $toString.call(it); + }; + + (module.exports = function(O, key, val, safe){ + var isFunction = typeof val == 'function'; + if(isFunction)has(val, 'name') || hide(val, 'name', key); + if(O[key] === val)return; + if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); + if(O === global){ + O[key] = val; + } else { + if(!safe){ + delete O[key]; + hide(O, key, val); + } else { + if(O[key])O[key] = val; + else hide(O, key, val); + } + } + // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative + })(Function.prototype, TO_STRING, function toString(){ + return typeof this == 'function' && this[SRC] || $toString.call(this); + }); + +/***/ }, + +/***/ 405: +/***/ function(module, exports) { + + var hasOwnProperty = {}.hasOwnProperty; + module.exports = function(it, key){ + return hasOwnProperty.call(it, key); + }; + +/***/ }, + +/***/ 406: +/***/ function(module, exports) { + + var id = 0 + , px = Math.random(); + module.exports = function(key){ + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); + }; + +/***/ }, + +/***/ 407: +/***/ function(module, exports, __webpack_require__) { + + // optional / simple context binding + var aFunction = __webpack_require__(408); + 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); + }; + }; + +/***/ }, + +/***/ 408: +/***/ function(module, exports) { + + module.exports = function(it){ + if(typeof it != 'function')throw TypeError(it + ' is not a function!'); + return it; + }; + +/***/ }, + +/***/ 409: +/***/ function(module, exports, __webpack_require__) { + + // all object keys, includes non-enumerable and symbols + var gOPN = __webpack_require__(410) + , gOPS = __webpack_require__(423) + , anObject = __webpack_require__(396) + , Reflect = __webpack_require__(392).Reflect; + module.exports = Reflect && Reflect.ownKeys || function ownKeys(it){ + var keys = gOPN.f(anObject(it)) + , getSymbols = gOPS.f; + return getSymbols ? keys.concat(getSymbols(it)) : keys; + }; + +/***/ }, + +/***/ 410: +/***/ function(module, exports, __webpack_require__) { + + // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) + var $keys = __webpack_require__(411) + , hiddenKeys = __webpack_require__(422).concat('length', 'prototype'); + + exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){ + return $keys(O, hiddenKeys); + }; + +/***/ }, + +/***/ 411: +/***/ function(module, exports, __webpack_require__) { + + var has = __webpack_require__(405) + , toIObject = __webpack_require__(412) + , arrayIndexOf = __webpack_require__(416)(false) + , IE_PROTO = __webpack_require__(420)('IE_PROTO'); + + module.exports = function(object, names){ + var O = toIObject(object) + , 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(names.length > i)if(has(O, key = names[i++])){ + ~arrayIndexOf(result, key) || result.push(key); + } + return result; + }; + +/***/ }, + +/***/ 412: +/***/ function(module, exports, __webpack_require__) { + + // to indexed object, toObject with fallback for non-array-like ES3 strings + var IObject = __webpack_require__(413) + , defined = __webpack_require__(415); + module.exports = function(it){ + return IObject(defined(it)); + }; + +/***/ }, + +/***/ 413: +/***/ function(module, exports, __webpack_require__) { + + // fallback for non-array-like ES3 and non-enumerable old V8 strings + var cof = __webpack_require__(414); + module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){ + return cof(it) == 'String' ? it.split('') : Object(it); + }; + +/***/ }, + +/***/ 414: +/***/ function(module, exports) { + + var toString = {}.toString; + + module.exports = function(it){ + return toString.call(it).slice(8, -1); + }; + +/***/ }, + +/***/ 415: +/***/ function(module, exports) { + + // 7.2.1 RequireObjectCoercible(argument) + module.exports = function(it){ + if(it == undefined)throw TypeError("Can't call method on " + it); + return it; + }; + +/***/ }, + +/***/ 416: +/***/ function(module, exports, __webpack_require__) { + + // false -> Array#indexOf + // true -> Array#includes + var toIObject = __webpack_require__(412) + , toLength = __webpack_require__(417) + , toIndex = __webpack_require__(419); + module.exports = function(IS_INCLUDES){ + return function($this, el, fromIndex){ + var O = toIObject($this) + , length = toLength(O.length) + , index = toIndex(fromIndex, length) + , value; + // Array#includes uses SameValueZero equality algorithm + if(IS_INCLUDES && el != el)while(length > index){ + value = O[index++]; + if(value != value)return true; + // Array#toIndex ignores holes, Array#includes - not + } else for(;length > index; index++)if(IS_INCLUDES || index in O){ + if(O[index] === el)return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; + }; + +/***/ }, + +/***/ 417: +/***/ function(module, exports, __webpack_require__) { + + // 7.1.15 ToLength + var toInteger = __webpack_require__(418) + , min = Math.min; + module.exports = function(it){ + return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 + }; + +/***/ }, + +/***/ 418: +/***/ function(module, exports) { + + // 7.1.4 ToInteger + var ceil = Math.ceil + , floor = Math.floor; + module.exports = function(it){ + return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); + }; + +/***/ }, + +/***/ 419: +/***/ function(module, exports, __webpack_require__) { + + var toInteger = __webpack_require__(418) + , max = Math.max + , min = Math.min; + module.exports = function(index, length){ + index = toInteger(index); + return index < 0 ? max(index + length, 0) : min(index, length); + }; + +/***/ }, + +/***/ 420: +/***/ function(module, exports, __webpack_require__) { + + var shared = __webpack_require__(421)('keys') + , uid = __webpack_require__(406); + module.exports = function(key){ + return shared[key] || (shared[key] = uid(key)); + }; + +/***/ }, + +/***/ 421: +/***/ function(module, exports, __webpack_require__) { + + var global = __webpack_require__(392) + , SHARED = '__core-js_shared__' + , store = global[SHARED] || (global[SHARED] = {}); + module.exports = function(key){ + return store[key] || (store[key] = {}); + }; + +/***/ }, + +/***/ 422: +/***/ function(module, exports) { + + // IE 8- don't enum bug keys + module.exports = ( + 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' + ).split(','); + +/***/ }, + +/***/ 423: +/***/ function(module, exports) { + + exports.f = Object.getOwnPropertySymbols; + +/***/ }, + +/***/ 424: +/***/ function(module, exports, __webpack_require__) { + + var pIE = __webpack_require__(425) + , createDesc = __webpack_require__(403) + , toIObject = __webpack_require__(412) + , toPrimitive = __webpack_require__(402) + , has = __webpack_require__(405) + , IE8_DOM_DEFINE = __webpack_require__(398) + , gOPD = Object.getOwnPropertyDescriptor; + + exports.f = __webpack_require__(399) ? gOPD : function getOwnPropertyDescriptor(O, P){ + O = toIObject(O); + P = toPrimitive(P, true); + if(IE8_DOM_DEFINE)try { + return gOPD(O, P); + } catch(e){ /* empty */ } + if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]); + }; + +/***/ }, + +/***/ 425: +/***/ function(module, exports) { + + exports.f = {}.propertyIsEnumerable; + +/***/ }, + +/***/ 426: +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + var $defineProperty = __webpack_require__(395) + , createDesc = __webpack_require__(403); + + module.exports = function(object, index, value){ + if(index in object)$defineProperty.f(object, index, createDesc(0, value)); + else object[index] = value; + }; + +/***/ }, + +/***/ 427: +/***/ function(module, exports, __webpack_require__) { + + // https://github.com/tc39/proposal-object-values-entries + var $export = __webpack_require__(391) + , $values = __webpack_require__(428)(false); + + $export($export.S, 'Object', { + values: function values(it){ + return $values(it); + } + }); + +/***/ }, + +/***/ 428: +/***/ function(module, exports, __webpack_require__) { + + var getKeys = __webpack_require__(429) + , toIObject = __webpack_require__(412) + , isEnum = __webpack_require__(425).f; + module.exports = function(isEntries){ + return function(it){ + var O = toIObject(it) + , keys = getKeys(O) + , length = keys.length + , i = 0 + , result = [] + , key; + while(length > i)if(isEnum.call(O, key = keys[i++])){ + result.push(isEntries ? [key, O[key]] : O[key]); + } return result; + }; + }; + +/***/ }, + +/***/ 429: +/***/ function(module, exports, __webpack_require__) { + + // 19.1.2.14 / 15.2.3.14 Object.keys(O) + var $keys = __webpack_require__(411) + , enumBugKeys = __webpack_require__(422); + + module.exports = Object.keys || function keys(O){ + return $keys(O, enumBugKeys); + }; + +/***/ }, + +/***/ 430: +/***/ function(module, exports, __webpack_require__) { + + // https://github.com/tc39/proposal-object-values-entries + var $export = __webpack_require__(391) + , $entries = __webpack_require__(428)(true); + + $export($export.S, 'Object', { + entries: function entries(it){ + return $entries(it); + } + }); + +/***/ }, + +/***/ 431: +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + var $export = __webpack_require__(391) + , toObject = __webpack_require__(432) + , aFunction = __webpack_require__(408) + , $defineProperty = __webpack_require__(395); + + // B.2.2.2 Object.prototype.__defineGetter__(P, getter) + __webpack_require__(399) && $export($export.P + __webpack_require__(433), 'Object', { + __defineGetter__: function __defineGetter__(P, getter){ + $defineProperty.f(toObject(this), P, {get: aFunction(getter), enumerable: true, configurable: true}); + } + }); + +/***/ }, + +/***/ 432: +/***/ function(module, exports, __webpack_require__) { + + // 7.1.13 ToObject(argument) + var defined = __webpack_require__(415); + module.exports = function(it){ + return Object(defined(it)); + }; + +/***/ }, + +/***/ 433: +/***/ function(module, exports, __webpack_require__) { + + // Forced replacement prototype accessors methods + module.exports = __webpack_require__(434)|| !__webpack_require__(400)(function(){ + var K = Math.random(); + // In FF throws only define methods + __defineSetter__.call(null, K, function(){ /* empty */}); + delete __webpack_require__(392)[K]; + }); + +/***/ }, + +/***/ 434: +/***/ function(module, exports) { + + module.exports = false; + +/***/ }, + +/***/ 435: +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + var $export = __webpack_require__(391) + , toObject = __webpack_require__(432) + , aFunction = __webpack_require__(408) + , $defineProperty = __webpack_require__(395); + + // B.2.2.3 Object.prototype.__defineSetter__(P, setter) + __webpack_require__(399) && $export($export.P + __webpack_require__(433), 'Object', { + __defineSetter__: function __defineSetter__(P, setter){ + $defineProperty.f(toObject(this), P, {set: aFunction(setter), enumerable: true, configurable: true}); + } + }); + +/***/ }, + +/***/ 436: +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + var $export = __webpack_require__(391) + , toObject = __webpack_require__(432) + , toPrimitive = __webpack_require__(402) + , getPrototypeOf = __webpack_require__(437) + , getOwnPropertyDescriptor = __webpack_require__(424).f; + + // B.2.2.4 Object.prototype.__lookupGetter__(P) + __webpack_require__(399) && $export($export.P + __webpack_require__(433), 'Object', { + __lookupGetter__: function __lookupGetter__(P){ + var O = toObject(this) + , K = toPrimitive(P, true) + , D; + do { + if(D = getOwnPropertyDescriptor(O, K))return D.get; + } while(O = getPrototypeOf(O)); + } + }); + +/***/ }, + +/***/ 437: +/***/ function(module, exports, __webpack_require__) { + + // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) + var has = __webpack_require__(405) + , toObject = __webpack_require__(432) + , IE_PROTO = __webpack_require__(420)('IE_PROTO') + , ObjectProto = Object.prototype; + + module.exports = Object.getPrototypeOf || function(O){ + O = toObject(O); + 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; + }; + +/***/ }, + +/***/ 438: +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + var $export = __webpack_require__(391) + , toObject = __webpack_require__(432) + , toPrimitive = __webpack_require__(402) + , getPrototypeOf = __webpack_require__(437) + , getOwnPropertyDescriptor = __webpack_require__(424).f; + + // B.2.2.5 Object.prototype.__lookupSetter__(P) + __webpack_require__(399) && $export($export.P + __webpack_require__(433), 'Object', { + __lookupSetter__: function __lookupSetter__(P){ + var O = toObject(this) + , K = toPrimitive(P, true) + , D; + do { + if(D = getOwnPropertyDescriptor(O, K))return D.set; + } while(O = getPrototypeOf(O)); + } + }); + +/***/ }, + +/***/ 439: +/***/ function(module, exports, __webpack_require__) { + + __webpack_require__(440); + __webpack_require__(473); + __webpack_require__(474); + __webpack_require__(475); + __webpack_require__(478); + __webpack_require__(479); + __webpack_require__(480); + __webpack_require__(481); + __webpack_require__(482); + module.exports = __webpack_require__(393).Reflect; + + +/***/ }, + +/***/ 440: +/***/ function(module, exports, __webpack_require__) { + + var metadata = __webpack_require__(441) + , anObject = __webpack_require__(396) + , toMetaKey = metadata.key + , ordinaryDefineOwnMetadata = metadata.set; + + metadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){ + ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey)); + }}); + +/***/ }, + +/***/ 441: +/***/ function(module, exports, __webpack_require__) { + + var Map = __webpack_require__(442) + , $export = __webpack_require__(391) + , shared = __webpack_require__(421)('metadata') + , store = shared.store || (shared.store = new (__webpack_require__(466))); + + var getOrCreateMetadataMap = function(target, targetKey, create){ + var targetMetadata = store.get(target); + if(!targetMetadata){ + if(!create)return undefined; + store.set(target, targetMetadata = new Map); + } + var keyMetadata = targetMetadata.get(targetKey); + if(!keyMetadata){ + if(!create)return undefined; + targetMetadata.set(targetKey, keyMetadata = new Map); + } return keyMetadata; + }; + var ordinaryHasOwnMetadata = function(MetadataKey, O, P){ + var metadataMap = getOrCreateMetadataMap(O, P, false); + return metadataMap === undefined ? false : metadataMap.has(MetadataKey); + }; + var ordinaryGetOwnMetadata = function(MetadataKey, O, P){ + var metadataMap = getOrCreateMetadataMap(O, P, false); + return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); + }; + var ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){ + getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); + }; + var ordinaryOwnMetadataKeys = function(target, targetKey){ + var metadataMap = getOrCreateMetadataMap(target, targetKey, false) + , keys = []; + if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); }); + return keys; + }; + var toMetaKey = function(it){ + return it === undefined || typeof it == 'symbol' ? it : String(it); + }; + var exp = function(O){ + $export($export.S, 'Reflect', O); + }; + + module.exports = { + store: store, + map: getOrCreateMetadataMap, + has: ordinaryHasOwnMetadata, + get: ordinaryGetOwnMetadata, + set: ordinaryDefineOwnMetadata, + keys: ordinaryOwnMetadataKeys, + key: toMetaKey, + exp: exp + }; + +/***/ }, + +/***/ 442: +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + var strong = __webpack_require__(443); + + // 23.1 Map Objects + module.exports = __webpack_require__(462)('Map', function(get){ + return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; + }, { + // 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); + +/***/ }, + +/***/ 443: +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + var dP = __webpack_require__(395).f + , create = __webpack_require__(444) + , redefineAll = __webpack_require__(447) + , ctx = __webpack_require__(407) + , anInstance = __webpack_require__(448) + , defined = __webpack_require__(415) + , forOf = __webpack_require__(449) + , $iterDefine = __webpack_require__(456) + , step = __webpack_require__(459) + , setSpecies = __webpack_require__(460) + , DESCRIPTORS = __webpack_require__(399) + , fastKey = __webpack_require__(461).fastKey + , SIZE = DESCRIPTORS ? '_s' : 'size'; + + var getEntry = function(that, key){ + // 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; + } + }; + + module.exports = { + getConstructor: function(wrapper, NAME, IS_MAP, ADDER){ + var C = wrapper(function(that, iterable){ + anInstance(that, C, NAME, '_i'); + 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); + }); + redefineAll(C.prototype, { + // 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 */){ + anInstance(this, C, 'forEach'); + var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3) + , 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); + } + }); + if(DESCRIPTORS)dP(C.prototype, 'size', { + 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 + $iterDefine(C, NAME, function(iterated, kind){ + 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 + setSpecies(NAME); + } + }; + +/***/ }, + +/***/ 444: +/***/ function(module, exports, __webpack_require__) { + + // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) + var anObject = __webpack_require__(396) + , dPs = __webpack_require__(445) + , enumBugKeys = __webpack_require__(422) + , IE_PROTO = __webpack_require__(420)('IE_PROTO') + , Empty = function(){ /* empty */ } + , PROTOTYPE = 'prototype'; + + // Create object with fake `null` prototype: use iframe Object with cleared prototype + var createDict = function(){ + // Thrash, waste and sodomy: IE GC bug + var iframe = __webpack_require__(401)('iframe') + , i = enumBugKeys.length + , lt = '<' + , gt = '>' + , iframeDocument; + iframe.style.display = 'none'; + __webpack_require__(446).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(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); + iframeDocument.close(); + createDict = iframeDocument.F; + while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]]; + return createDict(); + }; + + module.exports = Object.create || function create(O, Properties){ + var result; + if(O !== null){ + Empty[PROTOTYPE] = anObject(O); + result = new Empty; + Empty[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = createDict(); + return Properties === undefined ? result : dPs(result, Properties); + }; + + +/***/ }, + +/***/ 445: +/***/ function(module, exports, __webpack_require__) { + + var dP = __webpack_require__(395) + , anObject = __webpack_require__(396) + , getKeys = __webpack_require__(429); + + module.exports = __webpack_require__(399) ? Object.defineProperties : function defineProperties(O, Properties){ + anObject(O); + var keys = getKeys(Properties) + , length = keys.length + , i = 0 + , P; + while(length > i)dP.f(O, P = keys[i++], Properties[P]); + return O; + }; + +/***/ }, + +/***/ 446: +/***/ function(module, exports, __webpack_require__) { + + module.exports = __webpack_require__(392).document && document.documentElement; + +/***/ }, + +/***/ 447: +/***/ function(module, exports, __webpack_require__) { + + var redefine = __webpack_require__(404); + module.exports = function(target, src, safe){ + for(var key in src)redefine(target, key, src[key], safe); + return target; + }; + +/***/ }, + +/***/ 448: +/***/ function(module, exports) { + + module.exports = function(it, Constructor, name, forbiddenField){ + if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){ + throw TypeError(name + ': incorrect invocation!'); + } return it; + }; + +/***/ }, + +/***/ 449: +/***/ function(module, exports, __webpack_require__) { + + var ctx = __webpack_require__(407) + , call = __webpack_require__(450) + , isArrayIter = __webpack_require__(451) + , anObject = __webpack_require__(396) + , toLength = __webpack_require__(417) + , getIterFn = __webpack_require__(454) + , BREAK = {} + , RETURN = {}; + var exports = module.exports = function(iterable, entries, fn, that, ITERATOR){ + var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable) + , f = ctx(fn, that, entries ? 2 : 1) + , index = 0 + , length, step, iterator, result; + 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++){ + result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); + if(result === BREAK || result === RETURN)return result; + } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){ + result = call(iterator, f, step.value, entries); + if(result === BREAK || result === RETURN)return result; + } + }; + exports.BREAK = BREAK; + exports.RETURN = RETURN; + +/***/ }, + +/***/ 450: +/***/ function(module, exports, __webpack_require__) { + + // call something on iterator step with safe closing on error + var anObject = __webpack_require__(396); + module.exports = function(iterator, fn, value, entries){ + try { + return entries ? fn(anObject(value)[0], value[1]) : fn(value); + // 7.4.6 IteratorClose(iterator, completion) + } catch(e){ + var ret = iterator['return']; + if(ret !== undefined)anObject(ret.call(iterator)); + throw e; + } + }; + +/***/ }, + +/***/ 451: +/***/ function(module, exports, __webpack_require__) { + + // check on default Array iterator + var Iterators = __webpack_require__(452) + , ITERATOR = __webpack_require__(453)('iterator') + , ArrayProto = Array.prototype; + + module.exports = function(it){ + return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); + }; + +/***/ }, + +/***/ 452: +/***/ function(module, exports) { + + module.exports = {}; + +/***/ }, + +/***/ 453: +/***/ function(module, exports, __webpack_require__) { + + var store = __webpack_require__(421)('wks') + , uid = __webpack_require__(406) + , Symbol = __webpack_require__(392).Symbol + , USE_SYMBOL = typeof Symbol == 'function'; + + var $exports = module.exports = function(name){ + return store[name] || (store[name] = + USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); + }; + + $exports.store = store; + +/***/ }, + +/***/ 454: +/***/ function(module, exports, __webpack_require__) { + + var classof = __webpack_require__(455) + , ITERATOR = __webpack_require__(453)('iterator') + , Iterators = __webpack_require__(452); + module.exports = __webpack_require__(393).getIteratorMethod = function(it){ + if(it != undefined)return it[ITERATOR] + || it['@@iterator'] + || Iterators[classof(it)]; + }; + +/***/ }, + +/***/ 455: +/***/ function(module, exports, __webpack_require__) { + + // getting tag from 19.1.3.6 Object.prototype.toString() + var cof = __webpack_require__(414) + , TAG = __webpack_require__(453)('toStringTag') + // ES3 wrong here + , ARG = cof(function(){ return arguments; }()) == 'Arguments'; + + // fallback for IE11 Script Access Denied error + var tryGet = function(it, key){ + try { + return it[key]; + } catch(e){ /* empty */ } + }; + + module.exports = function(it){ + var O, T, B; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T + // builtinTag case + : ARG ? cof(O) + // ES3 arguments fallback + : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; + }; + +/***/ }, + +/***/ 456: +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + var LIBRARY = __webpack_require__(434) + , $export = __webpack_require__(391) + , redefine = __webpack_require__(404) + , hide = __webpack_require__(394) + , has = __webpack_require__(405) + , Iterators = __webpack_require__(452) + , $iterCreate = __webpack_require__(457) + , setToStringTag = __webpack_require__(458) + , getPrototypeOf = __webpack_require__(437) + , ITERATOR = __webpack_require__(453)('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]; + 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); }; + }; + 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) + , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined + , $anyNative = NAME == 'Array' ? proto.entries || $native : $native + , methods, key, IteratorPrototype; + // Fix native + if($anyNative){ + IteratorPrototype = getPrototypeOf($anyNative.call(new Base)); + if(IteratorPrototype !== Object.prototype){ + // Set @@toStringTag to native iterators + setToStringTag(IteratorPrototype, TAG, true); + // fix for some old engines + if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis); + } + } + // fix Array#{values, @@iterator}.name in V8 / FF + if(DEF_VALUES && $native && $native.name !== VALUES){ + VALUES_BUG = true; + $default = function values(){ return $native.call(this); }; + } + // Define iterator + if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){ + hide(proto, ITERATOR, $default); + } + // Plug for library + Iterators[NAME] = $default; + Iterators[TAG] = returnThis; + if(DEFAULT){ + methods = { + values: DEF_VALUES ? $default : getMethod(VALUES), + keys: IS_SET ? $default : getMethod(KEYS), + entries: $entries + }; + 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); + } + return methods; + }; + +/***/ }, + +/***/ 457: +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + var create = __webpack_require__(444) + , descriptor = __webpack_require__(403) + , setToStringTag = __webpack_require__(458) + , IteratorPrototype = {}; + + // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() + __webpack_require__(394)(IteratorPrototype, __webpack_require__(453)('iterator'), function(){ return this; }); + + module.exports = function(Constructor, NAME, next){ + Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)}); + setToStringTag(Constructor, NAME + ' Iterator'); + }; + +/***/ }, + +/***/ 458: +/***/ function(module, exports, __webpack_require__) { + + var def = __webpack_require__(395).f + , has = __webpack_require__(405) + , TAG = __webpack_require__(453)('toStringTag'); + + module.exports = function(it, tag, stat){ + if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag}); + }; + +/***/ }, + +/***/ 459: +/***/ function(module, exports) { + + module.exports = function(done, value){ + return {value: value, done: !!done}; + }; + +/***/ }, + +/***/ 460: +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + var global = __webpack_require__(392) + , dP = __webpack_require__(395) + , DESCRIPTORS = __webpack_require__(399) + , SPECIES = __webpack_require__(453)('species'); + + module.exports = function(KEY){ + var C = global[KEY]; + if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, { + configurable: true, + get: function(){ return this; } + }); + }; + +/***/ }, + +/***/ 461: +/***/ function(module, exports, __webpack_require__) { + + var META = __webpack_require__(406)('meta') + , isObject = __webpack_require__(397) + , has = __webpack_require__(405) + , setDesc = __webpack_require__(395).f + , id = 0; + var isExtensible = Object.isExtensible || function(){ + return true; + }; + var FREEZE = !__webpack_require__(400)(function(){ + return isExtensible(Object.preventExtensions({})); + }); + var setMeta = function(it){ + setDesc(it, META, {value: { + i: 'O' + ++id, // object ID + w: {} // weak collections IDs + }}); + }; + var fastKey = function(it, create){ + // return primitive with prefix + if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if(!has(it, META)){ + // can't set metadata to uncaught frozen object + if(!isExtensible(it))return 'F'; + // not necessary to add metadata + if(!create)return 'E'; + // add missing metadata + setMeta(it); + // return object ID + } return it[META].i; + }; + var getWeak = function(it, create){ + if(!has(it, META)){ + // can't set metadata to uncaught frozen object + if(!isExtensible(it))return true; + // not necessary to add metadata + if(!create)return false; + // add missing metadata + setMeta(it); + // return hash weak collections IDs + } return it[META].w; + }; + // add metadata on freeze-family methods calling + var onFreeze = function(it){ + if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it); + return it; + }; + var meta = module.exports = { + KEY: META, + NEED: false, + fastKey: fastKey, + getWeak: getWeak, + onFreeze: onFreeze + }; + +/***/ }, + +/***/ 462: +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + var global = __webpack_require__(392) + , $export = __webpack_require__(391) + , redefine = __webpack_require__(404) + , redefineAll = __webpack_require__(447) + , meta = __webpack_require__(461) + , forOf = __webpack_require__(449) + , anInstance = __webpack_require__(448) + , isObject = __webpack_require__(397) + , fails = __webpack_require__(400) + , $iterDetect = __webpack_require__(463) + , setToStringTag = __webpack_require__(458) + , inheritIfRequired = __webpack_require__(464); + + 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 = {}; + var fixMethod = function(KEY){ + var fn = proto[KEY]; + 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; } + ); + }; + if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){ + new C().entries().next(); + }))){ + // create collection constructor + C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); + redefineAll(C.prototype, methods); + meta.NEED = true; + } else { + 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 = !IS_WEAK && fails(function(){ + // V8 ~ Chromium 42- fails only with 5+ elements + var $instance = new C() + , index = 5; + while(index--)$instance[ADDER](index, index); + return !$instance.has(-0); + }); + if(!ACCEPT_ITERABLES){ + C = wrapper(function(target, iterable){ + anInstance(target, C, NAME); + var that = inheritIfRequired(new Base, target, C); + if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); + return that; + }); + C.prototype = proto; + proto.constructor = C; + } + if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){ + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER); + // weak collections should not contains .clear method + if(IS_WEAK && proto.clear)delete proto.clear; + } + + setToStringTag(C, NAME); + + O[NAME] = C; + $export($export.G + $export.W + $export.F * (C != Base), O); + + if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP); + + return C; + }; + +/***/ }, + +/***/ 463: +/***/ function(module, exports, __webpack_require__) { + + var ITERATOR = __webpack_require__(453)('iterator') + , SAFE_CLOSING = false; + + try { + var riter = [7][ITERATOR](); + riter['return'] = function(){ SAFE_CLOSING = true; }; + Array.from(riter, function(){ throw 2; }); + } catch(e){ /* empty */ } + + module.exports = function(exec, skipClosing){ + if(!skipClosing && !SAFE_CLOSING)return false; + var safe = false; + try { + var arr = [7] + , iter = arr[ITERATOR](); + iter.next = function(){ return {done: safe = true}; }; + arr[ITERATOR] = function(){ return iter; }; + exec(arr); + } catch(e){ /* empty */ } + return safe; + }; + +/***/ }, + +/***/ 464: +/***/ function(module, exports, __webpack_require__) { + + var isObject = __webpack_require__(397) + , setPrototypeOf = __webpack_require__(465).set; + module.exports = function(that, target, C){ + var P, S = target.constructor; + if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){ + setPrototypeOf(that, P); + } return that; + }; + +/***/ }, + +/***/ 465: +/***/ function(module, exports, __webpack_require__) { + + // Works with __proto__ only. Old v8 can't work with null proto objects. + /* eslint-disable no-proto */ + var isObject = __webpack_require__(397) + , anObject = __webpack_require__(396); + var check = function(O, proto){ + anObject(O); + if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!"); + }; + module.exports = { + set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line + function(test, buggy, set){ + try { + set = __webpack_require__(407)(Function.call, __webpack_require__(424).f(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), + check: check + }; + +/***/ }, + +/***/ 466: +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + var each = __webpack_require__(467)(0) + , redefine = __webpack_require__(404) + , meta = __webpack_require__(461) + , assign = __webpack_require__(471) + , weak = __webpack_require__(472) + , isObject = __webpack_require__(397) + , getWeak = meta.getWeak + , isExtensible = Object.isExtensible + , uncaughtFrozenStore = weak.ufstore + , tmp = {} + , InternalMap; + + var wrapper = function(get){ + return function WeakMap(){ + return get(this, arguments.length > 0 ? arguments[0] : undefined); + }; + }; + + var methods = { + // 23.3.3.3 WeakMap.prototype.get(key) + get: function get(key){ + if(isObject(key)){ + var data = getWeak(key); + if(data === true)return uncaughtFrozenStore(this).get(key); + return data ? data[this._i] : undefined; + } + }, + // 23.3.3.5 WeakMap.prototype.set(key, value) + set: function set(key, value){ + return weak.def(this, key, value); + } + }; + + // 23.3 WeakMap Objects + var $WeakMap = module.exports = __webpack_require__(462)('WeakMap', wrapper, methods, weak, true, true); + + // IE11 WeakMap frozen keys fix + if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){ + InternalMap = weak.getConstructor(wrapper); + assign(InternalMap.prototype, methods); + meta.NEED = true; + each(['delete', 'has', 'get', 'set'], function(key){ + var proto = $WeakMap.prototype + , method = proto[key]; + redefine(proto, key, function(a, b){ + // store frozen objects on internal weakmap shim + if(isObject(a) && !isExtensible(a)){ + if(!this._f)this._f = new InternalMap; + var result = this._f[key](a, b); + return key == 'set' ? this : result; + // store all the rest on native weakmap + } return method.call(this, a, b); + }); + }); + } + +/***/ }, + +/***/ 467: +/***/ function(module, exports, __webpack_require__) { + + // 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__(407) + , IObject = __webpack_require__(413) + , toObject = __webpack_require__(432) + , toLength = __webpack_require__(417) + , asc = __webpack_require__(468); + module.exports = function(TYPE, $create){ + 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 + , create = $create || asc; + 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 ? create($this, length) : IS_FILTER ? create($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; + }; + }; + +/***/ }, + +/***/ 468: +/***/ function(module, exports, __webpack_require__) { + + // 9.4.2.3 ArraySpeciesCreate(originalArray, length) + var speciesConstructor = __webpack_require__(469); + + module.exports = function(original, length){ + return new (speciesConstructor(original))(length); + }; + +/***/ }, + +/***/ 469: +/***/ function(module, exports, __webpack_require__) { + + var isObject = __webpack_require__(397) + , isArray = __webpack_require__(470) + , SPECIES = __webpack_require__(453)('species'); + + module.exports = function(original){ + 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 C === undefined ? Array : C; + }; + +/***/ }, + +/***/ 470: +/***/ function(module, exports, __webpack_require__) { + + // 7.2.2 IsArray(argument) + var cof = __webpack_require__(414); + module.exports = Array.isArray || function isArray(arg){ + return cof(arg) == 'Array'; + }; + +/***/ }, + +/***/ 471: +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + // 19.1.2.1 Object.assign(target, source, ...) + var getKeys = __webpack_require__(429) + , gOPS = __webpack_require__(423) + , pIE = __webpack_require__(425) + , toObject = __webpack_require__(432) + , IObject = __webpack_require__(413) + , $assign = Object.assign; + + // should work with symbols and should have deterministic property order (V8 bug) + module.exports = !$assign || __webpack_require__(400)(function(){ + var A = {} + , B = {} + , S = Symbol() + , K = 'abcdefghijklmnopqrst'; + A[S] = 7; + K.split('').forEach(function(k){ B[k] = k; }); + return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; + }) ? function assign(target, source){ // eslint-disable-line no-unused-vars + var T = toObject(target) + , aLen = arguments.length + , index = 1 + , getSymbols = gOPS.f + , isEnum = pIE.f; + while(aLen > index){ + var S = IObject(arguments[index++]) + , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S) + , length = keys.length + , j = 0 + , key; + while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key]; + } return T; + } : $assign; + +/***/ }, + +/***/ 472: +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + var redefineAll = __webpack_require__(447) + , getWeak = __webpack_require__(461).getWeak + , anObject = __webpack_require__(396) + , isObject = __webpack_require__(397) + , anInstance = __webpack_require__(448) + , forOf = __webpack_require__(449) + , createArrayMethod = __webpack_require__(467) + , $has = __webpack_require__(405) + , arrayFind = createArrayMethod(5) + , arrayFindIndex = createArrayMethod(6) + , id = 0; + + // fallback for uncaught frozen keys + var uncaughtFrozenStore = function(that){ + return that._l || (that._l = new UncaughtFrozenStore); + }; + var UncaughtFrozenStore = function(){ + this.a = []; + }; + var findUncaughtFrozen = function(store, key){ + return arrayFind(store.a, function(it){ + return it[0] === key; + }); + }; + UncaughtFrozenStore.prototype = { + get: function(key){ + var entry = findUncaughtFrozen(this, key); + if(entry)return entry[1]; + }, + has: function(key){ + return !!findUncaughtFrozen(this, key); + }, + set: function(key, value){ + var entry = findUncaughtFrozen(this, key); + if(entry)entry[1] = value; + else this.a.push([key, value]); + }, + 'delete': function(key){ + var index = arrayFindIndex(this.a, function(it){ + 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){ + anInstance(that, C, NAME, '_i'); + that._i = id++; // collection id + that._l = undefined; // leak store for uncaught frozen objects + if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); + }); + redefineAll(C.prototype, { + // 23.3.3.2 WeakMap.prototype.delete(key) + // 23.4.3.3 WeakSet.prototype.delete(value) + 'delete': function(key){ + if(!isObject(key))return false; + var data = getWeak(key); + if(data === true)return uncaughtFrozenStore(this)['delete'](key); + return data && $has(data, this._i) && delete data[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; + var data = getWeak(key); + if(data === true)return uncaughtFrozenStore(this).has(key); + return data && $has(data, this._i); + } + }); + return C; + }, + def: function(that, key, value){ + var data = getWeak(anObject(key), true); + if(data === true)uncaughtFrozenStore(that).set(key, value); + else data[that._i] = value; + return that; + }, + ufstore: uncaughtFrozenStore + }; + +/***/ }, + +/***/ 473: +/***/ function(module, exports, __webpack_require__) { + + var metadata = __webpack_require__(441) + , anObject = __webpack_require__(396) + , toMetaKey = metadata.key + , getOrCreateMetadataMap = metadata.map + , store = metadata.store; + + metadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){ + var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]) + , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); + if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false; + if(metadataMap.size)return true; + var targetMetadata = store.get(target); + targetMetadata['delete'](targetKey); + return !!targetMetadata.size || store['delete'](target); + }}); + +/***/ }, + +/***/ 474: +/***/ function(module, exports, __webpack_require__) { + + var metadata = __webpack_require__(441) + , anObject = __webpack_require__(396) + , getPrototypeOf = __webpack_require__(437) + , ordinaryHasOwnMetadata = metadata.has + , ordinaryGetOwnMetadata = metadata.get + , toMetaKey = metadata.key; + + var ordinaryGetMetadata = function(MetadataKey, O, P){ + var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); + if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P); + var parent = getPrototypeOf(O); + return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; + }; + + metadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){ + return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); + }}); + +/***/ }, + +/***/ 475: +/***/ function(module, exports, __webpack_require__) { + + var Set = __webpack_require__(476) + , from = __webpack_require__(477) + , metadata = __webpack_require__(441) + , anObject = __webpack_require__(396) + , getPrototypeOf = __webpack_require__(437) + , ordinaryOwnMetadataKeys = metadata.keys + , toMetaKey = metadata.key; + + var ordinaryMetadataKeys = function(O, P){ + var oKeys = ordinaryOwnMetadataKeys(O, P) + , parent = getPrototypeOf(O); + if(parent === null)return oKeys; + var pKeys = ordinaryMetadataKeys(parent, P); + return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys; + }; + + metadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){ + return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); + }}); + +/***/ }, + +/***/ 476: +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + var strong = __webpack_require__(443); + + // 23.2 Set Objects + module.exports = __webpack_require__(462)('Set', function(get){ + return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; + }, { + // 23.2.3.1 Set.prototype.add(value) + add: function add(value){ + return strong.def(this, value = value === 0 ? 0 : value, value); + } + }, strong); + +/***/ }, + +/***/ 477: +/***/ function(module, exports, __webpack_require__) { + + var forOf = __webpack_require__(449); + + module.exports = function(iter, ITERATOR){ + var result = []; + forOf(iter, false, result.push, result, ITERATOR); + return result; + }; + + +/***/ }, + +/***/ 478: +/***/ function(module, exports, __webpack_require__) { + + var metadata = __webpack_require__(441) + , anObject = __webpack_require__(396) + , ordinaryGetOwnMetadata = metadata.get + , toMetaKey = metadata.key; + + metadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){ + return ordinaryGetOwnMetadata(metadataKey, anObject(target) + , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); + }}); + +/***/ }, + +/***/ 479: +/***/ function(module, exports, __webpack_require__) { + + var metadata = __webpack_require__(441) + , anObject = __webpack_require__(396) + , ordinaryOwnMetadataKeys = metadata.keys + , toMetaKey = metadata.key; + + metadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){ + return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); + }}); + +/***/ }, + +/***/ 480: +/***/ function(module, exports, __webpack_require__) { + + var metadata = __webpack_require__(441) + , anObject = __webpack_require__(396) + , getPrototypeOf = __webpack_require__(437) + , ordinaryHasOwnMetadata = metadata.has + , toMetaKey = metadata.key; + + var ordinaryHasMetadata = function(MetadataKey, O, P){ + var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); + if(hasOwn)return true; + var parent = getPrototypeOf(O); + return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false; + }; + + metadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){ + return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); + }}); + +/***/ }, + +/***/ 481: +/***/ function(module, exports, __webpack_require__) { + + var metadata = __webpack_require__(441) + , anObject = __webpack_require__(396) + , ordinaryHasOwnMetadata = metadata.has + , toMetaKey = metadata.key; + + metadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){ + return ordinaryHasOwnMetadata(metadataKey, anObject(target) + , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); + }}); + +/***/ }, + +/***/ 482: +/***/ function(module, exports, __webpack_require__) { + + var metadata = __webpack_require__(441) + , anObject = __webpack_require__(396) + , aFunction = __webpack_require__(408) + , toMetaKey = metadata.key + , ordinaryDefineOwnMetadata = metadata.set; + + metadata.exp({metadata: function metadata(metadataKey, metadataValue){ + return function decorator(target, targetKey){ + ordinaryDefineOwnMetadata( + metadataKey, metadataValue, + (targetKey !== undefined ? anObject : aFunction)(target), + toMetaKey(targetKey) + ); + }; + }}); + +/***/ }, + +/***/ 483: +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(global, process) {/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + (function (global, factory) { + true ? factory() : + typeof define === 'function' && define.amd ? define(factory) : + (factory()); + }(this, (function () { 'use strict'; + + /** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + + + var Zone$1 = (function (global) { + if (global['Zone']) { + throw new Error('Zone already loaded.'); + } + var Zone = (function () { + function Zone(parent, zoneSpec) { + this._properties = null; + this._parent = parent; + this._name = zoneSpec ? zoneSpec.name || 'unnamed' : ''; + this._properties = zoneSpec && zoneSpec.properties || {}; + this._zoneDelegate = + new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec); + } + Zone.assertZonePatched = function () { + if (global.Promise !== ZoneAwarePromise) { + throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' + + 'has been overwritten.\n' + + 'Most likely cause is that a Promise polyfill has been loaded ' + + 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' + + 'If you must load one, do so before loading zone.js.)'); + } + }; + Object.defineProperty(Zone, "current", { + get: function () { + return _currentZoneFrame.zone; + }, + enumerable: true, + configurable: true + }); + + Object.defineProperty(Zone, "currentTask", { + get: function () { + return _currentTask; + }, + enumerable: true, + configurable: true + }); + + Object.defineProperty(Zone.prototype, "parent", { + get: function () { + return this._parent; + }, + enumerable: true, + configurable: true + }); + + Object.defineProperty(Zone.prototype, "name", { + get: function () { + return this._name; + }, + enumerable: true, + configurable: true + }); + + Zone.prototype.get = function (key) { + var zone = this.getZoneWith(key); + if (zone) + return zone._properties[key]; + }; + Zone.prototype.getZoneWith = function (key) { + var current = this; + while (current) { + if (current._properties.hasOwnProperty(key)) { + return current; + } + current = current._parent; + } + return null; + }; + Zone.prototype.fork = function (zoneSpec) { + if (!zoneSpec) + throw new Error('ZoneSpec required!'); + return this._zoneDelegate.fork(this, zoneSpec); + }; + Zone.prototype.wrap = function (callback, source) { + if (typeof callback !== 'function') { + throw new Error('Expecting function got: ' + callback); + } + var _callback = this._zoneDelegate.intercept(this, callback, source); + var zone = this; + return function () { + return zone.runGuarded(_callback, this, arguments, source); + }; + }; + Zone.prototype.run = function (callback, applyThis, applyArgs, source) { + if (applyThis === void 0) { applyThis = null; } + if (applyArgs === void 0) { applyArgs = null; } + if (source === void 0) { source = null; } + _currentZoneFrame = new ZoneFrame(_currentZoneFrame, this); + try { + return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source); + } + finally { + _currentZoneFrame = _currentZoneFrame.parent; + } + }; + Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) { + if (applyThis === void 0) { applyThis = null; } + if (applyArgs === void 0) { applyArgs = null; } + if (source === void 0) { source = null; } + _currentZoneFrame = new ZoneFrame(_currentZoneFrame, this); + try { + try { + return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source); + } + catch (error) { + if (this._zoneDelegate.handleError(this, error)) { + throw error; + } + } + } + finally { + _currentZoneFrame = _currentZoneFrame.parent; + } + }; + Zone.prototype.runTask = function (task, applyThis, applyArgs) { + task.runCount++; + if (task.zone != this) + throw new Error('A task can only be run in the zone which created it! (Creation: ' + task.zone.name + + '; Execution: ' + this.name + ')'); + var previousTask = _currentTask; + _currentTask = task; + _currentZoneFrame = new ZoneFrame(_currentZoneFrame, this); + try { + if (task.type == 'macroTask' && task.data && !task.data.isPeriodic) { + task.cancelFn = null; + } + try { + return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs); + } + catch (error) { + if (this._zoneDelegate.handleError(this, error)) { + throw error; + } + } + } + finally { + _currentZoneFrame = _currentZoneFrame.parent; + _currentTask = previousTask; + } + }; + Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) { + return this._zoneDelegate.scheduleTask(this, new ZoneTask('microTask', this, source, callback, data, customSchedule, null)); + }; + Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) { + return this._zoneDelegate.scheduleTask(this, new ZoneTask('macroTask', this, source, callback, data, customSchedule, customCancel)); + }; + Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) { + return this._zoneDelegate.scheduleTask(this, new ZoneTask('eventTask', this, source, callback, data, customSchedule, customCancel)); + }; + Zone.prototype.cancelTask = function (task) { + var value = this._zoneDelegate.cancelTask(this, task); + task.runCount = -1; + task.cancelFn = null; + return value; + }; + return Zone; + }()); + Zone.__symbol__ = __symbol__; + + var ZoneDelegate = (function () { + function ZoneDelegate(zone, parentDelegate, zoneSpec) { + this._taskCounts = { microTask: 0, macroTask: 0, eventTask: 0 }; + this.zone = zone; + this._parentDelegate = parentDelegate; + this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS); + this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt); + this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone); + this._interceptZS = + zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS); + this._interceptDlgt = + zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt); + this._interceptCurrZone = + zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone); + this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS); + this._invokeDlgt = + zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt); + this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone); + this._handleErrorZS = + zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS); + this._handleErrorDlgt = + zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt); + this._handleErrorCurrZone = + zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone); + this._scheduleTaskZS = + zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS); + this._scheduleTaskDlgt = + zoneSpec && (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt); + this._scheduleTaskCurrZone = + zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone); + this._invokeTaskZS = + zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS); + this._invokeTaskDlgt = + zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt); + this._invokeTaskCurrZone = + zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone); + this._cancelTaskZS = + zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS); + this._cancelTaskDlgt = + zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt); + this._cancelTaskCurrZone = + zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone); + this._hasTaskZS = zoneSpec && (zoneSpec.onHasTask ? zoneSpec : parentDelegate._hasTaskZS); + this._hasTaskDlgt = + zoneSpec && (zoneSpec.onHasTask ? parentDelegate : parentDelegate._hasTaskDlgt); + this._hasTaskCurrZone = zoneSpec && (zoneSpec.onHasTask ? this.zone : parentDelegate.zone); + } + ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) { + return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) : + new Zone(targetZone, zoneSpec); + }; + ZoneDelegate.prototype.intercept = function (targetZone, callback, source) { + return this._interceptZS ? + this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) : + callback; + }; + ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) { + return this._invokeZS ? + this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) : + callback.apply(applyThis, applyArgs); + }; + ZoneDelegate.prototype.handleError = function (targetZone, error) { + return this._handleErrorZS ? + this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) : + true; + }; + ZoneDelegate.prototype.scheduleTask = function (targetZone, task) { + try { + if (this._scheduleTaskZS) { + return this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task); + } + else if (task.scheduleFn) { + task.scheduleFn(task); + } + else if (task.type == 'microTask') { + scheduleMicroTask(task); + } + else { + throw new Error('Task is missing scheduleFn.'); + } + return task; + } + finally { + if (targetZone == this.zone) { + this._updateTaskCount(task.type, 1); + } + } + }; + ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) { + try { + return this._invokeTaskZS ? + this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) : + task.callback.apply(applyThis, applyArgs); + } + finally { + if (targetZone == this.zone && (task.type != 'eventTask') && + !(task.data && task.data.isPeriodic)) { + this._updateTaskCount(task.type, -1); + } + } + }; + ZoneDelegate.prototype.cancelTask = function (targetZone, task) { + var value; + if (this._cancelTaskZS) { + value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task); + } + else if (!task.cancelFn) { + throw new Error('Task does not support cancellation, or is already canceled.'); + } + else { + value = task.cancelFn(task); + } + if (targetZone == this.zone) { + // this should not be in the finally block, because exceptions assume not canceled. + this._updateTaskCount(task.type, -1); + } + return value; + }; + ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) { + return this._hasTaskZS && + this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty); + }; + ZoneDelegate.prototype._updateTaskCount = function (type, count) { + var counts = this._taskCounts; + var prev = counts[type]; + var next = counts[type] = prev + count; + if (next < 0) { + throw new Error('More tasks executed then were scheduled.'); + } + if (prev == 0 || next == 0) { + var isEmpty = { + microTask: counts.microTask > 0, + macroTask: counts.macroTask > 0, + eventTask: counts.eventTask > 0, + change: type + }; + try { + this.hasTask(this.zone, isEmpty); + } + finally { + if (this._parentDelegate) { + this._parentDelegate._updateTaskCount(type, count); + } + } + } + }; + return ZoneDelegate; + }()); + var ZoneTask = (function () { + function ZoneTask(type, zone, source, callback, options, scheduleFn, cancelFn) { + this.runCount = 0; + this.type = type; + this.zone = zone; + this.source = source; + this.data = options; + this.scheduleFn = scheduleFn; + this.cancelFn = cancelFn; + this.callback = callback; + var self = this; + this.invoke = function () { + _numberOfNestedTaskFrames++; + try { + return zone.runTask(self, this, arguments); + } + finally { + if (_numberOfNestedTaskFrames == 1) { + drainMicroTaskQueue(); + } + _numberOfNestedTaskFrames--; + } + }; + } + ZoneTask.prototype.toString = function () { + if (this.data && typeof this.data.handleId !== 'undefined') { + return this.data.handleId; + } + else { + return Object.prototype.toString.call(this); + } + }; + // add toJSON method to prevent cyclic error when + // call JSON.stringify(zoneTask) + ZoneTask.prototype.toJSON = function () { + return { + type: this.type, + source: this.source, + data: this.data, + zone: this.zone.name, + invoke: this.invoke, + scheduleFn: this.scheduleFn, + cancelFn: this.cancelFn, + runCount: this.runCount, + callback: this.callback + }; + }; + return ZoneTask; + }()); + var ZoneFrame = (function () { + function ZoneFrame(parent, zone) { + this.parent = parent; + this.zone = zone; + } + return ZoneFrame; + }()); + function __symbol__(name) { + return '__zone_symbol__' + name; + } + + var symbolSetTimeout = __symbol__('setTimeout'); + var symbolPromise = __symbol__('Promise'); + var symbolThen = __symbol__('then'); + var _currentZoneFrame = new ZoneFrame(null, new Zone(null, null)); + var _currentTask = null; + var _microTaskQueue = []; + var _isDrainingMicrotaskQueue = false; + var _uncaughtPromiseErrors = []; + var _numberOfNestedTaskFrames = 0; + function scheduleQueueDrain() { + // if we are not running in any task, and there has not been anything scheduled + // we must bootstrap the initial task creation by manually scheduling the drain + if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) { + // We are not running in Task, so we need to kickstart the microtask queue. + if (global[symbolPromise]) { + global[symbolPromise].resolve(0)[symbolThen](drainMicroTaskQueue); + } + else { + global[symbolSetTimeout](drainMicroTaskQueue, 0); + } + } + } + function scheduleMicroTask(task) { + scheduleQueueDrain(); + _microTaskQueue.push(task); + } + function consoleError(e) { + var rejection = e && e.rejection; + if (rejection) { + console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined); + } + console.error(e); + } + function drainMicroTaskQueue() { + if (!_isDrainingMicrotaskQueue) { + _isDrainingMicrotaskQueue = true; + while (_microTaskQueue.length) { + var queue = _microTaskQueue; + _microTaskQueue = []; + for (var i = 0; i < queue.length; i++) { + var task = queue[i]; + try { + task.zone.runTask(task, null, null); + } + catch (e) { + consoleError(e); + } + } + } + while (_uncaughtPromiseErrors.length) { + var _loop_1 = function () { + var uncaughtPromiseError = _uncaughtPromiseErrors.shift(); + try { + uncaughtPromiseError.zone.runGuarded(function () { + throw uncaughtPromiseError; + }); + } + catch (e) { + consoleError(e); + } + }; + while (_uncaughtPromiseErrors.length) { + _loop_1(); + } + } + _isDrainingMicrotaskQueue = false; + } + } + function isThenable(value) { + return value && value.then; + } + function forwardResolution(value) { + return value; + } + function forwardRejection(rejection) { + return ZoneAwarePromise.reject(rejection); + } + var symbolState = __symbol__('state'); + var symbolValue = __symbol__('value'); + var source = 'Promise.then'; + var UNRESOLVED = null; + var RESOLVED = true; + var REJECTED = false; + var REJECTED_NO_CATCH = 0; + function makeResolver(promise, state) { + return function (v) { + resolvePromise(promise, state, v); + // Do not return value or you will break the Promise spec. + }; + } + function resolvePromise(promise, state, value) { + if (promise[symbolState] === UNRESOLVED) { + if (value instanceof ZoneAwarePromise && value.hasOwnProperty(symbolState) && + value.hasOwnProperty(symbolValue) && value[symbolState] !== UNRESOLVED) { + clearRejectedNoCatch(value); + resolvePromise(promise, value[symbolState], value[symbolValue]); + } + else if (isThenable(value)) { + value.then(makeResolver(promise, state), makeResolver(promise, false)); + } + else { + promise[symbolState] = state; + var queue = promise[symbolValue]; + promise[symbolValue] = value; + for (var i = 0; i < queue.length;) { + scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]); + } + if (queue.length == 0 && state == REJECTED) { + promise[symbolState] = REJECTED_NO_CATCH; + try { + throw new Error('Uncaught (in promise): ' + value + + (value && value.stack ? '\n' + value.stack : '')); + } + catch (e) { + var error_1 = e; + error_1.rejection = value; + error_1.promise = promise; + error_1.zone = Zone.current; + error_1.task = Zone.currentTask; + _uncaughtPromiseErrors.push(error_1); + scheduleQueueDrain(); + } + } + } + } + // Resolving an already resolved promise is a noop. + return promise; + } + function clearRejectedNoCatch(promise) { + if (promise[symbolState] === REJECTED_NO_CATCH) { + promise[symbolState] = REJECTED; + for (var i = 0; i < _uncaughtPromiseErrors.length; i++) { + if (promise === _uncaughtPromiseErrors[i].promise) { + _uncaughtPromiseErrors.splice(i, 1); + break; + } + } + } + } + function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) { + clearRejectedNoCatch(promise); + var delegate = promise[symbolState] ? onFulfilled || forwardResolution : onRejected || forwardRejection; + zone.scheduleMicroTask(source, function () { + try { + resolvePromise(chainPromise, true, zone.run(delegate, null, [promise[symbolValue]])); + } + catch (error) { + resolvePromise(chainPromise, false, error); + } + }); + } + var ZoneAwarePromise = (function () { + function ZoneAwarePromise(executor) { + var promise = this; + if (!(promise instanceof ZoneAwarePromise)) { + throw new Error('Must be an instanceof Promise.'); + } + promise[symbolState] = UNRESOLVED; + promise[symbolValue] = []; // queue; + try { + executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED)); + } + catch (e) { + resolvePromise(promise, false, e); + } + } + ZoneAwarePromise.toString = function () { + return 'function ZoneAwarePromise() { [native code] }'; + }; + ZoneAwarePromise.resolve = function (value) { + return resolvePromise(new this(null), RESOLVED, value); + }; + ZoneAwarePromise.reject = function (error) { + return resolvePromise(new this(null), REJECTED, error); + }; + ZoneAwarePromise.race = function (values) { + var resolve; + var reject; + var promise = new this(function (res, rej) { + _a = [res, rej], resolve = _a[0], reject = _a[1]; + var _a; + }); + function onResolve(value) { + promise && (promise = null || resolve(value)); + } + function onReject(error) { + promise && (promise = null || reject(error)); + } + for (var _i = 0, values_1 = values; _i < values_1.length; _i++) { + var value = values_1[_i]; + if (!isThenable(value)) { + value = this.resolve(value); + } + value.then(onResolve, onReject); + } + return promise; + }; + ZoneAwarePromise.all = function (values) { + var resolve; + var reject; + var promise = new this(function (res, rej) { + resolve = res; + reject = rej; + }); + var count = 0; + var resolvedValues = []; + for (var _i = 0, values_2 = values; _i < values_2.length; _i++) { + var value = values_2[_i]; + if (!isThenable(value)) { + value = this.resolve(value); + } + value.then((function (index) { return function (value) { + resolvedValues[index] = value; + count--; + if (!count) { + resolve(resolvedValues); + } + }; })(count), reject); + count++; + } + if (!count) + resolve(resolvedValues); + return promise; + }; + ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) { + var chainPromise = new this.constructor(null); + var zone = Zone.current; + if (this[symbolState] == UNRESOLVED) { + this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected); + } + else { + scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected); + } + return chainPromise; + }; + ZoneAwarePromise.prototype.catch = function (onRejected) { + return this.then(null, onRejected); + }; + return ZoneAwarePromise; + }()); + // Protect against aggressive optimizers dropping seemingly unused properties. + // E.g. Closure Compiler in advanced mode. + ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve; + ZoneAwarePromise['reject'] = ZoneAwarePromise.reject; + ZoneAwarePromise['race'] = ZoneAwarePromise.race; + ZoneAwarePromise['all'] = ZoneAwarePromise.all; + var NativePromise = global[__symbol__('Promise')] = global['Promise']; + global['Promise'] = ZoneAwarePromise; + function patchThen(NativePromise) { + var NativePromiseProtototype = NativePromise.prototype; + var NativePromiseThen = NativePromiseProtototype[__symbol__('then')] = + NativePromiseProtototype.then; + NativePromiseProtototype.then = function (onResolve, onReject) { + var nativePromise = this; + return new ZoneAwarePromise(function (resolve, reject) { + NativePromiseThen.call(nativePromise, resolve, reject); + }) + .then(onResolve, onReject); + }; + } + if (NativePromise) { + patchThen(NativePromise); + if (typeof global['fetch'] !== 'undefined') { + var fetchPromise = void 0; + try { + // In MS Edge this throws + fetchPromise = global['fetch'](); + } + catch (e) { + // In Chrome this throws instead. + fetchPromise = global['fetch']('about:blank'); + } + // ignore output to prevent error; + fetchPromise.then(function () { return null; }, function () { return null; }); + if (fetchPromise.constructor != NativePromise && + fetchPromise.constructor != ZoneAwarePromise) { + patchThen(fetchPromise.constructor); + } + } + } + // This is not part of public API, but it is usefull for tests, so we expose it. + Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors; + /* + * This code patches Error so that: + * - It ignores un-needed stack frames. + * - It Shows the associated Zone for reach frame. + */ + var FrameType; + (function (FrameType) { + /// Skip this frame when printing out stack + FrameType[FrameType["blackList"] = 0] = "blackList"; + /// This frame marks zone transition + FrameType[FrameType["transition"] = 1] = "transition"; + })(FrameType || (FrameType = {})); + var NativeError = global[__symbol__('Error')] = global.Error; + // Store the frames which should be removed from the stack frames + var blackListedStackFrames = {}; + // We must find the frame where Error was created, otherwise we assume we don't understand stack + var zoneAwareFrame; + global.Error = ZoneAwareError; + // How should the stack frames be parsed. + var frameParserStrategy = null; + var stackRewrite = 'stackRewrite'; + // fix #595, create property descriptor + // for error properties + var createProperty = function (props, key) { + // if property is already defined, skip it. + if (props[key]) { + return; + } + // define a local property + // in case error property is not settable + var name = __symbol__(key); + props[key] = { + configurable: true, + enumerable: true, + get: function () { + // if local property has no value + // use internal error's property value + if (!this[name]) { + var error_2 = this[__symbol__('error')]; + if (error_2) { + this[name] = error_2[key]; + } + } + return this[name]; + }, + set: function (value) { + // setter will set value to local property value + this[name] = value; + } + }; + }; + // fix #595, create property descriptor + // for error method properties + var createMethodProperty = function (props, key) { + if (props[key]) { + return; + } + props[key] = { + configurable: true, + enumerable: true, + writable: true, + value: function () { + var error = this[__symbol__('error')]; + var errorMethod = (error && error[key]) || this[key]; + if (errorMethod) { + return errorMethod.apply(error, arguments); + } + } + }; + }; + var createErrorProperties = function () { + var props = Object.create(null); + var error = new NativeError(); + var keys = Object.getOwnPropertyNames(error); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + // Avoid bugs when hasOwnProperty is shadowed + if (Object.prototype.hasOwnProperty.call(error, key)) { + createProperty(props, key); + } + } + var proto = NativeError.prototype; + if (proto) { + var pKeys = Object.getOwnPropertyNames(proto); + for (var i = 0; i < pKeys.length; i++) { + var key = pKeys[i]; + // skip constructor + if (key !== 'constructor' && key !== 'toString' && key !== 'toSource') { + createProperty(props, key); + } + } + } + // some other properties are not + // in NativeError + createProperty(props, 'originalStack'); + createProperty(props, 'zoneAwareStack'); + // define toString, toSource as method property + createMethodProperty(props, 'toString'); + createMethodProperty(props, 'toSource'); + return props; + }; + var errorProperties = createErrorProperties(); + // for derived Error class which extends ZoneAwareError + // we should not override the derived class's property + // so we create a new props object only copy the properties + // from errorProperties which not exist in derived Error's prototype + var getErrorPropertiesForPrototype = function (prototype) { + // if the prototype is ZoneAwareError.prototype + // we just return the prebuilt errorProperties. + if (prototype === ZoneAwareError.prototype) { + return errorProperties; + } + var newProps = Object.create(null); + var cKeys = Object.getOwnPropertyNames(errorProperties); + var keys = Object.getOwnPropertyNames(prototype); + cKeys.forEach(function (cKey) { + if (keys.filter(function (key) { + return key === cKey; + }) + .length === 0) { + newProps[cKey] = errorProperties[cKey]; + } + }); + return newProps; + }; + /** + * This is ZoneAwareError which processes the stack frame and cleans up extra frames as well as + * adds zone information to it. + */ + function ZoneAwareError() { + // make sure we have a valid this + // if this is undefined(call Error without new) or this is global + // or this is some other objects, we should force to create a + // valid ZoneAwareError by call Object.create() + if (!(this instanceof ZoneAwareError)) { + return ZoneAwareError.apply(Object.create(ZoneAwareError.prototype), arguments); + } + // Create an Error. + var error = NativeError.apply(this, arguments); + this[__symbol__('error')] = error; + // Save original stack trace + error.originalStack = error.stack; + // Process the stack trace and rewrite the frames. + if (ZoneAwareError[stackRewrite] && error.originalStack) { + var frames_1 = error.originalStack.split('\n'); + var zoneFrame = _currentZoneFrame; + var i = 0; + // Find the first frame + while (frames_1[i] !== zoneAwareFrame && i < frames_1.length) { + i++; + } + for (; i < frames_1.length && zoneFrame; i++) { + var frame = frames_1[i]; + if (frame.trim()) { + var frameType = blackListedStackFrames.hasOwnProperty(frame) && blackListedStackFrames[frame]; + if (frameType === FrameType.blackList) { + frames_1.splice(i, 1); + i--; + } + else if (frameType === FrameType.transition) { + if (zoneFrame.parent) { + // This is the special frame where zone changed. Print and process it accordingly + frames_1[i] += " [" + zoneFrame.parent.zone.name + " => " + zoneFrame.zone.name + "]"; + zoneFrame = zoneFrame.parent; + } + else { + zoneFrame = null; + } + } + else { + frames_1[i] += " [" + zoneFrame.zone.name + "]"; + } + } + } + error.stack = error.zoneAwareStack = frames_1.join('\n'); + } + // use defineProperties here instead of copy property value + // because of issue #595 which will break angular2. + Object.defineProperties(this, getErrorPropertiesForPrototype(Object.getPrototypeOf(this))); + return this; + } + // Copy the prototype so that instanceof operator works as expected + ZoneAwareError.prototype = NativeError.prototype; + ZoneAwareError[Zone.__symbol__('blacklistedStackFrames')] = blackListedStackFrames; + ZoneAwareError[stackRewrite] = false; + if (NativeError.hasOwnProperty('stackTraceLimit')) { + // Extend default stack limit as we will be removing few frames. + NativeError.stackTraceLimit = Math.max(NativeError.stackTraceLimit, 15); + // make sure that ZoneAwareError has the same property which forwards to NativeError. + Object.defineProperty(ZoneAwareError, 'stackTraceLimit', { + get: function () { + return NativeError.stackTraceLimit; + }, + set: function (value) { + return NativeError.stackTraceLimit = value; + } + }); + } + if (NativeError.hasOwnProperty('captureStackTrace')) { + Object.defineProperty(ZoneAwareError, 'captureStackTrace', { + // add named function here because we need to remove this + // stack frame when prepareStackTrace below + value: function zoneCaptureStackTrace(targetObject, constructorOpt) { + NativeError.captureStackTrace(targetObject, constructorOpt); + } + }); + } + Object.defineProperty(ZoneAwareError, 'prepareStackTrace', { + get: function () { + return NativeError.prepareStackTrace; + }, + set: function (value) { + if (!value || typeof value !== 'function') { + return NativeError.prepareStackTrace = value; + } + return NativeError.prepareStackTrace = function (error, structuredStackTrace) { + // remove additional stack information from ZoneAwareError.captureStackTrace + if (structuredStackTrace) { + for (var i = 0; i < structuredStackTrace.length; i++) { + var st = structuredStackTrace[i]; + // remove the first function which name is zoneCaptureStackTrace + if (st.getFunctionName() === 'zoneCaptureStackTrace') { + structuredStackTrace.splice(i, 1); + break; + } + } + } + return value.apply(this, [error, structuredStackTrace]); + }; + } + }); + // Now we need to populet the `blacklistedStackFrames` as well as find the + // run/runGuraded/runTask frames. This is done by creating a detect zone and then threading + // the execution through all of the above methods so that we can look at the stack trace and + // find the frames of interest. + var detectZone = Zone.current.fork({ + name: 'detect', + onInvoke: function (parentZoneDelegate, currentZone, targetZone, delegate, applyThis, applyArgs, source) { + // Here only so that it will show up in the stack frame so that it can be black listed. + return parentZoneDelegate.invoke(targetZone, delegate, applyThis, applyArgs, source); + }, + onHandleError: function (parentZD, current, target, error) { + if (error.originalStack && Error === ZoneAwareError) { + var frames_2 = error.originalStack.split(/\n/); + var runFrame = false, runGuardedFrame = false, runTaskFrame = false; + while (frames_2.length) { + var frame = frames_2.shift(); + // On safari it is possible to have stack frame with no line number. + // This check makes sure that we don't filter frames on name only (must have + // linenumber) + if (/:\d+:\d+/.test(frame)) { + // Get rid of the path so that we don't accidintely find function name in path. + // In chrome the seperator is `(` and `@` in FF and safari + // Chrome: at Zone.run (zone.js:100) + // Chrome: at Zone.run (http://localhost:9876/base/build/lib/zone.js:100:24) + // FireFox: Zone.prototype.run@http://localhost:9876/base/build/lib/zone.js:101:24 + // Safari: run@http://localhost:9876/base/build/lib/zone.js:101:24 + var fnName = frame.split('(')[0].split('@')[0]; + var frameType = FrameType.transition; + if (fnName.indexOf('ZoneAwareError') !== -1) { + zoneAwareFrame = frame; + } + if (fnName.indexOf('runGuarded') !== -1) { + runGuardedFrame = true; + } + else if (fnName.indexOf('runTask') !== -1) { + runTaskFrame = true; + } + else if (fnName.indexOf('run') !== -1) { + runFrame = true; + } + else { + frameType = FrameType.blackList; + } + blackListedStackFrames[frame] = frameType; + // Once we find all of the frames we can stop looking. + if (runFrame && runGuardedFrame && runTaskFrame) { + ZoneAwareError[stackRewrite] = true; + break; + } + } + } + } + return false; + } + }); + // carefully constructor a stack frame which contains all of the frames of interest which + // need to be detected and blacklisted. + var detectRunFn = function () { + detectZone.run(function () { + detectZone.runGuarded(function () { + throw new Error('blacklistStackFrames'); + }); + }); + }; + // Cause the error to extract the stack frames. + detectZone.runTask(detectZone.scheduleMacroTask('detect', detectRunFn, null, function () { return null; }, null)); + return global['Zone'] = Zone; + })(typeof window === 'object' && window || typeof self === 'object' && self || global); + + /** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + /** + * Suppress closure compiler errors about unknown 'Zone' variable + * @fileoverview + * @suppress {undefinedVars} + */ + var zoneSymbol = function (n) { return "__zone_symbol__" + n; }; + var _global$1 = typeof window === 'object' && window || typeof self === 'object' && self || global; + function bindArguments(args, source) { + for (var i = args.length - 1; i >= 0; i--) { + if (typeof args[i] === 'function') { + args[i] = Zone.current.wrap(args[i], source + '_' + i); + } + } + return args; + } + function patchPrototype(prototype, fnNames) { + var source = prototype.constructor['name']; + var _loop_1 = function (i) { + var name_1 = fnNames[i]; + var delegate = prototype[name_1]; + if (delegate) { + prototype[name_1] = (function (delegate) { + return function () { + return delegate.apply(this, bindArguments(arguments, source + '.' + name_1)); + }; + })(delegate); + } + }; + for (var i = 0; i < fnNames.length; i++) { + _loop_1(i); + } + } + var isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope); + var isNode = (!('nw' in _global$1) && typeof process !== 'undefined' && + {}.toString.call(process) === '[object process]'); + var isBrowser = !isNode && !isWebWorker && !!(typeof window !== 'undefined' && window['HTMLElement']); + function patchProperty(obj, prop) { + var desc = Object.getOwnPropertyDescriptor(obj, prop) || { enumerable: true, configurable: true }; + var originalDesc = Object.getOwnPropertyDescriptor(obj, 'original' + prop); + if (!originalDesc && desc.get) { + Object.defineProperty(obj, 'original' + prop, { enumerable: false, configurable: true, get: desc.get }); + } + // A property descriptor cannot have getter/setter and be writable + // deleting the writable and value properties avoids this error: + // + // TypeError: property descriptors must not specify a value or be writable when a + // getter or setter has been specified + delete desc.writable; + delete desc.value; + // substr(2) cuz 'onclick' -> 'click', etc + var eventName = prop.substr(2); + var _prop = '_' + prop; + desc.set = function (fn) { + if (this[_prop]) { + this.removeEventListener(eventName, this[_prop]); + } + if (typeof fn === 'function') { + var wrapFn = function (event) { + var result; + result = fn.apply(this, arguments); + if (result != undefined && !result) + event.preventDefault(); + }; + this[_prop] = wrapFn; + this.addEventListener(eventName, wrapFn, false); + } + else { + this[_prop] = null; + } + }; + // The getter would return undefined for unassigned properties but the default value of an + // unassigned property is null + desc.get = function () { + var r = this[_prop] || null; + // result will be null when use inline event attribute, + // such as + // because the onclick function is internal raw uncompiled handler + // the onclick will be evaluated when first time event was triggered or + // the property is accessed, https://github.com/angular/zone.js/issues/525 + // so we should use original native get to retrieve the handler + if (r === null) { + if (originalDesc && originalDesc.get) { + r = originalDesc.get.apply(this, arguments); + if (r) { + desc.set.apply(this, [r]); + if (typeof this['removeAttribute'] === 'function') { + this.removeAttribute(prop); + } + } + } + } + return this[_prop] || null; + }; + Object.defineProperty(obj, prop, desc); + } + + function patchOnProperties(obj, properties) { + var onProperties = []; + for (var prop in obj) { + if (prop.substr(0, 2) == 'on') { + onProperties.push(prop); + } + } + for (var j = 0; j < onProperties.length; j++) { + patchProperty(obj, onProperties[j]); + } + if (properties) { + for (var i = 0; i < properties.length; i++) { + patchProperty(obj, 'on' + properties[i]); + } + } + } + + var EVENT_TASKS = zoneSymbol('eventTasks'); + // For EventTarget + var ADD_EVENT_LISTENER = 'addEventListener'; + var REMOVE_EVENT_LISTENER = 'removeEventListener'; + function findExistingRegisteredTask(target, handler, name, capture, remove) { + var eventTasks = target[EVENT_TASKS]; + if (eventTasks) { + for (var i = 0; i < eventTasks.length; i++) { + var eventTask = eventTasks[i]; + var data = eventTask.data; + var listener = data.handler; + if ((data.handler === handler || listener.listener === handler) && + data.useCapturing === capture && data.eventName === name) { + if (remove) { + eventTasks.splice(i, 1); + } + return eventTask; + } + } + } + return null; + } + function findAllExistingRegisteredTasks(target, name, capture, remove) { + var eventTasks = target[EVENT_TASKS]; + if (eventTasks) { + var result = []; + for (var i = eventTasks.length - 1; i >= 0; i--) { + var eventTask = eventTasks[i]; + var data = eventTask.data; + if (data.eventName === name && data.useCapturing === capture) { + result.push(eventTask); + if (remove) { + eventTasks.splice(i, 1); + } + } + } + return result; + } + return null; + } + function attachRegisteredEvent(target, eventTask, isPrepend) { + var eventTasks = target[EVENT_TASKS]; + if (!eventTasks) { + eventTasks = target[EVENT_TASKS] = []; + } + if (isPrepend) { + eventTasks.unshift(eventTask); + } + else { + eventTasks.push(eventTask); + } + } + var defaultListenerMetaCreator = function (self, args) { + return { + useCapturing: args[2], + eventName: args[0], + handler: args[1], + target: self || _global$1, + name: args[0], + invokeAddFunc: function (addFnSymbol, delegate) { + if (delegate && delegate.invoke) { + return this.target[addFnSymbol](this.eventName, delegate.invoke, this.useCapturing); + } + else { + return this.target[addFnSymbol](this.eventName, delegate, this.useCapturing); + } + }, + invokeRemoveFunc: function (removeFnSymbol, delegate) { + if (delegate && delegate.invoke) { + return this.target[removeFnSymbol](this.eventName, delegate.invoke, this.useCapturing); + } + else { + return this.target[removeFnSymbol](this.eventName, delegate, this.useCapturing); + } + } + }; + }; + function makeZoneAwareAddListener(addFnName, removeFnName, useCapturingParam, allowDuplicates, isPrepend, metaCreator) { + if (useCapturingParam === void 0) { useCapturingParam = true; } + if (allowDuplicates === void 0) { allowDuplicates = false; } + if (isPrepend === void 0) { isPrepend = false; } + if (metaCreator === void 0) { metaCreator = defaultListenerMetaCreator; } + var addFnSymbol = zoneSymbol(addFnName); + var removeFnSymbol = zoneSymbol(removeFnName); + var defaultUseCapturing = useCapturingParam ? false : undefined; + function scheduleEventListener(eventTask) { + var meta = eventTask.data; + attachRegisteredEvent(meta.target, eventTask, isPrepend); + return meta.invokeAddFunc(addFnSymbol, eventTask); + } + function cancelEventListener(eventTask) { + var meta = eventTask.data; + findExistingRegisteredTask(meta.target, eventTask.invoke, meta.eventName, meta.useCapturing, true); + return meta.invokeRemoveFunc(removeFnSymbol, eventTask); + } + return function zoneAwareAddListener(self, args) { + var data = metaCreator(self, args); + data.useCapturing = data.useCapturing || defaultUseCapturing; + // - Inside a Web Worker, `this` is undefined, the context is `global` + // - When `addEventListener` is called on the global context in strict mode, `this` is undefined + // see https://github.com/angular/zone.js/issues/190 + var delegate = null; + if (typeof data.handler == 'function') { + delegate = data.handler; + } + else if (data.handler && data.handler.handleEvent) { + delegate = function (event) { return data.handler.handleEvent(event); }; + } + var validZoneHandler = false; + try { + // In cross site contexts (such as WebDriver frameworks like Selenium), + // accessing the handler object here will cause an exception to be thrown which + // will fail tests prematurely. + validZoneHandler = data.handler && data.handler.toString() === '[object FunctionWrapper]'; + } + catch (e) { + // Returning nothing here is fine, because objects in a cross-site context are unusable + return; + } + // Ignore special listeners of IE11 & Edge dev tools, see + // https://github.com/angular/zone.js/issues/150 + if (!delegate || validZoneHandler) { + return data.invokeAddFunc(addFnSymbol, data.handler); + } + if (!allowDuplicates) { + var eventTask = findExistingRegisteredTask(data.target, data.handler, data.eventName, data.useCapturing, false); + if (eventTask) { + // we already registered, so this will have noop. + return data.invokeAddFunc(addFnSymbol, eventTask); + } + } + var zone = Zone.current; + var source = data.target.constructor['name'] + '.' + addFnName + ':' + data.eventName; + zone.scheduleEventTask(source, delegate, data, scheduleEventListener, cancelEventListener); + }; + } + function makeZoneAwareRemoveListener(fnName, useCapturingParam, metaCreator) { + if (useCapturingParam === void 0) { useCapturingParam = true; } + if (metaCreator === void 0) { metaCreator = defaultListenerMetaCreator; } + var symbol = zoneSymbol(fnName); + var defaultUseCapturing = useCapturingParam ? false : undefined; + return function zoneAwareRemoveListener(self, args) { + var data = metaCreator(self, args); + data.useCapturing = data.useCapturing || defaultUseCapturing; + // - Inside a Web Worker, `this` is undefined, the context is `global` + // - When `addEventListener` is called on the global context in strict mode, `this` is undefined + // see https://github.com/angular/zone.js/issues/190 + var eventTask = findExistingRegisteredTask(data.target, data.handler, data.eventName, data.useCapturing, true); + if (eventTask) { + eventTask.zone.cancelTask(eventTask); + } + else { + data.invokeRemoveFunc(symbol, data.handler); + } + }; + } + + + var zoneAwareAddEventListener = makeZoneAwareAddListener(ADD_EVENT_LISTENER, REMOVE_EVENT_LISTENER); + var zoneAwareRemoveEventListener = makeZoneAwareRemoveListener(REMOVE_EVENT_LISTENER); + function patchEventTargetMethods(obj, addFnName, removeFnName, metaCreator) { + if (addFnName === void 0) { addFnName = ADD_EVENT_LISTENER; } + if (removeFnName === void 0) { removeFnName = REMOVE_EVENT_LISTENER; } + if (metaCreator === void 0) { metaCreator = defaultListenerMetaCreator; } + if (obj && obj[addFnName]) { + patchMethod(obj, addFnName, function () { return makeZoneAwareAddListener(addFnName, removeFnName, true, false, false, metaCreator); }); + patchMethod(obj, removeFnName, function () { return makeZoneAwareRemoveListener(removeFnName, true, metaCreator); }); + return true; + } + else { + return false; + } + } + var originalInstanceKey = zoneSymbol('originalInstance'); + // wrap some native API on `window` + function patchClass(className) { + var OriginalClass = _global$1[className]; + if (!OriginalClass) + return; + _global$1[className] = function () { + var a = bindArguments(arguments, className); + switch (a.length) { + case 0: + this[originalInstanceKey] = new OriginalClass(); + break; + case 1: + this[originalInstanceKey] = new OriginalClass(a[0]); + break; + case 2: + this[originalInstanceKey] = new OriginalClass(a[0], a[1]); + break; + case 3: + this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]); + break; + case 4: + this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]); + break; + default: + throw new Error('Arg list too long.'); + } + }; + var instance = new OriginalClass(function () { }); + var prop; + for (prop in instance) { + // https://bugs.webkit.org/show_bug.cgi?id=44721 + if (className === 'XMLHttpRequest' && prop === 'responseBlob') + continue; + (function (prop) { + if (typeof instance[prop] === 'function') { + _global$1[className].prototype[prop] = function () { + return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments); + }; + } + else { + Object.defineProperty(_global$1[className].prototype, prop, { + set: function (fn) { + if (typeof fn === 'function') { + this[originalInstanceKey][prop] = Zone.current.wrap(fn, className + '.' + prop); + } + else { + this[originalInstanceKey][prop] = fn; + } + }, + get: function () { + return this[originalInstanceKey][prop]; + } + }); + } + }(prop)); + } + for (prop in OriginalClass) { + if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) { + _global$1[className][prop] = OriginalClass[prop]; + } + } + } + + function createNamedFn(name, delegate) { + try { + return (Function('f', "return function " + name + "(){return f(this, arguments)}"))(delegate); + } + catch (e) { + // if we fail, we must be CSP, just return delegate. + return function () { + return delegate(this, arguments); + }; + } + } + function patchMethod(target, name, patchFn) { + var proto = target; + while (proto && Object.getOwnPropertyNames(proto).indexOf(name) === -1) { + proto = Object.getPrototypeOf(proto); + } + if (!proto && target[name]) { + // somehow we did not find it, but we can see it. This happens on IE for Window properties. + proto = target; + } + var delegateName = zoneSymbol(name); + var delegate; + if (proto && !(delegate = proto[delegateName])) { + delegate = proto[delegateName] = proto[name]; + proto[name] = createNamedFn(name, patchFn(delegate, delegateName, name)); + } + return delegate; + } + // TODO: support cancel task later if necessary + + /** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + function patchTimer(window, setName, cancelName, nameSuffix) { + var setNative = null; + var clearNative = null; + setName += nameSuffix; + cancelName += nameSuffix; + var tasksByHandleId = {}; + function scheduleTask(task) { + var data = task.data; + data.args[0] = function () { + task.invoke.apply(this, arguments); + delete tasksByHandleId[data.handleId]; + }; + data.handleId = setNative.apply(window, data.args); + tasksByHandleId[data.handleId] = task; + return task; + } + function clearTask(task) { + delete tasksByHandleId[task.data.handleId]; + return clearNative(task.data.handleId); + } + setNative = + patchMethod(window, setName, function (delegate) { return function (self, args) { + if (typeof args[0] === 'function') { + var zone = Zone.current; + var options = { + handleId: null, + isPeriodic: nameSuffix === 'Interval', + delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 : null, + args: args + }; + var task = zone.scheduleMacroTask(setName, args[0], options, scheduleTask, clearTask); + if (!task) { + return task; + } + // Node.js must additionally support the ref and unref functions. + var handle = task.data.handleId; + if (handle.ref && handle.unref) { + task.ref = handle.ref.bind(handle); + task.unref = handle.unref.bind(handle); + } + return task; + } + else { + // cause an error by calling it directly. + return delegate.apply(window, args); + } + }; }); + clearNative = + patchMethod(window, cancelName, function (delegate) { return function (self, args) { + var task = typeof args[0] === 'number' ? tasksByHandleId[args[0]] : args[0]; + if (task && typeof task.type === 'string') { + if (task.cancelFn && task.data.isPeriodic || task.runCount === 0) { + // Do not cancel already canceled functions + task.zone.cancelTask(task); + } + } + else { + // cause an error by calling it directly. + delegate.apply(window, args); + } + }; }); + } + + /** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + /* + * This is necessary for Chrome and Chrome mobile, to enable + * things like redefining `createdCallback` on an element. + */ + var _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty; + var _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] = + Object.getOwnPropertyDescriptor; + var _create = Object.create; + var unconfigurablesKey = zoneSymbol('unconfigurables'); + function propertyPatch() { + Object.defineProperty = function (obj, prop, desc) { + if (isUnconfigurable(obj, prop)) { + throw new TypeError('Cannot assign to read only property \'' + prop + '\' of ' + obj); + } + var originalConfigurableFlag = desc.configurable; + if (prop !== 'prototype') { + desc = rewriteDescriptor(obj, prop, desc); + } + return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag); + }; + Object.defineProperties = function (obj, props) { + Object.keys(props).forEach(function (prop) { + Object.defineProperty(obj, prop, props[prop]); + }); + return obj; + }; + Object.create = function (obj, proto) { + if (typeof proto === 'object' && !Object.isFrozen(proto)) { + Object.keys(proto).forEach(function (prop) { + proto[prop] = rewriteDescriptor(obj, prop, proto[prop]); + }); + } + return _create(obj, proto); + }; + Object.getOwnPropertyDescriptor = function (obj, prop) { + var desc = _getOwnPropertyDescriptor(obj, prop); + if (isUnconfigurable(obj, prop)) { + desc.configurable = false; + } + return desc; + }; + } + + function _redefineProperty(obj, prop, desc) { + var originalConfigurableFlag = desc.configurable; + desc = rewriteDescriptor(obj, prop, desc); + return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag); + } + + function isUnconfigurable(obj, prop) { + return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop]; + } + function rewriteDescriptor(obj, prop, desc) { + desc.configurable = true; + if (!desc.configurable) { + if (!obj[unconfigurablesKey]) { + _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} }); + } + obj[unconfigurablesKey][prop] = true; + } + return desc; + } + function _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) { + try { + return _defineProperty(obj, prop, desc); + } + catch (e) { + if (desc.configurable) { + // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's + // retry with the original flag value + if (typeof originalConfigurableFlag == 'undefined') { + delete desc.configurable; + } + else { + desc.configurable = originalConfigurableFlag; + } + try { + return _defineProperty(obj, prop, desc); + } + catch (e) { + var descJson = null; + try { + descJson = JSON.stringify(desc); + } + catch (e) { + descJson = descJson.toString(); + } + console.log("Attempting to configure '" + prop + "' with descriptor '" + descJson + "' on object '" + obj + "' and got error, giving up: " + e); + } + } + else { + throw e; + } + } + } + + /** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video'; + var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket' + .split(','); + var EVENT_TARGET = 'EventTarget'; + function eventTargetPatch(_global) { + var apis = []; + var isWtf = _global['wtf']; + if (isWtf) { + // Workaround for: https://github.com/google/tracing-framework/issues/555 + apis = WTF_ISSUE_555.split(',').map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET); + } + else if (_global[EVENT_TARGET]) { + apis.push(EVENT_TARGET); + } + else { + // Note: EventTarget is not available in all browsers, + // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget + apis = NO_EVENT_TARGET; + } + for (var i = 0; i < apis.length; i++) { + var type = _global[apis[i]]; + patchEventTargetMethods(type && type.prototype); + } + } + + /** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + // we have to patch the instance since the proto is non-configurable + function apply(_global) { + var WS = _global.WebSocket; + // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener + // On older Chrome, no need since EventTarget was already patched + if (!_global.EventTarget) { + patchEventTargetMethods(WS.prototype); + } + _global.WebSocket = function (a, b) { + var socket = arguments.length > 1 ? new WS(a, b) : new WS(a); + var proxySocket; + // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance + var onmessageDesc = Object.getOwnPropertyDescriptor(socket, 'onmessage'); + if (onmessageDesc && onmessageDesc.configurable === false) { + proxySocket = Object.create(socket); + ['addEventListener', 'removeEventListener', 'send', 'close'].forEach(function (propName) { + proxySocket[propName] = function () { + return socket[propName].apply(socket, arguments); + }; + }); + } + else { + // we can patch the real socket + proxySocket = socket; + } + patchOnProperties(proxySocket, ['close', 'error', 'message', 'open']); + return proxySocket; + }; + for (var prop in WS) { + _global.WebSocket[prop] = WS[prop]; + } + } + + /** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + var eventNames = 'copy cut paste abort blur focus canplay canplaythrough change click contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop durationchange emptied ended input invalid keydown keypress keyup load loadeddata loadedmetadata loadstart message mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup pause play playing progress ratechange reset scroll seeked seeking select show stalled submit suspend timeupdate volumechange waiting mozfullscreenchange mozfullscreenerror mozpointerlockchange mozpointerlockerror error webglcontextrestored webglcontextlost webglcontextcreationerror' + .split(' '); + function propertyDescriptorPatch(_global) { + if (isNode) { + return; + } + var supportsWebSocket = typeof WebSocket !== 'undefined'; + if (canPatchViaPropertyDescriptor()) { + // for browsers that we can patch the descriptor: Chrome & Firefox + if (isBrowser) { + patchOnProperties(HTMLElement.prototype, eventNames); + } + patchOnProperties(XMLHttpRequest.prototype, null); + if (typeof IDBIndex !== 'undefined') { + patchOnProperties(IDBIndex.prototype, null); + patchOnProperties(IDBRequest.prototype, null); + patchOnProperties(IDBOpenDBRequest.prototype, null); + patchOnProperties(IDBDatabase.prototype, null); + patchOnProperties(IDBTransaction.prototype, null); + patchOnProperties(IDBCursor.prototype, null); + } + if (supportsWebSocket) { + patchOnProperties(WebSocket.prototype, null); + } + } + else { + // Safari, Android browsers (Jelly Bean) + patchViaCapturingAllTheEvents(); + patchClass('XMLHttpRequest'); + if (supportsWebSocket) { + apply(_global); + } + } + } + function canPatchViaPropertyDescriptor() { + if (isBrowser && !Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') && + typeof Element !== 'undefined') { + // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364 + // IDL interface attributes are not configurable + var desc = Object.getOwnPropertyDescriptor(Element.prototype, 'onclick'); + if (desc && !desc.configurable) + return false; + } + var xhrDesc = Object.getOwnPropertyDescriptor(XMLHttpRequest.prototype, 'onreadystatechange'); + // add enumerable and configurable here because in opera + // by default XMLHttpRequest.prototype.onreadystatechange is undefined + // without adding enumerable and configurable will cause onreadystatechange + // non-configurable + Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', { + enumerable: true, + configurable: true, + get: function () { + return true; + } + }); + var req = new XMLHttpRequest(); + var result = !!req.onreadystatechange; + // restore original desc + Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', xhrDesc || {}); + return result; + } + + var unboundKey = zoneSymbol('unbound'); + // Whenever any eventListener fires, we check the eventListener target and all parents + // for `onwhatever` properties and replace them with zone-bound functions + // - Chrome (for now) + function patchViaCapturingAllTheEvents() { + var _loop_1 = function (i) { + var property = eventNames[i]; + var onproperty = 'on' + property; + self.addEventListener(property, function (event) { + var elt = event.target, bound, source; + if (elt) { + source = elt.constructor['name'] + '.' + onproperty; + } + else { + source = 'unknown.' + onproperty; + } + while (elt) { + if (elt[onproperty] && !elt[onproperty][unboundKey]) { + bound = Zone.current.wrap(elt[onproperty], source); + bound[unboundKey] = elt[onproperty]; + elt[onproperty] = bound; + } + elt = elt.parentElement; + } + }, true); + }; + for (var i = 0; i < eventNames.length; i++) { + _loop_1(i); + } + + } + + /** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + function registerElementPatch(_global) { + if (!isBrowser || !('registerElement' in _global.document)) { + return; + } + var _registerElement = document.registerElement; + var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback']; + document.registerElement = function (name, opts) { + if (opts && opts.prototype) { + callbacks.forEach(function (callback) { + var source = 'Document.registerElement::' + callback; + if (opts.prototype.hasOwnProperty(callback)) { + var descriptor = Object.getOwnPropertyDescriptor(opts.prototype, callback); + if (descriptor && descriptor.value) { + descriptor.value = Zone.current.wrap(descriptor.value, source); + _redefineProperty(opts.prototype, callback, descriptor); + } + else { + opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source); + } + } + else if (opts.prototype[callback]) { + opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source); + } + }); + } + return _registerElement.apply(document, [name, opts]); + }; + } + + /** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + var set = 'set'; + var clear = 'clear'; + var blockingMethods = ['alert', 'prompt', 'confirm']; + var _global = typeof window === 'object' && window || typeof self === 'object' && self || global; + patchTimer(_global, set, clear, 'Timeout'); + patchTimer(_global, set, clear, 'Interval'); + patchTimer(_global, set, clear, 'Immediate'); + patchTimer(_global, 'request', 'cancel', 'AnimationFrame'); + patchTimer(_global, 'mozRequest', 'mozCancel', 'AnimationFrame'); + patchTimer(_global, 'webkitRequest', 'webkitCancel', 'AnimationFrame'); + for (var i = 0; i < blockingMethods.length; i++) { + var name_1 = blockingMethods[i]; + patchMethod(_global, name_1, function (delegate, symbol, name) { + return function (s, args) { + return Zone.current.run(delegate, _global, args, name); + }; + }); + } + eventTargetPatch(_global); + propertyDescriptorPatch(_global); + patchClass('MutationObserver'); + patchClass('WebKitMutationObserver'); + patchClass('FileReader'); + propertyPatch(); + registerElementPatch(_global); + // Treat XMLHTTPRequest as a macrotask. + patchXHR(_global); + var XHR_TASK = zoneSymbol('xhrTask'); + var XHR_SYNC = zoneSymbol('xhrSync'); + var XHR_LISTENER = zoneSymbol('xhrListener'); + var XHR_SCHEDULED = zoneSymbol('xhrScheduled'); + function patchXHR(window) { + function findPendingTask(target) { + var pendingTask = target[XHR_TASK]; + return pendingTask; + } + function scheduleTask(task) { + self[XHR_SCHEDULED] = false; + var data = task.data; + // remove existing event listener + var listener = data.target[XHR_LISTENER]; + if (listener) { + data.target.removeEventListener('readystatechange', listener); + } + var newListener = data.target[XHR_LISTENER] = function () { + if (data.target.readyState === data.target.DONE) { + if (!data.aborted && self[XHR_SCHEDULED]) { + task.invoke(); + } + } + }; + data.target.addEventListener('readystatechange', newListener); + var storedTask = data.target[XHR_TASK]; + if (!storedTask) { + data.target[XHR_TASK] = task; + } + sendNative.apply(data.target, data.args); + self[XHR_SCHEDULED] = true; + return task; + } + function placeholderCallback() { } + function clearTask(task) { + var data = task.data; + // Note - ideally, we would call data.target.removeEventListener here, but it's too late + // to prevent it from firing. So instead, we store info for the event listener. + data.aborted = true; + return abortNative.apply(data.target, data.args); + } + var openNative = patchMethod(window.XMLHttpRequest.prototype, 'open', function () { return function (self, args) { + self[XHR_SYNC] = args[2] == false; + return openNative.apply(self, args); + }; }); + var sendNative = patchMethod(window.XMLHttpRequest.prototype, 'send', function () { return function (self, args) { + var zone = Zone.current; + if (self[XHR_SYNC]) { + // if the XHR is sync there is no task to schedule, just execute the code. + return sendNative.apply(self, args); + } + else { + var options = { target: self, isPeriodic: false, delay: null, args: args, aborted: false }; + return zone.scheduleMacroTask('XMLHttpRequest.send', placeholderCallback, options, scheduleTask, clearTask); + } + }; }); + var abortNative = patchMethod(window.XMLHttpRequest.prototype, 'abort', function (delegate) { return function (self, args) { + var task = findPendingTask(self); + if (task && typeof task.type == 'string') { + // If the XHR has already completed, do nothing. + // If the XHR has already been aborted, do nothing. + // Fix #569, call abort multiple times before done will cause + // macroTask task count be negative number + if (task.cancelFn == null || (task.data && task.data.aborted)) { + return; + } + task.zone.cancelTask(task); + } + // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no task + // to cancel. Do nothing. + }; }); + } + /// GEO_LOCATION + if (_global['navigator'] && _global['navigator'].geolocation) { + patchPrototype(_global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']); + } + + /** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + + }))); + + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(1))) + +/***/ } + +/******/ }); +//# sourceMappingURL=polyfills.uhk.js.map \ No newline at end of file diff --git a/polyfills.uhk.js.map b/polyfills.uhk.js.map new file mode 100644 index 00000000..2c943acc --- /dev/null +++ b/polyfills.uhk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap e06a209a1fc285973928","webpack:///./shared/src/polyfills.ts","webpack:///./~/process/browser.js","webpack:///./~/core-js/es7/object.js","webpack:///./~/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./~/core-js/modules/_export.js","webpack:///./~/core-js/modules/_global.js","webpack:///./~/core-js/modules/_core.js","webpack:///./~/core-js/modules/_hide.js","webpack:///./~/core-js/modules/_object-dp.js","webpack:///./~/core-js/modules/_an-object.js","webpack:///./~/core-js/modules/_is-object.js","webpack:///./~/core-js/modules/_ie8-dom-define.js","webpack:///./~/core-js/modules/_descriptors.js","webpack:///./~/core-js/modules/_fails.js","webpack:///./~/core-js/modules/_dom-create.js","webpack:///./~/core-js/modules/_to-primitive.js","webpack:///./~/core-js/modules/_property-desc.js","webpack:///./~/core-js/modules/_redefine.js","webpack:///./~/core-js/modules/_has.js","webpack:///./~/core-js/modules/_uid.js","webpack:///./~/core-js/modules/_ctx.js","webpack:///./~/core-js/modules/_a-function.js","webpack:///./~/core-js/modules/_own-keys.js","webpack:///./~/core-js/modules/_object-gopn.js","webpack:///./~/core-js/modules/_object-keys-internal.js","webpack:///./~/core-js/modules/_to-iobject.js","webpack:///./~/core-js/modules/_iobject.js","webpack:///./~/core-js/modules/_cof.js","webpack:///./~/core-js/modules/_defined.js","webpack:///./~/core-js/modules/_array-includes.js","webpack:///./~/core-js/modules/_to-length.js","webpack:///./~/core-js/modules/_to-integer.js","webpack:///./~/core-js/modules/_to-index.js","webpack:///./~/core-js/modules/_shared-key.js","webpack:///./~/core-js/modules/_shared.js","webpack:///./~/core-js/modules/_enum-bug-keys.js","webpack:///./~/core-js/modules/_object-gops.js","webpack:///./~/core-js/modules/_object-gopd.js","webpack:///./~/core-js/modules/_object-pie.js","webpack:///./~/core-js/modules/_create-property.js","webpack:///./~/core-js/modules/es7.object.values.js","webpack:///./~/core-js/modules/_object-to-array.js","webpack:///./~/core-js/modules/_object-keys.js","webpack:///./~/core-js/modules/es7.object.entries.js","webpack:///./~/core-js/modules/es7.object.define-getter.js","webpack:///./~/core-js/modules/_to-object.js","webpack:///./~/core-js/modules/_object-forced-pam.js","webpack:///./~/core-js/modules/_library.js","webpack:///./~/core-js/modules/es7.object.define-setter.js","webpack:///./~/core-js/modules/es7.object.lookup-getter.js","webpack:///./~/core-js/modules/_object-gpo.js","webpack:///./~/core-js/modules/es7.object.lookup-setter.js","webpack:///./~/core-js/es7/reflect.js","webpack:///./~/core-js/modules/es7.reflect.define-metadata.js","webpack:///./~/core-js/modules/_metadata.js","webpack:///./~/core-js/modules/es6.map.js","webpack:///./~/core-js/modules/_collection-strong.js","webpack:///./~/core-js/modules/_object-create.js","webpack:///./~/core-js/modules/_object-dps.js","webpack:///./~/core-js/modules/_html.js","webpack:///./~/core-js/modules/_redefine-all.js","webpack:///./~/core-js/modules/_an-instance.js","webpack:///./~/core-js/modules/_for-of.js","webpack:///./~/core-js/modules/_iter-call.js","webpack:///./~/core-js/modules/_is-array-iter.js","webpack:///./~/core-js/modules/_iterators.js","webpack:///./~/core-js/modules/_wks.js","webpack:///./~/core-js/modules/core.get-iterator-method.js","webpack:///./~/core-js/modules/_classof.js","webpack:///./~/core-js/modules/_iter-define.js","webpack:///./~/core-js/modules/_iter-create.js","webpack:///./~/core-js/modules/_set-to-string-tag.js","webpack:///./~/core-js/modules/_iter-step.js","webpack:///./~/core-js/modules/_set-species.js","webpack:///./~/core-js/modules/_meta.js","webpack:///./~/core-js/modules/_collection.js","webpack:///./~/core-js/modules/_iter-detect.js","webpack:///./~/core-js/modules/_inherit-if-required.js","webpack:///./~/core-js/modules/_set-proto.js","webpack:///./~/core-js/modules/es6.weak-map.js","webpack:///./~/core-js/modules/_array-methods.js","webpack:///./~/core-js/modules/_array-species-create.js","webpack:///./~/core-js/modules/_array-species-constructor.js","webpack:///./~/core-js/modules/_is-array.js","webpack:///./~/core-js/modules/_object-assign.js","webpack:///./~/core-js/modules/_collection-weak.js","webpack:///./~/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./~/core-js/modules/es6.set.js","webpack:///./~/core-js/modules/_array-from-iterable.js","webpack:///./~/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./~/core-js/modules/es7.reflect.has-metadata.js","webpack:///./~/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./~/core-js/modules/es7.reflect.metadata.js","webpack:///./~/zone.js/dist/zone.js"],"names":[],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAQ,oBAAoB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wEAAgE,uBAAuB;AACvF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;AC5FA,0BAA4B;AAC5B,0BAA6B;AAC7B,0BAA2B;;;;;;;;ACF3B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA2B;AAC3B;AACA;AACA;AACA,6BAA4B,UAAU;;;;;;;;ACnLtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kD;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;;AClBD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAqF,uBAAuB;AAC5G,oEAAmE;AACnE,iEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd,eAAc;AACd,eAAc;AACd,eAAc;AACd,gBAAe;AACf,gBAAe;AACf,gBAAe;AACf,iBAAgB;AAChB,0B;;;;;;;AC1CA;AACA;AACA;AACA,wCAAuC,gC;;;;;;;ACHvC,8BAA6B;AAC7B,sCAAqC,gC;;;;;;;ACDrC;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,G;;;;;;;ACPA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,UAAU;AACb;AACA;AACA;AACA,G;;;;;;;ACfA;AACA;AACA;AACA;AACA,G;;;;;;;ACJA;AACA;AACA,G;;;;;;;ACFA;AACA,uEAAsE,gBAAgB,UAAU,GAAG;AACnG,EAAC,E;;;;;;;ACFD;AACA;AACA,kCAAiC,QAAQ,gBAAgB,UAAU,GAAG;AACtE,EAAC,E;;;;;;;ACHD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,G;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,EAAC,E;;;;;;;AC/BD,wBAAuB;AACvB;AACA;AACA,G;;;;;;;ACHA;AACA;AACA;AACA;AACA,G;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;;ACnBA;AACA;AACA;AACA,G;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;;ACTA;AACA;AACA;;AAEA;AACA;AACA,G;;;;;;;ACNA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA,G;;;;;;;ACLA;AACA;AACA;AACA;AACA,G;;;;;;;ACJA,kBAAiB;;AAEjB;AACA;AACA,G;;;;;;;ACJA;AACA;AACA;AACA;AACA,G;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,WAAW,eAAe;AAC/B;AACA,MAAK;AACL;AACA,G;;;;;;;ACpBA;AACA;AACA;AACA;AACA,4DAA2D;AAC3D,G;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA,G;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;;ACNA;AACA;AACA;AACA;AACA,G;;;;;;;ACJA;AACA;AACA,oDAAmD;AACnD;AACA,wCAAuC;AACvC,G;;;;;;;ACLA;AACA;AACA;AACA,c;;;;;;;ACHA,0C;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG,UAAU;AACb;AACA,G;;;;;;;ACfA,eAAc,sB;;;;;;;ACAd;AACA;AACA;;AAEA;AACA;AACA;AACA,G;;;;;;;ACPA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,G;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA,G;;;;;;;ACNA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;;ACRD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA0C,6DAA6D;AACvG;AACA,EAAC,E;;;;;;;ACXD;AACA;AACA;AACA;AACA,G;;;;;;;ACJA;AACA;AACA;AACA;AACA,6CAA4C,aAAa;AACzD;AACA,EAAC,E;;;;;;;ACND,wB;;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA0C,6DAA6D;AACvG;AACA,EAAC,E;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC,E;;;;;;;ACjBD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,G;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC,E;;;;;;;ACjBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA,GAAE,E;;;;;;;ACPF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD,gBAAgB,EAAE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;;AClDA;AACA;;AAEA;AACA;AACA,yBAAwB,mEAAmE;AAC3F,EAAC;AACD;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,EAAC,gB;;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAsB,OAAO;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B,2BAA0B;AAC1B,2BAA0B;AAC1B,sBAAqB;AACrB;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,8DAA6D,OAAO;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,0BAAyB;AACzB,sBAAqB;AACrB,2BAA0B;AAC1B,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,G;;;;;;;AC7IA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;;;;;;;ACxCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;;ACZA,gF;;;;;;;ACAA;AACA;AACA;AACA;AACA,G;;;;;;;ACJA;AACA;AACA;AACA,IAAG;AACH,G;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,iBAAiB,EAAE;AACxD;AACA;AACA;AACA;AACA;AACA,iEAAgE,gBAAgB;AAChF;AACA;AACA,IAAG,2CAA2C,gCAAgC;AAC9E;AACA;AACA;AACA;AACA;AACA,yB;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,G;;;;;;;ACXA;AACA;AACA;AACA;;AAEA;AACA;AACA,G;;;;;;;ACPA,qB;;;;;;;ACAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wB;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;;ACPA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;;AAE7C;AACA;AACA;AACA;AACA,IAAG,UAAU;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA4B,aAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA,yCAAwC,oCAAoC;AAC5E,6CAA4C,oCAAoC;AAChF,MAAK,2BAA2B,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAiC,2BAA2B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,G;;;;;;;ACrEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8FAAgF,aAAa,EAAE;;AAE/F;AACA,sDAAqD,0BAA0B;AAC/E;AACA,G;;;;;;;ACZA;AACA;AACA;;AAEA;AACA,mEAAkE,+BAA+B;AACjG,G;;;;;;;ACNA;AACA,WAAU;AACV,G;;;;;;;ACFA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAoB,aAAa;AACjC,IAAG;AACH,G;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAiD;AACjD,EAAC;AACD;AACA,sBAAqB;AACrB;AACA,UAAS;AACT,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA,QAAO,kCAAkC,gCAAgC,aAAa;AACtF,8BAA6B,mCAAmC,aAAa;AAC7E;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,4DAA2D;AAC3D;AACA,iDAAgD,iBAAiB,EAAE;AACnE;AACA,2DAA0D,aAAa,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,2B;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,G;;;;;;;ACpFA;AACA;;AAEA;AACA;AACA,gCAA+B,qBAAqB;AACpD,gCAA+B,SAAS,EAAE;AAC1C,EAAC,UAAU;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,SAAS,mBAAmB;AACvD,gCAA+B,aAAa;AAC5C;AACA,IAAG,UAAU;AACb;AACA,G;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,G;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,QAAO,UAAU,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,GAAG;AACR;AACA,G;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL,IAAG;AACH,E;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,eAAe;AACxB;AACA;AACA;AACA,uCAAsC;AACtC;AACA,+BAA8B;AAC9B,8BAA6B;AAC7B,gCAA+B;AAC/B,oCAAmC;AACnC,UAAS,+BAA+B;AACxC;AACA;AACA;AACA;AACA,G;;;;;;;AC3CA;AACA;;AAEA;AACA;AACA,G;;;;;;;ACLA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,G;;;;;;;ACfA;AACA;AACA;AACA;AACA,G;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,UAAU,EAAE;AAC9C,oBAAmB,sCAAsC;AACzD,EAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC,W;;;;;;;AChCD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAqB;AACrB,2BAA0B;AAC1B;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,G;;;;;;;AClFA;AACA;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,E;;;;;;;ACdF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA,GAAE,E;;;;;;;AChBF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA,GAAE,E;;;;;;;AClBF;AACA;;AAEA;AACA;AACA,yBAAwB,mEAAmE;AAC3F,EAAC;AACD;AACA;AACA;AACA;AACA,EAAC,U;;;;;;;ACXD;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA;AACA,GAAE,E;;;;;;;ACRF;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA,GAAE,E;;;;;;;ACPF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA,GAAE,E;;;;;;;ACfF;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA;AACA,GAAE,E;;;;;;;ACRF;AACA;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,E;;;;;;;ACdF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,qBAAqB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,kBAAkB;AACzD,wCAAuC,kBAAkB;AACzD,qCAAoC,eAAe;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,kBAAkB;AACzD,wCAAuC,kBAAkB;AACzD,qCAAoC,eAAe;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA,iCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yHAAwH,wBAAwB,oCAAoC;AACpL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAiD,gBAAgB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,gDAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA,+CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA,mBAAkB,EAAE;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,aAAa,EAAE,eAAe,aAAa,EAAE;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,8BAA8B;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB,kCAAkC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,iCAAiC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,UAAS;AACT;AACA;AACA,+FAA8F,aAAa,EAAE;AAC7G;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA,gCAA+B,8BAA8B;AAC7D;AACA;AACA,kCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,oBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA,+DAA8D;AAC9D;AACA;AACA,wDAAuD,uDAAuD;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA,wBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,0BAA0B;AACjE,sCAAqC,yBAAyB;AAC9D,gCAA+B,mBAAmB;AAClD,kCAAiC,0CAA0C;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAyC,wCAAwC;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,0BAA0B;AACjE,kCAAiC,0CAA0C;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,gCAA+B,gCAAgC;AAC/D,mCAAkC,sCAAsC;AACxE,kCAAiC,0CAA0C;AAC3E;AACA,kDAAiD,2FAA2F,EAAE;AAC9I,qDAAoD,qEAAqE,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD,EAAE;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA;AACA,kBAAiB;AACjB;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+DAA8D,0BAA0B;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU,EAAE;AACZ;AACA,8DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU,EAAE;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD,0BAA0B,EAAE;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,+BAA+B,EAAE;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,wFAAuF;AACvF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,oBAAmB,uBAAuB;AAC1C;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,4BAA4B;AAC3C;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAuF;AACvF;AACA;AACA,OAAM,EAAE;AACR,wFAAuF;AACvF;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B;AAC3B;AACA;AACA,OAAM,EAAE;AACR,kGAAiG;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM,EAAE;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC","file":"polyfills.uhk.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId])\n \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n \t\twhile(callbacks.length)\n \t\t\tcallbacks.shift().call(null, __webpack_require__);\n \t\tif(moreModules[0]) {\n \t\t\tinstalledModules[0] = 0;\n \t\t\treturn __webpack_require__(0);\n \t\t}\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// \"0\" means \"already loaded\"\n \t// Array means \"loading\", array contains callbacks\n \tvar installedChunks = {\n \t\t1:0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n \t\t// \"0\" is the signal for \"already loaded\"\n \t\tif(installedChunks[chunkId] === 0)\n \t\t\treturn callback.call(null, __webpack_require__);\n\n \t\t// an array means \"currently loading\".\n \t\tif(installedChunks[chunkId] !== undefined) {\n \t\t\tinstalledChunks[chunkId].push(callback);\n \t\t} else {\n \t\t\t// start chunk loading\n \t\t\tinstalledChunks[chunkId] = [callback];\n \t\t\tvar head = document.getElementsByTagName('head')[0];\n \t\t\tvar script = document.createElement('script');\n \t\t\tscript.type = 'text/javascript';\n \t\t\tscript.charset = 'utf-8';\n \t\t\tscript.async = true;\n\n \t\t\tscript.src = __webpack_require__.p + \"\" + chunkId + \".\" + ({\"0\":\"app\",\"2\":\"vendor\"}[chunkId]||chunkId) + \".uhk.js\";\n \t\t\thead.appendChild(script);\n \t\t}\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap e06a209a1fc285973928","import 'core-js/es7/object';\r\nimport 'core-js/es7/reflect';\r\nimport 'zone.js/dist/zone';\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./shared/src/polyfills.ts","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // 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\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // 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.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/process/browser.js\n// module id = 1\n// module chunks = 1","require('../modules/es7.object.get-own-property-descriptors');\nrequire('../modules/es7.object.values');\nrequire('../modules/es7.object.entries');\nrequire('../modules/es7.object.define-getter');\nrequire('../modules/es7.object.define-setter');\nrequire('../modules/es7.object.lookup-getter');\nrequire('../modules/es7.object.lookup-setter');\nmodule.exports = require('../modules/_core').Object;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/es7/object.js\n// module id = 389\n// module chunks = 1","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export')\n , ownKeys = require('./_own-keys')\n , toIObject = require('./_to-iobject')\n , gOPD = require('./_object-gopd')\n , createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){\n var O = toIObject(object)\n , getDesc = gOPD.f\n , keys = ownKeys(O)\n , result = {}\n , i = 0\n , key;\n while(keys.length > i)createProperty(result, key = keys[i++], getDesc(O, key));\n return result;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.get-own-property-descriptors.js\n// module id = 390\n// module chunks = 1","var global = require('./_global')\n , core = require('./_core')\n , hide = require('./_hide')\n , redefine = require('./_redefine')\n , ctx = require('./_ctx')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {})\n , key, own, out, exp;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if(target)redefine(target, key, out, type & $export.U);\n // export\n if(exports[key] != out)hide(exports, key, exp);\n if(IS_PROTO && expProto[key] != out)expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_export.js\n// module id = 391\n// module chunks = 1","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_global.js\n// module id = 392\n// module chunks = 1","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_core.js\n// module id = 393\n// module chunks = 1","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_hide.js\n// module id = 394\n// module chunks = 1","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-dp.js\n// module id = 395\n// module chunks = 1","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_an-object.js\n// module id = 396\n// module chunks = 1","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-object.js\n// module id = 397\n// module chunks = 1","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_ie8-dom-define.js\n// module id = 398\n// module chunks = 1","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_descriptors.js\n// module id = 399\n// module chunks = 1","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_fails.js\n// module id = 400\n// module chunks = 1","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_dom-create.js\n// module id = 401\n// module chunks = 1","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-primitive.js\n// module id = 402\n// module chunks = 1","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_property-desc.js\n// module id = 403\n// module chunks = 1","var global = require('./_global')\n , hide = require('./_hide')\n , has = require('./_has')\n , SRC = require('./_uid')('src')\n , TO_STRING = 'toString'\n , $toString = Function[TO_STRING]\n , TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function(it){\n return $toString.call(it);\n};\n\n(module.exports = function(O, key, val, safe){\n var isFunction = typeof val == 'function';\n if(isFunction)has(val, 'name') || hide(val, 'name', key);\n if(O[key] === val)return;\n if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if(O === global){\n O[key] = val;\n } else {\n if(!safe){\n delete O[key];\n hide(O, key, val);\n } else {\n if(O[key])O[key] = val;\n else hide(O, key, val);\n }\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString(){\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_redefine.js\n// module id = 404\n// module chunks = 1","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_has.js\n// module id = 405\n// module chunks = 1","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_uid.js\n// module id = 406\n// module chunks = 1","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_ctx.js\n// module id = 407\n// module chunks = 1","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_a-function.js\n// module id = 408\n// module chunks = 1","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn')\n , gOPS = require('./_object-gops')\n , anObject = require('./_an-object')\n , Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it){\n var keys = gOPN.f(anObject(it))\n , getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_own-keys.js\n// module id = 409\n// module chunks = 1","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal')\n , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){\n return $keys(O, hiddenKeys);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gopn.js\n// module id = 410\n// module chunks = 1","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-keys-internal.js\n// module id = 411\n// module chunks = 1","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-iobject.js\n// module id = 412\n// module chunks = 1","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iobject.js\n// module id = 413\n// module chunks = 1","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_cof.js\n// module id = 414\n// module chunks = 1","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_defined.js\n// module id = 415\n// module chunks = 1","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-includes.js\n// module id = 416\n// module chunks = 1","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-length.js\n// module id = 417\n// module chunks = 1","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-integer.js\n// module id = 418\n// module chunks = 1","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-index.js\n// module id = 419\n// module chunks = 1","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_shared-key.js\n// module id = 420\n// module chunks = 1","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_shared.js\n// module id = 421\n// module chunks = 1","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_enum-bug-keys.js\n// module id = 422\n// module chunks = 1","exports.f = Object.getOwnPropertySymbols;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gops.js\n// module id = 423\n// module chunks = 1","var pIE = require('./_object-pie')\n , createDesc = require('./_property-desc')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){\n O = toIObject(O);\n P = toPrimitive(P, true);\n if(IE8_DOM_DEFINE)try {\n return gOPD(O, P);\n } catch(e){ /* empty */ }\n if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gopd.js\n// module id = 424\n// module chunks = 1","exports.f = {}.propertyIsEnumerable;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-pie.js\n// module id = 425\n// module chunks = 1","'use strict';\nvar $defineProperty = require('./_object-dp')\n , createDesc = require('./_property-desc');\n\nmodule.exports = function(object, index, value){\n if(index in object)$defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_create-property.js\n// module id = 426\n// module chunks = 1","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it){\n return $values(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.values.js\n// module id = 427\n// module chunks = 1","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-to-array.js\n// module id = 428\n// module chunks = 1","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-keys.js\n// module id = 429\n// module chunks = 1","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it){\n return $entries(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.entries.js\n// module id = 430\n// module chunks = 1","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , aFunction = require('./_a-function')\n , $defineProperty = require('./_object-dp');\n\n// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineGetter__: function __defineGetter__(P, getter){\n $defineProperty.f(toObject(this), P, {get: aFunction(getter), enumerable: true, configurable: true});\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.define-getter.js\n// module id = 431\n// module chunks = 1","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-object.js\n// module id = 432\n// module chunks = 1","// Forced replacement prototype accessors methods\nmodule.exports = require('./_library')|| !require('./_fails')(function(){\n var K = Math.random();\n // In FF throws only define methods\n __defineSetter__.call(null, K, function(){ /* empty */});\n delete require('./_global')[K];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-forced-pam.js\n// module id = 433\n// module chunks = 1","module.exports = false;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_library.js\n// module id = 434\n// module chunks = 1","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , aFunction = require('./_a-function')\n , $defineProperty = require('./_object-dp');\n\n// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineSetter__: function __defineSetter__(P, setter){\n $defineProperty.f(toObject(this), P, {set: aFunction(setter), enumerable: true, configurable: true});\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.define-setter.js\n// module id = 435\n// module chunks = 1","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive')\n , getPrototypeOf = require('./_object-gpo')\n , getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupGetter__: function __lookupGetter__(P){\n var O = toObject(this)\n , K = toPrimitive(P, true)\n , D;\n do {\n if(D = getOwnPropertyDescriptor(O, K))return D.get;\n } while(O = getPrototypeOf(O));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.lookup-getter.js\n// module id = 436\n// module chunks = 1","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gpo.js\n// module id = 437\n// module chunks = 1","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive')\n , getPrototypeOf = require('./_object-gpo')\n , getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.5 Object.prototype.__lookupSetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupSetter__: function __lookupSetter__(P){\n var O = toObject(this)\n , K = toPrimitive(P, true)\n , D;\n do {\n if(D = getOwnPropertyDescriptor(O, K))return D.set;\n } while(O = getPrototypeOf(O));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.lookup-setter.js\n// module id = 438\n// module chunks = 1","require('../modules/es7.reflect.define-metadata');\nrequire('../modules/es7.reflect.delete-metadata');\nrequire('../modules/es7.reflect.get-metadata');\nrequire('../modules/es7.reflect.get-metadata-keys');\nrequire('../modules/es7.reflect.get-own-metadata');\nrequire('../modules/es7.reflect.get-own-metadata-keys');\nrequire('../modules/es7.reflect.has-metadata');\nrequire('../modules/es7.reflect.has-own-metadata');\nrequire('../modules/es7.reflect.metadata');\nmodule.exports = require('../modules/_core').Reflect;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/es7/reflect.js\n// module id = 439\n// module chunks = 1","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.define-metadata.js\n// module id = 440\n// module chunks = 1","var Map = require('./es6.map')\n , $export = require('./_export')\n , shared = require('./_shared')('metadata')\n , store = shared.store || (shared.store = new (require('./es6.weak-map')));\n\nvar getOrCreateMetadataMap = function(target, targetKey, create){\n var targetMetadata = store.get(target);\n if(!targetMetadata){\n if(!create)return undefined;\n store.set(target, targetMetadata = new Map);\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if(!keyMetadata){\n if(!create)return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map);\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function(target, targetKey){\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false)\n , keys = [];\n if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); });\n return keys;\n};\nvar toMetaKey = function(it){\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function(O){\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_metadata.js\n// module id = 441\n// module chunks = 1","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')('Map', function(get){\n return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key){\n var entry = strong.getEntry(this, key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value){\n return strong.def(this, key === 0 ? 0 : key, value);\n }\n}, strong, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.map.js\n// module id = 442\n// module chunks = 1","'use strict';\nvar dP = require('./_object-dp').f\n , create = require('./_object-create')\n , redefineAll = require('./_redefine-all')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , defined = require('./_defined')\n , forOf = require('./_for-of')\n , $iterDefine = require('./_iter-define')\n , step = require('./_iter-step')\n , setSpecies = require('./_set-species')\n , DESCRIPTORS = require('./_descriptors')\n , fastKey = require('./_meta').fastKey\n , SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function(that, key){\n // fast case\n var index = fastKey(key), entry;\n if(index !== 'F')return that._i[index];\n // frozen object case\n for(entry = that._f; entry; entry = entry.n){\n if(entry.k == key)return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear(){\n for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){\n entry.r = true;\n if(entry.p)entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function(key){\n var that = this\n , entry = getEntry(that, key);\n if(entry){\n var next = entry.n\n , prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if(prev)prev.n = next;\n if(next)next.p = prev;\n if(that._f == entry)that._f = next;\n if(that._l == entry)that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /*, that = undefined */){\n anInstance(this, C, 'forEach');\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3)\n , entry;\n while(entry = entry ? entry.n : this._f){\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key){\n return !!getEntry(this, key);\n }\n });\n if(DESCRIPTORS)dP(C.prototype, 'size', {\n get: function(){\n return defined(this[SIZE]);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var entry = getEntry(that, key)\n , prev, index;\n // change existing entry\n if(entry){\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if(!that._f)that._f = entry;\n if(prev)prev.n = entry;\n that[SIZE]++;\n // add to index\n if(index !== 'F')that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function(C, NAME, IS_MAP){\n // add .keys, .values, .entries, [@@iterator]\n // 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\n $iterDefine(C, NAME, function(iterated, kind){\n this._t = iterated; // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function(){\n var that = this\n , kind = that._k\n , entry = that._l;\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n // get next entry\n if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if(kind == 'keys' )return step(0, entry.k);\n if(kind == 'values')return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection-strong.js\n// module id = 443\n// module chunks = 1","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-create.js\n// module id = 444\n// module chunks = 1","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-dps.js\n// module id = 445\n// module chunks = 1","module.exports = require('./_global').document && document.documentElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_html.js\n// module id = 446\n// module chunks = 1","var redefine = require('./_redefine');\nmodule.exports = function(target, src, safe){\n for(var key in src)redefine(target, key, src[key], safe);\n return target;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_redefine-all.js\n// module id = 447\n// module chunks = 1","module.exports = function(it, Constructor, name, forbiddenField){\n if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_an-instance.js\n// module id = 448\n// module chunks = 1","var ctx = require('./_ctx')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , anObject = require('./_an-object')\n , toLength = require('./_to-length')\n , getIterFn = require('./core.get-iterator-method')\n , BREAK = {}\n , RETURN = {};\nvar exports = module.exports = function(iterable, entries, fn, that, ITERATOR){\n var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable)\n , f = ctx(fn, that, entries ? 2 : 1)\n , index = 0\n , length, step, iterator, result;\n if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if(result === BREAK || result === RETURN)return result;\n } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){\n result = call(iterator, f, step.value, entries);\n if(result === BREAK || result === RETURN)return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_for-of.js\n// module id = 449\n// module chunks = 1","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-call.js\n// module id = 450\n// module chunks = 1","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-array-iter.js\n// module id = 451\n// module chunks = 1","module.exports = {};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iterators.js\n// module id = 452\n// module chunks = 1","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_wks.js\n// module id = 453\n// module chunks = 1","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/core.get-iterator-method.js\n// module id = 454\n// module chunks = 1","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_classof.js\n// module id = 455\n// module chunks = 1","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-define.js\n// module id = 456\n// module chunks = 1","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-create.js\n// module id = 457\n// module chunks = 1","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_set-to-string-tag.js\n// module id = 458\n// module chunks = 1","module.exports = function(done, value){\n return {value: value, done: !!done};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-step.js\n// module id = 459\n// module chunks = 1","'use strict';\nvar global = require('./_global')\n , dP = require('./_object-dp')\n , DESCRIPTORS = require('./_descriptors')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(KEY){\n var C = global[KEY];\n if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, {\n configurable: true,\n get: function(){ return this; }\n });\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_set-species.js\n// module id = 460\n// module chunks = 1","var META = require('./_uid')('meta')\n , isObject = require('./_is-object')\n , has = require('./_has')\n , setDesc = require('./_object-dp').f\n , id = 0;\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\nvar FREEZE = !require('./_fails')(function(){\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function(it){\n setDesc(it, META, {value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n }});\n};\nvar fastKey = function(it, create){\n // return primitive with prefix\n if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return 'F';\n // not necessary to add metadata\n if(!create)return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function(it, create){\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return true;\n // not necessary to add metadata\n if(!create)return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function(it){\n if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_meta.js\n// module id = 461\n// module chunks = 1","'use strict';\nvar global = require('./_global')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , redefineAll = require('./_redefine-all')\n , meta = require('./_meta')\n , forOf = require('./_for-of')\n , anInstance = require('./_an-instance')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , $iterDetect = require('./_iter-detect')\n , setToStringTag = require('./_set-to-string-tag')\n , inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){\n var Base = global[NAME]\n , C = Base\n , ADDER = IS_MAP ? 'set' : 'add'\n , proto = C && C.prototype\n , O = {};\n var fixMethod = function(KEY){\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a){\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){\n new C().entries().next();\n }))){\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C\n // early implementations not supports chaining\n , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); })\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n , BUGGY_ZERO = !IS_WEAK && fails(function(){\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C()\n , index = 5;\n while(index--)$instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if(!ACCEPT_ITERABLES){ \n C = wrapper(function(target, iterable){\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base, target, C);\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER);\n // weak collections should not contains .clear method\n if(IS_WEAK && proto.clear)delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection.js\n// module id = 462\n// module chunks = 1","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-detect.js\n// module id = 463\n// module chunks = 1","var isObject = require('./_is-object')\n , setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function(that, target, C){\n var P, S = target.constructor;\n if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){\n setPrototypeOf(that, P);\n } return that;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_inherit-if-required.js\n// module id = 464\n// module chunks = 1","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object')\n , anObject = require('./_an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_set-proto.js\n// module id = 465\n// module chunks = 1","'use strict';\nvar each = require('./_array-methods')(0)\n , redefine = require('./_redefine')\n , meta = require('./_meta')\n , assign = require('./_object-assign')\n , weak = require('./_collection-weak')\n , isObject = require('./_is-object')\n , getWeak = meta.getWeak\n , isExtensible = Object.isExtensible\n , uncaughtFrozenStore = weak.ufstore\n , tmp = {}\n , InternalMap;\n\nvar wrapper = function(get){\n return function WeakMap(){\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key){\n if(isObject(key)){\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value){\n return weak.def(this, key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')('WeakMap', wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){\n InternalMap = weak.getConstructor(wrapper);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function(key){\n var proto = $WeakMap.prototype\n , method = proto[key];\n redefine(proto, key, function(a, b){\n // store frozen objects on internal weakmap shim\n if(isObject(a) && !isExtensible(a)){\n if(!this._f)this._f = new InternalMap;\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.weak-map.js\n// module id = 466\n// module chunks = 1","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx')\n , IObject = require('./_iobject')\n , toObject = require('./_to-object')\n , toLength = require('./_to-length')\n , asc = require('./_array-species-create');\nmodule.exports = function(TYPE, $create){\n var IS_MAP = TYPE == 1\n , IS_FILTER = TYPE == 2\n , IS_SOME = TYPE == 3\n , IS_EVERY = TYPE == 4\n , IS_FIND_INDEX = TYPE == 6\n , NO_HOLES = TYPE == 5 || IS_FIND_INDEX\n , create = $create || asc;\n return function($this, callbackfn, that){\n var O = toObject($this)\n , self = IObject(O)\n , f = ctx(callbackfn, that, 3)\n , length = toLength(self.length)\n , index = 0\n , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined\n , val, res;\n for(;length > index; index++)if(NO_HOLES || index in self){\n val = self[index];\n res = f(val, index, O);\n if(TYPE){\n if(IS_MAP)result[index] = res; // map\n else if(res)switch(TYPE){\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if(IS_EVERY)return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-methods.js\n// module id = 467\n// module chunks = 1","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function(original, length){\n return new (speciesConstructor(original))(length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-species-create.js\n// module id = 468\n// module chunks = 1","var isObject = require('./_is-object')\n , isArray = require('./_is-array')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(original){\n var C;\n if(isArray(original)){\n C = original.constructor;\n // cross-realm fallback\n if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;\n if(isObject(C)){\n C = C[SPECIES];\n if(C === null)C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-species-constructor.js\n// module id = 469\n// module chunks = 1","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-array.js\n// module id = 470\n// module chunks = 1","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function(){\n var A = {}\n , B = {}\n , S = Symbol()\n , K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function(k){ B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\n var T = toObject(target)\n , aLen = arguments.length\n , index = 1\n , getSymbols = gOPS.f\n , isEnum = pIE.f;\n while(aLen > index){\n var S = IObject(arguments[index++])\n , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\n , length = keys.length\n , j = 0\n , key;\n while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\n } return T;\n} : $assign;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-assign.js\n// module id = 471\n// module chunks = 1","'use strict';\nvar redefineAll = require('./_redefine-all')\n , getWeak = require('./_meta').getWeak\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , createArrayMethod = require('./_array-methods')\n , $has = require('./_has')\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function(that){\n return that._l || (that._l = new UncaughtFrozenStore);\n};\nvar UncaughtFrozenStore = function(){\n this.a = [];\n};\nvar findUncaughtFrozen = function(store, key){\n return arrayFind(store.a, function(it){\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function(key){\n var entry = findUncaughtFrozen(this, key);\n if(entry)return entry[1];\n },\n has: function(key){\n return !!findUncaughtFrozen(this, key);\n },\n set: function(key, value){\n var entry = findUncaughtFrozen(this, key);\n if(entry)entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function(key){\n var index = arrayFindIndex(this.a, function(it){\n return it[0] === key;\n });\n if(~index)this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this)['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var data = getWeak(anObject(key), true);\n if(data === true)uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection-weak.js\n// module id = 472\n// module chunks = 1","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , getOrCreateMetadataMap = metadata.map\n , store = metadata.store;\n\nmetadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2])\n , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false;\n if(metadataMap.size)return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.delete-metadata.js\n// module id = 473\n// module chunks = 1","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-metadata.js\n// module id = 474\n// module chunks = 1","var Set = require('./es6.set')\n , from = require('./_array-from-iterable')\n , metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function(O, P){\n var oKeys = ordinaryOwnMetadataKeys(O, P)\n , parent = getPrototypeOf(O);\n if(parent === null)return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-metadata-keys.js\n// module id = 475\n// module chunks = 1","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')('Set', function(get){\n return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value){\n return strong.def(this, value = value === 0 ? 0 : value, value);\n }\n}, strong);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.set.js\n// module id = 476\n// module chunks = 1","var forOf = require('./_for-of');\n\nmodule.exports = function(iter, ITERATOR){\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-from-iterable.js\n// module id = 477\n// module chunks = 1","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-own-metadata.js\n// module id = 478\n// module chunks = 1","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-own-metadata-keys.js\n// module id = 479\n// module chunks = 1","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.has-metadata.js\n// module id = 480\n// module chunks = 1","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nmetadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.has-own-metadata.js\n// module id = 481\n// module chunks = 1","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({metadata: function metadata(metadataKey, metadataValue){\n return function decorator(target, targetKey){\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.metadata.js\n// module id = 482\n// module chunks = 1","/**\n* @license\n* Copyright Google Inc. All Rights Reserved.\n*\n* Use of this source code is governed by an MIT-style license that can be\n* found in the LICENSE file at https://angular.io/license\n*/\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nvar Zone$1 = (function (global) {\n if (global['Zone']) {\n throw new Error('Zone already loaded.');\n }\n var Zone = (function () {\n function Zone(parent, zoneSpec) {\n this._properties = null;\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global.Promise !== ZoneAwarePromise) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"current\", {\n get: function () {\n return _currentZoneFrame.zone;\n },\n enumerable: true,\n configurable: true\n });\n \n Object.defineProperty(Zone, \"currentTask\", {\n get: function () {\n return _currentTask;\n },\n enumerable: true,\n configurable: true\n });\n \n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () {\n return this._parent;\n },\n enumerable: true,\n configurable: true\n });\n \n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: true,\n configurable: true\n });\n \n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n if (applyArgs === void 0) { applyArgs = null; }\n if (source === void 0) { source = null; }\n _currentZoneFrame = new ZoneFrame(_currentZoneFrame, this);\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n if (applyArgs === void 0) { applyArgs = null; }\n if (source === void 0) { source = null; }\n _currentZoneFrame = new ZoneFrame(_currentZoneFrame, this);\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n task.runCount++;\n if (task.zone != this)\n throw new Error('A task can only be run in the zone which created it! (Creation: ' + task.zone.name +\n '; Execution: ' + this.name + ')');\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = new ZoneFrame(_currentZoneFrame, this);\n try {\n if (task.type == 'macroTask' && task.data && !task.data.isPeriodic) {\n task.cancelFn = null;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this._zoneDelegate.scheduleTask(this, new ZoneTask('microTask', this, source, callback, data, customSchedule, null));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this._zoneDelegate.scheduleTask(this, new ZoneTask('macroTask', this, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this._zoneDelegate.scheduleTask(this, new ZoneTask('eventTask', this, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n var value = this._zoneDelegate.cancelTask(this, task);\n task.runCount = -1;\n task.cancelFn = null;\n return value;\n };\n return Zone;\n }());\n Zone.__symbol__ = __symbol__;\n \n var ZoneDelegate = (function () {\n function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { microTask: 0, macroTask: 0, eventTask: 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt =\n zoneSpec && (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone);\n this._hasTaskZS = zoneSpec && (zoneSpec.onHasTask ? zoneSpec : parentDelegate._hasTaskZS);\n this._hasTaskDlgt =\n zoneSpec && (zoneSpec.onHasTask ? parentDelegate : parentDelegate._hasTaskDlgt);\n this._hasTaskCurrZone = zoneSpec && (zoneSpec.onHasTask ? this.zone : parentDelegate.zone);\n }\n ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ?\n this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n try {\n if (this._scheduleTaskZS) {\n return this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n }\n else if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == 'microTask') {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n return task;\n }\n finally {\n if (targetZone == this.zone) {\n this._updateTaskCount(task.type, 1);\n }\n }\n };\n ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n try {\n return this._invokeTaskZS ?\n this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n }\n finally {\n if (targetZone == this.zone && (task.type != 'eventTask') &&\n !(task.data && task.data.isPeriodic)) {\n this._updateTaskCount(task.type, -1);\n }\n }\n };\n ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else if (!task.cancelFn) {\n throw new Error('Task does not support cancellation, or is already canceled.');\n }\n else {\n value = task.cancelFn(task);\n }\n if (targetZone == this.zone) {\n // this should not be in the finally block, because exceptions assume not canceled.\n this._updateTaskCount(task.type, -1);\n }\n return value;\n };\n ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n return this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n };\n ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts.microTask > 0,\n macroTask: counts.macroTask > 0,\n eventTask: counts.eventTask > 0,\n change: type\n };\n try {\n this.hasTask(this.zone, isEmpty);\n }\n finally {\n if (this._parentDelegate) {\n this._parentDelegate._updateTaskCount(type, count);\n }\n }\n }\n };\n return ZoneDelegate;\n }());\n var ZoneTask = (function () {\n function ZoneTask(type, zone, source, callback, options, scheduleFn, cancelFn) {\n this.runCount = 0;\n this.type = type;\n this.zone = zone;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n this.callback = callback;\n var self = this;\n this.invoke = function () {\n _numberOfNestedTaskFrames++;\n try {\n return zone.runTask(self, this, arguments);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n }\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId;\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n source: this.source,\n data: this.data,\n zone: this.zone.name,\n invoke: this.invoke,\n scheduleFn: this.scheduleFn,\n cancelFn: this.cancelFn,\n runCount: this.runCount,\n callback: this.callback\n };\n };\n return ZoneTask;\n }());\n var ZoneFrame = (function () {\n function ZoneFrame(parent, zone) {\n this.parent = parent;\n this.zone = zone;\n }\n return ZoneFrame;\n }());\n function __symbol__(name) {\n return '__zone_symbol__' + name;\n }\n \n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _currentZoneFrame = new ZoneFrame(null, new Zone(null, null));\n var _currentTask = null;\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var _uncaughtPromiseErrors = [];\n var _numberOfNestedTaskFrames = 0;\n function scheduleQueueDrain() {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (global[symbolPromise]) {\n global[symbolPromise].resolve(0)[symbolThen](drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n }\n function scheduleMicroTask(task) {\n scheduleQueueDrain();\n _microTaskQueue.push(task);\n }\n function consoleError(e) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n console.error(e);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (e) {\n consoleError(e);\n }\n }\n }\n while (_uncaughtPromiseErrors.length) {\n var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () {\n throw uncaughtPromiseError;\n });\n }\n catch (e) {\n consoleError(e);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\n }\n }\n _isDrainingMicrotaskQueue = false;\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n resolvePromise(promise, state, v);\n // Do not return value or you will break the Promise spec.\n };\n }\n function resolvePromise(promise, state, value) {\n if (promise[symbolState] === UNRESOLVED) {\n if (value instanceof ZoneAwarePromise && value.hasOwnProperty(symbolState) &&\n value.hasOwnProperty(symbolValue) && value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (isThenable(value)) {\n value.then(makeResolver(promise, state), makeResolver(promise, false));\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n try {\n throw new Error('Uncaught (in promise): ' + value +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (e) {\n var error_1 = e;\n error_1.rejection = value;\n error_1.promise = promise;\n error_1.zone = Zone.current;\n error_1.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(error_1);\n scheduleQueueDrain();\n }\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n break;\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var delegate = promise[symbolState] ? onFulfilled || forwardResolution : onRejected || forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n resolvePromise(chainPromise, true, zone.run(delegate, null, [promise[symbolValue]]));\n }\n catch (error) {\n resolvePromise(chainPromise, false, error);\n }\n });\n }\n var ZoneAwarePromise = (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (e) {\n resolvePromise(promise, false, e);\n }\n }\n ZoneAwarePromise.toString = function () {\n return 'function ZoneAwarePromise() { [native code] }';\n };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.race = function (values) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n _a = [res, rej], resolve = _a[0], reject = _a[1];\n var _a;\n });\n function onResolve(value) {\n promise && (promise = null || resolve(value));\n }\n function onReject(error) {\n promise && (promise = null || reject(error));\n }\n for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {\n var value = values_1[_i];\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n var count = 0;\n var resolvedValues = [];\n for (var _i = 0, values_2 = values; _i < values_2.length; _i++) {\n var value = values_2[_i];\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then((function (index) { return function (value) {\n resolvedValues[index] = value;\n count--;\n if (!count) {\n resolve(resolvedValues);\n }\n }; })(count), reject);\n count++;\n }\n if (!count)\n resolve(resolvedValues);\n return promise;\n };\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var chainPromise = new this.constructor(null);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[__symbol__('Promise')] = global['Promise'];\n global['Promise'] = ZoneAwarePromise;\n function patchThen(NativePromise) {\n var NativePromiseProtototype = NativePromise.prototype;\n var NativePromiseThen = NativePromiseProtototype[__symbol__('then')] =\n NativePromiseProtototype.then;\n NativePromiseProtototype.then = function (onResolve, onReject) {\n var nativePromise = this;\n return new ZoneAwarePromise(function (resolve, reject) {\n NativePromiseThen.call(nativePromise, resolve, reject);\n })\n .then(onResolve, onReject);\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n if (typeof global['fetch'] !== 'undefined') {\n var fetchPromise = void 0;\n try {\n // In MS Edge this throws\n fetchPromise = global['fetch']();\n }\n catch (e) {\n // In Chrome this throws instead.\n fetchPromise = global['fetch']('about:blank');\n }\n // ignore output to prevent error;\n fetchPromise.then(function () { return null; }, function () { return null; });\n if (fetchPromise.constructor != NativePromise &&\n fetchPromise.constructor != ZoneAwarePromise) {\n patchThen(fetchPromise.constructor);\n }\n }\n }\n // This is not part of public API, but it is usefull for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n /*\n * This code patches Error so that:\n * - It ignores un-needed stack frames.\n * - It Shows the associated Zone for reach frame.\n */\n var FrameType;\n (function (FrameType) {\n /// Skip this frame when printing out stack\n FrameType[FrameType[\"blackList\"] = 0] = \"blackList\";\n /// This frame marks zone transition\n FrameType[FrameType[\"transition\"] = 1] = \"transition\";\n })(FrameType || (FrameType = {}));\n var NativeError = global[__symbol__('Error')] = global.Error;\n // Store the frames which should be removed from the stack frames\n var blackListedStackFrames = {};\n // We must find the frame where Error was created, otherwise we assume we don't understand stack\n var zoneAwareFrame;\n global.Error = ZoneAwareError;\n // How should the stack frames be parsed.\n var frameParserStrategy = null;\n var stackRewrite = 'stackRewrite';\n // fix #595, create property descriptor\n // for error properties\n var createProperty = function (props, key) {\n // if property is already defined, skip it.\n if (props[key]) {\n return;\n }\n // define a local property\n // in case error property is not settable\n var name = __symbol__(key);\n props[key] = {\n configurable: true,\n enumerable: true,\n get: function () {\n // if local property has no value\n // use internal error's property value\n if (!this[name]) {\n var error_2 = this[__symbol__('error')];\n if (error_2) {\n this[name] = error_2[key];\n }\n }\n return this[name];\n },\n set: function (value) {\n // setter will set value to local property value\n this[name] = value;\n }\n };\n };\n // fix #595, create property descriptor\n // for error method properties\n var createMethodProperty = function (props, key) {\n if (props[key]) {\n return;\n }\n props[key] = {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function () {\n var error = this[__symbol__('error')];\n var errorMethod = (error && error[key]) || this[key];\n if (errorMethod) {\n return errorMethod.apply(error, arguments);\n }\n }\n };\n };\n var createErrorProperties = function () {\n var props = Object.create(null);\n var error = new NativeError();\n var keys = Object.getOwnPropertyNames(error);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(error, key)) {\n createProperty(props, key);\n }\n }\n var proto = NativeError.prototype;\n if (proto) {\n var pKeys = Object.getOwnPropertyNames(proto);\n for (var i = 0; i < pKeys.length; i++) {\n var key = pKeys[i];\n // skip constructor\n if (key !== 'constructor' && key !== 'toString' && key !== 'toSource') {\n createProperty(props, key);\n }\n }\n }\n // some other properties are not\n // in NativeError\n createProperty(props, 'originalStack');\n createProperty(props, 'zoneAwareStack');\n // define toString, toSource as method property\n createMethodProperty(props, 'toString');\n createMethodProperty(props, 'toSource');\n return props;\n };\n var errorProperties = createErrorProperties();\n // for derived Error class which extends ZoneAwareError\n // we should not override the derived class's property\n // so we create a new props object only copy the properties\n // from errorProperties which not exist in derived Error's prototype\n var getErrorPropertiesForPrototype = function (prototype) {\n // if the prototype is ZoneAwareError.prototype\n // we just return the prebuilt errorProperties.\n if (prototype === ZoneAwareError.prototype) {\n return errorProperties;\n }\n var newProps = Object.create(null);\n var cKeys = Object.getOwnPropertyNames(errorProperties);\n var keys = Object.getOwnPropertyNames(prototype);\n cKeys.forEach(function (cKey) {\n if (keys.filter(function (key) {\n return key === cKey;\n })\n .length === 0) {\n newProps[cKey] = errorProperties[cKey];\n }\n });\n return newProps;\n };\n /**\n * This is ZoneAwareError which processes the stack frame and cleans up extra frames as well as\n * adds zone information to it.\n */\n function ZoneAwareError() {\n // make sure we have a valid this\n // if this is undefined(call Error without new) or this is global\n // or this is some other objects, we should force to create a\n // valid ZoneAwareError by call Object.create()\n if (!(this instanceof ZoneAwareError)) {\n return ZoneAwareError.apply(Object.create(ZoneAwareError.prototype), arguments);\n }\n // Create an Error.\n var error = NativeError.apply(this, arguments);\n this[__symbol__('error')] = error;\n // Save original stack trace\n error.originalStack = error.stack;\n // Process the stack trace and rewrite the frames.\n if (ZoneAwareError[stackRewrite] && error.originalStack) {\n var frames_1 = error.originalStack.split('\\n');\n var zoneFrame = _currentZoneFrame;\n var i = 0;\n // Find the first frame\n while (frames_1[i] !== zoneAwareFrame && i < frames_1.length) {\n i++;\n }\n for (; i < frames_1.length && zoneFrame; i++) {\n var frame = frames_1[i];\n if (frame.trim()) {\n var frameType = blackListedStackFrames.hasOwnProperty(frame) && blackListedStackFrames[frame];\n if (frameType === FrameType.blackList) {\n frames_1.splice(i, 1);\n i--;\n }\n else if (frameType === FrameType.transition) {\n if (zoneFrame.parent) {\n // This is the special frame where zone changed. Print and process it accordingly\n frames_1[i] += \" [\" + zoneFrame.parent.zone.name + \" => \" + zoneFrame.zone.name + \"]\";\n zoneFrame = zoneFrame.parent;\n }\n else {\n zoneFrame = null;\n }\n }\n else {\n frames_1[i] += \" [\" + zoneFrame.zone.name + \"]\";\n }\n }\n }\n error.stack = error.zoneAwareStack = frames_1.join('\\n');\n }\n // use defineProperties here instead of copy property value\n // because of issue #595 which will break angular2.\n Object.defineProperties(this, getErrorPropertiesForPrototype(Object.getPrototypeOf(this)));\n return this;\n }\n // Copy the prototype so that instanceof operator works as expected\n ZoneAwareError.prototype = NativeError.prototype;\n ZoneAwareError[Zone.__symbol__('blacklistedStackFrames')] = blackListedStackFrames;\n ZoneAwareError[stackRewrite] = false;\n if (NativeError.hasOwnProperty('stackTraceLimit')) {\n // Extend default stack limit as we will be removing few frames.\n NativeError.stackTraceLimit = Math.max(NativeError.stackTraceLimit, 15);\n // make sure that ZoneAwareError has the same property which forwards to NativeError.\n Object.defineProperty(ZoneAwareError, 'stackTraceLimit', {\n get: function () {\n return NativeError.stackTraceLimit;\n },\n set: function (value) {\n return NativeError.stackTraceLimit = value;\n }\n });\n }\n if (NativeError.hasOwnProperty('captureStackTrace')) {\n Object.defineProperty(ZoneAwareError, 'captureStackTrace', {\n // add named function here because we need to remove this\n // stack frame when prepareStackTrace below\n value: function zoneCaptureStackTrace(targetObject, constructorOpt) {\n NativeError.captureStackTrace(targetObject, constructorOpt);\n }\n });\n }\n Object.defineProperty(ZoneAwareError, 'prepareStackTrace', {\n get: function () {\n return NativeError.prepareStackTrace;\n },\n set: function (value) {\n if (!value || typeof value !== 'function') {\n return NativeError.prepareStackTrace = value;\n }\n return NativeError.prepareStackTrace = function (error, structuredStackTrace) {\n // remove additional stack information from ZoneAwareError.captureStackTrace\n if (structuredStackTrace) {\n for (var i = 0; i < structuredStackTrace.length; i++) {\n var st = structuredStackTrace[i];\n // remove the first function which name is zoneCaptureStackTrace\n if (st.getFunctionName() === 'zoneCaptureStackTrace') {\n structuredStackTrace.splice(i, 1);\n break;\n }\n }\n }\n return value.apply(this, [error, structuredStackTrace]);\n };\n }\n });\n // Now we need to populet the `blacklistedStackFrames` as well as find the\n // run/runGuraded/runTask frames. This is done by creating a detect zone and then threading\n // the execution through all of the above methods so that we can look at the stack trace and\n // find the frames of interest.\n var detectZone = Zone.current.fork({\n name: 'detect',\n onInvoke: function (parentZoneDelegate, currentZone, targetZone, delegate, applyThis, applyArgs, source) {\n // Here only so that it will show up in the stack frame so that it can be black listed.\n return parentZoneDelegate.invoke(targetZone, delegate, applyThis, applyArgs, source);\n },\n onHandleError: function (parentZD, current, target, error) {\n if (error.originalStack && Error === ZoneAwareError) {\n var frames_2 = error.originalStack.split(/\\n/);\n var runFrame = false, runGuardedFrame = false, runTaskFrame = false;\n while (frames_2.length) {\n var frame = frames_2.shift();\n // On safari it is possible to have stack frame with no line number.\n // This check makes sure that we don't filter frames on name only (must have\n // linenumber)\n if (/:\\d+:\\d+/.test(frame)) {\n // Get rid of the path so that we don't accidintely find function name in path.\n // In chrome the seperator is `(` and `@` in FF and safari\n // Chrome: at Zone.run (zone.js:100)\n // Chrome: at Zone.run (http://localhost:9876/base/build/lib/zone.js:100:24)\n // FireFox: Zone.prototype.run@http://localhost:9876/base/build/lib/zone.js:101:24\n // Safari: run@http://localhost:9876/base/build/lib/zone.js:101:24\n var fnName = frame.split('(')[0].split('@')[0];\n var frameType = FrameType.transition;\n if (fnName.indexOf('ZoneAwareError') !== -1) {\n zoneAwareFrame = frame;\n }\n if (fnName.indexOf('runGuarded') !== -1) {\n runGuardedFrame = true;\n }\n else if (fnName.indexOf('runTask') !== -1) {\n runTaskFrame = true;\n }\n else if (fnName.indexOf('run') !== -1) {\n runFrame = true;\n }\n else {\n frameType = FrameType.blackList;\n }\n blackListedStackFrames[frame] = frameType;\n // Once we find all of the frames we can stop looking.\n if (runFrame && runGuardedFrame && runTaskFrame) {\n ZoneAwareError[stackRewrite] = true;\n break;\n }\n }\n }\n }\n return false;\n }\n });\n // carefully constructor a stack frame which contains all of the frames of interest which\n // need to be detected and blacklisted.\n var detectRunFn = function () {\n detectZone.run(function () {\n detectZone.runGuarded(function () {\n throw new Error('blacklistStackFrames');\n });\n });\n };\n // Cause the error to extract the stack frames.\n detectZone.runTask(detectZone.scheduleMacroTask('detect', detectRunFn, null, function () { return null; }, null));\n return global['Zone'] = Zone;\n})(typeof window === 'object' && window || typeof self === 'object' && self || global);\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars}\n */\nvar zoneSymbol = function (n) { return \"__zone_symbol__\" + n; };\nvar _global$1 = typeof window === 'object' && window || typeof self === 'object' && self || global;\nfunction bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = Zone.current.wrap(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_1 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n prototype[name_1] = (function (delegate) {\n return function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_1(i);\n }\n}\nvar isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\nvar isNode = (!('nw' in _global$1) && typeof process !== 'undefined' &&\n {}.toString.call(process) === '[object process]');\nvar isBrowser = !isNode && !isWebWorker && !!(typeof window !== 'undefined' && window['HTMLElement']);\nfunction patchProperty(obj, prop) {\n var desc = Object.getOwnPropertyDescriptor(obj, prop) || { enumerable: true, configurable: true };\n var originalDesc = Object.getOwnPropertyDescriptor(obj, 'original' + prop);\n if (!originalDesc && desc.get) {\n Object.defineProperty(obj, 'original' + prop, { enumerable: false, configurable: true, get: desc.get });\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n // substr(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.substr(2);\n var _prop = '_' + prop;\n desc.set = function (fn) {\n if (this[_prop]) {\n this.removeEventListener(eventName, this[_prop]);\n }\n if (typeof fn === 'function') {\n var wrapFn = function (event) {\n var result;\n result = fn.apply(this, arguments);\n if (result != undefined && !result)\n event.preventDefault();\n };\n this[_prop] = wrapFn;\n this.addEventListener(eventName, wrapFn, false);\n }\n else {\n this[_prop] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n var r = this[_prop] || null;\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n if (r === null) {\n if (originalDesc && originalDesc.get) {\n r = originalDesc.get.apply(this, arguments);\n if (r) {\n desc.set.apply(this, [r]);\n if (typeof this['removeAttribute'] === 'function') {\n this.removeAttribute(prop);\n }\n }\n }\n }\n return this[_prop] || null;\n };\n Object.defineProperty(obj, prop, desc);\n}\n\nfunction patchOnProperties(obj, properties) {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j]);\n }\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i]);\n }\n }\n}\n\nvar EVENT_TASKS = zoneSymbol('eventTasks');\n// For EventTarget\nvar ADD_EVENT_LISTENER = 'addEventListener';\nvar REMOVE_EVENT_LISTENER = 'removeEventListener';\nfunction findExistingRegisteredTask(target, handler, name, capture, remove) {\n var eventTasks = target[EVENT_TASKS];\n if (eventTasks) {\n for (var i = 0; i < eventTasks.length; i++) {\n var eventTask = eventTasks[i];\n var data = eventTask.data;\n var listener = data.handler;\n if ((data.handler === handler || listener.listener === handler) &&\n data.useCapturing === capture && data.eventName === name) {\n if (remove) {\n eventTasks.splice(i, 1);\n }\n return eventTask;\n }\n }\n }\n return null;\n}\nfunction findAllExistingRegisteredTasks(target, name, capture, remove) {\n var eventTasks = target[EVENT_TASKS];\n if (eventTasks) {\n var result = [];\n for (var i = eventTasks.length - 1; i >= 0; i--) {\n var eventTask = eventTasks[i];\n var data = eventTask.data;\n if (data.eventName === name && data.useCapturing === capture) {\n result.push(eventTask);\n if (remove) {\n eventTasks.splice(i, 1);\n }\n }\n }\n return result;\n }\n return null;\n}\nfunction attachRegisteredEvent(target, eventTask, isPrepend) {\n var eventTasks = target[EVENT_TASKS];\n if (!eventTasks) {\n eventTasks = target[EVENT_TASKS] = [];\n }\n if (isPrepend) {\n eventTasks.unshift(eventTask);\n }\n else {\n eventTasks.push(eventTask);\n }\n}\nvar defaultListenerMetaCreator = function (self, args) {\n return {\n useCapturing: args[2],\n eventName: args[0],\n handler: args[1],\n target: self || _global$1,\n name: args[0],\n invokeAddFunc: function (addFnSymbol, delegate) {\n if (delegate && delegate.invoke) {\n return this.target[addFnSymbol](this.eventName, delegate.invoke, this.useCapturing);\n }\n else {\n return this.target[addFnSymbol](this.eventName, delegate, this.useCapturing);\n }\n },\n invokeRemoveFunc: function (removeFnSymbol, delegate) {\n if (delegate && delegate.invoke) {\n return this.target[removeFnSymbol](this.eventName, delegate.invoke, this.useCapturing);\n }\n else {\n return this.target[removeFnSymbol](this.eventName, delegate, this.useCapturing);\n }\n }\n };\n};\nfunction makeZoneAwareAddListener(addFnName, removeFnName, useCapturingParam, allowDuplicates, isPrepend, metaCreator) {\n if (useCapturingParam === void 0) { useCapturingParam = true; }\n if (allowDuplicates === void 0) { allowDuplicates = false; }\n if (isPrepend === void 0) { isPrepend = false; }\n if (metaCreator === void 0) { metaCreator = defaultListenerMetaCreator; }\n var addFnSymbol = zoneSymbol(addFnName);\n var removeFnSymbol = zoneSymbol(removeFnName);\n var defaultUseCapturing = useCapturingParam ? false : undefined;\n function scheduleEventListener(eventTask) {\n var meta = eventTask.data;\n attachRegisteredEvent(meta.target, eventTask, isPrepend);\n return meta.invokeAddFunc(addFnSymbol, eventTask);\n }\n function cancelEventListener(eventTask) {\n var meta = eventTask.data;\n findExistingRegisteredTask(meta.target, eventTask.invoke, meta.eventName, meta.useCapturing, true);\n return meta.invokeRemoveFunc(removeFnSymbol, eventTask);\n }\n return function zoneAwareAddListener(self, args) {\n var data = metaCreator(self, args);\n data.useCapturing = data.useCapturing || defaultUseCapturing;\n // - Inside a Web Worker, `this` is undefined, the context is `global`\n // - When `addEventListener` is called on the global context in strict mode, `this` is undefined\n // see https://github.com/angular/zone.js/issues/190\n var delegate = null;\n if (typeof data.handler == 'function') {\n delegate = data.handler;\n }\n else if (data.handler && data.handler.handleEvent) {\n delegate = function (event) { return data.handler.handleEvent(event); };\n }\n var validZoneHandler = false;\n try {\n // In cross site contexts (such as WebDriver frameworks like Selenium),\n // accessing the handler object here will cause an exception to be thrown which\n // will fail tests prematurely.\n validZoneHandler = data.handler && data.handler.toString() === '[object FunctionWrapper]';\n }\n catch (e) {\n // Returning nothing here is fine, because objects in a cross-site context are unusable\n return;\n }\n // Ignore special listeners of IE11 & Edge dev tools, see\n // https://github.com/angular/zone.js/issues/150\n if (!delegate || validZoneHandler) {\n return data.invokeAddFunc(addFnSymbol, data.handler);\n }\n if (!allowDuplicates) {\n var eventTask = findExistingRegisteredTask(data.target, data.handler, data.eventName, data.useCapturing, false);\n if (eventTask) {\n // we already registered, so this will have noop.\n return data.invokeAddFunc(addFnSymbol, eventTask);\n }\n }\n var zone = Zone.current;\n var source = data.target.constructor['name'] + '.' + addFnName + ':' + data.eventName;\n zone.scheduleEventTask(source, delegate, data, scheduleEventListener, cancelEventListener);\n };\n}\nfunction makeZoneAwareRemoveListener(fnName, useCapturingParam, metaCreator) {\n if (useCapturingParam === void 0) { useCapturingParam = true; }\n if (metaCreator === void 0) { metaCreator = defaultListenerMetaCreator; }\n var symbol = zoneSymbol(fnName);\n var defaultUseCapturing = useCapturingParam ? false : undefined;\n return function zoneAwareRemoveListener(self, args) {\n var data = metaCreator(self, args);\n data.useCapturing = data.useCapturing || defaultUseCapturing;\n // - Inside a Web Worker, `this` is undefined, the context is `global`\n // - When `addEventListener` is called on the global context in strict mode, `this` is undefined\n // see https://github.com/angular/zone.js/issues/190\n var eventTask = findExistingRegisteredTask(data.target, data.handler, data.eventName, data.useCapturing, true);\n if (eventTask) {\n eventTask.zone.cancelTask(eventTask);\n }\n else {\n data.invokeRemoveFunc(symbol, data.handler);\n }\n };\n}\n\n\nvar zoneAwareAddEventListener = makeZoneAwareAddListener(ADD_EVENT_LISTENER, REMOVE_EVENT_LISTENER);\nvar zoneAwareRemoveEventListener = makeZoneAwareRemoveListener(REMOVE_EVENT_LISTENER);\nfunction patchEventTargetMethods(obj, addFnName, removeFnName, metaCreator) {\n if (addFnName === void 0) { addFnName = ADD_EVENT_LISTENER; }\n if (removeFnName === void 0) { removeFnName = REMOVE_EVENT_LISTENER; }\n if (metaCreator === void 0) { metaCreator = defaultListenerMetaCreator; }\n if (obj && obj[addFnName]) {\n patchMethod(obj, addFnName, function () { return makeZoneAwareAddListener(addFnName, removeFnName, true, false, false, metaCreator); });\n patchMethod(obj, removeFnName, function () { return makeZoneAwareRemoveListener(removeFnName, true, metaCreator); });\n return true;\n }\n else {\n return false;\n }\n}\nvar originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n var OriginalClass = _global$1[className];\n if (!OriginalClass)\n return;\n _global$1[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global$1[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n Object.defineProperty(_global$1[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = Zone.current.wrap(fn, className + '.' + prop);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global$1[className][prop] = OriginalClass[prop];\n }\n }\n}\n\nfunction createNamedFn(name, delegate) {\n try {\n return (Function('f', \"return function \" + name + \"(){return f(this, arguments)}\"))(delegate);\n }\n catch (e) {\n // if we fail, we must be CSP, just return delegate.\n return function () {\n return delegate(this, arguments);\n };\n }\n}\nfunction patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && Object.getOwnPropertyNames(proto).indexOf(name) === -1) {\n proto = Object.getPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol(name);\n var delegate;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n proto[name] = createNamedFn(name, patchFn(delegate, delegateName, name));\n }\n return delegate;\n}\n// TODO: support cancel task later if necessary\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n data.args[0] = function () {\n task.invoke.apply(this, arguments);\n delete tasksByHandleId[data.handleId];\n };\n data.handleId = setNative.apply(window, data.args);\n tasksByHandleId[data.handleId] = task;\n return task;\n }\n function clearTask(task) {\n delete tasksByHandleId[task.data.handleId];\n return clearNative(task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var zone = Zone.current;\n var options = {\n handleId: null,\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 : null,\n args: args\n };\n var task = zone.scheduleMacroTask(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (handle.ref && handle.unref) {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var task = typeof args[0] === 'number' ? tasksByHandleId[args[0]] : args[0];\n if (task && typeof task.type === 'string') {\n if (task.cancelFn && task.data.isPeriodic || task.runCount === 0) {\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\nvar _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty;\nvar _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\nvar _create = Object.create;\nvar unconfigurablesKey = zoneSymbol('unconfigurables');\nfunction propertyPatch() {\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) {\n Object.defineProperty(obj, prop, props[prop]);\n });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n}\n\nfunction _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n}\n\nfunction isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n}\nfunction rewriteDescriptor(obj, prop, desc) {\n desc.configurable = true;\n if (!desc.configurable) {\n if (!obj[unconfigurablesKey]) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n obj[unconfigurablesKey][prop] = true;\n }\n return desc;\n}\nfunction _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (e) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n // retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (e) {\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (e) {\n descJson = descJson.toString();\n }\n console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + e);\n }\n }\n else {\n throw e;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\nvar NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\nvar EVENT_TARGET = 'EventTarget';\nfunction eventTargetPatch(_global) {\n var apis = [];\n var isWtf = _global['wtf'];\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555.split(',').map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n patchEventTargetMethods(type && type.prototype);\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// we have to patch the instance since the proto is non-configurable\nfunction apply(_global) {\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n patchEventTargetMethods(WS.prototype);\n }\n _global.WebSocket = function (a, b) {\n var socket = arguments.length > 1 ? new WS(a, b) : new WS(a);\n var proxySocket;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = Object.getOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = Object.create(socket);\n ['addEventListener', 'removeEventListener', 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n return socket[propName].apply(socket, arguments);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n patchOnProperties(proxySocket, ['close', 'error', 'message', 'open']);\n return proxySocket;\n };\n for (var prop in WS) {\n _global.WebSocket[prop] = WS[prop];\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar eventNames = 'copy cut paste abort blur focus canplay canplaythrough change click contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop durationchange emptied ended input invalid keydown keypress keyup load loadeddata loadedmetadata loadstart message mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup pause play playing progress ratechange reset scroll seeked seeking select show stalled submit suspend timeupdate volumechange waiting mozfullscreenchange mozfullscreenerror mozpointerlockchange mozpointerlockerror error webglcontextrestored webglcontextlost webglcontextcreationerror'\n .split(' ');\nfunction propertyDescriptorPatch(_global) {\n if (isNode) {\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n if (canPatchViaPropertyDescriptor()) {\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n patchOnProperties(HTMLElement.prototype, eventNames);\n }\n patchOnProperties(XMLHttpRequest.prototype, null);\n if (typeof IDBIndex !== 'undefined') {\n patchOnProperties(IDBIndex.prototype, null);\n patchOnProperties(IDBRequest.prototype, null);\n patchOnProperties(IDBOpenDBRequest.prototype, null);\n patchOnProperties(IDBDatabase.prototype, null);\n patchOnProperties(IDBTransaction.prototype, null);\n patchOnProperties(IDBCursor.prototype, null);\n }\n if (supportsWebSocket) {\n patchOnProperties(WebSocket.prototype, null);\n }\n }\n else {\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents();\n patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(_global);\n }\n }\n}\nfunction canPatchViaPropertyDescriptor() {\n if (isBrowser && !Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = Object.getOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n }\n var xhrDesc = Object.getOwnPropertyDescriptor(XMLHttpRequest.prototype, 'onreadystatechange');\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', {\n enumerable: true,\n configurable: true,\n get: function () {\n return true;\n }\n });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', xhrDesc || {});\n return result;\n}\n\nvar unboundKey = zoneSymbol('unbound');\n// Whenever any eventListener fires, we check the eventListener target and all parents\n// for `onwhatever` properties and replace them with zone-bound functions\n// - Chrome (for now)\nfunction patchViaCapturingAllTheEvents() {\n var _loop_1 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = Zone.current.wrap(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_1(i);\n }\n \n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction registerElementPatch(_global) {\n if (!isBrowser || !('registerElement' in _global.document)) {\n return;\n }\n var _registerElement = document.registerElement;\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n document.registerElement = function (name, opts) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = 'Document.registerElement::' + callback;\n if (opts.prototype.hasOwnProperty(callback)) {\n var descriptor = Object.getOwnPropertyDescriptor(opts.prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = Zone.current.wrap(descriptor.value, source);\n _redefineProperty(opts.prototype, callback, descriptor);\n }\n else {\n opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source);\n }\n }\n else if (opts.prototype[callback]) {\n opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source);\n }\n });\n }\n return _registerElement.apply(document, [name, opts]);\n };\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar set = 'set';\nvar clear = 'clear';\nvar blockingMethods = ['alert', 'prompt', 'confirm'];\nvar _global = typeof window === 'object' && window || typeof self === 'object' && self || global;\npatchTimer(_global, set, clear, 'Timeout');\npatchTimer(_global, set, clear, 'Interval');\npatchTimer(_global, set, clear, 'Immediate');\npatchTimer(_global, 'request', 'cancel', 'AnimationFrame');\npatchTimer(_global, 'mozRequest', 'mozCancel', 'AnimationFrame');\npatchTimer(_global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\nfor (var i = 0; i < blockingMethods.length; i++) {\n var name_1 = blockingMethods[i];\n patchMethod(_global, name_1, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, _global, args, name);\n };\n });\n}\neventTargetPatch(_global);\npropertyDescriptorPatch(_global);\npatchClass('MutationObserver');\npatchClass('WebKitMutationObserver');\npatchClass('FileReader');\npropertyPatch();\nregisterElementPatch(_global);\n// Treat XMLHTTPRequest as a macrotask.\npatchXHR(_global);\nvar XHR_TASK = zoneSymbol('xhrTask');\nvar XHR_SYNC = zoneSymbol('xhrSync');\nvar XHR_LISTENER = zoneSymbol('xhrListener');\nvar XHR_SCHEDULED = zoneSymbol('xhrScheduled');\nfunction patchXHR(window) {\n function findPendingTask(target) {\n var pendingTask = target[XHR_TASK];\n return pendingTask;\n }\n function scheduleTask(task) {\n self[XHR_SCHEDULED] = false;\n var data = task.data;\n // remove existing event listener\n var listener = data.target[XHR_LISTENER];\n if (listener) {\n data.target.removeEventListener('readystatechange', listener);\n }\n var newListener = data.target[XHR_LISTENER] = function () {\n if (data.target.readyState === data.target.DONE) {\n if (!data.aborted && self[XHR_SCHEDULED]) {\n task.invoke();\n }\n }\n };\n data.target.addEventListener('readystatechange', newListener);\n var storedTask = data.target[XHR_TASK];\n if (!storedTask) {\n data.target[XHR_TASK] = task;\n }\n sendNative.apply(data.target, data.args);\n self[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(window.XMLHttpRequest.prototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n return openNative.apply(self, args);\n }; });\n var sendNative = patchMethod(window.XMLHttpRequest.prototype, 'send', function () { return function (self, args) {\n var zone = Zone.current;\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = { target: self, isPeriodic: false, delay: null, args: args, aborted: false };\n return zone.scheduleMacroTask('XMLHttpRequest.send', placeholderCallback, options, scheduleTask, clearTask);\n }\n }; });\n var abortNative = patchMethod(window.XMLHttpRequest.prototype, 'abort', function (delegate) { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no task\n // to cancel. Do nothing.\n }; });\n}\n/// GEO_LOCATION\nif (_global['navigator'] && _global['navigator'].geolocation) {\n patchPrototype(_global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/zone.js/dist/zone.js\n// module id = 483\n// module chunks = 1"],"sourceRoot":""} \ No newline at end of file diff --git a/uhk.js b/uhk.js deleted file mode 100644 index 3139309a..00000000 --- a/uhk.js +++ /dev/null @@ -1,77008 +0,0 @@ -/******/ (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__) { - - __webpack_require__(1); - __webpack_require__(308); - module.exports = __webpack_require__(310); - - -/***/ }, -/* 1 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(2); - __webpack_require__(293); - __webpack_require__(164); - __webpack_require__(295); - __webpack_require__(294); - __webpack_require__(296); - __webpack_require__(297); - __webpack_require__(298); - __webpack_require__(299); - __webpack_require__(300); - __webpack_require__(302); - __webpack_require__(303); - __webpack_require__(304); - __webpack_require__(306); - __webpack_require__(307); - module.exports = __webpack_require__(9); - -/***/ }, -/* 2 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(3); - __webpack_require__(52); - __webpack_require__(53); - __webpack_require__(54); - __webpack_require__(55); - __webpack_require__(57); - __webpack_require__(60); - __webpack_require__(61); - __webpack_require__(62); - __webpack_require__(63); - __webpack_require__(64); - __webpack_require__(65); - __webpack_require__(66); - __webpack_require__(67); - __webpack_require__(68); - __webpack_require__(70); - __webpack_require__(72); - __webpack_require__(74); - __webpack_require__(76); - __webpack_require__(79); - __webpack_require__(80); - __webpack_require__(81); - __webpack_require__(85); - __webpack_require__(87); - __webpack_require__(89); - __webpack_require__(92); - __webpack_require__(93); - __webpack_require__(94); - __webpack_require__(95); - __webpack_require__(97); - __webpack_require__(98); - __webpack_require__(99); - __webpack_require__(100); - __webpack_require__(101); - __webpack_require__(102); - __webpack_require__(103); - __webpack_require__(105); - __webpack_require__(106); - __webpack_require__(107); - __webpack_require__(109); - __webpack_require__(110); - __webpack_require__(111); - __webpack_require__(113); - __webpack_require__(114); - __webpack_require__(115); - __webpack_require__(116); - __webpack_require__(117); - __webpack_require__(118); - __webpack_require__(119); - __webpack_require__(120); - __webpack_require__(121); - __webpack_require__(122); - __webpack_require__(123); - __webpack_require__(124); - __webpack_require__(125); - __webpack_require__(126); - __webpack_require__(131); - __webpack_require__(132); - __webpack_require__(136); - __webpack_require__(137); - __webpack_require__(138); - __webpack_require__(139); - __webpack_require__(141); - __webpack_require__(142); - __webpack_require__(143); - __webpack_require__(144); - __webpack_require__(145); - __webpack_require__(146); - __webpack_require__(147); - __webpack_require__(148); - __webpack_require__(149); - __webpack_require__(150); - __webpack_require__(151); - __webpack_require__(152); - __webpack_require__(153); - __webpack_require__(154); - __webpack_require__(155); - __webpack_require__(156); - __webpack_require__(157); - __webpack_require__(159); - __webpack_require__(160); - __webpack_require__(166); - __webpack_require__(167); - __webpack_require__(169); - __webpack_require__(170); - __webpack_require__(171); - __webpack_require__(175); - __webpack_require__(176); - __webpack_require__(177); - __webpack_require__(178); - __webpack_require__(179); - __webpack_require__(181); - __webpack_require__(182); - __webpack_require__(183); - __webpack_require__(184); - __webpack_require__(187); - __webpack_require__(189); - __webpack_require__(190); - __webpack_require__(191); - __webpack_require__(193); - __webpack_require__(195); - __webpack_require__(197); - __webpack_require__(198); - __webpack_require__(199); - __webpack_require__(201); - __webpack_require__(202); - __webpack_require__(203); - __webpack_require__(204); - __webpack_require__(211); - __webpack_require__(214); - __webpack_require__(215); - __webpack_require__(217); - __webpack_require__(218); - __webpack_require__(221); - __webpack_require__(222); - __webpack_require__(224); - __webpack_require__(225); - __webpack_require__(226); - __webpack_require__(227); - __webpack_require__(228); - __webpack_require__(229); - __webpack_require__(230); - __webpack_require__(231); - __webpack_require__(232); - __webpack_require__(233); - __webpack_require__(234); - __webpack_require__(235); - __webpack_require__(236); - __webpack_require__(237); - __webpack_require__(238); - __webpack_require__(239); - __webpack_require__(240); - __webpack_require__(241); - __webpack_require__(242); - __webpack_require__(244); - __webpack_require__(245); - __webpack_require__(246); - __webpack_require__(247); - __webpack_require__(248); - __webpack_require__(249); - __webpack_require__(251); - __webpack_require__(252); - __webpack_require__(253); - __webpack_require__(254); - __webpack_require__(255); - __webpack_require__(256); - __webpack_require__(257); - __webpack_require__(258); - __webpack_require__(260); - __webpack_require__(261); - __webpack_require__(263); - __webpack_require__(264); - __webpack_require__(265); - __webpack_require__(266); - __webpack_require__(269); - __webpack_require__(270); - __webpack_require__(271); - __webpack_require__(272); - __webpack_require__(273); - __webpack_require__(274); - __webpack_require__(275); - __webpack_require__(276); - __webpack_require__(278); - __webpack_require__(279); - __webpack_require__(280); - __webpack_require__(281); - __webpack_require__(282); - __webpack_require__(283); - __webpack_require__(284); - __webpack_require__(285); - __webpack_require__(286); - __webpack_require__(287); - __webpack_require__(288); - __webpack_require__(291); - __webpack_require__(292); - module.exports = __webpack_require__(9); - -/***/ }, -/* 3 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // ECMAScript 6 symbols shim - var global = __webpack_require__(4) - , has = __webpack_require__(5) - , DESCRIPTORS = __webpack_require__(6) - , $export = __webpack_require__(8) - , redefine = __webpack_require__(18) - , META = __webpack_require__(22).KEY - , $fails = __webpack_require__(7) - , shared = __webpack_require__(23) - , setToStringTag = __webpack_require__(24) - , uid = __webpack_require__(19) - , wks = __webpack_require__(25) - , wksExt = __webpack_require__(26) - , wksDefine = __webpack_require__(27) - , keyOf = __webpack_require__(29) - , enumKeys = __webpack_require__(42) - , isArray = __webpack_require__(45) - , anObject = __webpack_require__(12) - , toIObject = __webpack_require__(32) - , toPrimitive = __webpack_require__(16) - , createDesc = __webpack_require__(17) - , _create = __webpack_require__(46) - , gOPNExt = __webpack_require__(49) - , $GOPD = __webpack_require__(51) - , $DP = __webpack_require__(11) - , $keys = __webpack_require__(30) - , gOPD = $GOPD.f - , dP = $DP.f - , gOPN = gOPNExt.f - , $Symbol = global.Symbol - , $JSON = global.JSON - , _stringify = $JSON && $JSON.stringify - , PROTOTYPE = 'prototype' - , HIDDEN = wks('_hidden') - , TO_PRIMITIVE = wks('toPrimitive') - , isEnum = {}.propertyIsEnumerable - , SymbolRegistry = shared('symbol-registry') - , AllSymbols = shared('symbols') - , OPSymbols = shared('op-symbols') - , ObjectProto = Object[PROTOTYPE] - , USE_NATIVE = typeof $Symbol == 'function' - , QObject = global.QObject; - // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 - var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; - - // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 - var setSymbolDesc = DESCRIPTORS && $fails(function(){ - return _create(dP({}, 'a', { - get: function(){ return dP(this, 'a', {value: 7}).a; } - })).a != 7; - }) ? function(it, key, D){ - var protoDesc = gOPD(ObjectProto, key); - if(protoDesc)delete ObjectProto[key]; - dP(it, key, D); - if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc); - } : dP; - - var wrap = function(tag){ - var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); - sym._k = tag; - return sym; - }; - - var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){ - return typeof it == 'symbol'; - } : function(it){ - return it instanceof $Symbol; - }; - - var $defineProperty = function defineProperty(it, key, D){ - if(it === ObjectProto)$defineProperty(OPSymbols, key, D); - anObject(it); - key = toPrimitive(key, true); - anObject(D); - if(has(AllSymbols, key)){ - if(!D.enumerable){ - if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {})); - it[HIDDEN][key] = true; - } else { - if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false; - D = _create(D, {enumerable: createDesc(0, false)}); - } return setSymbolDesc(it, key, D); - } return dP(it, key, D); - }; - var $defineProperties = function defineProperties(it, P){ - anObject(it); - var keys = enumKeys(P = toIObject(P)) - , i = 0 - , l = keys.length - , key; - while(l > i)$defineProperty(it, key = keys[i++], P[key]); - return it; - }; - var $create = function create(it, P){ - return P === undefined ? _create(it) : $defineProperties(_create(it), P); - }; - var $propertyIsEnumerable = function propertyIsEnumerable(key){ - var E = isEnum.call(this, key = toPrimitive(key, true)); - if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false; - return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; - }; - var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){ - it = toIObject(it); - key = toPrimitive(key, true); - if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return; - var D = gOPD(it, key); - if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true; - return D; - }; - var $getOwnPropertyNames = function getOwnPropertyNames(it){ - var names = gOPN(toIObject(it)) - , result = [] - , i = 0 - , key; - while(names.length > i){ - if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key); - } return result; - }; - var $getOwnPropertySymbols = function getOwnPropertySymbols(it){ - var IS_OP = it === ObjectProto - , names = gOPN(IS_OP ? OPSymbols : toIObject(it)) - , result = [] - , i = 0 - , key; - while(names.length > i){ - if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]); - } return result; - }; - - // 19.4.1.1 Symbol([description]) - if(!USE_NATIVE){ - $Symbol = function Symbol(){ - if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!'); - var tag = uid(arguments.length > 0 ? arguments[0] : undefined); - var $set = function(value){ - if(this === ObjectProto)$set.call(OPSymbols, value); - if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false; - setSymbolDesc(this, tag, createDesc(1, value)); - }; - if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set}); - return wrap(tag); - }; - redefine($Symbol[PROTOTYPE], 'toString', function toString(){ - return this._k; - }); - - $GOPD.f = $getOwnPropertyDescriptor; - $DP.f = $defineProperty; - __webpack_require__(50).f = gOPNExt.f = $getOwnPropertyNames; - __webpack_require__(44).f = $propertyIsEnumerable; - __webpack_require__(43).f = $getOwnPropertySymbols; - - if(DESCRIPTORS && !__webpack_require__(28)){ - redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); - } - - wksExt.f = function(name){ - return wrap(wks(name)); - } - } - - $export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol}); - - for(var symbols = ( - // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 - 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' - ).split(','), i = 0; symbols.length > i; )wks(symbols[i++]); - - for(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]); - - $export($export.S + $export.F * !USE_NATIVE, 'Symbol', { - // 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){ - if(isSymbol(key))return keyOf(SymbolRegistry, key); - throw TypeError(key + ' is not a symbol!'); - }, - useSetter: function(){ setter = true; }, - useSimple: function(){ setter = false; } - }); - - $export($export.S + $export.F * !USE_NATIVE, 'Object', { - // 19.1.2.2 Object.create(O [, Properties]) - create: $create, - // 19.1.2.4 Object.defineProperty(O, P, Attributes) - defineProperty: $defineProperty, - // 19.1.2.3 Object.defineProperties(O, Properties) - defineProperties: $defineProperties, - // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) - getOwnPropertyDescriptor: $getOwnPropertyDescriptor, - // 19.1.2.7 Object.getOwnPropertyNames(O) - getOwnPropertyNames: $getOwnPropertyNames, - // 19.1.2.8 Object.getOwnPropertySymbols(O) - getOwnPropertySymbols: $getOwnPropertySymbols - }); - - // 24.3.2 JSON.stringify(value [, replacer [, space]]) - $JSON && $export($export.S + $export.F * (!USE_NATIVE || $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)) != '{}'; - })), 'JSON', { - stringify: function stringify(it){ - if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined - var args = [it] - , i = 1 - , replacer, $replacer; - while(arguments.length > i)args.push(arguments[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); - } - }); - - // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) - $Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(10)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); - // 19.4.3.5 Symbol.prototype[@@toStringTag] - setToStringTag($Symbol, 'Symbol'); - // 20.2.1.9 Math[@@toStringTag] - setToStringTag(Math, 'Math', true); - // 24.3.3 JSON[@@toStringTag] - setToStringTag(global.JSON, 'JSON', true); - -/***/ }, -/* 4 */ -/***/ 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 - -/***/ }, -/* 5 */ -/***/ function(module, exports) { - - var hasOwnProperty = {}.hasOwnProperty; - module.exports = function(it, key){ - return hasOwnProperty.call(it, key); - }; - -/***/ }, -/* 6 */ -/***/ function(module, exports, __webpack_require__) { - - // Thank's IE8 for his funny defineProperty - module.exports = !__webpack_require__(7)(function(){ - return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; - }); - -/***/ }, -/* 7 */ -/***/ function(module, exports) { - - module.exports = function(exec){ - try { - return !!exec(); - } catch(e){ - return true; - } - }; - -/***/ }, -/* 8 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(4) - , core = __webpack_require__(9) - , hide = __webpack_require__(10) - , redefine = __webpack_require__(18) - , ctx = __webpack_require__(20) - , 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 && target[key] !== undefined; - // 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)redefine(target, key, out, type & $export.U); - // 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 - $export.U = 64; // safe - $export.R = 128; // real proto method for `library` - module.exports = $export; - -/***/ }, -/* 9 */ -/***/ function(module, exports) { - - var core = module.exports = {version: '2.4.0'}; - if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef - -/***/ }, -/* 10 */ -/***/ function(module, exports, __webpack_require__) { - - var dP = __webpack_require__(11) - , createDesc = __webpack_require__(17); - module.exports = __webpack_require__(6) ? function(object, key, value){ - return dP.f(object, key, createDesc(1, value)); - } : function(object, key, value){ - object[key] = value; - return object; - }; - -/***/ }, -/* 11 */ -/***/ function(module, exports, __webpack_require__) { - - var anObject = __webpack_require__(12) - , IE8_DOM_DEFINE = __webpack_require__(14) - , toPrimitive = __webpack_require__(16) - , dP = Object.defineProperty; - - exports.f = __webpack_require__(6) ? Object.defineProperty : function defineProperty(O, P, Attributes){ - anObject(O); - P = toPrimitive(P, true); - anObject(Attributes); - if(IE8_DOM_DEFINE)try { - return dP(O, P, Attributes); - } catch(e){ /* empty */ } - if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!'); - if('value' in Attributes)O[P] = Attributes.value; - return O; - }; - -/***/ }, -/* 12 */ -/***/ function(module, exports, __webpack_require__) { - - var isObject = __webpack_require__(13); - module.exports = function(it){ - if(!isObject(it))throw TypeError(it + ' is not an object!'); - return it; - }; - -/***/ }, -/* 13 */ -/***/ function(module, exports) { - - module.exports = function(it){ - return typeof it === 'object' ? it !== null : typeof it === 'function'; - }; - -/***/ }, -/* 14 */ -/***/ function(module, exports, __webpack_require__) { - - module.exports = !__webpack_require__(6) && !__webpack_require__(7)(function(){ - return Object.defineProperty(__webpack_require__(15)('div'), 'a', {get: function(){ return 7; }}).a != 7; - }); - -/***/ }, -/* 15 */ -/***/ function(module, exports, __webpack_require__) { - - var isObject = __webpack_require__(13) - , document = __webpack_require__(4).document - // in old IE typeof document.createElement is 'object' - , is = isObject(document) && isObject(document.createElement); - module.exports = function(it){ - return is ? document.createElement(it) : {}; - }; - -/***/ }, -/* 16 */ -/***/ function(module, exports, __webpack_require__) { - - // 7.1.1 ToPrimitive(input [, PreferredType]) - var isObject = __webpack_require__(13); - // 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"); - }; - -/***/ }, -/* 17 */ -/***/ function(module, exports) { - - module.exports = function(bitmap, value){ - return { - enumerable : !(bitmap & 1), - configurable: !(bitmap & 2), - writable : !(bitmap & 4), - value : value - }; - }; - -/***/ }, -/* 18 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(4) - , hide = __webpack_require__(10) - , has = __webpack_require__(5) - , SRC = __webpack_require__(19)('src') - , TO_STRING = 'toString' - , $toString = Function[TO_STRING] - , TPL = ('' + $toString).split(TO_STRING); - - __webpack_require__(9).inspectSource = function(it){ - return $toString.call(it); - }; - - (module.exports = function(O, key, val, safe){ - var isFunction = typeof val == 'function'; - if(isFunction)has(val, 'name') || hide(val, 'name', key); - if(O[key] === val)return; - if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); - if(O === global){ - O[key] = val; - } else { - if(!safe){ - delete O[key]; - hide(O, key, val); - } else { - if(O[key])O[key] = val; - else hide(O, key, val); - } - } - // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative - })(Function.prototype, TO_STRING, function toString(){ - return typeof this == 'function' && this[SRC] || $toString.call(this); - }); - -/***/ }, -/* 19 */ -/***/ function(module, exports) { - - var id = 0 - , px = Math.random(); - module.exports = function(key){ - return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); - }; - -/***/ }, -/* 20 */ -/***/ function(module, exports, __webpack_require__) { - - // optional / simple context binding - var aFunction = __webpack_require__(21); - 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); - }; - }; - -/***/ }, -/* 21 */ -/***/ function(module, exports) { - - module.exports = function(it){ - if(typeof it != 'function')throw TypeError(it + ' is not a function!'); - return it; - }; - -/***/ }, -/* 22 */ -/***/ function(module, exports, __webpack_require__) { - - var META = __webpack_require__(19)('meta') - , isObject = __webpack_require__(13) - , has = __webpack_require__(5) - , setDesc = __webpack_require__(11).f - , id = 0; - var isExtensible = Object.isExtensible || function(){ - return true; - }; - var FREEZE = !__webpack_require__(7)(function(){ - return isExtensible(Object.preventExtensions({})); - }); - var setMeta = function(it){ - setDesc(it, META, {value: { - i: 'O' + ++id, // object ID - w: {} // weak collections IDs - }}); - }; - var fastKey = function(it, create){ - // return primitive with prefix - if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; - if(!has(it, META)){ - // can't set metadata to uncaught frozen object - if(!isExtensible(it))return 'F'; - // not necessary to add metadata - if(!create)return 'E'; - // add missing metadata - setMeta(it); - // return object ID - } return it[META].i; - }; - var getWeak = function(it, create){ - if(!has(it, META)){ - // can't set metadata to uncaught frozen object - if(!isExtensible(it))return true; - // not necessary to add metadata - if(!create)return false; - // add missing metadata - setMeta(it); - // return hash weak collections IDs - } return it[META].w; - }; - // add metadata on freeze-family methods calling - var onFreeze = function(it){ - if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it); - return it; - }; - var meta = module.exports = { - KEY: META, - NEED: false, - fastKey: fastKey, - getWeak: getWeak, - onFreeze: onFreeze - }; - -/***/ }, -/* 23 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(4) - , SHARED = '__core-js_shared__' - , store = global[SHARED] || (global[SHARED] = {}); - module.exports = function(key){ - return store[key] || (store[key] = {}); - }; - -/***/ }, -/* 24 */ -/***/ function(module, exports, __webpack_require__) { - - var def = __webpack_require__(11).f - , has = __webpack_require__(5) - , TAG = __webpack_require__(25)('toStringTag'); - - module.exports = function(it, tag, stat){ - if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag}); - }; - -/***/ }, -/* 25 */ -/***/ function(module, exports, __webpack_require__) { - - var store = __webpack_require__(23)('wks') - , uid = __webpack_require__(19) - , Symbol = __webpack_require__(4).Symbol - , USE_SYMBOL = typeof Symbol == 'function'; - - var $exports = module.exports = function(name){ - return store[name] || (store[name] = - USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); - }; - - $exports.store = store; - -/***/ }, -/* 26 */ -/***/ function(module, exports, __webpack_require__) { - - exports.f = __webpack_require__(25); - -/***/ }, -/* 27 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(4) - , core = __webpack_require__(9) - , LIBRARY = __webpack_require__(28) - , wksExt = __webpack_require__(26) - , defineProperty = __webpack_require__(11).f; - module.exports = function(name){ - var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); - if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)}); - }; - -/***/ }, -/* 28 */ -/***/ function(module, exports) { - - module.exports = false; - -/***/ }, -/* 29 */ -/***/ function(module, exports, __webpack_require__) { - - var getKeys = __webpack_require__(30) - , toIObject = __webpack_require__(32); - module.exports = function(object, el){ - var O = toIObject(object) - , keys = getKeys(O) - , length = keys.length - , index = 0 - , key; - while(length > index)if(O[key = keys[index++]] === el)return key; - }; - -/***/ }, -/* 30 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.14 / 15.2.3.14 Object.keys(O) - var $keys = __webpack_require__(31) - , enumBugKeys = __webpack_require__(41); - - module.exports = Object.keys || function keys(O){ - return $keys(O, enumBugKeys); - }; - -/***/ }, -/* 31 */ -/***/ function(module, exports, __webpack_require__) { - - var has = __webpack_require__(5) - , toIObject = __webpack_require__(32) - , arrayIndexOf = __webpack_require__(36)(false) - , IE_PROTO = __webpack_require__(40)('IE_PROTO'); - - module.exports = function(object, names){ - var O = toIObject(object) - , 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(names.length > i)if(has(O, key = names[i++])){ - ~arrayIndexOf(result, key) || result.push(key); - } - return result; - }; - -/***/ }, -/* 32 */ -/***/ function(module, exports, __webpack_require__) { - - // to indexed object, toObject with fallback for non-array-like ES3 strings - var IObject = __webpack_require__(33) - , defined = __webpack_require__(35); - module.exports = function(it){ - return IObject(defined(it)); - }; - -/***/ }, -/* 33 */ -/***/ function(module, exports, __webpack_require__) { - - // fallback for non-array-like ES3 and non-enumerable old V8 strings - var cof = __webpack_require__(34); - module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){ - return cof(it) == 'String' ? it.split('') : Object(it); - }; - -/***/ }, -/* 34 */ -/***/ function(module, exports) { - - var toString = {}.toString; - - module.exports = function(it){ - return toString.call(it).slice(8, -1); - }; - -/***/ }, -/* 35 */ -/***/ function(module, exports) { - - // 7.2.1 RequireObjectCoercible(argument) - module.exports = function(it){ - if(it == undefined)throw TypeError("Can't call method on " + it); - return it; - }; - -/***/ }, -/* 36 */ -/***/ function(module, exports, __webpack_require__) { - - // false -> Array#indexOf - // true -> Array#includes - var toIObject = __webpack_require__(32) - , toLength = __webpack_require__(37) - , toIndex = __webpack_require__(39); - module.exports = function(IS_INCLUDES){ - return function($this, el, fromIndex){ - var O = toIObject($this) - , length = toLength(O.length) - , index = toIndex(fromIndex, length) - , value; - // Array#includes uses SameValueZero equality algorithm - if(IS_INCLUDES && el != el)while(length > index){ - value = O[index++]; - if(value != value)return true; - // Array#toIndex ignores holes, Array#includes - not - } else for(;length > index; index++)if(IS_INCLUDES || index in O){ - if(O[index] === el)return IS_INCLUDES || index || 0; - } return !IS_INCLUDES && -1; - }; - }; - -/***/ }, -/* 37 */ -/***/ function(module, exports, __webpack_require__) { - - // 7.1.15 ToLength - var toInteger = __webpack_require__(38) - , min = Math.min; - module.exports = function(it){ - return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 - }; - -/***/ }, -/* 38 */ -/***/ function(module, exports) { - - // 7.1.4 ToInteger - var ceil = Math.ceil - , floor = Math.floor; - module.exports = function(it){ - return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); - }; - -/***/ }, -/* 39 */ -/***/ function(module, exports, __webpack_require__) { - - var toInteger = __webpack_require__(38) - , max = Math.max - , min = Math.min; - module.exports = function(index, length){ - index = toInteger(index); - return index < 0 ? max(index + length, 0) : min(index, length); - }; - -/***/ }, -/* 40 */ -/***/ function(module, exports, __webpack_require__) { - - var shared = __webpack_require__(23)('keys') - , uid = __webpack_require__(19); - module.exports = function(key){ - return shared[key] || (shared[key] = uid(key)); - }; - -/***/ }, -/* 41 */ -/***/ function(module, exports) { - - // IE 8- don't enum bug keys - module.exports = ( - 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' - ).split(','); - -/***/ }, -/* 42 */ -/***/ function(module, exports, __webpack_require__) { - - // all enumerable object keys, includes symbols - var getKeys = __webpack_require__(30) - , gOPS = __webpack_require__(43) - , pIE = __webpack_require__(44); - module.exports = function(it){ - var result = getKeys(it) - , getSymbols = gOPS.f; - if(getSymbols){ - var symbols = getSymbols(it) - , isEnum = pIE.f - , i = 0 - , key; - while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key); - } return result; - }; - -/***/ }, -/* 43 */ -/***/ function(module, exports) { - - exports.f = Object.getOwnPropertySymbols; - -/***/ }, -/* 44 */ -/***/ function(module, exports) { - - exports.f = {}.propertyIsEnumerable; - -/***/ }, -/* 45 */ -/***/ function(module, exports, __webpack_require__) { - - // 7.2.2 IsArray(argument) - var cof = __webpack_require__(34); - module.exports = Array.isArray || function isArray(arg){ - return cof(arg) == 'Array'; - }; - -/***/ }, -/* 46 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) - var anObject = __webpack_require__(12) - , dPs = __webpack_require__(47) - , enumBugKeys = __webpack_require__(41) - , IE_PROTO = __webpack_require__(40)('IE_PROTO') - , Empty = function(){ /* empty */ } - , PROTOTYPE = 'prototype'; - - // Create object with fake `null` prototype: use iframe Object with cleared prototype - var createDict = function(){ - // Thrash, waste and sodomy: IE GC bug - var iframe = __webpack_require__(15)('iframe') - , i = enumBugKeys.length - , lt = '<' - , gt = '>' - , iframeDocument; - iframe.style.display = 'none'; - __webpack_require__(48).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(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); - iframeDocument.close(); - createDict = iframeDocument.F; - while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]]; - return createDict(); - }; - - module.exports = Object.create || function create(O, Properties){ - var result; - if(O !== null){ - Empty[PROTOTYPE] = anObject(O); - result = new Empty; - Empty[PROTOTYPE] = null; - // add "__proto__" for Object.getPrototypeOf polyfill - result[IE_PROTO] = O; - } else result = createDict(); - return Properties === undefined ? result : dPs(result, Properties); - }; - - -/***/ }, -/* 47 */ -/***/ function(module, exports, __webpack_require__) { - - var dP = __webpack_require__(11) - , anObject = __webpack_require__(12) - , getKeys = __webpack_require__(30); - - module.exports = __webpack_require__(6) ? Object.defineProperties : function defineProperties(O, Properties){ - anObject(O); - var keys = getKeys(Properties) - , length = keys.length - , i = 0 - , P; - while(length > i)dP.f(O, P = keys[i++], Properties[P]); - return O; - }; - -/***/ }, -/* 48 */ -/***/ function(module, exports, __webpack_require__) { - - module.exports = __webpack_require__(4).document && document.documentElement; - -/***/ }, -/* 49 */ -/***/ function(module, exports, __webpack_require__) { - - // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window - var toIObject = __webpack_require__(32) - , gOPN = __webpack_require__(50).f - , toString = {}.toString; - - var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames - ? Object.getOwnPropertyNames(window) : []; - - var getWindowNames = function(it){ - try { - return gOPN(it); - } catch(e){ - return windowNames.slice(); - } - }; - - module.exports.f = function getOwnPropertyNames(it){ - return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); - }; - - -/***/ }, -/* 50 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) - var $keys = __webpack_require__(31) - , hiddenKeys = __webpack_require__(41).concat('length', 'prototype'); - - exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){ - return $keys(O, hiddenKeys); - }; - -/***/ }, -/* 51 */ -/***/ function(module, exports, __webpack_require__) { - - var pIE = __webpack_require__(44) - , createDesc = __webpack_require__(17) - , toIObject = __webpack_require__(32) - , toPrimitive = __webpack_require__(16) - , has = __webpack_require__(5) - , IE8_DOM_DEFINE = __webpack_require__(14) - , gOPD = Object.getOwnPropertyDescriptor; - - exports.f = __webpack_require__(6) ? gOPD : function getOwnPropertyDescriptor(O, P){ - O = toIObject(O); - P = toPrimitive(P, true); - if(IE8_DOM_DEFINE)try { - return gOPD(O, P); - } catch(e){ /* empty */ } - if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]); - }; - -/***/ }, -/* 52 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(8) - // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) - $export($export.S, 'Object', {create: __webpack_require__(46)}); - -/***/ }, -/* 53 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(8); - // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) - $export($export.S + $export.F * !__webpack_require__(6), 'Object', {defineProperty: __webpack_require__(11).f}); - -/***/ }, -/* 54 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(8); - // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) - $export($export.S + $export.F * !__webpack_require__(6), 'Object', {defineProperties: __webpack_require__(47)}); - -/***/ }, -/* 55 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) - var toIObject = __webpack_require__(32) - , $getOwnPropertyDescriptor = __webpack_require__(51).f; - - __webpack_require__(56)('getOwnPropertyDescriptor', function(){ - return function getOwnPropertyDescriptor(it, key){ - return $getOwnPropertyDescriptor(toIObject(it), key); - }; - }); - -/***/ }, -/* 56 */ -/***/ function(module, exports, __webpack_require__) { - - // most Object methods by ES6 should accept primitives - var $export = __webpack_require__(8) - , core = __webpack_require__(9) - , fails = __webpack_require__(7); - 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); - }; - -/***/ }, -/* 57 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.9 Object.getPrototypeOf(O) - var toObject = __webpack_require__(58) - , $getPrototypeOf = __webpack_require__(59); - - __webpack_require__(56)('getPrototypeOf', function(){ - return function getPrototypeOf(it){ - return $getPrototypeOf(toObject(it)); - }; - }); - -/***/ }, -/* 58 */ -/***/ function(module, exports, __webpack_require__) { - - // 7.1.13 ToObject(argument) - var defined = __webpack_require__(35); - module.exports = function(it){ - return Object(defined(it)); - }; - -/***/ }, -/* 59 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) - var has = __webpack_require__(5) - , toObject = __webpack_require__(58) - , IE_PROTO = __webpack_require__(40)('IE_PROTO') - , ObjectProto = Object.prototype; - - module.exports = Object.getPrototypeOf || function(O){ - O = toObject(O); - 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; - }; - -/***/ }, -/* 60 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.14 Object.keys(O) - var toObject = __webpack_require__(58) - , $keys = __webpack_require__(30); - - __webpack_require__(56)('keys', function(){ - return function keys(it){ - return $keys(toObject(it)); - }; - }); - -/***/ }, -/* 61 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.7 Object.getOwnPropertyNames(O) - __webpack_require__(56)('getOwnPropertyNames', function(){ - return __webpack_require__(49).f; - }); - -/***/ }, -/* 62 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.5 Object.freeze(O) - var isObject = __webpack_require__(13) - , meta = __webpack_require__(22).onFreeze; - - __webpack_require__(56)('freeze', function($freeze){ - return function freeze(it){ - return $freeze && isObject(it) ? $freeze(meta(it)) : it; - }; - }); - -/***/ }, -/* 63 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.17 Object.seal(O) - var isObject = __webpack_require__(13) - , meta = __webpack_require__(22).onFreeze; - - __webpack_require__(56)('seal', function($seal){ - return function seal(it){ - return $seal && isObject(it) ? $seal(meta(it)) : it; - }; - }); - -/***/ }, -/* 64 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.15 Object.preventExtensions(O) - var isObject = __webpack_require__(13) - , meta = __webpack_require__(22).onFreeze; - - __webpack_require__(56)('preventExtensions', function($preventExtensions){ - return function preventExtensions(it){ - return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it; - }; - }); - -/***/ }, -/* 65 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.12 Object.isFrozen(O) - var isObject = __webpack_require__(13); - - __webpack_require__(56)('isFrozen', function($isFrozen){ - return function isFrozen(it){ - return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; - }; - }); - -/***/ }, -/* 66 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.13 Object.isSealed(O) - var isObject = __webpack_require__(13); - - __webpack_require__(56)('isSealed', function($isSealed){ - return function isSealed(it){ - return isObject(it) ? $isSealed ? $isSealed(it) : false : true; - }; - }); - -/***/ }, -/* 67 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.2.11 Object.isExtensible(O) - var isObject = __webpack_require__(13); - - __webpack_require__(56)('isExtensible', function($isExtensible){ - return function isExtensible(it){ - return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; - }; - }); - -/***/ }, -/* 68 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.3.1 Object.assign(target, source) - var $export = __webpack_require__(8); - - $export($export.S + $export.F, 'Object', {assign: __webpack_require__(69)}); - -/***/ }, -/* 69 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 19.1.2.1 Object.assign(target, source, ...) - var getKeys = __webpack_require__(30) - , gOPS = __webpack_require__(43) - , pIE = __webpack_require__(44) - , toObject = __webpack_require__(58) - , IObject = __webpack_require__(33) - , $assign = Object.assign; - - // should work with symbols and should have deterministic property order (V8 bug) - module.exports = !$assign || __webpack_require__(7)(function(){ - var A = {} - , B = {} - , S = Symbol() - , K = 'abcdefghijklmnopqrst'; - A[S] = 7; - K.split('').forEach(function(k){ B[k] = k; }); - return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; - }) ? function assign(target, source){ // eslint-disable-line no-unused-vars - var T = toObject(target) - , aLen = arguments.length - , index = 1 - , getSymbols = gOPS.f - , isEnum = pIE.f; - while(aLen > index){ - var S = IObject(arguments[index++]) - , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S) - , length = keys.length - , j = 0 - , key; - while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key]; - } return T; - } : $assign; - -/***/ }, -/* 70 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.3.10 Object.is(value1, value2) - var $export = __webpack_require__(8); - $export($export.S, 'Object', {is: __webpack_require__(71)}); - -/***/ }, -/* 71 */ -/***/ function(module, exports) { - - // 7.2.9 SameValue(x, y) - module.exports = Object.is || function is(x, y){ - return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; - }; - -/***/ }, -/* 72 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.1.3.19 Object.setPrototypeOf(O, proto) - var $export = __webpack_require__(8); - $export($export.S, 'Object', {setPrototypeOf: __webpack_require__(73).set}); - -/***/ }, -/* 73 */ -/***/ function(module, exports, __webpack_require__) { - - // Works with __proto__ only. Old v8 can't work with null proto objects. - /* eslint-disable no-proto */ - var isObject = __webpack_require__(13) - , anObject = __webpack_require__(12); - var check = function(O, proto){ - anObject(O); - if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!"); - }; - module.exports = { - set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line - function(test, buggy, set){ - try { - set = __webpack_require__(20)(Function.call, __webpack_require__(51).f(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), - check: check - }; - -/***/ }, -/* 74 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 19.1.3.6 Object.prototype.toString() - var classof = __webpack_require__(75) - , test = {}; - test[__webpack_require__(25)('toStringTag')] = 'z'; - if(test + '' != '[object z]'){ - __webpack_require__(18)(Object.prototype, 'toString', function toString(){ - return '[object ' + classof(this) + ']'; - }, true); - } - -/***/ }, -/* 75 */ -/***/ function(module, exports, __webpack_require__) { - - // getting tag from 19.1.3.6 Object.prototype.toString() - var cof = __webpack_require__(34) - , TAG = __webpack_require__(25)('toStringTag') - // ES3 wrong here - , ARG = cof(function(){ return arguments; }()) == 'Arguments'; - - // fallback for IE11 Script Access Denied error - var tryGet = function(it, key){ - try { - return it[key]; - } catch(e){ /* empty */ } - }; - - module.exports = function(it){ - var O, T, B; - return it === undefined ? 'Undefined' : it === null ? 'Null' - // @@toStringTag case - : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T - // builtinTag case - : ARG ? cof(O) - // ES3 arguments fallback - : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; - }; - -/***/ }, -/* 76 */ -/***/ function(module, exports, __webpack_require__) { - - // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) - var $export = __webpack_require__(8); - - $export($export.P, 'Function', {bind: __webpack_require__(77)}); - -/***/ }, -/* 77 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var aFunction = __webpack_require__(21) - , isObject = __webpack_require__(13) - , invoke = __webpack_require__(78) - , arraySlice = [].slice - , factories = {}; - - var construct = function(F, len, args){ - 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); - }; - - module.exports = Function.bind || function bind(that /*, args... */){ - var fn = aFunction(this) - , partArgs = arraySlice.call(arguments, 1); - var bound = function(/* args... */){ - var args = partArgs.concat(arraySlice.call(arguments)); - return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); - }; - if(isObject(fn.prototype))bound.prototype = fn.prototype; - return bound; - }; - -/***/ }, -/* 78 */ -/***/ function(module, exports) { - - // fast apply, http://jsperf.lnkit.com/fast-apply/5 - 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); - }; - -/***/ }, -/* 79 */ -/***/ function(module, exports, __webpack_require__) { - - var dP = __webpack_require__(11).f - , createDesc = __webpack_require__(17) - , has = __webpack_require__(5) - , FProto = Function.prototype - , nameRE = /^\s*function ([^ (]*)/ - , NAME = 'name'; - - var isExtensible = Object.isExtensible || function(){ - return true; - }; - - // 19.2.4.2 name - NAME in FProto || __webpack_require__(6) && dP(FProto, NAME, { - configurable: true, - get: function(){ - try { - var that = this - , name = ('' + that).match(nameRE)[1]; - has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name)); - return name; - } catch(e){ - return ''; - } - } - }); - -/***/ }, -/* 80 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var isObject = __webpack_require__(13) - , getPrototypeOf = __webpack_require__(59) - , HAS_INSTANCE = __webpack_require__(25)('hasInstance') - , FunctionProto = Function.prototype; - // 19.2.3.6 Function.prototype[@@hasInstance](V) - if(!(HAS_INSTANCE in FunctionProto))__webpack_require__(11).f(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 = getPrototypeOf(O))if(this.prototype === O)return true; - return false; - }}); - -/***/ }, -/* 81 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(8) - , $parseInt = __webpack_require__(82); - // 18.2.5 parseInt(string, radix) - $export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt}); - -/***/ }, -/* 82 */ -/***/ function(module, exports, __webpack_require__) { - - var $parseInt = __webpack_require__(4).parseInt - , $trim = __webpack_require__(83).trim - , ws = __webpack_require__(84) - , hex = /^[\-+]?0[xX]/; - - module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix){ - var string = $trim(String(str), 3); - return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10)); - } : $parseInt; - -/***/ }, -/* 83 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(8) - , defined = __webpack_require__(35) - , fails = __webpack_require__(7) - , spaces = __webpack_require__(84) - , space = '[' + spaces + ']' - , non = '\u200b\u0085' - , ltrim = RegExp('^' + space + space + '*') - , rtrim = RegExp(space + space + '*$'); - - var exporter = function(KEY, exec, ALIAS){ - var exp = {}; - var FORCE = fails(function(){ - return !!spaces[KEY]() || non[KEY]() != non; - }); - var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; - if(ALIAS)exp[ALIAS] = fn; - $export($export.P + $export.F * FORCE, '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; - -/***/ }, -/* 84 */ -/***/ function(module, exports) { - - module.exports = '\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'; - -/***/ }, -/* 85 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(8) - , $parseFloat = __webpack_require__(86); - // 18.2.4 parseFloat(string) - $export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat}); - -/***/ }, -/* 86 */ -/***/ function(module, exports, __webpack_require__) { - - var $parseFloat = __webpack_require__(4).parseFloat - , $trim = __webpack_require__(83).trim; - - module.exports = 1 / $parseFloat(__webpack_require__(84) + '-0') !== -Infinity ? function parseFloat(str){ - var string = $trim(String(str), 3) - , result = $parseFloat(string); - return result === 0 && string.charAt(0) == '-' ? -0 : result; - } : $parseFloat; - -/***/ }, -/* 87 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var global = __webpack_require__(4) - , has = __webpack_require__(5) - , cof = __webpack_require__(34) - , inheritIfRequired = __webpack_require__(88) - , toPrimitive = __webpack_require__(16) - , fails = __webpack_require__(7) - , gOPN = __webpack_require__(50).f - , gOPD = __webpack_require__(51).f - , dP = __webpack_require__(11).f - , $trim = __webpack_require__(83).trim - , NUMBER = 'Number' - , $Number = global[NUMBER] - , Base = $Number - , proto = $Number.prototype - // Opera ~12 has broken Object#toString - , BROKEN_COF = cof(__webpack_require__(46)(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); - } - } return +it; - }; - - 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) - ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it); - }; - for(var keys = __webpack_require__(6) ? gOPN(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(','), j = 0, key; keys.length > j; j++){ - if(has(Base, key = keys[j]) && !has($Number, key)){ - dP($Number, key, gOPD(Base, key)); - } - } - $Number.prototype = proto; - proto.constructor = $Number; - __webpack_require__(18)(global, NUMBER, $Number); - } - -/***/ }, -/* 88 */ -/***/ function(module, exports, __webpack_require__) { - - var isObject = __webpack_require__(13) - , setPrototypeOf = __webpack_require__(73).set; - module.exports = function(that, target, C){ - var P, S = target.constructor; - if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){ - setPrototypeOf(that, P); - } return that; - }; - -/***/ }, -/* 89 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , toInteger = __webpack_require__(38) - , aNumberValue = __webpack_require__(90) - , repeat = __webpack_require__(91) - , $toFixed = 1..toFixed - , floor = Math.floor - , data = [0, 0, 0, 0, 0, 0] - , ERROR = 'Number.toFixed: incorrect invocation!' - , ZERO = '0'; - - var multiply = function(n, c){ - var i = -1 - , c2 = c; - while(++i < 6){ - c2 += n * data[i]; - data[i] = c2 % 1e7; - c2 = floor(c2 / 1e7); - } - }; - var divide = function(n){ - var i = 6 - , c = 0; - while(--i >= 0){ - c += data[i]; - data[i] = floor(c / n); - c = (c % n) * 1e7; - } - }; - var numToString = function(){ - var i = 6 - , s = ''; - while(--i >= 0){ - if(s !== '' || i === 0 || data[i] !== 0){ - var t = String(data[i]); - s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t; - } - } return s; - }; - var pow = function(x, n, acc){ - return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); - }; - var log = function(x){ - var n = 0 - , x2 = x; - while(x2 >= 4096){ - n += 12; - x2 /= 4096; - } - while(x2 >= 2){ - n += 1; - x2 /= 2; - } return n; - }; - - $export($export.P + $export.F * (!!$toFixed && ( - 0.00008.toFixed(3) !== '0.000' || - 0.9.toFixed(0) !== '1' || - 1.255.toFixed(2) !== '1.25' || - 1000000000000000128..toFixed(0) !== '1000000000000000128' - ) || !__webpack_require__(7)(function(){ - // V8 ~ Android 4.3- - $toFixed.call({}); - })), 'Number', { - toFixed: function toFixed(fractionDigits){ - var x = aNumberValue(this, ERROR) - , f = toInteger(fractionDigits) - , s = '' - , m = ZERO - , e, z, j, k; - if(f < 0 || f > 20)throw RangeError(ERROR); - if(x != x)return 'NaN'; - if(x <= -1e21 || x >= 1e21)return String(x); - if(x < 0){ - s = '-'; - x = -x; - } - if(x > 1e-21){ - e = log(x * pow(2, 69, 1)) - 69; - z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1); - z *= 0x10000000000000; - e = 52 - e; - if(e > 0){ - multiply(0, z); - j = f; - while(j >= 7){ - multiply(1e7, 0); - j -= 7; - } - multiply(pow(10, j, 1), 0); - j = e - 1; - while(j >= 23){ - divide(1 << 23); - j -= 23; - } - divide(1 << j); - multiply(1, 1); - divide(2); - m = numToString(); - } else { - multiply(0, z); - multiply(1 << -e, 0); - m = numToString() + repeat.call(ZERO, f); - } - } - if(f > 0){ - k = m.length; - m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f)); - } else { - m = s + m; - } return m; - } - }); - -/***/ }, -/* 90 */ -/***/ function(module, exports, __webpack_require__) { - - var cof = __webpack_require__(34); - module.exports = function(it, msg){ - if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg); - return +it; - }; - -/***/ }, -/* 91 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var toInteger = __webpack_require__(38) - , defined = __webpack_require__(35); - - 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; - }; - -/***/ }, -/* 92 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , $fails = __webpack_require__(7) - , aNumberValue = __webpack_require__(90) - , $toPrecision = 1..toPrecision; - - $export($export.P + $export.F * ($fails(function(){ - // IE7- - return $toPrecision.call(1, undefined) !== '1'; - }) || !$fails(function(){ - // V8 ~ Android 4.3- - $toPrecision.call({}); - })), 'Number', { - toPrecision: function toPrecision(precision){ - var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!'); - return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); - } - }); - -/***/ }, -/* 93 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.1.2.1 Number.EPSILON - var $export = __webpack_require__(8); - - $export($export.S, 'Number', {EPSILON: Math.pow(2, -52)}); - -/***/ }, -/* 94 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.1.2.2 Number.isFinite(number) - var $export = __webpack_require__(8) - , _isFinite = __webpack_require__(4).isFinite; - - $export($export.S, 'Number', { - isFinite: function isFinite(it){ - return typeof it == 'number' && _isFinite(it); - } - }); - -/***/ }, -/* 95 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.1.2.3 Number.isInteger(number) - var $export = __webpack_require__(8); - - $export($export.S, 'Number', {isInteger: __webpack_require__(96)}); - -/***/ }, -/* 96 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.1.2.3 Number.isInteger(number) - var isObject = __webpack_require__(13) - , floor = Math.floor; - module.exports = function isInteger(it){ - return !isObject(it) && isFinite(it) && floor(it) === it; - }; - -/***/ }, -/* 97 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.1.2.4 Number.isNaN(number) - var $export = __webpack_require__(8); - - $export($export.S, 'Number', { - isNaN: function isNaN(number){ - return number != number; - } - }); - -/***/ }, -/* 98 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.1.2.5 Number.isSafeInteger(number) - var $export = __webpack_require__(8) - , isInteger = __webpack_require__(96) - , abs = Math.abs; - - $export($export.S, 'Number', { - isSafeInteger: function isSafeInteger(number){ - return isInteger(number) && abs(number) <= 0x1fffffffffffff; - } - }); - -/***/ }, -/* 99 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.1.2.6 Number.MAX_SAFE_INTEGER - var $export = __webpack_require__(8); - - $export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff}); - -/***/ }, -/* 100 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.1.2.10 Number.MIN_SAFE_INTEGER - var $export = __webpack_require__(8); - - $export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff}); - -/***/ }, -/* 101 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(8) - , $parseFloat = __webpack_require__(86); - // 20.1.2.12 Number.parseFloat(string) - $export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat}); - -/***/ }, -/* 102 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(8) - , $parseInt = __webpack_require__(82); - // 20.1.2.13 Number.parseInt(string, radix) - $export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt}); - -/***/ }, -/* 103 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.3 Math.acosh(x) - var $export = __webpack_require__(8) - , log1p = __webpack_require__(104) - , sqrt = Math.sqrt - , $acosh = Math.acosh; - - $export($export.S + $export.F * !($acosh - // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 - && Math.floor($acosh(Number.MAX_VALUE)) == 710 - // Tor Browser bug: Math.acosh(Infinity) -> NaN - && $acosh(Infinity) == Infinity - ), 'Math', { - acosh: function acosh(x){ - return (x = +x) < 1 ? NaN : x > 94906265.62425156 - ? Math.log(x) + Math.LN2 - : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); - } - }); - -/***/ }, -/* 104 */ -/***/ 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); - }; - -/***/ }, -/* 105 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.5 Math.asinh(x) - var $export = __webpack_require__(8) - , $asinh = Math.asinh; - - function asinh(x){ - return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); - } - - // Tor Browser bug: Math.asinh(0) -> -0 - $export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh}); - -/***/ }, -/* 106 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.7 Math.atanh(x) - var $export = __webpack_require__(8) - , $atanh = Math.atanh; - - // Tor Browser bug: Math.atanh(-0) -> 0 - $export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', { - atanh: function atanh(x){ - return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; - } - }); - -/***/ }, -/* 107 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.9 Math.cbrt(x) - var $export = __webpack_require__(8) - , sign = __webpack_require__(108); - - $export($export.S, 'Math', { - cbrt: function cbrt(x){ - return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); - } - }); - -/***/ }, -/* 108 */ -/***/ 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; - }; - -/***/ }, -/* 109 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.11 Math.clz32(x) - var $export = __webpack_require__(8); - - $export($export.S, 'Math', { - clz32: function clz32(x){ - return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; - } - }); - -/***/ }, -/* 110 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.12 Math.cosh(x) - var $export = __webpack_require__(8) - , exp = Math.exp; - - $export($export.S, 'Math', { - cosh: function cosh(x){ - return (exp(x = +x) + exp(-x)) / 2; - } - }); - -/***/ }, -/* 111 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.14 Math.expm1(x) - var $export = __webpack_require__(8) - , $expm1 = __webpack_require__(112); - - $export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1}); - -/***/ }, -/* 112 */ -/***/ function(module, exports) { - - // 20.2.2.14 Math.expm1(x) - var $expm1 = Math.expm1; - module.exports = (!$expm1 - // Old FF bug - || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 - // Tor Browser bug - || $expm1(-2e-17) != -2e-17 - ) ? function expm1(x){ - return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; - } : $expm1; - -/***/ }, -/* 113 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.16 Math.fround(x) - var $export = __webpack_require__(8) - , sign = __webpack_require__(108) - , pow = Math.pow - , EPSILON = pow(2, -52) - , EPSILON32 = pow(2, -23) - , MAX32 = pow(2, 127) * (2 - EPSILON32) - , MIN32 = pow(2, -126); - - var roundTiesToEven = function(n){ - return n + 1 / EPSILON - 1 / EPSILON; - }; - - - $export($export.S, 'Math', { - 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; - } - }); - -/***/ }, -/* 114 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.17 Math.hypot([value1[, value2[, … ]]]) - var $export = __webpack_require__(8) - , abs = Math.abs; - - $export($export.S, 'Math', { - hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars - var sum = 0 - , i = 0 - , aLen = arguments.length - , larg = 0 - , arg, div; - while(i < aLen){ - arg = abs(arguments[i++]); - 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); - } - }); - -/***/ }, -/* 115 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.18 Math.imul(x, y) - var $export = __webpack_require__(8) - , $imul = Math.imul; - - // some WebKit versions fails with big numbers, some has wrong arity - $export($export.S + $export.F * __webpack_require__(7)(function(){ - return $imul(0xffffffff, 5) != -5 || $imul.length != 2; - }), 'Math', { - 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); - } - }); - -/***/ }, -/* 116 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.21 Math.log10(x) - var $export = __webpack_require__(8); - - $export($export.S, 'Math', { - log10: function log10(x){ - return Math.log(x) / Math.LN10; - } - }); - -/***/ }, -/* 117 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.20 Math.log1p(x) - var $export = __webpack_require__(8); - - $export($export.S, 'Math', {log1p: __webpack_require__(104)}); - -/***/ }, -/* 118 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.22 Math.log2(x) - var $export = __webpack_require__(8); - - $export($export.S, 'Math', { - log2: function log2(x){ - return Math.log(x) / Math.LN2; - } - }); - -/***/ }, -/* 119 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.28 Math.sign(x) - var $export = __webpack_require__(8); - - $export($export.S, 'Math', {sign: __webpack_require__(108)}); - -/***/ }, -/* 120 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.30 Math.sinh(x) - var $export = __webpack_require__(8) - , expm1 = __webpack_require__(112) - , exp = Math.exp; - - // V8 near Chromium 38 has a problem with very small numbers - $export($export.S + $export.F * __webpack_require__(7)(function(){ - return !Math.sinh(-2e-17) != -2e-17; - }), 'Math', { - sinh: function sinh(x){ - return Math.abs(x = +x) < 1 - ? (expm1(x) - expm1(-x)) / 2 - : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); - } - }); - -/***/ }, -/* 121 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.33 Math.tanh(x) - var $export = __webpack_require__(8) - , expm1 = __webpack_require__(112) - , exp = Math.exp; - - $export($export.S, 'Math', { - 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)); - } - }); - -/***/ }, -/* 122 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.2.2.34 Math.trunc(x) - var $export = __webpack_require__(8); - - $export($export.S, 'Math', { - trunc: function trunc(it){ - return (it > 0 ? Math.floor : Math.ceil)(it); - } - }); - -/***/ }, -/* 123 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(8) - , toIndex = __webpack_require__(39) - , fromCharCode = String.fromCharCode - , $fromCodePoint = String.fromCodePoint; - - // length should be 1, old FF problem - $export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { - // 21.1.2.2 String.fromCodePoint(...codePoints) - fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars - var res = [] - , aLen = arguments.length - , i = 0 - , code; - while(aLen > i){ - code = +arguments[i++]; - 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(''); - } - }); - -/***/ }, -/* 124 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(8) - , toIObject = __webpack_require__(32) - , toLength = __webpack_require__(37); - - $export($export.S, 'String', { - // 21.1.2.4 String.raw(callSite, ...substitutions) - raw: function raw(callSite){ - var tpl = toIObject(callSite.raw) - , len = toLength(tpl.length) - , aLen = arguments.length - , res = [] - , i = 0; - while(len > i){ - res.push(String(tpl[i++])); - if(i < aLen)res.push(String(arguments[i])); - } return res.join(''); - } - }); - -/***/ }, -/* 125 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 21.1.3.25 String.prototype.trim() - __webpack_require__(83)('trim', function($trim){ - return function trim(){ - return $trim(this, 3); - }; - }); - -/***/ }, -/* 126 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $at = __webpack_require__(127)(true); - - // 21.1.3.27 String.prototype[@@iterator]() - __webpack_require__(128)(String, 'String', function(iterated){ - 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}; - }); - -/***/ }, -/* 127 */ -/***/ function(module, exports, __webpack_require__) { - - var toInteger = __webpack_require__(38) - , defined = __webpack_require__(35); - // 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); - 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; - }; - }; - -/***/ }, -/* 128 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var LIBRARY = __webpack_require__(28) - , $export = __webpack_require__(8) - , redefine = __webpack_require__(18) - , hide = __webpack_require__(10) - , has = __webpack_require__(5) - , Iterators = __webpack_require__(129) - , $iterCreate = __webpack_require__(130) - , setToStringTag = __webpack_require__(24) - , getPrototypeOf = __webpack_require__(59) - , ITERATOR = __webpack_require__(25)('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]; - 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); }; - }; - 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) - , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined - , $anyNative = NAME == 'Array' ? proto.entries || $native : $native - , methods, key, IteratorPrototype; - // Fix native - if($anyNative){ - IteratorPrototype = getPrototypeOf($anyNative.call(new Base)); - if(IteratorPrototype !== Object.prototype){ - // Set @@toStringTag to native iterators - setToStringTag(IteratorPrototype, TAG, true); - // fix for some old engines - if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis); - } - } - // fix Array#{values, @@iterator}.name in V8 / FF - if(DEF_VALUES && $native && $native.name !== VALUES){ - VALUES_BUG = true; - $default = function values(){ return $native.call(this); }; - } - // Define iterator - if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){ - hide(proto, ITERATOR, $default); - } - // Plug for library - Iterators[NAME] = $default; - Iterators[TAG] = returnThis; - if(DEFAULT){ - methods = { - values: DEF_VALUES ? $default : getMethod(VALUES), - keys: IS_SET ? $default : getMethod(KEYS), - entries: $entries - }; - 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); - } - return methods; - }; - -/***/ }, -/* 129 */ -/***/ function(module, exports) { - - module.exports = {}; - -/***/ }, -/* 130 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var create = __webpack_require__(46) - , descriptor = __webpack_require__(17) - , setToStringTag = __webpack_require__(24) - , IteratorPrototype = {}; - - // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() - __webpack_require__(10)(IteratorPrototype, __webpack_require__(25)('iterator'), function(){ return this; }); - - module.exports = function(Constructor, NAME, next){ - Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)}); - setToStringTag(Constructor, NAME + ' Iterator'); - }; - -/***/ }, -/* 131 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , $at = __webpack_require__(127)(false); - $export($export.P, 'String', { - // 21.1.3.3 String.prototype.codePointAt(pos) - codePointAt: function codePointAt(pos){ - return $at(this, pos); - } - }); - -/***/ }, -/* 132 */ -/***/ function(module, exports, __webpack_require__) { - - // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) - 'use strict'; - var $export = __webpack_require__(8) - , toLength = __webpack_require__(37) - , context = __webpack_require__(133) - , ENDS_WITH = 'endsWith' - , $endsWith = ''[ENDS_WITH]; - - $export($export.P + $export.F * __webpack_require__(135)(ENDS_WITH), 'String', { - endsWith: function endsWith(searchString /*, endPosition = @length */){ - var that = context(this, searchString, ENDS_WITH) - , endPosition = arguments.length > 1 ? arguments[1] : undefined - , len = toLength(that.length) - , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len) - , search = String(searchString); - return $endsWith - ? $endsWith.call(that, search, end) - : that.slice(end - search.length, end) === search; - } - }); - -/***/ }, -/* 133 */ -/***/ function(module, exports, __webpack_require__) { - - // helper for String#{startsWith, endsWith, includes} - var isRegExp = __webpack_require__(134) - , defined = __webpack_require__(35); - - module.exports = function(that, searchString, NAME){ - if(isRegExp(searchString))throw TypeError('String#' + NAME + " doesn't accept regex!"); - return String(defined(that)); - }; - -/***/ }, -/* 134 */ -/***/ function(module, exports, __webpack_require__) { - - // 7.2.8 IsRegExp(argument) - var isObject = __webpack_require__(13) - , cof = __webpack_require__(34) - , MATCH = __webpack_require__(25)('match'); - module.exports = function(it){ - var isRegExp; - return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); - }; - -/***/ }, -/* 135 */ -/***/ function(module, exports, __webpack_require__) { - - var MATCH = __webpack_require__(25)('match'); - module.exports = function(KEY){ - var re = /./; - try { - '/./'[KEY](re); - } catch(e){ - try { - re[MATCH] = false; - return !'/./'[KEY](re); - } catch(f){ /* empty */ } - } return true; - }; - -/***/ }, -/* 136 */ -/***/ function(module, exports, __webpack_require__) { - - // 21.1.3.7 String.prototype.includes(searchString, position = 0) - 'use strict'; - var $export = __webpack_require__(8) - , context = __webpack_require__(133) - , INCLUDES = 'includes'; - - $export($export.P + $export.F * __webpack_require__(135)(INCLUDES), 'String', { - includes: function includes(searchString /*, position = 0 */){ - return !!~context(this, searchString, INCLUDES) - .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); - } - }); - -/***/ }, -/* 137 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(8); - - $export($export.P, 'String', { - // 21.1.3.13 String.prototype.repeat(count) - repeat: __webpack_require__(91) - }); - -/***/ }, -/* 138 */ -/***/ function(module, exports, __webpack_require__) { - - // 21.1.3.18 String.prototype.startsWith(searchString [, position ]) - 'use strict'; - var $export = __webpack_require__(8) - , toLength = __webpack_require__(37) - , context = __webpack_require__(133) - , STARTS_WITH = 'startsWith' - , $startsWith = ''[STARTS_WITH]; - - $export($export.P + $export.F * __webpack_require__(135)(STARTS_WITH), 'String', { - startsWith: function startsWith(searchString /*, position = 0 */){ - var that = context(this, searchString, STARTS_WITH) - , index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)) - , search = String(searchString); - return $startsWith - ? $startsWith.call(that, search, index) - : that.slice(index, index + search.length) === search; - } - }); - -/***/ }, -/* 139 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // B.2.3.2 String.prototype.anchor(name) - __webpack_require__(140)('anchor', function(createHTML){ - return function anchor(name){ - return createHTML(this, 'a', 'name', name); - } - }); - -/***/ }, -/* 140 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(8) - , fails = __webpack_require__(7) - , defined = __webpack_require__(35) - , quot = /"/g; - // B.2.3.2.1 CreateHTML(string, tag, attribute, value) - var createHTML = function(string, tag, attribute, value) { - var S = String(defined(string)) - , p1 = '<' + tag; - if(attribute !== '')p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; - return p1 + '>' + S + ''; - }; - module.exports = function(NAME, exec){ - var O = {}; - O[NAME] = exec(createHTML); - $export($export.P + $export.F * fails(function(){ - var test = ''[NAME]('"'); - return test !== test.toLowerCase() || test.split('"').length > 3; - }), 'String', O); - }; - -/***/ }, -/* 141 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // B.2.3.3 String.prototype.big() - __webpack_require__(140)('big', function(createHTML){ - return function big(){ - return createHTML(this, 'big', '', ''); - } - }); - -/***/ }, -/* 142 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // B.2.3.4 String.prototype.blink() - __webpack_require__(140)('blink', function(createHTML){ - return function blink(){ - return createHTML(this, 'blink', '', ''); - } - }); - -/***/ }, -/* 143 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // B.2.3.5 String.prototype.bold() - __webpack_require__(140)('bold', function(createHTML){ - return function bold(){ - return createHTML(this, 'b', '', ''); - } - }); - -/***/ }, -/* 144 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // B.2.3.6 String.prototype.fixed() - __webpack_require__(140)('fixed', function(createHTML){ - return function fixed(){ - return createHTML(this, 'tt', '', ''); - } - }); - -/***/ }, -/* 145 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // B.2.3.7 String.prototype.fontcolor(color) - __webpack_require__(140)('fontcolor', function(createHTML){ - return function fontcolor(color){ - return createHTML(this, 'font', 'color', color); - } - }); - -/***/ }, -/* 146 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // B.2.3.8 String.prototype.fontsize(size) - __webpack_require__(140)('fontsize', function(createHTML){ - return function fontsize(size){ - return createHTML(this, 'font', 'size', size); - } - }); - -/***/ }, -/* 147 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // B.2.3.9 String.prototype.italics() - __webpack_require__(140)('italics', function(createHTML){ - return function italics(){ - return createHTML(this, 'i', '', ''); - } - }); - -/***/ }, -/* 148 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // B.2.3.10 String.prototype.link(url) - __webpack_require__(140)('link', function(createHTML){ - return function link(url){ - return createHTML(this, 'a', 'href', url); - } - }); - -/***/ }, -/* 149 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // B.2.3.11 String.prototype.small() - __webpack_require__(140)('small', function(createHTML){ - return function small(){ - return createHTML(this, 'small', '', ''); - } - }); - -/***/ }, -/* 150 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // B.2.3.12 String.prototype.strike() - __webpack_require__(140)('strike', function(createHTML){ - return function strike(){ - return createHTML(this, 'strike', '', ''); - } - }); - -/***/ }, -/* 151 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // B.2.3.13 String.prototype.sub() - __webpack_require__(140)('sub', function(createHTML){ - return function sub(){ - return createHTML(this, 'sub', '', ''); - } - }); - -/***/ }, -/* 152 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // B.2.3.14 String.prototype.sup() - __webpack_require__(140)('sup', function(createHTML){ - return function sup(){ - return createHTML(this, 'sup', '', ''); - } - }); - -/***/ }, -/* 153 */ -/***/ function(module, exports, __webpack_require__) { - - // 20.3.3.1 / 15.9.4.4 Date.now() - var $export = __webpack_require__(8); - - $export($export.S, 'Date', {now: function(){ return new Date().getTime(); }}); - -/***/ }, -/* 154 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , toObject = __webpack_require__(58) - , toPrimitive = __webpack_require__(16); - - $export($export.P + $export.F * __webpack_require__(7)(function(){ - return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({toISOString: function(){ return 1; }}) !== 1; - }), 'Date', { - toJSON: function toJSON(key){ - var O = toObject(this) - , pv = toPrimitive(O); - return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); - } - }); - -/***/ }, -/* 155 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() - var $export = __webpack_require__(8) - , fails = __webpack_require__(7) - , getTime = Date.prototype.getTime; - - var lz = function(num){ - return num > 9 ? num : '0' + num; - }; - - // 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', { - toISOString: function toISOString(){ - if(!isFinite(getTime.call(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'; - } - }); - -/***/ }, -/* 156 */ -/***/ function(module, exports, __webpack_require__) { - - var DateProto = Date.prototype - , INVALID_DATE = 'Invalid Date' - , TO_STRING = 'toString' - , $toString = DateProto[TO_STRING] - , getTime = DateProto.getTime; - if(new Date(NaN) + '' != INVALID_DATE){ - __webpack_require__(18)(DateProto, TO_STRING, function toString(){ - var value = getTime.call(this); - return value === value ? $toString.call(this) : INVALID_DATE; - }); - } - -/***/ }, -/* 157 */ -/***/ function(module, exports, __webpack_require__) { - - var TO_PRIMITIVE = __webpack_require__(25)('toPrimitive') - , proto = Date.prototype; - - if(!(TO_PRIMITIVE in proto))__webpack_require__(10)(proto, TO_PRIMITIVE, __webpack_require__(158)); - -/***/ }, -/* 158 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var anObject = __webpack_require__(12) - , toPrimitive = __webpack_require__(16) - , NUMBER = 'number'; - - module.exports = function(hint){ - if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint'); - return toPrimitive(anObject(this), hint != NUMBER); - }; - -/***/ }, -/* 159 */ -/***/ function(module, exports, __webpack_require__) { - - // 22.1.2.2 / 15.4.3.2 Array.isArray(arg) - var $export = __webpack_require__(8); - - $export($export.S, 'Array', {isArray: __webpack_require__(45)}); - -/***/ }, -/* 160 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var ctx = __webpack_require__(20) - , $export = __webpack_require__(8) - , toObject = __webpack_require__(58) - , call = __webpack_require__(161) - , isArrayIter = __webpack_require__(162) - , toLength = __webpack_require__(37) - , createProperty = __webpack_require__(163) - , getIterFn = __webpack_require__(164); - - $export($export.S + $export.F * !__webpack_require__(165)(function(iter){ Array.from(iter); }), 'Array', { - // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) - from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){ - var O = toObject(arrayLike) - , C = typeof this == 'function' ? this : Array - , aLen = arguments.length - , mapfn = aLen > 1 ? arguments[1] : undefined - , mapping = mapfn !== undefined - , index = 0 - , iterFn = getIterFn(O) - , length, result, step, iterator; - if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); - // 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++){ - createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); - } - } else { - length = toLength(O.length); - for(result = new C(length); length > index; index++){ - createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); - } - } - result.length = index; - return result; - } - }); - - -/***/ }, -/* 161 */ -/***/ function(module, exports, __webpack_require__) { - - // call something on iterator step with safe closing on error - var anObject = __webpack_require__(12); - module.exports = function(iterator, fn, value, entries){ - try { - return entries ? fn(anObject(value)[0], value[1]) : fn(value); - // 7.4.6 IteratorClose(iterator, completion) - } catch(e){ - var ret = iterator['return']; - if(ret !== undefined)anObject(ret.call(iterator)); - throw e; - } - }; - -/***/ }, -/* 162 */ -/***/ function(module, exports, __webpack_require__) { - - // check on default Array iterator - var Iterators = __webpack_require__(129) - , ITERATOR = __webpack_require__(25)('iterator') - , ArrayProto = Array.prototype; - - module.exports = function(it){ - return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); - }; - -/***/ }, -/* 163 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $defineProperty = __webpack_require__(11) - , createDesc = __webpack_require__(17); - - module.exports = function(object, index, value){ - if(index in object)$defineProperty.f(object, index, createDesc(0, value)); - else object[index] = value; - }; - -/***/ }, -/* 164 */ -/***/ function(module, exports, __webpack_require__) { - - var classof = __webpack_require__(75) - , ITERATOR = __webpack_require__(25)('iterator') - , Iterators = __webpack_require__(129); - module.exports = __webpack_require__(9).getIteratorMethod = function(it){ - if(it != undefined)return it[ITERATOR] - || it['@@iterator'] - || Iterators[classof(it)]; - }; - -/***/ }, -/* 165 */ -/***/ function(module, exports, __webpack_require__) { - - var ITERATOR = __webpack_require__(25)('iterator') - , SAFE_CLOSING = false; - - try { - var riter = [7][ITERATOR](); - riter['return'] = function(){ SAFE_CLOSING = true; }; - Array.from(riter, function(){ throw 2; }); - } catch(e){ /* empty */ } - - module.exports = function(exec, skipClosing){ - if(!skipClosing && !SAFE_CLOSING)return false; - var safe = false; - try { - var arr = [7] - , iter = arr[ITERATOR](); - iter.next = function(){ return {done: safe = true}; }; - arr[ITERATOR] = function(){ return iter; }; - exec(arr); - } catch(e){ /* empty */ } - return safe; - }; - -/***/ }, -/* 166 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , createProperty = __webpack_require__(163); - - // WebKit Array.of isn't generic - $export($export.S + $export.F * __webpack_require__(7)(function(){ - function F(){} - return !(Array.of.call(F) instanceof F); - }), 'Array', { - // 22.1.2.3 Array.of( ...items) - of: function of(/* ...args */){ - var index = 0 - , aLen = arguments.length - , result = new (typeof this == 'function' ? this : Array)(aLen); - while(aLen > index)createProperty(result, index, arguments[index++]); - result.length = aLen; - return result; - } - }); - -/***/ }, -/* 167 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 22.1.3.13 Array.prototype.join(separator) - var $export = __webpack_require__(8) - , toIObject = __webpack_require__(32) - , arrayJoin = [].join; - - // fallback for not array-like strings - $export($export.P + $export.F * (__webpack_require__(33) != Object || !__webpack_require__(168)(arrayJoin)), 'Array', { - join: function join(separator){ - return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator); - } - }); - -/***/ }, -/* 168 */ -/***/ function(module, exports, __webpack_require__) { - - var fails = __webpack_require__(7); - - module.exports = function(method, arg){ - return !!method && fails(function(){ - arg ? method.call(null, function(){}, 1) : method.call(null); - }); - }; - -/***/ }, -/* 169 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , html = __webpack_require__(48) - , cof = __webpack_require__(34) - , toIndex = __webpack_require__(39) - , toLength = __webpack_require__(37) - , arraySlice = [].slice; - - // fallback for not array-like ES3 strings and DOM objects - $export($export.P + $export.F * __webpack_require__(7)(function(){ - if(html)arraySlice.call(html); - }), 'Array', { - slice: function slice(begin, end){ - var len = toLength(this.length) - , klass = cof(this); - end = end === undefined ? len : end; - if(klass == 'Array')return arraySlice.call(this, begin, end); - 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; - } - }); - -/***/ }, -/* 170 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , aFunction = __webpack_require__(21) - , toObject = __webpack_require__(58) - , fails = __webpack_require__(7) - , $sort = [].sort - , test = [1, 2, 3]; - - $export($export.P + $export.F * (fails(function(){ - // IE8- - test.sort(undefined); - }) || !fails(function(){ - // V8 bug - test.sort(null); - // Old WebKit - }) || !__webpack_require__(168)($sort)), 'Array', { - // 22.1.3.25 Array.prototype.sort(comparefn) - sort: function sort(comparefn){ - return comparefn === undefined - ? $sort.call(toObject(this)) - : $sort.call(toObject(this), aFunction(comparefn)); - } - }); - -/***/ }, -/* 171 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , $forEach = __webpack_require__(172)(0) - , STRICT = __webpack_require__(168)([].forEach, true); - - $export($export.P + $export.F * !STRICT, 'Array', { - // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) - forEach: function forEach(callbackfn /* , thisArg */){ - return $forEach(this, callbackfn, arguments[1]); - } - }); - -/***/ }, -/* 172 */ -/***/ function(module, exports, __webpack_require__) { - - // 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__(20) - , IObject = __webpack_require__(33) - , toObject = __webpack_require__(58) - , toLength = __webpack_require__(37) - , asc = __webpack_require__(173); - module.exports = function(TYPE, $create){ - 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 - , create = $create || asc; - 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 ? create($this, length) : IS_FILTER ? create($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; - }; - }; - -/***/ }, -/* 173 */ -/***/ function(module, exports, __webpack_require__) { - - // 9.4.2.3 ArraySpeciesCreate(originalArray, length) - var speciesConstructor = __webpack_require__(174); - - module.exports = function(original, length){ - return new (speciesConstructor(original))(length); - }; - -/***/ }, -/* 174 */ -/***/ function(module, exports, __webpack_require__) { - - var isObject = __webpack_require__(13) - , isArray = __webpack_require__(45) - , SPECIES = __webpack_require__(25)('species'); - - module.exports = function(original){ - 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 C === undefined ? Array : C; - }; - -/***/ }, -/* 175 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , $map = __webpack_require__(172)(1); - - $export($export.P + $export.F * !__webpack_require__(168)([].map, true), 'Array', { - // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) - map: function map(callbackfn /* , thisArg */){ - return $map(this, callbackfn, arguments[1]); - } - }); - -/***/ }, -/* 176 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , $filter = __webpack_require__(172)(2); - - $export($export.P + $export.F * !__webpack_require__(168)([].filter, true), 'Array', { - // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) - filter: function filter(callbackfn /* , thisArg */){ - return $filter(this, callbackfn, arguments[1]); - } - }); - -/***/ }, -/* 177 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , $some = __webpack_require__(172)(3); - - $export($export.P + $export.F * !__webpack_require__(168)([].some, true), 'Array', { - // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) - some: function some(callbackfn /* , thisArg */){ - return $some(this, callbackfn, arguments[1]); - } - }); - -/***/ }, -/* 178 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , $every = __webpack_require__(172)(4); - - $export($export.P + $export.F * !__webpack_require__(168)([].every, true), 'Array', { - // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) - every: function every(callbackfn /* , thisArg */){ - return $every(this, callbackfn, arguments[1]); - } - }); - -/***/ }, -/* 179 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , $reduce = __webpack_require__(180); - - $export($export.P + $export.F * !__webpack_require__(168)([].reduce, true), 'Array', { - // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) - reduce: function reduce(callbackfn /* , initialValue */){ - return $reduce(this, callbackfn, arguments.length, arguments[1], false); - } - }); - -/***/ }, -/* 180 */ -/***/ function(module, exports, __webpack_require__) { - - var aFunction = __webpack_require__(21) - , toObject = __webpack_require__(58) - , IObject = __webpack_require__(33) - , toLength = __webpack_require__(37); - - module.exports = function(that, callbackfn, aLen, memo, isRight){ - aFunction(callbackfn); - var O = toObject(that) - , self = IObject(O) - , length = toLength(O.length) - , index = isRight ? length - 1 : 0 - , i = isRight ? -1 : 1; - if(aLen < 2)for(;;){ - if(index in self){ - memo = self[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 self){ - memo = callbackfn(memo, self[index], index, O); - } - return memo; - }; - -/***/ }, -/* 181 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , $reduce = __webpack_require__(180); - - $export($export.P + $export.F * !__webpack_require__(168)([].reduceRight, true), 'Array', { - // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) - reduceRight: function reduceRight(callbackfn /* , initialValue */){ - return $reduce(this, callbackfn, arguments.length, arguments[1], true); - } - }); - -/***/ }, -/* 182 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , $indexOf = __webpack_require__(36)(false) - , $native = [].indexOf - , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0; - - $export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(168)($native)), 'Array', { - // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) - indexOf: function indexOf(searchElement /*, fromIndex = 0 */){ - return NEGATIVE_ZERO - // convert -0 to +0 - ? $native.apply(this, arguments) || 0 - : $indexOf(this, searchElement, arguments[1]); - } - }); - -/***/ }, -/* 183 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , toIObject = __webpack_require__(32) - , toInteger = __webpack_require__(38) - , toLength = __webpack_require__(37) - , $native = [].lastIndexOf - , NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0; - - $export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(168)($native)), 'Array', { - // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) - lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){ - // convert -0 to +0 - if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0; - var O = toIObject(this) - , length = toLength(O.length) - , index = length - 1; - if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1])); - if(index < 0)index = length + index; - for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0; - return -1; - } - }); - -/***/ }, -/* 184 */ -/***/ function(module, exports, __webpack_require__) { - - // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) - var $export = __webpack_require__(8); - - $export($export.P, 'Array', {copyWithin: __webpack_require__(185)}); - - __webpack_require__(186)('copyWithin'); - -/***/ }, -/* 185 */ -/***/ function(module, exports, __webpack_require__) { - - // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) - 'use strict'; - var toObject = __webpack_require__(58) - , toIndex = __webpack_require__(39) - , toLength = __webpack_require__(37); - - 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) - , end = arguments.length > 2 ? arguments[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; - }; - -/***/ }, -/* 186 */ -/***/ function(module, exports, __webpack_require__) { - - // 22.1.3.31 Array.prototype[@@unscopables] - var UNSCOPABLES = __webpack_require__(25)('unscopables') - , ArrayProto = Array.prototype; - if(ArrayProto[UNSCOPABLES] == undefined)__webpack_require__(10)(ArrayProto, UNSCOPABLES, {}); - module.exports = function(key){ - ArrayProto[UNSCOPABLES][key] = true; - }; - -/***/ }, -/* 187 */ -/***/ function(module, exports, __webpack_require__) { - - // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) - var $export = __webpack_require__(8); - - $export($export.P, 'Array', {fill: __webpack_require__(188)}); - - __webpack_require__(186)('fill'); - -/***/ }, -/* 188 */ -/***/ function(module, exports, __webpack_require__) { - - // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) - 'use strict'; - var toObject = __webpack_require__(58) - , toIndex = __webpack_require__(39) - , toLength = __webpack_require__(37); - module.exports = function fill(value /*, start = 0, end = @length */){ - var O = toObject(this) - , length = toLength(O.length) - , aLen = arguments.length - , index = toIndex(aLen > 1 ? arguments[1] : undefined, length) - , end = aLen > 2 ? arguments[2] : undefined - , endPos = end === undefined ? length : toIndex(end, length); - while(endPos > index)O[index++] = value; - return O; - }; - -/***/ }, -/* 189 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) - var $export = __webpack_require__(8) - , $find = __webpack_require__(172)(5) - , KEY = 'find' - , forced = true; - // Shouldn't skip holes - if(KEY in [])Array(1)[KEY](function(){ forced = false; }); - $export($export.P + $export.F * forced, 'Array', { - find: function find(callbackfn/*, that = undefined */){ - return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - __webpack_require__(186)(KEY); - -/***/ }, -/* 190 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) - var $export = __webpack_require__(8) - , $find = __webpack_require__(172)(6) - , KEY = 'findIndex' - , forced = true; - // Shouldn't skip holes - if(KEY in [])Array(1)[KEY](function(){ forced = false; }); - $export($export.P + $export.F * forced, 'Array', { - findIndex: function findIndex(callbackfn/*, that = undefined */){ - return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - __webpack_require__(186)(KEY); - -/***/ }, -/* 191 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(192)('Array'); - -/***/ }, -/* 192 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var global = __webpack_require__(4) - , dP = __webpack_require__(11) - , DESCRIPTORS = __webpack_require__(6) - , SPECIES = __webpack_require__(25)('species'); - - module.exports = function(KEY){ - var C = global[KEY]; - if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, { - configurable: true, - get: function(){ return this; } - }); - }; - -/***/ }, -/* 193 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var addToUnscopables = __webpack_require__(186) - , step = __webpack_require__(194) - , Iterators = __webpack_require__(129) - , toIObject = __webpack_require__(32); - - // 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]() - module.exports = __webpack_require__(128)(Array, 'Array', function(iterated, kind){ - this._t = toIObject(iterated); // target - this._i = 0; // next index - this._k = kind; // kind - // 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; - - addToUnscopables('keys'); - addToUnscopables('values'); - addToUnscopables('entries'); - -/***/ }, -/* 194 */ -/***/ function(module, exports) { - - module.exports = function(done, value){ - return {value: value, done: !!done}; - }; - -/***/ }, -/* 195 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(4) - , inheritIfRequired = __webpack_require__(88) - , dP = __webpack_require__(11).f - , gOPN = __webpack_require__(50).f - , isRegExp = __webpack_require__(134) - , $flags = __webpack_require__(196) - , $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__(6) && (!CORRECT_NEW || __webpack_require__(7)(function(){ - re2[__webpack_require__(25)('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 tiRE = this instanceof $RegExp - , piRE = isRegExp(p) - , fiU = f === undefined; - return !tiRE && piRE && p.constructor === $RegExp && fiU ? p - : inheritIfRequired(CORRECT_NEW - ? new Base(piRE && !fiU ? p.source : p, f) - : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f) - , tiRE ? this : proto, $RegExp); - }; - var proxy = function(key){ - key in $RegExp || dP($RegExp, key, { - configurable: true, - get: function(){ return Base[key]; }, - set: function(it){ Base[key] = it; } - }); - }; - for(var keys = gOPN(Base), i = 0; keys.length > i; )proxy(keys[i++]); - proto.constructor = $RegExp; - $RegExp.prototype = proto; - __webpack_require__(18)(global, 'RegExp', $RegExp); - } - - __webpack_require__(192)('RegExp'); - -/***/ }, -/* 196 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 21.2.5.3 get RegExp.prototype.flags - var anObject = __webpack_require__(12); - module.exports = function(){ - var that = anObject(this) - , result = ''; - 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'; - return result; - }; - -/***/ }, -/* 197 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - __webpack_require__(198); - var anObject = __webpack_require__(12) - , $flags = __webpack_require__(196) - , DESCRIPTORS = __webpack_require__(6) - , TO_STRING = 'toString' - , $toString = /./[TO_STRING]; - - var define = function(fn){ - __webpack_require__(18)(RegExp.prototype, TO_STRING, fn, true); - }; - - // 21.2.5.14 RegExp.prototype.toString() - if(__webpack_require__(7)(function(){ return $toString.call({source: 'a', flags: 'b'}) != '/a/b'; })){ - define(function toString(){ - var R = anObject(this); - return '/'.concat(R.source, '/', - 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined); - }); - // FF44- RegExp#toString has a wrong name - } else if($toString.name != TO_STRING){ - define(function toString(){ - return $toString.call(this); - }); - } - -/***/ }, -/* 198 */ -/***/ function(module, exports, __webpack_require__) { - - // 21.2.5.3 get RegExp.prototype.flags() - if(__webpack_require__(6) && /./g.flags != 'g')__webpack_require__(11).f(RegExp.prototype, 'flags', { - configurable: true, - get: __webpack_require__(196) - }); - -/***/ }, -/* 199 */ -/***/ function(module, exports, __webpack_require__) { - - // @@match logic - __webpack_require__(200)('match', 1, function(defined, MATCH, $match){ - // 21.1.3.11 String.prototype.match(regexp) - return [function match(regexp){ - 'use strict'; - var O = defined(this) - , fn = regexp == undefined ? undefined : regexp[MATCH]; - return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); - }, $match]; - }); - -/***/ }, -/* 200 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var hide = __webpack_require__(10) - , redefine = __webpack_require__(18) - , fails = __webpack_require__(7) - , defined = __webpack_require__(35) - , wks = __webpack_require__(25); - - module.exports = function(KEY, length, exec){ - var SYMBOL = wks(KEY) - , fns = exec(defined, SYMBOL, ''[KEY]) - , strfn = fns[0] - , rxfn = fns[1]; - if(fails(function(){ - var O = {}; - O[SYMBOL] = function(){ return 7; }; - return ''[KEY](O) != 7; - })){ - redefine(String.prototype, KEY, strfn); - hide(RegExp.prototype, SYMBOL, length == 2 - // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) - // 21.2.5.11 RegExp.prototype[@@split](string, limit) - ? function(string, arg){ return rxfn.call(string, this, arg); } - // 21.2.5.6 RegExp.prototype[@@match](string) - // 21.2.5.9 RegExp.prototype[@@search](string) - : function(string){ return rxfn.call(string, this); } - ); - } - }; - -/***/ }, -/* 201 */ -/***/ function(module, exports, __webpack_require__) { - - // @@replace logic - __webpack_require__(200)('replace', 2, function(defined, REPLACE, $replace){ - // 21.1.3.14 String.prototype.replace(searchValue, replaceValue) - return [function replace(searchValue, replaceValue){ - 'use strict'; - var O = defined(this) - , fn = searchValue == undefined ? undefined : searchValue[REPLACE]; - return fn !== undefined - ? fn.call(searchValue, O, replaceValue) - : $replace.call(String(O), searchValue, replaceValue); - }, $replace]; - }); - -/***/ }, -/* 202 */ -/***/ function(module, exports, __webpack_require__) { - - // @@search logic - __webpack_require__(200)('search', 1, function(defined, SEARCH, $search){ - // 21.1.3.15 String.prototype.search(regexp) - return [function search(regexp){ - 'use strict'; - var O = defined(this) - , fn = regexp == undefined ? undefined : regexp[SEARCH]; - return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); - }, $search]; - }); - -/***/ }, -/* 203 */ -/***/ function(module, exports, __webpack_require__) { - - // @@split logic - __webpack_require__(200)('split', 2, function(defined, SPLIT, $split){ - 'use strict'; - var isRegExp = __webpack_require__(134) - , _split = $split - , $push = [].push - , $SPLIT = 'split' - , LENGTH = 'length' - , LAST_INDEX = 'lastIndex'; - if( - 'abbc'[$SPLIT](/(b)*/)[1] == 'c' || - 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 || - 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 || - '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 || - '.'[$SPLIT](/()()/)[LENGTH] > 1 || - ''[$SPLIT](/.?/)[LENGTH] - ){ - var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group - // based on es5-shim implementation, need to rework it - $split = function(separator, limit){ - var string = String(this); - if(separator === undefined && limit === 0)return []; - // If `separator` is not a regex, use native split - if(!isRegExp(separator))return _split.call(string, separator, limit); - var output = []; - var flags = (separator.ignoreCase ? 'i' : '') + - (separator.multiline ? 'm' : '') + - (separator.unicode ? 'u' : '') + - (separator.sticky ? 'y' : ''); - var lastLastIndex = 0; - var splitLimit = limit === undefined ? 4294967295 : limit >>> 0; - // Make `global` and avoid `lastIndex` issues by working with a copy - var separatorCopy = new RegExp(separator.source, flags + 'g'); - var separator2, match, lastIndex, lastLength, i; - // Doesn't need flags gy, but they don't hurt - if(!NPCG)separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\s)', flags); - while(match = separatorCopy.exec(string)){ - // `separatorCopy.lastIndex` is not reliable cross-browser - lastIndex = match.index + match[0][LENGTH]; - if(lastIndex > lastLastIndex){ - output.push(string.slice(lastLastIndex, match.index)); - // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG - if(!NPCG && match[LENGTH] > 1)match[0].replace(separator2, function(){ - for(i = 1; i < arguments[LENGTH] - 2; i++)if(arguments[i] === undefined)match[i] = undefined; - }); - if(match[LENGTH] > 1 && match.index < string[LENGTH])$push.apply(output, match.slice(1)); - lastLength = match[0][LENGTH]; - lastLastIndex = lastIndex; - if(output[LENGTH] >= splitLimit)break; - } - if(separatorCopy[LAST_INDEX] === match.index)separatorCopy[LAST_INDEX]++; // Avoid an infinite loop - } - if(lastLastIndex === string[LENGTH]){ - if(lastLength || !separatorCopy.test(''))output.push(''); - } else output.push(string.slice(lastLastIndex)); - return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output; - }; - // Chakra, V8 - } else if('0'[$SPLIT](undefined, 0)[LENGTH]){ - $split = function(separator, limit){ - return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit); - }; - } - // 21.1.3.17 String.prototype.split(separator, limit) - return [function split(separator, limit){ - var O = defined(this) - , fn = separator == undefined ? undefined : separator[SPLIT]; - return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit); - }, $split]; - }); - -/***/ }, -/* 204 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var LIBRARY = __webpack_require__(28) - , global = __webpack_require__(4) - , ctx = __webpack_require__(20) - , classof = __webpack_require__(75) - , $export = __webpack_require__(8) - , isObject = __webpack_require__(13) - , aFunction = __webpack_require__(21) - , anInstance = __webpack_require__(205) - , forOf = __webpack_require__(206) - , speciesConstructor = __webpack_require__(207) - , task = __webpack_require__(208).set - , microtask = __webpack_require__(209)() - , PROMISE = 'Promise' - , TypeError = global.TypeError - , process = global.process - , $Promise = global[PROMISE] - , process = global.process - , isNode = classof(process) == 'process' - , empty = function(){ /* empty */ } - , Internal, GenericPromiseCapability, Wrapper; - - var USE_NATIVE = !!function(){ - try { - // correct subclassing with @@species support - var promise = $Promise.resolve(1) - , FakePromise = (promise.constructor = {})[__webpack_require__(25)('species')] = function(exec){ exec(empty, empty); }; - // unhandled rejections tracking support, NodeJS Promise without it fails @@species test - return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise; - } catch(e){ /* empty */ } - }(); - - // helpers - var sameConstructor = function(a, b){ - // with library wrapper special case - return a === b || a === $Promise && b === Wrapper; - }; - var isThenable = function(it){ - var then; - return isObject(it) && typeof (then = it.then) == 'function' ? then : false; - }; - var newPromiseCapability = function(C){ - return sameConstructor($Promise, C) - ? new PromiseCapability(C) - : new GenericPromiseCapability(C); - }; - var PromiseCapability = GenericPromiseCapability = 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(promise, isReject){ - if(promise._n)return; - promise._n = true; - var chain = promise._c; - microtask(function(){ - var value = promise._v - , ok = promise._s == 1 - , i = 0; - var run = function(reaction){ - var handler = ok ? reaction.ok : reaction.fail - , resolve = reaction.resolve - , reject = reaction.reject - , domain = reaction.domain - , result, then; - try { - if(handler){ - if(!ok){ - if(promise._h == 2)onHandleUnhandled(promise); - promise._h = 1; - } - if(handler === true)result = value; - else { - if(domain)domain.enter(); - result = handler(value); - if(domain)domain.exit(); - } - 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); - } - }; - while(chain.length > i)run(chain[i++]); // variable length - can't use forEach - promise._c = []; - promise._n = false; - if(isReject && !promise._h)onUnhandled(promise); - }); - }; - var onUnhandled = function(promise){ - task.call(global, function(){ - var value = promise._v - , abrupt, handler, console; - if(isUnhandled(promise)){ - abrupt = perform(function(){ - 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); - } - }); - // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should - promise._h = isNode || isUnhandled(promise) ? 2 : 1; - } promise._a = undefined; - if(abrupt)throw abrupt.error; - }); - }; - var isUnhandled = function(promise){ - if(promise._h == 1)return false; - var chain = promise._a || promise._c - , i = 0 - , reaction; - while(chain.length > i){ - reaction = chain[i++]; - if(reaction.fail || !isUnhandled(reaction.promise))return false; - } return true; - }; - var onHandleUnhandled = function(promise){ - task.call(global, function(){ - var handler; - if(isNode){ - process.emit('rejectionHandled', promise); - } else if(handler = global.onrejectionhandled){ - handler({promise: promise, reason: promise._v}); - } - }); - }; - var $reject = function(value){ - var promise = this; - if(promise._d)return; - promise._d = true; - promise = promise._w || promise; // unwrap - promise._v = value; - promise._s = 2; - if(!promise._a)promise._a = promise._c.slice(); - notify(promise, true); - }; - var $resolve = function(value){ - var promise = this - , then; - if(promise._d)return; - promise._d = true; - promise = promise._w || promise; // unwrap - try { - if(promise === value)throw TypeError("Promise can't be resolved itself"); - if(then = isThenable(value)){ - microtask(function(){ - var wrapper = {_w: promise, _d: false}; // wrap - try { - then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); - } catch(e){ - $reject.call(wrapper, e); - } - }); - } else { - promise._v = value; - promise._s = 1; - notify(promise, false); - } - } catch(e){ - $reject.call({_w: promise, _d: false}, e); // wrap - } - }; - - // constructor polyfill - if(!USE_NATIVE){ - // 25.4.3.1 Promise(executor) - $Promise = function Promise(executor){ - anInstance(this, $Promise, PROMISE, '_h'); - aFunction(executor); - Internal.call(this); - try { - executor(ctx($resolve, this, 1), ctx($reject, this, 1)); - } catch(err){ - $reject.call(this, err); - } - }; - Internal = function Promise(executor){ - this._c = []; // <- awaiting reactions - this._a = undefined; // <- checked in isUnhandled reactions - this._s = 0; // <- state - this._d = false; // <- done - this._v = undefined; // <- value - this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled - this._n = false; // <- notify - }; - Internal.prototype = __webpack_require__(210)($Promise.prototype, { - // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) - then: function then(onFulfilled, onRejected){ - var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); - reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; - reaction.fail = typeof onRejected == 'function' && onRejected; - reaction.domain = isNode ? process.domain : undefined; - this._c.push(reaction); - if(this._a)this._a.push(reaction); - if(this._s)notify(this, false); - return reaction.promise; - }, - // 25.4.5.1 Promise.prototype.catch(onRejected) - 'catch': function(onRejected){ - return this.then(undefined, onRejected); - } - }); - PromiseCapability = function(){ - var promise = new Internal; - this.promise = promise; - this.resolve = ctx($resolve, promise, 1); - this.reject = ctx($reject, promise, 1); - }; - } - - $export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise}); - __webpack_require__(24)($Promise, PROMISE); - __webpack_require__(192)(PROMISE); - Wrapper = __webpack_require__(9)[PROMISE]; - - // statics - $export($export.S + $export.F * !USE_NATIVE, PROMISE, { - // 25.4.4.5 Promise.reject(r) - reject: function reject(r){ - var capability = newPromiseCapability(this) - , $$reject = capability.reject; - $$reject(r); - return capability.promise; - } - }); - $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { - // 25.4.4.6 Promise.resolve(x) - resolve: function resolve(x){ - // instanceof instead of internal slot check because we should fix it without replacement native Promise core - if(x instanceof $Promise && sameConstructor(x.constructor, this))return x; - var capability = newPromiseCapability(this) - , $$resolve = capability.resolve; - $$resolve(x); - return capability.promise; - } - }); - $export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(165)(function(iter){ - $Promise.all(iter)['catch'](empty); - })), PROMISE, { - // 25.4.4.1 Promise.all(iterable) - all: function all(iterable){ - var C = this - , capability = newPromiseCapability(C) - , resolve = capability.resolve - , reject = capability.reject; - var abrupt = perform(function(){ - var values = [] - , index = 0 - , remaining = 1; - forOf(iterable, false, function(promise){ - var $index = index++ - , alreadyCalled = false; - values.push(undefined); - remaining++; - C.resolve(promise).then(function(value){ - if(alreadyCalled)return; - alreadyCalled = true; - values[$index] = value; - --remaining || resolve(values); - }, reject); - }); - --remaining || resolve(values); - }); - if(abrupt)reject(abrupt.error); - return capability.promise; - }, - // 25.4.4.4 Promise.race(iterable) - race: function race(iterable){ - var C = this - , capability = newPromiseCapability(C) - , reject = capability.reject; - var abrupt = perform(function(){ - forOf(iterable, false, function(promise){ - C.resolve(promise).then(capability.resolve, reject); - }); - }); - if(abrupt)reject(abrupt.error); - return capability.promise; - } - }); - -/***/ }, -/* 205 */ -/***/ function(module, exports) { - - module.exports = function(it, Constructor, name, forbiddenField){ - if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){ - throw TypeError(name + ': incorrect invocation!'); - } return it; - }; - -/***/ }, -/* 206 */ -/***/ function(module, exports, __webpack_require__) { - - var ctx = __webpack_require__(20) - , call = __webpack_require__(161) - , isArrayIter = __webpack_require__(162) - , anObject = __webpack_require__(12) - , toLength = __webpack_require__(37) - , getIterFn = __webpack_require__(164) - , BREAK = {} - , RETURN = {}; - var exports = module.exports = function(iterable, entries, fn, that, ITERATOR){ - var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable) - , f = ctx(fn, that, entries ? 2 : 1) - , index = 0 - , length, step, iterator, result; - 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++){ - result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); - if(result === BREAK || result === RETURN)return result; - } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){ - result = call(iterator, f, step.value, entries); - if(result === BREAK || result === RETURN)return result; - } - }; - exports.BREAK = BREAK; - exports.RETURN = RETURN; - -/***/ }, -/* 207 */ -/***/ function(module, exports, __webpack_require__) { - - // 7.3.20 SpeciesConstructor(O, defaultConstructor) - var anObject = __webpack_require__(12) - , aFunction = __webpack_require__(21) - , SPECIES = __webpack_require__(25)('species'); - module.exports = function(O, D){ - var C = anObject(O).constructor, S; - return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); - }; - -/***/ }, -/* 208 */ -/***/ function(module, exports, __webpack_require__) { - - var ctx = __webpack_require__(20) - , invoke = __webpack_require__(78) - , html = __webpack_require__(48) - , cel = __webpack_require__(15) - , global = __webpack_require__(4) - , process = global.process - , setTask = global.setImmediate - , clearTask = global.clearImmediate - , MessageChannel = global.MessageChannel - , counter = 0 - , queue = {} - , ONREADYSTATECHANGE = 'onreadystatechange' - , defer, channel, port; - var run = function(){ - var id = +this; - if(queue.hasOwnProperty(id)){ - var fn = queue[id]; - delete queue[id]; - fn(); - } - }; - var listener = function(event){ - run.call(event.data); - }; - // 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- - if(__webpack_require__(34)(process) == 'process'){ - defer = function(id){ - process.nextTick(ctx(run, id, 1)); - }; - // Browsers with MessageChannel, includes WebWorkers - } else if(MessageChannel){ - channel = new MessageChannel; - port = channel.port2; - channel.port1.onmessage = listener; - defer = ctx(port.postMessage, port, 1); - // 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', listener, false); - // 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 - }; - -/***/ }, -/* 209 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(4) - , macrotask = __webpack_require__(208).set - , Observer = global.MutationObserver || global.WebKitMutationObserver - , process = global.process - , Promise = global.Promise - , isNode = __webpack_require__(34)(process) == 'process'; - - module.exports = function(){ - var head, last, notify; - - var flush = function(){ - var parent, fn; - if(isNode && (parent = process.domain))parent.exit(); - while(head){ - fn = head.fn; - head = head.next; - try { - fn(); - } catch(e){ - if(head)notify(); - else last = undefined; - throw e; - } - } last = undefined; - if(parent)parent.enter(); - }; - - // Node.js - if(isNode){ - notify = function(){ - process.nextTick(flush); - }; - // browsers with MutationObserver - } else if(Observer){ - var toggle = true - , 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){ - var promise = Promise.resolve(); - notify = function(){ - promise.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); - }; - } - - return function(fn){ - var task = {fn: fn, next: undefined}; - if(last)last.next = task; - if(!head){ - head = task; - notify(); - } last = task; - }; - }; - -/***/ }, -/* 210 */ -/***/ function(module, exports, __webpack_require__) { - - var redefine = __webpack_require__(18); - module.exports = function(target, src, safe){ - for(var key in src)redefine(target, key, src[key], safe); - return target; - }; - -/***/ }, -/* 211 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var strong = __webpack_require__(212); - - // 23.1 Map Objects - module.exports = __webpack_require__(213)('Map', function(get){ - return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; - }, { - // 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); - -/***/ }, -/* 212 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var dP = __webpack_require__(11).f - , create = __webpack_require__(46) - , redefineAll = __webpack_require__(210) - , ctx = __webpack_require__(20) - , anInstance = __webpack_require__(205) - , defined = __webpack_require__(35) - , forOf = __webpack_require__(206) - , $iterDefine = __webpack_require__(128) - , step = __webpack_require__(194) - , setSpecies = __webpack_require__(192) - , DESCRIPTORS = __webpack_require__(6) - , fastKey = __webpack_require__(22).fastKey - , SIZE = DESCRIPTORS ? '_s' : 'size'; - - var getEntry = function(that, key){ - // 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; - } - }; - - module.exports = { - getConstructor: function(wrapper, NAME, IS_MAP, ADDER){ - var C = wrapper(function(that, iterable){ - anInstance(that, C, NAME, '_i'); - 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); - }); - redefineAll(C.prototype, { - // 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 */){ - anInstance(this, C, 'forEach'); - var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3) - , 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); - } - }); - if(DESCRIPTORS)dP(C.prototype, 'size', { - 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 - $iterDefine(C, NAME, function(iterated, kind){ - 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 - setSpecies(NAME); - } - }; - -/***/ }, -/* 213 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var global = __webpack_require__(4) - , $export = __webpack_require__(8) - , redefine = __webpack_require__(18) - , redefineAll = __webpack_require__(210) - , meta = __webpack_require__(22) - , forOf = __webpack_require__(206) - , anInstance = __webpack_require__(205) - , isObject = __webpack_require__(13) - , fails = __webpack_require__(7) - , $iterDetect = __webpack_require__(165) - , setToStringTag = __webpack_require__(24) - , inheritIfRequired = __webpack_require__(88); - - 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 = {}; - var fixMethod = function(KEY){ - var fn = proto[KEY]; - 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; } - ); - }; - if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){ - new C().entries().next(); - }))){ - // create collection constructor - C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); - redefineAll(C.prototype, methods); - meta.NEED = true; - } else { - 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 = !IS_WEAK && fails(function(){ - // V8 ~ Chromium 42- fails only with 5+ elements - var $instance = new C() - , index = 5; - while(index--)$instance[ADDER](index, index); - return !$instance.has(-0); - }); - if(!ACCEPT_ITERABLES){ - C = wrapper(function(target, iterable){ - anInstance(target, C, NAME); - var that = inheritIfRequired(new Base, target, C); - if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); - return that; - }); - C.prototype = proto; - proto.constructor = C; - } - if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){ - fixMethod('delete'); - fixMethod('has'); - IS_MAP && fixMethod('get'); - } - if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER); - // weak collections should not contains .clear method - if(IS_WEAK && proto.clear)delete proto.clear; - } - - setToStringTag(C, NAME); - - O[NAME] = C; - $export($export.G + $export.W + $export.F * (C != Base), O); - - if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP); - - return C; - }; - -/***/ }, -/* 214 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var strong = __webpack_require__(212); - - // 23.2 Set Objects - module.exports = __webpack_require__(213)('Set', function(get){ - return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; - }, { - // 23.2.3.1 Set.prototype.add(value) - add: function add(value){ - return strong.def(this, value = value === 0 ? 0 : value, value); - } - }, strong); - -/***/ }, -/* 215 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var each = __webpack_require__(172)(0) - , redefine = __webpack_require__(18) - , meta = __webpack_require__(22) - , assign = __webpack_require__(69) - , weak = __webpack_require__(216) - , isObject = __webpack_require__(13) - , getWeak = meta.getWeak - , isExtensible = Object.isExtensible - , uncaughtFrozenStore = weak.ufstore - , tmp = {} - , InternalMap; - - var wrapper = function(get){ - return function WeakMap(){ - return get(this, arguments.length > 0 ? arguments[0] : undefined); - }; - }; - - var methods = { - // 23.3.3.3 WeakMap.prototype.get(key) - get: function get(key){ - if(isObject(key)){ - var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this).get(key); - return data ? data[this._i] : undefined; - } - }, - // 23.3.3.5 WeakMap.prototype.set(key, value) - set: function set(key, value){ - return weak.def(this, key, value); - } - }; - - // 23.3 WeakMap Objects - var $WeakMap = module.exports = __webpack_require__(213)('WeakMap', wrapper, methods, weak, true, true); - - // IE11 WeakMap frozen keys fix - if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){ - InternalMap = weak.getConstructor(wrapper); - assign(InternalMap.prototype, methods); - meta.NEED = true; - each(['delete', 'has', 'get', 'set'], function(key){ - var proto = $WeakMap.prototype - , method = proto[key]; - redefine(proto, key, function(a, b){ - // store frozen objects on internal weakmap shim - if(isObject(a) && !isExtensible(a)){ - if(!this._f)this._f = new InternalMap; - var result = this._f[key](a, b); - return key == 'set' ? this : result; - // store all the rest on native weakmap - } return method.call(this, a, b); - }); - }); - } - -/***/ }, -/* 216 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var redefineAll = __webpack_require__(210) - , getWeak = __webpack_require__(22).getWeak - , anObject = __webpack_require__(12) - , isObject = __webpack_require__(13) - , anInstance = __webpack_require__(205) - , forOf = __webpack_require__(206) - , createArrayMethod = __webpack_require__(172) - , $has = __webpack_require__(5) - , arrayFind = createArrayMethod(5) - , arrayFindIndex = createArrayMethod(6) - , id = 0; - - // fallback for uncaught frozen keys - var uncaughtFrozenStore = function(that){ - return that._l || (that._l = new UncaughtFrozenStore); - }; - var UncaughtFrozenStore = function(){ - this.a = []; - }; - var findUncaughtFrozen = function(store, key){ - return arrayFind(store.a, function(it){ - return it[0] === key; - }); - }; - UncaughtFrozenStore.prototype = { - get: function(key){ - var entry = findUncaughtFrozen(this, key); - if(entry)return entry[1]; - }, - has: function(key){ - return !!findUncaughtFrozen(this, key); - }, - set: function(key, value){ - var entry = findUncaughtFrozen(this, key); - if(entry)entry[1] = value; - else this.a.push([key, value]); - }, - 'delete': function(key){ - var index = arrayFindIndex(this.a, function(it){ - 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){ - anInstance(that, C, NAME, '_i'); - that._i = id++; // collection id - that._l = undefined; // leak store for uncaught frozen objects - if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); - }); - redefineAll(C.prototype, { - // 23.3.3.2 WeakMap.prototype.delete(key) - // 23.4.3.3 WeakSet.prototype.delete(value) - 'delete': function(key){ - if(!isObject(key))return false; - var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this)['delete'](key); - return data && $has(data, this._i) && delete data[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; - var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this).has(key); - return data && $has(data, this._i); - } - }); - return C; - }, - def: function(that, key, value){ - var data = getWeak(anObject(key), true); - if(data === true)uncaughtFrozenStore(that).set(key, value); - else data[that._i] = value; - return that; - }, - ufstore: uncaughtFrozenStore - }; - -/***/ }, -/* 217 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var weak = __webpack_require__(216); - - // 23.4 WeakSet Objects - __webpack_require__(213)('WeakSet', function(get){ - return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; - }, { - // 23.4.3.1 WeakSet.prototype.add(value) - add: function add(value){ - return weak.def(this, value, true); - } - }, weak, false, true); - -/***/ }, -/* 218 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , $typed = __webpack_require__(219) - , buffer = __webpack_require__(220) - , anObject = __webpack_require__(12) - , toIndex = __webpack_require__(39) - , toLength = __webpack_require__(37) - , isObject = __webpack_require__(13) - , ArrayBuffer = __webpack_require__(4).ArrayBuffer - , speciesConstructor = __webpack_require__(207) - , $ArrayBuffer = buffer.ArrayBuffer - , $DataView = buffer.DataView - , $isView = $typed.ABV && ArrayBuffer.isView - , $slice = $ArrayBuffer.prototype.slice - , VIEW = $typed.VIEW - , ARRAY_BUFFER = 'ArrayBuffer'; - - $export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), {ArrayBuffer: $ArrayBuffer}); - - $export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, { - // 24.1.3.1 ArrayBuffer.isView(arg) - isView: function isView(it){ - return $isView && $isView(it) || isObject(it) && VIEW in it; - } - }); - - $export($export.P + $export.U + $export.F * __webpack_require__(7)(function(){ - return !new $ArrayBuffer(2).slice(1, undefined).byteLength; - }), ARRAY_BUFFER, { - // 24.1.4.3 ArrayBuffer.prototype.slice(start, end) - slice: function slice(start, end){ - if($slice !== undefined && end === undefined)return $slice.call(anObject(this), start); // FF fix - var len = anObject(this).byteLength - , first = toIndex(start, len) - , final = toIndex(end === undefined ? len : end, len) - , result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first)) - , viewS = new $DataView(this) - , viewT = new $DataView(result) - , index = 0; - while(first < final){ - viewT.setUint8(index++, viewS.getUint8(first++)); - } return result; - } - }); - - __webpack_require__(192)(ARRAY_BUFFER); - -/***/ }, -/* 219 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(4) - , hide = __webpack_require__(10) - , uid = __webpack_require__(19) - , TYPED = uid('typed_array') - , VIEW = uid('view') - , ABV = !!(global.ArrayBuffer && global.DataView) - , CONSTR = ABV - , i = 0, l = 9, Typed; - - var TypedArrayConstructors = ( - 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array' - ).split(','); - - while(i < l){ - if(Typed = global[TypedArrayConstructors[i++]]){ - hide(Typed.prototype, TYPED, true); - hide(Typed.prototype, VIEW, true); - } else CONSTR = false; - } - - module.exports = { - ABV: ABV, - CONSTR: CONSTR, - TYPED: TYPED, - VIEW: VIEW - }; - -/***/ }, -/* 220 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var global = __webpack_require__(4) - , DESCRIPTORS = __webpack_require__(6) - , LIBRARY = __webpack_require__(28) - , $typed = __webpack_require__(219) - , hide = __webpack_require__(10) - , redefineAll = __webpack_require__(210) - , fails = __webpack_require__(7) - , anInstance = __webpack_require__(205) - , toInteger = __webpack_require__(38) - , toLength = __webpack_require__(37) - , gOPN = __webpack_require__(50).f - , dP = __webpack_require__(11).f - , arrayFill = __webpack_require__(188) - , setToStringTag = __webpack_require__(24) - , ARRAY_BUFFER = 'ArrayBuffer' - , DATA_VIEW = 'DataView' - , PROTOTYPE = 'prototype' - , WRONG_LENGTH = 'Wrong length!' - , WRONG_INDEX = 'Wrong index!' - , $ArrayBuffer = global[ARRAY_BUFFER] - , $DataView = global[DATA_VIEW] - , Math = global.Math - , RangeError = global.RangeError - , Infinity = global.Infinity - , BaseBuffer = $ArrayBuffer - , abs = Math.abs - , pow = Math.pow - , floor = Math.floor - , log = Math.log - , LN2 = Math.LN2 - , BUFFER = 'buffer' - , BYTE_LENGTH = 'byteLength' - , BYTE_OFFSET = 'byteOffset' - , $BUFFER = DESCRIPTORS ? '_b' : BUFFER - , $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH - , $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; - - // IEEE754 conversions based on https://github.com/feross/ieee754 - var packIEEE754 = function(value, mLen, nBytes){ - var buffer = Array(nBytes) - , eLen = nBytes * 8 - mLen - 1 - , eMax = (1 << eLen) - 1 - , eBias = eMax >> 1 - , rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0 - , i = 0 - , s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0 - , e, m, c; - value = abs(value) - if(value != value || value === Infinity){ - m = value != value ? 1 : 0; - e = eMax; - } else { - e = floor(log(value) / LN2); - if(value * (c = pow(2, -e)) < 1){ - e--; - c *= 2; - } - if(e + eBias >= 1){ - value += rt / c; - } else { - value += rt * pow(2, 1 - eBias); - } - if(value * c >= 2){ - e++; - c /= 2; - } - if(e + eBias >= eMax){ - m = 0; - e = eMax; - } else if(e + eBias >= 1){ - m = (value * c - 1) * pow(2, mLen); - e = e + eBias; - } else { - m = value * pow(2, eBias - 1) * pow(2, mLen); - e = 0; - } - } - for(; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8); - e = e << mLen | m; - eLen += mLen; - for(; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8); - buffer[--i] |= s * 128; - return buffer; - }; - var unpackIEEE754 = function(buffer, mLen, nBytes){ - var eLen = nBytes * 8 - mLen - 1 - , eMax = (1 << eLen) - 1 - , eBias = eMax >> 1 - , nBits = eLen - 7 - , i = nBytes - 1 - , s = buffer[i--] - , e = s & 127 - , m; - s >>= 7; - for(; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8); - m = e & (1 << -nBits) - 1; - e >>= -nBits; - nBits += mLen; - for(; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8); - if(e === 0){ - e = 1 - eBias; - } else if(e === eMax){ - return m ? NaN : s ? -Infinity : Infinity; - } else { - m = m + pow(2, mLen); - e = e - eBias; - } return (s ? -1 : 1) * m * pow(2, e - mLen); - }; - - var unpackI32 = function(bytes){ - return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0]; - }; - var packI8 = function(it){ - return [it & 0xff]; - }; - var packI16 = function(it){ - return [it & 0xff, it >> 8 & 0xff]; - }; - var packI32 = function(it){ - return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff]; - }; - var packF64 = function(it){ - return packIEEE754(it, 52, 8); - }; - var packF32 = function(it){ - return packIEEE754(it, 23, 4); - }; - - var addGetter = function(C, key, internal){ - dP(C[PROTOTYPE], key, {get: function(){ return this[internal]; }}); - }; - - var get = function(view, bytes, index, isLittleEndian){ - var numIndex = +index - , intIndex = toInteger(numIndex); - if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX); - var store = view[$BUFFER]._b - , start = intIndex + view[$OFFSET] - , pack = store.slice(start, start + bytes); - return isLittleEndian ? pack : pack.reverse(); - }; - var set = function(view, bytes, index, conversion, value, isLittleEndian){ - var numIndex = +index - , intIndex = toInteger(numIndex); - if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX); - var store = view[$BUFFER]._b - , start = intIndex + view[$OFFSET] - , pack = conversion(+value); - for(var i = 0; i < bytes; i++)store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; - }; - - var validateArrayBufferArguments = function(that, length){ - anInstance(that, $ArrayBuffer, ARRAY_BUFFER); - var numberLength = +length - , byteLength = toLength(numberLength); - if(numberLength != byteLength)throw RangeError(WRONG_LENGTH); - return byteLength; - }; - - if(!$typed.ABV){ - $ArrayBuffer = function ArrayBuffer(length){ - var byteLength = validateArrayBufferArguments(this, length); - this._b = arrayFill.call(Array(byteLength), 0); - this[$LENGTH] = byteLength; - }; - - $DataView = function DataView(buffer, byteOffset, byteLength){ - anInstance(this, $DataView, DATA_VIEW); - anInstance(buffer, $ArrayBuffer, DATA_VIEW); - var bufferLength = buffer[$LENGTH] - , offset = toInteger(byteOffset); - if(offset < 0 || offset > bufferLength)throw RangeError('Wrong offset!'); - byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); - if(offset + byteLength > bufferLength)throw RangeError(WRONG_LENGTH); - this[$BUFFER] = buffer; - this[$OFFSET] = offset; - this[$LENGTH] = byteLength; - }; - - if(DESCRIPTORS){ - addGetter($ArrayBuffer, BYTE_LENGTH, '_l'); - addGetter($DataView, BUFFER, '_b'); - addGetter($DataView, BYTE_LENGTH, '_l'); - addGetter($DataView, BYTE_OFFSET, '_o'); - } - - redefineAll($DataView[PROTOTYPE], { - getInt8: function getInt8(byteOffset){ - return get(this, 1, byteOffset)[0] << 24 >> 24; - }, - getUint8: function getUint8(byteOffset){ - return get(this, 1, byteOffset)[0]; - }, - getInt16: function getInt16(byteOffset /*, littleEndian */){ - var bytes = get(this, 2, byteOffset, arguments[1]); - return (bytes[1] << 8 | bytes[0]) << 16 >> 16; - }, - getUint16: function getUint16(byteOffset /*, littleEndian */){ - var bytes = get(this, 2, byteOffset, arguments[1]); - return bytes[1] << 8 | bytes[0]; - }, - getInt32: function getInt32(byteOffset /*, littleEndian */){ - return unpackI32(get(this, 4, byteOffset, arguments[1])); - }, - getUint32: function getUint32(byteOffset /*, littleEndian */){ - return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0; - }, - getFloat32: function getFloat32(byteOffset /*, littleEndian */){ - return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4); - }, - getFloat64: function getFloat64(byteOffset /*, littleEndian */){ - return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8); - }, - setInt8: function setInt8(byteOffset, value){ - set(this, 1, byteOffset, packI8, value); - }, - setUint8: function setUint8(byteOffset, value){ - set(this, 1, byteOffset, packI8, value); - }, - setInt16: function setInt16(byteOffset, value /*, littleEndian */){ - set(this, 2, byteOffset, packI16, value, arguments[2]); - }, - setUint16: function setUint16(byteOffset, value /*, littleEndian */){ - set(this, 2, byteOffset, packI16, value, arguments[2]); - }, - setInt32: function setInt32(byteOffset, value /*, littleEndian */){ - set(this, 4, byteOffset, packI32, value, arguments[2]); - }, - setUint32: function setUint32(byteOffset, value /*, littleEndian */){ - set(this, 4, byteOffset, packI32, value, arguments[2]); - }, - setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){ - set(this, 4, byteOffset, packF32, value, arguments[2]); - }, - setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){ - set(this, 8, byteOffset, packF64, value, arguments[2]); - } - }); - } else { - if(!fails(function(){ - new $ArrayBuffer; // eslint-disable-line no-new - }) || !fails(function(){ - new $ArrayBuffer(.5); // eslint-disable-line no-new - })){ - $ArrayBuffer = function ArrayBuffer(length){ - return new BaseBuffer(validateArrayBufferArguments(this, length)); - }; - var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE]; - for(var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j; ){ - if(!((key = keys[j++]) in $ArrayBuffer))hide($ArrayBuffer, key, BaseBuffer[key]); - }; - if(!LIBRARY)ArrayBufferProto.constructor = $ArrayBuffer; - } - // iOS Safari 7.x bug - var view = new $DataView(new $ArrayBuffer(2)) - , $setInt8 = $DataView[PROTOTYPE].setInt8; - view.setInt8(0, 2147483648); - view.setInt8(1, 2147483649); - if(view.getInt8(0) || !view.getInt8(1))redefineAll($DataView[PROTOTYPE], { - setInt8: function setInt8(byteOffset, value){ - $setInt8.call(this, byteOffset, value << 24 >> 24); - }, - setUint8: function setUint8(byteOffset, value){ - $setInt8.call(this, byteOffset, value << 24 >> 24); - } - }, true); - } - setToStringTag($ArrayBuffer, ARRAY_BUFFER); - setToStringTag($DataView, DATA_VIEW); - hide($DataView[PROTOTYPE], $typed.VIEW, true); - exports[ARRAY_BUFFER] = $ArrayBuffer; - exports[DATA_VIEW] = $DataView; - -/***/ }, -/* 221 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(8); - $export($export.G + $export.W + $export.F * !__webpack_require__(219).ABV, { - DataView: __webpack_require__(220).DataView - }); - -/***/ }, -/* 222 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(223)('Int8', 1, function(init){ - return function Int8Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); - -/***/ }, -/* 223 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - if(__webpack_require__(6)){ - var LIBRARY = __webpack_require__(28) - , global = __webpack_require__(4) - , fails = __webpack_require__(7) - , $export = __webpack_require__(8) - , $typed = __webpack_require__(219) - , $buffer = __webpack_require__(220) - , ctx = __webpack_require__(20) - , anInstance = __webpack_require__(205) - , propertyDesc = __webpack_require__(17) - , hide = __webpack_require__(10) - , redefineAll = __webpack_require__(210) - , toInteger = __webpack_require__(38) - , toLength = __webpack_require__(37) - , toIndex = __webpack_require__(39) - , toPrimitive = __webpack_require__(16) - , has = __webpack_require__(5) - , same = __webpack_require__(71) - , classof = __webpack_require__(75) - , isObject = __webpack_require__(13) - , toObject = __webpack_require__(58) - , isArrayIter = __webpack_require__(162) - , create = __webpack_require__(46) - , getPrototypeOf = __webpack_require__(59) - , gOPN = __webpack_require__(50).f - , getIterFn = __webpack_require__(164) - , uid = __webpack_require__(19) - , wks = __webpack_require__(25) - , createArrayMethod = __webpack_require__(172) - , createArrayIncludes = __webpack_require__(36) - , speciesConstructor = __webpack_require__(207) - , ArrayIterators = __webpack_require__(193) - , Iterators = __webpack_require__(129) - , $iterDetect = __webpack_require__(165) - , setSpecies = __webpack_require__(192) - , arrayFill = __webpack_require__(188) - , arrayCopyWithin = __webpack_require__(185) - , $DP = __webpack_require__(11) - , $GOPD = __webpack_require__(51) - , dP = $DP.f - , gOPD = $GOPD.f - , RangeError = global.RangeError - , TypeError = global.TypeError - , Uint8Array = global.Uint8Array - , ARRAY_BUFFER = 'ArrayBuffer' - , SHARED_BUFFER = 'Shared' + ARRAY_BUFFER - , BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT' - , PROTOTYPE = 'prototype' - , ArrayProto = Array[PROTOTYPE] - , $ArrayBuffer = $buffer.ArrayBuffer - , $DataView = $buffer.DataView - , arrayForEach = createArrayMethod(0) - , arrayFilter = createArrayMethod(2) - , arraySome = createArrayMethod(3) - , arrayEvery = createArrayMethod(4) - , arrayFind = createArrayMethod(5) - , arrayFindIndex = createArrayMethod(6) - , arrayIncludes = createArrayIncludes(true) - , arrayIndexOf = createArrayIncludes(false) - , arrayValues = ArrayIterators.values - , arrayKeys = ArrayIterators.keys - , arrayEntries = ArrayIterators.entries - , arrayLastIndexOf = ArrayProto.lastIndexOf - , arrayReduce = ArrayProto.reduce - , arrayReduceRight = ArrayProto.reduceRight - , arrayJoin = ArrayProto.join - , arraySort = ArrayProto.sort - , arraySlice = ArrayProto.slice - , arrayToString = ArrayProto.toString - , arrayToLocaleString = ArrayProto.toLocaleString - , ITERATOR = wks('iterator') - , TAG = wks('toStringTag') - , TYPED_CONSTRUCTOR = uid('typed_constructor') - , DEF_CONSTRUCTOR = uid('def_constructor') - , ALL_CONSTRUCTORS = $typed.CONSTR - , TYPED_ARRAY = $typed.TYPED - , VIEW = $typed.VIEW - , WRONG_LENGTH = 'Wrong length!'; - - var $map = createArrayMethod(1, function(O, length){ - return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length); - }); - - var LITTLE_ENDIAN = fails(function(){ - return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1; - }); - - var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function(){ - new Uint8Array(1).set({}); - }); - - var strictToLength = function(it, SAME){ - if(it === undefined)throw TypeError(WRONG_LENGTH); - var number = +it - , length = toLength(it); - if(SAME && !same(number, length))throw RangeError(WRONG_LENGTH); - return length; - }; - - var toOffset = function(it, BYTES){ - var offset = toInteger(it); - if(offset < 0 || offset % BYTES)throw RangeError('Wrong offset!'); - return offset; - }; - - var validate = function(it){ - if(isObject(it) && TYPED_ARRAY in it)return it; - throw TypeError(it + ' is not a typed array!'); - }; - - var allocate = function(C, length){ - if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){ - throw TypeError('It is not a typed array constructor!'); - } return new C(length); - }; - - var speciesFromList = function(O, list){ - return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list); - }; - - var fromList = function(C, list){ - var index = 0 - , length = list.length - , result = allocate(C, length); - while(length > index)result[index] = list[index++]; - return result; - }; - - var addGetter = function(it, key, internal){ - dP(it, key, {get: function(){ return this._d[internal]; }}); - }; - - var $from = function from(source /*, mapfn, thisArg */){ - var O = toObject(source) - , aLen = arguments.length - , mapfn = aLen > 1 ? arguments[1] : undefined - , mapping = mapfn !== undefined - , iterFn = getIterFn(O) - , i, length, values, result, step, iterator; - if(iterFn != undefined && !isArrayIter(iterFn)){ - for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){ - values.push(step.value); - } O = values; - } - if(mapping && aLen > 2)mapfn = ctx(mapfn, arguments[2], 2); - for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){ - result[i] = mapping ? mapfn(O[i], i) : O[i]; - } - return result; - }; - - var $of = function of(/*...items*/){ - var index = 0 - , length = arguments.length - , result = allocate(this, length); - while(length > index)result[index] = arguments[index++]; - return result; - }; - - // iOS Safari 6.x fails here - var TO_LOCALE_BUG = !!Uint8Array && fails(function(){ arrayToLocaleString.call(new Uint8Array(1)); }); - - var $toLocaleString = function toLocaleString(){ - return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments); - }; - - var proto = { - copyWithin: function copyWithin(target, start /*, end */){ - return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined); - }, - every: function every(callbackfn /*, thisArg */){ - return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }, - fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars - return arrayFill.apply(validate(this), arguments); - }, - filter: function filter(callbackfn /*, thisArg */){ - return speciesFromList(this, arrayFilter(validate(this), callbackfn, - arguments.length > 1 ? arguments[1] : undefined)); - }, - find: function find(predicate /*, thisArg */){ - return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); - }, - findIndex: function findIndex(predicate /*, thisArg */){ - return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); - }, - forEach: function forEach(callbackfn /*, thisArg */){ - arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }, - indexOf: function indexOf(searchElement /*, fromIndex */){ - return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); - }, - includes: function includes(searchElement /*, fromIndex */){ - return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); - }, - join: function join(separator){ // eslint-disable-line no-unused-vars - return arrayJoin.apply(validate(this), arguments); - }, - lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars - return arrayLastIndexOf.apply(validate(this), arguments); - }, - map: function map(mapfn /*, thisArg */){ - return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined); - }, - reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars - return arrayReduce.apply(validate(this), arguments); - }, - reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars - return arrayReduceRight.apply(validate(this), arguments); - }, - reverse: function reverse(){ - var that = this - , length = validate(that).length - , middle = Math.floor(length / 2) - , index = 0 - , value; - while(index < middle){ - value = that[index]; - that[index++] = that[--length]; - that[length] = value; - } return that; - }, - some: function some(callbackfn /*, thisArg */){ - return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }, - sort: function sort(comparefn){ - return arraySort.call(validate(this), comparefn); - }, - subarray: function subarray(begin, end){ - var O = validate(this) - , length = O.length - , $begin = toIndex(begin, length); - return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))( - O.buffer, - O.byteOffset + $begin * O.BYTES_PER_ELEMENT, - toLength((end === undefined ? length : toIndex(end, length)) - $begin) - ); - } - }; - - var $slice = function slice(start, end){ - return speciesFromList(this, arraySlice.call(validate(this), start, end)); - }; - - var $set = function set(arrayLike /*, offset */){ - validate(this); - var offset = toOffset(arguments[1], 1) - , length = this.length - , src = toObject(arrayLike) - , len = toLength(src.length) - , index = 0; - if(len + offset > length)throw RangeError(WRONG_LENGTH); - while(index < len)this[offset + index] = src[index++]; - }; - - var $iterators = { - entries: function entries(){ - return arrayEntries.call(validate(this)); - }, - keys: function keys(){ - return arrayKeys.call(validate(this)); - }, - values: function values(){ - return arrayValues.call(validate(this)); - } - }; - - var isTAIndex = function(target, key){ - return isObject(target) - && target[TYPED_ARRAY] - && typeof key != 'symbol' - && key in target - && String(+key) == String(key); - }; - var $getDesc = function getOwnPropertyDescriptor(target, key){ - return isTAIndex(target, key = toPrimitive(key, true)) - ? propertyDesc(2, target[key]) - : gOPD(target, key); - }; - var $setDesc = function defineProperty(target, key, desc){ - if(isTAIndex(target, key = toPrimitive(key, true)) - && isObject(desc) - && has(desc, 'value') - && !has(desc, 'get') - && !has(desc, 'set') - // TODO: add validation descriptor w/o calling accessors - && !desc.configurable - && (!has(desc, 'writable') || desc.writable) - && (!has(desc, 'enumerable') || desc.enumerable) - ){ - target[key] = desc.value; - return target; - } else return dP(target, key, desc); - }; - - if(!ALL_CONSTRUCTORS){ - $GOPD.f = $getDesc; - $DP.f = $setDesc; - } - - $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', { - getOwnPropertyDescriptor: $getDesc, - defineProperty: $setDesc - }); - - if(fails(function(){ arrayToString.call({}); })){ - arrayToString = arrayToLocaleString = function toString(){ - return arrayJoin.call(this); - } - } - - var $TypedArrayPrototype$ = redefineAll({}, proto); - redefineAll($TypedArrayPrototype$, $iterators); - hide($TypedArrayPrototype$, ITERATOR, $iterators.values); - redefineAll($TypedArrayPrototype$, { - slice: $slice, - set: $set, - constructor: function(){ /* noop */ }, - toString: arrayToString, - toLocaleString: $toLocaleString - }); - addGetter($TypedArrayPrototype$, 'buffer', 'b'); - addGetter($TypedArrayPrototype$, 'byteOffset', 'o'); - addGetter($TypedArrayPrototype$, 'byteLength', 'l'); - addGetter($TypedArrayPrototype$, 'length', 'e'); - dP($TypedArrayPrototype$, TAG, { - get: function(){ return this[TYPED_ARRAY]; } - }); - - module.exports = function(KEY, BYTES, wrapper, CLAMPED){ - CLAMPED = !!CLAMPED; - var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array' - , ISNT_UINT8 = NAME != 'Uint8Array' - , GETTER = 'get' + KEY - , SETTER = 'set' + KEY - , TypedArray = global[NAME] - , Base = TypedArray || {} - , TAC = TypedArray && getPrototypeOf(TypedArray) - , FORCED = !TypedArray || !$typed.ABV - , O = {} - , TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; - var getter = function(that, index){ - var data = that._d; - return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN); - }; - var setter = function(that, index, value){ - var data = that._d; - if(CLAMPED)value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; - data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN); - }; - var addElement = function(that, index){ - dP(that, index, { - get: function(){ - return getter(this, index); - }, - set: function(value){ - return setter(this, index, value); - }, - enumerable: true - }); - }; - if(FORCED){ - TypedArray = wrapper(function(that, data, $offset, $length){ - anInstance(that, TypedArray, NAME, '_d'); - var index = 0 - , offset = 0 - , buffer, byteLength, length, klass; - if(!isObject(data)){ - length = strictToLength(data, true) - byteLength = length * BYTES; - buffer = new $ArrayBuffer(byteLength); - } else if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){ - buffer = data; - offset = toOffset($offset, BYTES); - var $len = data.byteLength; - if($length === undefined){ - if($len % BYTES)throw RangeError(WRONG_LENGTH); - byteLength = $len - offset; - if(byteLength < 0)throw RangeError(WRONG_LENGTH); - } else { - byteLength = toLength($length) * BYTES; - if(byteLength + offset > $len)throw RangeError(WRONG_LENGTH); - } - length = byteLength / BYTES; - } else if(TYPED_ARRAY in data){ - return fromList(TypedArray, data); - } else { - return $from.call(TypedArray, data); - } - hide(that, '_d', { - b: buffer, - o: offset, - l: byteLength, - e: length, - v: new $DataView(buffer) - }); - while(index < length)addElement(that, index++); - }); - TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$); - hide(TypedArrayPrototype, 'constructor', TypedArray); - } else if(!$iterDetect(function(iter){ - // V8 works with iterators, but fails in many other cases - // https://code.google.com/p/v8/issues/detail?id=4552 - new TypedArray(null); // eslint-disable-line no-new - new TypedArray(iter); // eslint-disable-line no-new - }, true)){ - TypedArray = wrapper(function(that, data, $offset, $length){ - anInstance(that, TypedArray, NAME); - var klass; - // `ws` module bug, temporarily remove validation length for Uint8Array - // https://github.com/websockets/ws/pull/645 - if(!isObject(data))return new Base(strictToLength(data, ISNT_UINT8)); - if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){ - return $length !== undefined - ? new Base(data, toOffset($offset, BYTES), $length) - : $offset !== undefined - ? new Base(data, toOffset($offset, BYTES)) - : new Base(data); - } - if(TYPED_ARRAY in data)return fromList(TypedArray, data); - return $from.call(TypedArray, data); - }); - arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function(key){ - if(!(key in TypedArray))hide(TypedArray, key, Base[key]); - }); - TypedArray[PROTOTYPE] = TypedArrayPrototype; - if(!LIBRARY)TypedArrayPrototype.constructor = TypedArray; - } - var $nativeIterator = TypedArrayPrototype[ITERATOR] - , CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined) - , $iterator = $iterators.values; - hide(TypedArray, TYPED_CONSTRUCTOR, true); - hide(TypedArrayPrototype, TYPED_ARRAY, NAME); - hide(TypedArrayPrototype, VIEW, true); - hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray); - - if(CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)){ - dP(TypedArrayPrototype, TAG, { - get: function(){ return NAME; } - }); - } - - O[NAME] = TypedArray; - - $export($export.G + $export.W + $export.F * (TypedArray != Base), O); - - $export($export.S, NAME, { - BYTES_PER_ELEMENT: BYTES, - from: $from, - of: $of - }); - - if(!(BYTES_PER_ELEMENT in TypedArrayPrototype))hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); - - $export($export.P, NAME, proto); - - setSpecies(NAME); - - $export($export.P + $export.F * FORCED_SET, NAME, {set: $set}); - - $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators); - - $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString}); - - $export($export.P + $export.F * fails(function(){ - new TypedArray(1).slice(); - }), NAME, {slice: $slice}); - - $export($export.P + $export.F * (fails(function(){ - return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString() - }) || !fails(function(){ - TypedArrayPrototype.toLocaleString.call([1, 2]); - })), NAME, {toLocaleString: $toLocaleString}); - - Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator; - if(!LIBRARY && !CORRECT_ITER_NAME)hide(TypedArrayPrototype, ITERATOR, $iterator); - }; - } else module.exports = function(){ /* empty */ }; - -/***/ }, -/* 224 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(223)('Uint8', 1, function(init){ - return function Uint8Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); - -/***/ }, -/* 225 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(223)('Uint8', 1, function(init){ - return function Uint8ClampedArray(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }, true); - -/***/ }, -/* 226 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(223)('Int16', 2, function(init){ - return function Int16Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); - -/***/ }, -/* 227 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(223)('Uint16', 2, function(init){ - return function Uint16Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); - -/***/ }, -/* 228 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(223)('Int32', 4, function(init){ - return function Int32Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); - -/***/ }, -/* 229 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(223)('Uint32', 4, function(init){ - return function Uint32Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); - -/***/ }, -/* 230 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(223)('Float32', 4, function(init){ - return function Float32Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); - -/***/ }, -/* 231 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(223)('Float64', 8, function(init){ - return function Float64Array(data, byteOffset, length){ - return init(this, data, byteOffset, length); - }; - }); - -/***/ }, -/* 232 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.1 Reflect.apply(target, thisArgument, argumentsList) - var $export = __webpack_require__(8) - , aFunction = __webpack_require__(21) - , anObject = __webpack_require__(12) - , rApply = (__webpack_require__(4).Reflect || {}).apply - , fApply = Function.apply; - // MS Edge argumentsList argument is optional - $export($export.S + $export.F * !__webpack_require__(7)(function(){ - rApply(function(){}); - }), 'Reflect', { - apply: function apply(target, thisArgument, argumentsList){ - var T = aFunction(target) - , L = anObject(argumentsList); - return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L); - } - }); - -/***/ }, -/* 233 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) - var $export = __webpack_require__(8) - , create = __webpack_require__(46) - , aFunction = __webpack_require__(21) - , anObject = __webpack_require__(12) - , isObject = __webpack_require__(13) - , fails = __webpack_require__(7) - , bind = __webpack_require__(77) - , rConstruct = (__webpack_require__(4).Reflect || {}).construct; - - // MS Edge supports only 2 arguments and argumentsList argument is optional - // FF Nightly sets third argument as `new.target`, but does not create `this` from it - var NEW_TARGET_BUG = fails(function(){ - function F(){} - return !(rConstruct(function(){}, [], F) instanceof F); - }); - var ARGS_BUG = !fails(function(){ - rConstruct(function(){}); - }); - - $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { - construct: function construct(Target, args /*, newTarget*/){ - aFunction(Target); - anObject(args); - var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); - if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget); - 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 - , instance = create(isObject(proto) ? proto : Object.prototype) - , result = Function.apply.call(Target, instance, args); - return isObject(result) ? result : instance; - } - }); - -/***/ }, -/* 234 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) - var dP = __webpack_require__(11) - , $export = __webpack_require__(8) - , anObject = __webpack_require__(12) - , toPrimitive = __webpack_require__(16); - - // MS Edge has broken Reflect.defineProperty - throwing instead of returning false - $export($export.S + $export.F * __webpack_require__(7)(function(){ - Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2}); - }), 'Reflect', { - defineProperty: function defineProperty(target, propertyKey, attributes){ - anObject(target); - propertyKey = toPrimitive(propertyKey, true); - anObject(attributes); - try { - dP.f(target, propertyKey, attributes); - return true; - } catch(e){ - return false; - } - } - }); - -/***/ }, -/* 235 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.4 Reflect.deleteProperty(target, propertyKey) - var $export = __webpack_require__(8) - , gOPD = __webpack_require__(51).f - , anObject = __webpack_require__(12); - - $export($export.S, 'Reflect', { - deleteProperty: function deleteProperty(target, propertyKey){ - var desc = gOPD(anObject(target), propertyKey); - return desc && !desc.configurable ? false : delete target[propertyKey]; - } - }); - -/***/ }, -/* 236 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // 26.1.5 Reflect.enumerate(target) - var $export = __webpack_require__(8) - , anObject = __webpack_require__(12); - var Enumerate = function(iterated){ - this._t = anObject(iterated); // target - this._i = 0; // next index - var keys = this._k = [] // keys - , key; - for(key in iterated)keys.push(key); - }; - __webpack_require__(130)(Enumerate, 'Object', function(){ - 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}; - }); - - $export($export.S, 'Reflect', { - enumerate: function enumerate(target){ - return new Enumerate(target); - } - }); - -/***/ }, -/* 237 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.6 Reflect.get(target, propertyKey [, receiver]) - var gOPD = __webpack_require__(51) - , getPrototypeOf = __webpack_require__(59) - , has = __webpack_require__(5) - , $export = __webpack_require__(8) - , isObject = __webpack_require__(13) - , anObject = __webpack_require__(12); - - function get(target, propertyKey/*, receiver*/){ - var receiver = arguments.length < 3 ? target : arguments[2] - , desc, proto; - if(anObject(target) === receiver)return target[propertyKey]; - if(desc = gOPD.f(target, propertyKey))return has(desc, 'value') - ? desc.value - : desc.get !== undefined - ? desc.get.call(receiver) - : undefined; - if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver); - } - - $export($export.S, 'Reflect', {get: get}); - -/***/ }, -/* 238 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) - var gOPD = __webpack_require__(51) - , $export = __webpack_require__(8) - , anObject = __webpack_require__(12); - - $export($export.S, 'Reflect', { - getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){ - return gOPD.f(anObject(target), propertyKey); - } - }); - -/***/ }, -/* 239 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.8 Reflect.getPrototypeOf(target) - var $export = __webpack_require__(8) - , getProto = __webpack_require__(59) - , anObject = __webpack_require__(12); - - $export($export.S, 'Reflect', { - getPrototypeOf: function getPrototypeOf(target){ - return getProto(anObject(target)); - } - }); - -/***/ }, -/* 240 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.9 Reflect.has(target, propertyKey) - var $export = __webpack_require__(8); - - $export($export.S, 'Reflect', { - has: function has(target, propertyKey){ - return propertyKey in target; - } - }); - -/***/ }, -/* 241 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.10 Reflect.isExtensible(target) - var $export = __webpack_require__(8) - , anObject = __webpack_require__(12) - , $isExtensible = Object.isExtensible; - - $export($export.S, 'Reflect', { - isExtensible: function isExtensible(target){ - anObject(target); - return $isExtensible ? $isExtensible(target) : true; - } - }); - -/***/ }, -/* 242 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.11 Reflect.ownKeys(target) - var $export = __webpack_require__(8); - - $export($export.S, 'Reflect', {ownKeys: __webpack_require__(243)}); - -/***/ }, -/* 243 */ -/***/ function(module, exports, __webpack_require__) { - - // all object keys, includes non-enumerable and symbols - var gOPN = __webpack_require__(50) - , gOPS = __webpack_require__(43) - , anObject = __webpack_require__(12) - , Reflect = __webpack_require__(4).Reflect; - module.exports = Reflect && Reflect.ownKeys || function ownKeys(it){ - var keys = gOPN.f(anObject(it)) - , getSymbols = gOPS.f; - return getSymbols ? keys.concat(getSymbols(it)) : keys; - }; - -/***/ }, -/* 244 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.12 Reflect.preventExtensions(target) - var $export = __webpack_require__(8) - , anObject = __webpack_require__(12) - , $preventExtensions = Object.preventExtensions; - - $export($export.S, 'Reflect', { - preventExtensions: function preventExtensions(target){ - anObject(target); - try { - if($preventExtensions)$preventExtensions(target); - return true; - } catch(e){ - return false; - } - } - }); - -/***/ }, -/* 245 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) - var dP = __webpack_require__(11) - , gOPD = __webpack_require__(51) - , getPrototypeOf = __webpack_require__(59) - , has = __webpack_require__(5) - , $export = __webpack_require__(8) - , createDesc = __webpack_require__(17) - , anObject = __webpack_require__(12) - , isObject = __webpack_require__(13); - - function set(target, propertyKey, V/*, receiver*/){ - var receiver = arguments.length < 4 ? target : arguments[3] - , ownDesc = gOPD.f(anObject(target), propertyKey) - , existingDescriptor, proto; - if(!ownDesc){ - if(isObject(proto = getPrototypeOf(target))){ - return set(proto, propertyKey, V, receiver); - } - ownDesc = createDesc(0); - } - if(has(ownDesc, 'value')){ - if(ownDesc.writable === false || !isObject(receiver))return false; - existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0); - existingDescriptor.value = V; - dP.f(receiver, propertyKey, existingDescriptor); - return true; - } - return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); - } - - $export($export.S, 'Reflect', {set: set}); - -/***/ }, -/* 246 */ -/***/ function(module, exports, __webpack_require__) { - - // 26.1.14 Reflect.setPrototypeOf(target, proto) - var $export = __webpack_require__(8) - , setProto = __webpack_require__(73); - - if(setProto)$export($export.S, 'Reflect', { - setPrototypeOf: function setPrototypeOf(target, proto){ - setProto.check(target, proto); - try { - setProto.set(target, proto); - return true; - } catch(e){ - return false; - } - } - }); - -/***/ }, -/* 247 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // https://github.com/tc39/Array.prototype.includes - var $export = __webpack_require__(8) - , $includes = __webpack_require__(36)(true); - - $export($export.P, 'Array', { - includes: function includes(el /*, fromIndex = 0 */){ - return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); - } - }); - - __webpack_require__(186)('includes'); - -/***/ }, -/* 248 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // https://github.com/mathiasbynens/String.prototype.at - var $export = __webpack_require__(8) - , $at = __webpack_require__(127)(true); - - $export($export.P, 'String', { - at: function at(pos){ - return $at(this, pos); - } - }); - -/***/ }, -/* 249 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // https://github.com/tc39/proposal-string-pad-start-end - var $export = __webpack_require__(8) - , $pad = __webpack_require__(250); - - $export($export.P, 'String', { - padStart: function padStart(maxLength /*, fillString = ' ' */){ - return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); - } - }); - -/***/ }, -/* 250 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/tc39/proposal-string-pad-start-end - var toLength = __webpack_require__(37) - , repeat = __webpack_require__(91) - , defined = __webpack_require__(35); - - 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 || fillStr == '')return S; - 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; - }; - - -/***/ }, -/* 251 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // https://github.com/tc39/proposal-string-pad-start-end - var $export = __webpack_require__(8) - , $pad = __webpack_require__(250); - - $export($export.P, 'String', { - padEnd: function padEnd(maxLength /*, fillString = ' ' */){ - return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); - } - }); - -/***/ }, -/* 252 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // https://github.com/sebmarkbage/ecmascript-string-left-right-trim - __webpack_require__(83)('trimLeft', function($trim){ - return function trimLeft(){ - return $trim(this, 1); - }; - }, 'trimStart'); - -/***/ }, -/* 253 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // https://github.com/sebmarkbage/ecmascript-string-left-right-trim - __webpack_require__(83)('trimRight', function($trim){ - return function trimRight(){ - return $trim(this, 2); - }; - }, 'trimEnd'); - -/***/ }, -/* 254 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // https://tc39.github.io/String.prototype.matchAll/ - var $export = __webpack_require__(8) - , defined = __webpack_require__(35) - , toLength = __webpack_require__(37) - , isRegExp = __webpack_require__(134) - , getFlags = __webpack_require__(196) - , RegExpProto = RegExp.prototype; - - var $RegExpStringIterator = function(regexp, string){ - this._r = regexp; - this._s = string; - }; - - __webpack_require__(130)($RegExpStringIterator, 'RegExp String', function next(){ - var match = this._r.exec(this._s); - return {value: match, done: match === null}; - }); - - $export($export.P, 'String', { - matchAll: function matchAll(regexp){ - defined(this); - if(!isRegExp(regexp))throw TypeError(regexp + ' is not a regexp!'); - var S = String(this) - , flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp) - , rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags); - rx.lastIndex = toLength(regexp.lastIndex); - return new $RegExpStringIterator(rx, S); - } - }); - -/***/ }, -/* 255 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(27)('asyncIterator'); - -/***/ }, -/* 256 */ -/***/ function(module, exports, __webpack_require__) { - - __webpack_require__(27)('observable'); - -/***/ }, -/* 257 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/tc39/proposal-object-getownpropertydescriptors - var $export = __webpack_require__(8) - , ownKeys = __webpack_require__(243) - , toIObject = __webpack_require__(32) - , gOPD = __webpack_require__(51) - , createProperty = __webpack_require__(163); - - $export($export.S, 'Object', { - getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){ - var O = toIObject(object) - , getDesc = gOPD.f - , keys = ownKeys(O) - , result = {} - , i = 0 - , key; - while(keys.length > i)createProperty(result, key = keys[i++], getDesc(O, key)); - return result; - } - }); - -/***/ }, -/* 258 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/tc39/proposal-object-values-entries - var $export = __webpack_require__(8) - , $values = __webpack_require__(259)(false); - - $export($export.S, 'Object', { - values: function values(it){ - return $values(it); - } - }); - -/***/ }, -/* 259 */ -/***/ function(module, exports, __webpack_require__) { - - var getKeys = __webpack_require__(30) - , toIObject = __webpack_require__(32) - , isEnum = __webpack_require__(44).f; - module.exports = function(isEntries){ - return function(it){ - var O = toIObject(it) - , keys = getKeys(O) - , length = keys.length - , i = 0 - , result = [] - , key; - while(length > i)if(isEnum.call(O, key = keys[i++])){ - result.push(isEntries ? [key, O[key]] : O[key]); - } return result; - }; - }; - -/***/ }, -/* 260 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/tc39/proposal-object-values-entries - var $export = __webpack_require__(8) - , $entries = __webpack_require__(259)(true); - - $export($export.S, 'Object', { - entries: function entries(it){ - return $entries(it); - } - }); - -/***/ }, -/* 261 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , toObject = __webpack_require__(58) - , aFunction = __webpack_require__(21) - , $defineProperty = __webpack_require__(11); - - // B.2.2.2 Object.prototype.__defineGetter__(P, getter) - __webpack_require__(6) && $export($export.P + __webpack_require__(262), 'Object', { - __defineGetter__: function __defineGetter__(P, getter){ - $defineProperty.f(toObject(this), P, {get: aFunction(getter), enumerable: true, configurable: true}); - } - }); - -/***/ }, -/* 262 */ -/***/ function(module, exports, __webpack_require__) { - - // Forced replacement prototype accessors methods - module.exports = __webpack_require__(28)|| !__webpack_require__(7)(function(){ - var K = Math.random(); - // In FF throws only define methods - __defineSetter__.call(null, K, function(){ /* empty */}); - delete __webpack_require__(4)[K]; - }); - -/***/ }, -/* 263 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , toObject = __webpack_require__(58) - , aFunction = __webpack_require__(21) - , $defineProperty = __webpack_require__(11); - - // B.2.2.3 Object.prototype.__defineSetter__(P, setter) - __webpack_require__(6) && $export($export.P + __webpack_require__(262), 'Object', { - __defineSetter__: function __defineSetter__(P, setter){ - $defineProperty.f(toObject(this), P, {set: aFunction(setter), enumerable: true, configurable: true}); - } - }); - -/***/ }, -/* 264 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , toObject = __webpack_require__(58) - , toPrimitive = __webpack_require__(16) - , getPrototypeOf = __webpack_require__(59) - , getOwnPropertyDescriptor = __webpack_require__(51).f; - - // B.2.2.4 Object.prototype.__lookupGetter__(P) - __webpack_require__(6) && $export($export.P + __webpack_require__(262), 'Object', { - __lookupGetter__: function __lookupGetter__(P){ - var O = toObject(this) - , K = toPrimitive(P, true) - , D; - do { - if(D = getOwnPropertyDescriptor(O, K))return D.get; - } while(O = getPrototypeOf(O)); - } - }); - -/***/ }, -/* 265 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8) - , toObject = __webpack_require__(58) - , toPrimitive = __webpack_require__(16) - , getPrototypeOf = __webpack_require__(59) - , getOwnPropertyDescriptor = __webpack_require__(51).f; - - // B.2.2.5 Object.prototype.__lookupSetter__(P) - __webpack_require__(6) && $export($export.P + __webpack_require__(262), 'Object', { - __lookupSetter__: function __lookupSetter__(P){ - var O = toObject(this) - , K = toPrimitive(P, true) - , D; - do { - if(D = getOwnPropertyDescriptor(O, K))return D.set; - } while(O = getPrototypeOf(O)); - } - }); - -/***/ }, -/* 266 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/DavidBruant/Map-Set.prototype.toJSON - var $export = __webpack_require__(8); - - $export($export.P + $export.R, 'Map', {toJSON: __webpack_require__(267)('Map')}); - -/***/ }, -/* 267 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/DavidBruant/Map-Set.prototype.toJSON - var classof = __webpack_require__(75) - , from = __webpack_require__(268); - module.exports = function(NAME){ - return function toJSON(){ - if(classof(this) != NAME)throw TypeError(NAME + "#toJSON isn't generic"); - return from(this); - }; - }; - -/***/ }, -/* 268 */ -/***/ function(module, exports, __webpack_require__) { - - var forOf = __webpack_require__(206); - - module.exports = function(iter, ITERATOR){ - var result = []; - forOf(iter, false, result.push, result, ITERATOR); - return result; - }; - - -/***/ }, -/* 269 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/DavidBruant/Map-Set.prototype.toJSON - var $export = __webpack_require__(8); - - $export($export.P + $export.R, 'Set', {toJSON: __webpack_require__(267)('Set')}); - -/***/ }, -/* 270 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/ljharb/proposal-global - var $export = __webpack_require__(8); - - $export($export.S, 'System', {global: __webpack_require__(4)}); - -/***/ }, -/* 271 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/ljharb/proposal-is-error - var $export = __webpack_require__(8) - , cof = __webpack_require__(34); - - $export($export.S, 'Error', { - isError: function isError(it){ - return cof(it) === 'Error'; - } - }); - -/***/ }, -/* 272 */ -/***/ function(module, exports, __webpack_require__) { - - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = __webpack_require__(8); - - $export($export.S, 'Math', { - iaddh: function iaddh(x0, x1, y0, y1){ - var $x0 = x0 >>> 0 - , $x1 = x1 >>> 0 - , $y0 = y0 >>> 0; - return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0; - } - }); - -/***/ }, -/* 273 */ -/***/ function(module, exports, __webpack_require__) { - - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = __webpack_require__(8); - - $export($export.S, 'Math', { - isubh: function isubh(x0, x1, y0, y1){ - var $x0 = x0 >>> 0 - , $x1 = x1 >>> 0 - , $y0 = y0 >>> 0; - return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0; - } - }); - -/***/ }, -/* 274 */ -/***/ function(module, exports, __webpack_require__) { - - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = __webpack_require__(8); - - $export($export.S, 'Math', { - imulh: function imulh(u, v){ - var UINT16 = 0xffff - , $u = +u - , $v = +v - , u0 = $u & UINT16 - , v0 = $v & UINT16 - , u1 = $u >> 16 - , v1 = $v >> 16 - , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); - return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); - } - }); - -/***/ }, -/* 275 */ -/***/ function(module, exports, __webpack_require__) { - - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = __webpack_require__(8); - - $export($export.S, 'Math', { - umulh: function umulh(u, v){ - var UINT16 = 0xffff - , $u = +u - , $v = +v - , u0 = $u & UINT16 - , v0 = $v & UINT16 - , u1 = $u >>> 16 - , v1 = $v >>> 16 - , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); - return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16); - } - }); - -/***/ }, -/* 276 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(277) - , anObject = __webpack_require__(12) - , toMetaKey = metadata.key - , ordinaryDefineOwnMetadata = metadata.set; - - metadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){ - ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey)); - }}); - -/***/ }, -/* 277 */ -/***/ function(module, exports, __webpack_require__) { - - var Map = __webpack_require__(211) - , $export = __webpack_require__(8) - , shared = __webpack_require__(23)('metadata') - , store = shared.store || (shared.store = new (__webpack_require__(215))); - - var getOrCreateMetadataMap = function(target, targetKey, create){ - var targetMetadata = store.get(target); - if(!targetMetadata){ - if(!create)return undefined; - store.set(target, targetMetadata = new Map); - } - var keyMetadata = targetMetadata.get(targetKey); - if(!keyMetadata){ - if(!create)return undefined; - targetMetadata.set(targetKey, keyMetadata = new Map); - } return keyMetadata; - }; - var ordinaryHasOwnMetadata = function(MetadataKey, O, P){ - var metadataMap = getOrCreateMetadataMap(O, P, false); - return metadataMap === undefined ? false : metadataMap.has(MetadataKey); - }; - var ordinaryGetOwnMetadata = function(MetadataKey, O, P){ - var metadataMap = getOrCreateMetadataMap(O, P, false); - return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); - }; - var ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){ - getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); - }; - var ordinaryOwnMetadataKeys = function(target, targetKey){ - var metadataMap = getOrCreateMetadataMap(target, targetKey, false) - , keys = []; - if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); }); - return keys; - }; - var toMetaKey = function(it){ - return it === undefined || typeof it == 'symbol' ? it : String(it); - }; - var exp = function(O){ - $export($export.S, 'Reflect', O); - }; - - module.exports = { - store: store, - map: getOrCreateMetadataMap, - has: ordinaryHasOwnMetadata, - get: ordinaryGetOwnMetadata, - set: ordinaryDefineOwnMetadata, - keys: ordinaryOwnMetadataKeys, - key: toMetaKey, - exp: exp - }; - -/***/ }, -/* 278 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(277) - , anObject = __webpack_require__(12) - , toMetaKey = metadata.key - , getOrCreateMetadataMap = metadata.map - , store = metadata.store; - - metadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){ - var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]) - , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); - if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false; - if(metadataMap.size)return true; - var targetMetadata = store.get(target); - targetMetadata['delete'](targetKey); - return !!targetMetadata.size || store['delete'](target); - }}); - -/***/ }, -/* 279 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(277) - , anObject = __webpack_require__(12) - , getPrototypeOf = __webpack_require__(59) - , ordinaryHasOwnMetadata = metadata.has - , ordinaryGetOwnMetadata = metadata.get - , toMetaKey = metadata.key; - - var ordinaryGetMetadata = function(MetadataKey, O, P){ - var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P); - var parent = getPrototypeOf(O); - return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; - }; - - metadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){ - return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - }}); - -/***/ }, -/* 280 */ -/***/ function(module, exports, __webpack_require__) { - - var Set = __webpack_require__(214) - , from = __webpack_require__(268) - , metadata = __webpack_require__(277) - , anObject = __webpack_require__(12) - , getPrototypeOf = __webpack_require__(59) - , ordinaryOwnMetadataKeys = metadata.keys - , toMetaKey = metadata.key; - - var ordinaryMetadataKeys = function(O, P){ - var oKeys = ordinaryOwnMetadataKeys(O, P) - , parent = getPrototypeOf(O); - if(parent === null)return oKeys; - var pKeys = ordinaryMetadataKeys(parent, P); - return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys; - }; - - metadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){ - return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); - }}); - -/***/ }, -/* 281 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(277) - , anObject = __webpack_require__(12) - , ordinaryGetOwnMetadata = metadata.get - , toMetaKey = metadata.key; - - metadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){ - return ordinaryGetOwnMetadata(metadataKey, anObject(target) - , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - }}); - -/***/ }, -/* 282 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(277) - , anObject = __webpack_require__(12) - , ordinaryOwnMetadataKeys = metadata.keys - , toMetaKey = metadata.key; - - metadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){ - return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); - }}); - -/***/ }, -/* 283 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(277) - , anObject = __webpack_require__(12) - , getPrototypeOf = __webpack_require__(59) - , ordinaryHasOwnMetadata = metadata.has - , toMetaKey = metadata.key; - - var ordinaryHasMetadata = function(MetadataKey, O, P){ - var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if(hasOwn)return true; - var parent = getPrototypeOf(O); - return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false; - }; - - metadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){ - return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - }}); - -/***/ }, -/* 284 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(277) - , anObject = __webpack_require__(12) - , ordinaryHasOwnMetadata = metadata.has - , toMetaKey = metadata.key; - - metadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){ - return ordinaryHasOwnMetadata(metadataKey, anObject(target) - , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - }}); - -/***/ }, -/* 285 */ -/***/ function(module, exports, __webpack_require__) { - - var metadata = __webpack_require__(277) - , anObject = __webpack_require__(12) - , aFunction = __webpack_require__(21) - , toMetaKey = metadata.key - , ordinaryDefineOwnMetadata = metadata.set; - - metadata.exp({metadata: function metadata(metadataKey, metadataValue){ - return function decorator(target, targetKey){ - ordinaryDefineOwnMetadata( - metadataKey, metadataValue, - (targetKey !== undefined ? anObject : aFunction)(target), - toMetaKey(targetKey) - ); - }; - }}); - -/***/ }, -/* 286 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask - var $export = __webpack_require__(8) - , microtask = __webpack_require__(209)() - , process = __webpack_require__(4).process - , isNode = __webpack_require__(34)(process) == 'process'; - - $export($export.G, { - asap: function asap(fn){ - var domain = isNode && process.domain; - microtask(domain ? domain.bind(fn) : fn); - } - }); - -/***/ }, -/* 287 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - // https://github.com/zenparsing/es-observable - var $export = __webpack_require__(8) - , global = __webpack_require__(4) - , core = __webpack_require__(9) - , microtask = __webpack_require__(209)() - , OBSERVABLE = __webpack_require__(25)('observable') - , aFunction = __webpack_require__(21) - , anObject = __webpack_require__(12) - , anInstance = __webpack_require__(205) - , redefineAll = __webpack_require__(210) - , hide = __webpack_require__(10) - , forOf = __webpack_require__(206) - , RETURN = forOf.RETURN; - - var getMethod = function(fn){ - return fn == null ? undefined : aFunction(fn); - }; - - var cleanupSubscription = function(subscription){ - var cleanup = subscription._c; - if(cleanup){ - subscription._c = undefined; - cleanup(); - } - }; - - var subscriptionClosed = function(subscription){ - return subscription._o === undefined; - }; - - var closeSubscription = function(subscription){ - if(!subscriptionClosed(subscription)){ - subscription._o = undefined; - cleanupSubscription(subscription); - } - }; - - var Subscription = function(observer, subscriber){ - anObject(observer); - this._c = undefined; - this._o = observer; - observer = new SubscriptionObserver(this); - try { - var cleanup = subscriber(observer) - , subscription = cleanup; - if(cleanup != null){ - if(typeof cleanup.unsubscribe === 'function')cleanup = function(){ subscription.unsubscribe(); }; - else aFunction(cleanup); - this._c = cleanup; - } - } catch(e){ - observer.error(e); - return; - } if(subscriptionClosed(this))cleanupSubscription(this); - }; - - Subscription.prototype = redefineAll({}, { - unsubscribe: function unsubscribe(){ closeSubscription(this); } - }); - - var SubscriptionObserver = function(subscription){ - this._s = subscription; - }; - - SubscriptionObserver.prototype = redefineAll({}, { - next: function next(value){ - var subscription = this._s; - if(!subscriptionClosed(subscription)){ - var observer = subscription._o; - try { - var m = getMethod(observer.next); - if(m)return m.call(observer, value); - } catch(e){ - try { - closeSubscription(subscription); - } finally { - throw e; - } - } - } - }, - error: function error(value){ - var subscription = this._s; - if(subscriptionClosed(subscription))throw value; - var observer = subscription._o; - subscription._o = undefined; - try { - var m = getMethod(observer.error); - if(!m)throw value; - value = m.call(observer, value); - } catch(e){ - try { - cleanupSubscription(subscription); - } finally { - throw e; - } - } cleanupSubscription(subscription); - return value; - }, - complete: function complete(value){ - var subscription = this._s; - if(!subscriptionClosed(subscription)){ - var observer = subscription._o; - subscription._o = undefined; - try { - var m = getMethod(observer.complete); - value = m ? m.call(observer, value) : undefined; - } catch(e){ - try { - cleanupSubscription(subscription); - } finally { - throw e; - } - } cleanupSubscription(subscription); - return value; - } - } - }); - - var $Observable = function Observable(subscriber){ - anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber); - }; - - redefineAll($Observable.prototype, { - subscribe: function subscribe(observer){ - return new Subscription(observer, this._f); - }, - forEach: function forEach(fn){ - var that = this; - return new (core.Promise || global.Promise)(function(resolve, reject){ - aFunction(fn); - var subscription = that.subscribe({ - next : function(value){ - try { - return fn(value); - } catch(e){ - reject(e); - subscription.unsubscribe(); - } - }, - error: reject, - complete: resolve - }); - }); - } - }); - - redefineAll($Observable, { - from: function from(x){ - var C = typeof this === 'function' ? this : $Observable; - var method = getMethod(anObject(x)[OBSERVABLE]); - if(method){ - var observable = anObject(method.call(x)); - return observable.constructor === C ? observable : new C(function(observer){ - return observable.subscribe(observer); - }); - } - return new C(function(observer){ - var done = false; - microtask(function(){ - if(!done){ - try { - if(forOf(x, false, function(it){ - observer.next(it); - if(done)return RETURN; - }) === RETURN)return; - } catch(e){ - if(done)throw e; - observer.error(e); - return; - } observer.complete(); - } - }); - return function(){ done = true; }; - }); - }, - of: function of(){ - for(var i = 0, l = arguments.length, items = Array(l); i < l;)items[i] = arguments[i++]; - return new (typeof this === 'function' ? this : $Observable)(function(observer){ - var done = false; - microtask(function(){ - if(!done){ - for(var i = 0; i < items.length; ++i){ - observer.next(items[i]); - if(done)return; - } observer.complete(); - } - }); - return function(){ done = true; }; - }); - } - }); - - hide($Observable.prototype, OBSERVABLE, function(){ return this; }); - - $export($export.G, {Observable: $Observable}); - - __webpack_require__(192)('Observable'); - -/***/ }, -/* 288 */ -/***/ function(module, exports, __webpack_require__) { - - // ie9- setTimeout & setInterval additional parameters fix - var global = __webpack_require__(4) - , $export = __webpack_require__(8) - , invoke = __webpack_require__(78) - , partial = __webpack_require__(289) - , navigator = global.navigator - , MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check - var wrap = function(set){ - return MSIE ? function(fn, time /*, ...args */){ - return set(invoke( - partial, - [].slice.call(arguments, 2), - typeof fn == 'function' ? fn : Function(fn) - ), time); - } : set; - }; - $export($export.G + $export.B + $export.F * MSIE, { - setTimeout: wrap(global.setTimeout), - setInterval: wrap(global.setInterval) - }); - -/***/ }, -/* 289 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var path = __webpack_require__(290) - , invoke = __webpack_require__(78) - , aFunction = __webpack_require__(21); - 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 */){ - var that = this - , aLen = arguments.length - , j = 0, k = 0, args; - if(!holder && !aLen)return invoke(fn, pargs, that); - args = pargs.slice(); - if(holder)for(;length > j; j++)if(args[j] === _)args[j] = arguments[k++]; - while(aLen > k)args.push(arguments[k++]); - return invoke(fn, args, that); - }; - }; - -/***/ }, -/* 290 */ -/***/ function(module, exports, __webpack_require__) { - - module.exports = __webpack_require__(4); - -/***/ }, -/* 291 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(8) - , $task = __webpack_require__(208); - $export($export.G + $export.B, { - setImmediate: $task.set, - clearImmediate: $task.clear - }); - -/***/ }, -/* 292 */ -/***/ function(module, exports, __webpack_require__) { - - var $iterators = __webpack_require__(193) - , redefine = __webpack_require__(18) - , global = __webpack_require__(4) - , hide = __webpack_require__(10) - , Iterators = __webpack_require__(129) - , wks = __webpack_require__(25) - , ITERATOR = wks('iterator') - , TO_STRING_TAG = wks('toStringTag') - , ArrayValues = Iterators.Array; - - for(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){ - var NAME = collections[i] - , Collection = global[NAME] - , proto = Collection && Collection.prototype - , key; - if(proto){ - if(!proto[ITERATOR])hide(proto, ITERATOR, ArrayValues); - if(!proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME); - Iterators[NAME] = ArrayValues; - for(key in $iterators)if(!proto[key])redefine(proto, key, $iterators[key], true); - } - } - -/***/ }, -/* 293 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var ctx = __webpack_require__(20) - , $export = __webpack_require__(8) - , createDesc = __webpack_require__(17) - , assign = __webpack_require__(69) - , create = __webpack_require__(46) - , getPrototypeOf = __webpack_require__(59) - , getKeys = __webpack_require__(30) - , dP = __webpack_require__(11) - , keyOf = __webpack_require__(29) - , aFunction = __webpack_require__(21) - , forOf = __webpack_require__(206) - , isIterable = __webpack_require__(294) - , $iterCreate = __webpack_require__(130) - , step = __webpack_require__(194) - , isObject = __webpack_require__(13) - , toIObject = __webpack_require__(32) - , DESCRIPTORS = __webpack_require__(6) - , has = __webpack_require__(5); - - // 0 -> Dict.forEach - // 1 -> Dict.map - // 2 -> Dict.filter - // 3 -> Dict.some - // 4 -> Dict.every - // 5 -> Dict.find - // 6 -> Dict.findKey - // 7 -> Dict.mapPairs - var createDictMethod = function(TYPE){ - var IS_MAP = TYPE == 1 - , IS_EVERY = TYPE == 4; - return function(object, callbackfn, that /* = undefined */){ - var f = ctx(callbackfn, that, 3) - , O = toIObject(object) - , result = IS_MAP || TYPE == 7 || TYPE == 2 - ? new (typeof this == 'function' ? this : Dict) : undefined - , key, val, res; - for(key in O)if(has(O, key)){ - val = O[key]; - res = f(val, key, object); - if(TYPE){ - if(IS_MAP)result[key] = res; // map - else if(res)switch(TYPE){ - case 2: result[key] = val; break; // filter - case 3: return true; // some - case 5: return val; // find - case 6: return key; // findKey - case 7: result[res[0]] = res[1]; // mapPairs - } else if(IS_EVERY)return false; // every - } - } - return TYPE == 3 || IS_EVERY ? IS_EVERY : result; - }; - }; - var findKey = createDictMethod(6); - - var createDictIter = function(kind){ - return function(it){ - return new DictIterator(it, kind); - }; - }; - var DictIterator = function(iterated, kind){ - this._t = toIObject(iterated); // target - this._a = getKeys(iterated); // keys - this._i = 0; // next index - this._k = kind; // kind - }; - $iterCreate(DictIterator, 'Dict', function(){ - var that = this - , O = that._t - , keys = that._a - , kind = that._k - , key; - do { - if(that._i >= keys.length){ - that._t = undefined; - return step(1); - } - } while(!has(O, key = keys[that._i++])); - if(kind == 'keys' )return step(0, key); - if(kind == 'values')return step(0, O[key]); - return step(0, [key, O[key]]); - }); - - function Dict(iterable){ - var dict = create(null); - if(iterable != undefined){ - if(isIterable(iterable)){ - forOf(iterable, true, function(key, value){ - dict[key] = value; - }); - } else assign(dict, iterable); - } - return dict; - } - Dict.prototype = null; - - function reduce(object, mapfn, init){ - aFunction(mapfn); - var O = toIObject(object) - , keys = getKeys(O) - , length = keys.length - , i = 0 - , memo, key; - if(arguments.length < 3){ - if(!length)throw TypeError('Reduce of empty object with no initial value'); - memo = O[keys[i++]]; - } else memo = Object(init); - while(length > i)if(has(O, key = keys[i++])){ - memo = mapfn(memo, O[key], key, object); - } - return memo; - } - - function includes(object, el){ - return (el == el ? keyOf(object, el) : findKey(object, function(it){ - return it != it; - })) !== undefined; - } - - function get(object, key){ - if(has(object, key))return object[key]; - } - function set(object, key, value){ - if(DESCRIPTORS && key in Object)dP.f(object, key, createDesc(0, value)); - else object[key] = value; - return object; - } - - function isDict(it){ - return isObject(it) && getPrototypeOf(it) === Dict.prototype; - } - - $export($export.G + $export.F, {Dict: Dict}); - - $export($export.S, 'Dict', { - keys: createDictIter('keys'), - values: createDictIter('values'), - entries: createDictIter('entries'), - forEach: createDictMethod(0), - map: createDictMethod(1), - filter: createDictMethod(2), - some: createDictMethod(3), - every: createDictMethod(4), - find: createDictMethod(5), - findKey: findKey, - mapPairs: createDictMethod(7), - reduce: reduce, - keyOf: keyOf, - includes: includes, - has: has, - get: get, - set: set, - isDict: isDict - }); - -/***/ }, -/* 294 */ -/***/ function(module, exports, __webpack_require__) { - - var classof = __webpack_require__(75) - , ITERATOR = __webpack_require__(25)('iterator') - , Iterators = __webpack_require__(129); - module.exports = __webpack_require__(9).isIterable = function(it){ - var O = Object(it); - return O[ITERATOR] !== undefined - || '@@iterator' in O - || Iterators.hasOwnProperty(classof(O)); - }; - -/***/ }, -/* 295 */ -/***/ function(module, exports, __webpack_require__) { - - var anObject = __webpack_require__(12) - , get = __webpack_require__(164); - module.exports = __webpack_require__(9).getIterator = function(it){ - var iterFn = get(it); - if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!'); - return anObject(iterFn.call(it)); - }; - -/***/ }, -/* 296 */ -/***/ function(module, exports, __webpack_require__) { - - var global = __webpack_require__(4) - , core = __webpack_require__(9) - , $export = __webpack_require__(8) - , partial = __webpack_require__(289); - // https://esdiscuss.org/topic/promise-returning-delay-function - $export($export.G + $export.F, { - delay: function delay(time){ - return new (core.Promise || global.Promise)(function(resolve){ - setTimeout(partial.call(resolve, true), time); - }); - } - }); - -/***/ }, -/* 297 */ -/***/ function(module, exports, __webpack_require__) { - - var path = __webpack_require__(290) - , $export = __webpack_require__(8); - - // Placeholder - __webpack_require__(9)._ = path._ = path._ || {}; - - $export($export.P + $export.F, 'Function', {part: __webpack_require__(289)}); - -/***/ }, -/* 298 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(8); - - $export($export.S + $export.F, 'Object', {isObject: __webpack_require__(13)}); - -/***/ }, -/* 299 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(8); - - $export($export.S + $export.F, 'Object', {classof: __webpack_require__(75)}); - -/***/ }, -/* 300 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(8) - , define = __webpack_require__(301); - - $export($export.S + $export.F, 'Object', {define: define}); - -/***/ }, -/* 301 */ -/***/ function(module, exports, __webpack_require__) { - - var dP = __webpack_require__(11) - , gOPD = __webpack_require__(51) - , ownKeys = __webpack_require__(243) - , toIObject = __webpack_require__(32); - - module.exports = function define(target, mixin){ - var keys = ownKeys(toIObject(mixin)) - , length = keys.length - , i = 0, key; - while(length > i)dP.f(target, key = keys[i++], gOPD.f(mixin, key)); - return target; - }; - -/***/ }, -/* 302 */ -/***/ function(module, exports, __webpack_require__) { - - var $export = __webpack_require__(8) - , define = __webpack_require__(301) - , create = __webpack_require__(46); - - $export($export.S + $export.F, 'Object', { - make: function(proto, mixin){ - return define(create(proto), mixin); - } - }); - -/***/ }, -/* 303 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - __webpack_require__(128)(Number, 'Number', function(iterated){ - this._l = +iterated; - this._i = 0; - }, function(){ - var i = this._i++ - , done = !(i < this._l); - return {done: done, value: done ? undefined : i}; - }); - -/***/ }, -/* 304 */ -/***/ function(module, exports, __webpack_require__) { - - // https://github.com/benjamingr/RexExp.escape - var $export = __webpack_require__(8) - , $re = __webpack_require__(305)(/[\\^$*+?.()|[\]{}]/g, '\\$&'); - - $export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }}); - - -/***/ }, -/* 305 */ -/***/ 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); - }; - }; - -/***/ }, -/* 306 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8); - var $re = __webpack_require__(305)(/[&<>"']/g, { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' - }); - - $export($export.P + $export.F, 'String', {escapeHTML: function escapeHTML(){ return $re(this); }}); - -/***/ }, -/* 307 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var $export = __webpack_require__(8); - var $re = __webpack_require__(305)(/&(?:amp|lt|gt|quot|apos);/g, { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - ''': "'" - }); - - $export($export.P + $export.F, 'String', {unescapeHTML: function unescapeHTML(){ return $re(this); }}); - -/***/ }, -/* 308 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(global, process) {/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - (function (global, factory) { - true ? factory() : - typeof define === 'function' && define.amd ? define(factory) : - (factory()); - }(this, (function () { 'use strict'; - - /** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - - - var Zone$1 = (function (global) { - if (global.Zone) { - throw new Error('Zone already loaded.'); - } - var Zone = (function () { - function Zone(parent, zoneSpec) { - this._properties = null; - this._parent = parent; - this._name = zoneSpec ? zoneSpec.name || 'unnamed' : ''; - this._properties = zoneSpec && zoneSpec.properties || {}; - this._zoneDelegate = - new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec); - } - Zone.assertZonePatched = function () { - if (global.Promise !== ZoneAwarePromise) { - throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' + - 'has been overwritten.\n' + - 'Most likely cause is that a Promise polyfill has been loaded ' + - 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' + - 'If you must load one, do so before loading zone.js.)'); - } - }; - Object.defineProperty(Zone, "current", { - get: function () { - return _currentZone; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(Zone, "currentTask", { - get: function () { - return _currentTask; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(Zone.prototype, "parent", { - get: function () { - return this._parent; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(Zone.prototype, "name", { - get: function () { - return this._name; - }, - enumerable: true, - configurable: true - }); - - Zone.prototype.get = function (key) { - var zone = this.getZoneWith(key); - if (zone) - return zone._properties[key]; - }; - Zone.prototype.getZoneWith = function (key) { - var current = this; - while (current) { - if (current._properties.hasOwnProperty(key)) { - return current; - } - current = current._parent; - } - return null; - }; - Zone.prototype.fork = function (zoneSpec) { - if (!zoneSpec) - throw new Error('ZoneSpec required!'); - return this._zoneDelegate.fork(this, zoneSpec); - }; - Zone.prototype.wrap = function (callback, source) { - if (typeof callback !== 'function') { - throw new Error('Expecting function got: ' + callback); - } - var _callback = this._zoneDelegate.intercept(this, callback, source); - var zone = this; - return function () { - return zone.runGuarded(_callback, this, arguments, source); - }; - }; - Zone.prototype.run = function (callback, applyThis, applyArgs, source) { - if (applyThis === void 0) { applyThis = null; } - if (applyArgs === void 0) { applyArgs = null; } - if (source === void 0) { source = null; } - var oldZone = _currentZone; - _currentZone = this; - try { - return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source); - } - finally { - _currentZone = oldZone; - } - }; - Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) { - if (applyThis === void 0) { applyThis = null; } - if (applyArgs === void 0) { applyArgs = null; } - if (source === void 0) { source = null; } - var oldZone = _currentZone; - _currentZone = this; - try { - try { - return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source); - } - catch (error) { - if (this._zoneDelegate.handleError(this, error)) { - throw error; - } - } - } - finally { - _currentZone = oldZone; - } - }; - Zone.prototype.runTask = function (task, applyThis, applyArgs) { - task.runCount++; - if (task.zone != this) - throw new Error('A task can only be run in the zone which created it! (Creation: ' + task.zone.name + - '; Execution: ' + this.name + ')'); - var previousTask = _currentTask; - _currentTask = task; - var oldZone = _currentZone; - _currentZone = this; - try { - if (task.type == 'macroTask' && task.data && !task.data.isPeriodic) { - task.cancelFn = null; - } - try { - return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs); - } - catch (error) { - if (this._zoneDelegate.handleError(this, error)) { - throw error; - } - } - } - finally { - _currentZone = oldZone; - _currentTask = previousTask; - } - }; - Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) { - return this._zoneDelegate.scheduleTask(this, new ZoneTask('microTask', this, source, callback, data, customSchedule, null)); - }; - Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) { - return this._zoneDelegate.scheduleTask(this, new ZoneTask('macroTask', this, source, callback, data, customSchedule, customCancel)); - }; - Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) { - return this._zoneDelegate.scheduleTask(this, new ZoneTask('eventTask', this, source, callback, data, customSchedule, customCancel)); - }; - Zone.prototype.cancelTask = function (task) { - var value = this._zoneDelegate.cancelTask(this, task); - task.runCount = -1; - task.cancelFn = null; - return value; - }; - Zone.__symbol__ = __symbol__; - return Zone; - }()); - - var ZoneDelegate = (function () { - function ZoneDelegate(zone, parentDelegate, zoneSpec) { - this._taskCounts = { microTask: 0, macroTask: 0, eventTask: 0 }; - this.zone = zone; - this._parentDelegate = parentDelegate; - this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS); - this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt); - this._interceptZS = - zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS); - this._interceptDlgt = - zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt); - this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS); - this._invokeDlgt = - zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt); - this._handleErrorZS = - zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS); - this._handleErrorDlgt = - zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt); - this._scheduleTaskZS = - zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS); - this._scheduleTaskDlgt = - zoneSpec && (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt); - this._invokeTaskZS = - zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS); - this._invokeTaskDlgt = - zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt); - this._cancelTaskZS = - zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS); - this._cancelTaskDlgt = - zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt); - this._hasTaskZS = zoneSpec && (zoneSpec.onHasTask ? zoneSpec : parentDelegate._hasTaskZS); - this._hasTaskDlgt = - zoneSpec && (zoneSpec.onHasTask ? parentDelegate : parentDelegate._hasTaskDlgt); - } - ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) { - return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) : - new Zone(targetZone, zoneSpec); - }; - ZoneDelegate.prototype.intercept = function (targetZone, callback, source) { - return this._interceptZS ? - this._interceptZS.onIntercept(this._interceptDlgt, this.zone, targetZone, callback, source) : - callback; - }; - ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) { - return this._invokeZS ? - this._invokeZS.onInvoke(this._invokeDlgt, this.zone, targetZone, callback, applyThis, applyArgs, source) : - callback.apply(applyThis, applyArgs); - }; - ZoneDelegate.prototype.handleError = function (targetZone, error) { - return this._handleErrorZS ? - this._handleErrorZS.onHandleError(this._handleErrorDlgt, this.zone, targetZone, error) : - true; - }; - ZoneDelegate.prototype.scheduleTask = function (targetZone, task) { - try { - if (this._scheduleTaskZS) { - return this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this.zone, targetZone, task); - } - else if (task.scheduleFn) { - task.scheduleFn(task); - } - else if (task.type == 'microTask') { - scheduleMicroTask(task); - } - else { - throw new Error('Task is missing scheduleFn.'); - } - return task; - } - finally { - if (targetZone == this.zone) { - this._updateTaskCount(task.type, 1); - } - } - }; - ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) { - try { - return this._invokeTaskZS ? - this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this.zone, targetZone, task, applyThis, applyArgs) : - task.callback.apply(applyThis, applyArgs); - } - finally { - if (targetZone == this.zone && (task.type != 'eventTask') && - !(task.data && task.data.isPeriodic)) { - this._updateTaskCount(task.type, -1); - } - } - }; - ZoneDelegate.prototype.cancelTask = function (targetZone, task) { - var value; - if (this._cancelTaskZS) { - value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this.zone, targetZone, task); - } - else if (!task.cancelFn) { - throw new Error('Task does not support cancellation, or is already canceled.'); - } - else { - value = task.cancelFn(task); - } - if (targetZone == this.zone) { - // this should not be in the finally block, because exceptions assume not canceled. - this._updateTaskCount(task.type, -1); - } - return value; - }; - ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) { - return this._hasTaskZS && - this._hasTaskZS.onHasTask(this._hasTaskDlgt, this.zone, targetZone, isEmpty); - }; - ZoneDelegate.prototype._updateTaskCount = function (type, count) { - var counts = this._taskCounts; - var prev = counts[type]; - var next = counts[type] = prev + count; - if (next < 0) { - throw new Error('More tasks executed then were scheduled.'); - } - if (prev == 0 || next == 0) { - var isEmpty = { - microTask: counts.microTask > 0, - macroTask: counts.macroTask > 0, - eventTask: counts.eventTask > 0, - change: type - }; - try { - this.hasTask(this.zone, isEmpty); - } - finally { - if (this._parentDelegate) { - this._parentDelegate._updateTaskCount(type, count); - } - } - } - }; - return ZoneDelegate; - }()); - var ZoneTask = (function () { - function ZoneTask(type, zone, source, callback, options, scheduleFn, cancelFn) { - this.runCount = 0; - this.type = type; - this.zone = zone; - this.source = source; - this.data = options; - this.scheduleFn = scheduleFn; - this.cancelFn = cancelFn; - this.callback = callback; - var self = this; - this.invoke = function () { - _numberOfNestedTaskFrames++; - try { - return zone.runTask(self, this, arguments); - } - finally { - if (_numberOfNestedTaskFrames == 1) { - drainMicroTaskQueue(); - } - _numberOfNestedTaskFrames--; - } - }; - } - ZoneTask.prototype.toString = function () { - if (this.data && typeof this.data.handleId !== 'undefined') { - return this.data.handleId; - } - else { - return Object.prototype.toString.call(this); - } - }; - return ZoneTask; - }()); - function __symbol__(name) { - return '__zone_symbol__' + name; - } - - var symbolSetTimeout = __symbol__('setTimeout'); - var symbolPromise = __symbol__('Promise'); - var symbolThen = __symbol__('then'); - var _currentZone = new Zone(null, null); - var _currentTask = null; - var _microTaskQueue = []; - var _isDrainingMicrotaskQueue = false; - var _uncaughtPromiseErrors = []; - var _numberOfNestedTaskFrames = 0; - function scheduleQueueDrain() { - // if we are not running in any task, and there has not been anything scheduled - // we must bootstrap the initial task creation by manually scheduling the drain - if (_numberOfNestedTaskFrames == 0 && _microTaskQueue.length == 0) { - // We are not running in Task, so we need to kickstart the microtask queue. - if (global[symbolPromise]) { - global[symbolPromise].resolve(0)[symbolThen](drainMicroTaskQueue); - } - else { - global[symbolSetTimeout](drainMicroTaskQueue, 0); - } - } - } - function scheduleMicroTask(task) { - scheduleQueueDrain(); - _microTaskQueue.push(task); - } - function consoleError(e) { - var rejection = e && e.rejection; - if (rejection) { - console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined); - } - console.error(e); - } - function drainMicroTaskQueue() { - if (!_isDrainingMicrotaskQueue) { - _isDrainingMicrotaskQueue = true; - while (_microTaskQueue.length) { - var queue = _microTaskQueue; - _microTaskQueue = []; - for (var i = 0; i < queue.length; i++) { - var task = queue[i]; - try { - task.zone.runTask(task, null, null); - } - catch (e) { - consoleError(e); - } - } - } - while (_uncaughtPromiseErrors.length) { - var _loop_1 = function() { - var uncaughtPromiseError = _uncaughtPromiseErrors.shift(); - try { - uncaughtPromiseError.zone.runGuarded(function () { - throw uncaughtPromiseError; - }); - } - catch (e) { - consoleError(e); - } - }; - while (_uncaughtPromiseErrors.length) { - _loop_1(); - } - } - _isDrainingMicrotaskQueue = false; - } - } - function isThenable(value) { - return value && value.then; - } - function forwardResolution(value) { - return value; - } - function forwardRejection(rejection) { - return ZoneAwarePromise.reject(rejection); - } - var symbolState = __symbol__('state'); - var symbolValue = __symbol__('value'); - var source = 'Promise.then'; - var UNRESOLVED = null; - var RESOLVED = true; - var REJECTED = false; - var REJECTED_NO_CATCH = 0; - function makeResolver(promise, state) { - return function (v) { - resolvePromise(promise, state, v); - // Do not return value or you will break the Promise spec. - }; - } - function resolvePromise(promise, state, value) { - if (promise[symbolState] === UNRESOLVED) { - if (value instanceof ZoneAwarePromise && value[symbolState] !== UNRESOLVED) { - clearRejectedNoCatch(value); - resolvePromise(promise, value[symbolState], value[symbolValue]); - } - else if (isThenable(value)) { - value.then(makeResolver(promise, state), makeResolver(promise, false)); - } - else { - promise[symbolState] = state; - var queue = promise[symbolValue]; - promise[symbolValue] = value; - for (var i = 0; i < queue.length;) { - scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]); - } - if (queue.length == 0 && state == REJECTED) { - promise[symbolState] = REJECTED_NO_CATCH; - try { - throw new Error('Uncaught (in promise): ' + value + - (value && value.stack ? '\n' + value.stack : '')); - } - catch (e) { - var error_1 = e; - error_1.rejection = value; - error_1.promise = promise; - error_1.zone = Zone.current; - error_1.task = Zone.currentTask; - _uncaughtPromiseErrors.push(error_1); - scheduleQueueDrain(); - } - } - } - } - // Resolving an already resolved promise is a noop. - return promise; - } - function clearRejectedNoCatch(promise) { - if (promise[symbolState] === REJECTED_NO_CATCH) { - promise[symbolState] = REJECTED; - for (var i = 0; i < _uncaughtPromiseErrors.length; i++) { - if (promise === _uncaughtPromiseErrors[i].promise) { - _uncaughtPromiseErrors.splice(i, 1); - break; - } - } - } - } - function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) { - clearRejectedNoCatch(promise); - var delegate = promise[symbolState] ? onFulfilled || forwardResolution : onRejected || forwardRejection; - zone.scheduleMicroTask(source, function () { - try { - resolvePromise(chainPromise, true, zone.run(delegate, null, [promise[symbolValue]])); - } - catch (error) { - resolvePromise(chainPromise, false, error); - } - }); - } - var ZoneAwarePromise = (function () { - function ZoneAwarePromise(executor) { - var promise = this; - if (!(promise instanceof ZoneAwarePromise)) { - throw new Error('Must be an instanceof Promise.'); - } - promise[symbolState] = UNRESOLVED; - promise[symbolValue] = []; // queue; - try { - executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED)); - } - catch (e) { - resolvePromise(promise, false, e); - } - } - ZoneAwarePromise.resolve = function (value) { - return resolvePromise(new this(null), RESOLVED, value); - }; - ZoneAwarePromise.reject = function (error) { - return resolvePromise(new this(null), REJECTED, error); - }; - ZoneAwarePromise.race = function (values) { - var resolve; - var reject; - var promise = new this(function (res, rej) { - _a = [res, rej], resolve = _a[0], reject = _a[1]; - var _a; - }); - function onResolve(value) { - promise && (promise = null || resolve(value)); - } - function onReject(error) { - promise && (promise = null || reject(error)); - } - for (var _i = 0, values_1 = values; _i < values_1.length; _i++) { - var value = values_1[_i]; - if (!isThenable(value)) { - value = this.resolve(value); - } - value.then(onResolve, onReject); - } - return promise; - }; - ZoneAwarePromise.all = function (values) { - var resolve; - var reject; - var promise = new this(function (res, rej) { - resolve = res; - reject = rej; - }); - var count = 0; - var resolvedValues = []; - for (var _i = 0, values_2 = values; _i < values_2.length; _i++) { - var value = values_2[_i]; - if (!isThenable(value)) { - value = this.resolve(value); - } - value.then((function (index) { return function (value) { - resolvedValues[index] = value; - count--; - if (!count) { - resolve(resolvedValues); - } - }; })(count), reject); - count++; - } - if (!count) - resolve(resolvedValues); - return promise; - }; - ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) { - var chainPromise = new this.constructor(null); - var zone = Zone.current; - if (this[symbolState] == UNRESOLVED) { - this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected); - } - else { - scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected); - } - return chainPromise; - }; - ZoneAwarePromise.prototype.catch = function (onRejected) { - return this.then(null, onRejected); - }; - return ZoneAwarePromise; - }()); - // Protect against aggressive optimizers dropping seemingly unused properties. - // E.g. Closure Compiler in advanced mode. - ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve; - ZoneAwarePromise['reject'] = ZoneAwarePromise.reject; - ZoneAwarePromise['race'] = ZoneAwarePromise.race; - ZoneAwarePromise['all'] = ZoneAwarePromise.all; - var NativePromise = global[__symbol__('Promise')] = global.Promise; - global.Promise = ZoneAwarePromise; - function patchThen(NativePromise) { - var NativePromiseProtototype = NativePromise.prototype; - var NativePromiseThen = NativePromiseProtototype[__symbol__('then')] = - NativePromiseProtototype.then; - NativePromiseProtototype.then = function (onResolve, onReject) { - var nativePromise = this; - return new ZoneAwarePromise(function (resolve, reject) { - NativePromiseThen.call(nativePromise, resolve, reject); - }) - .then(onResolve, onReject); - }; - } - if (NativePromise) { - patchThen(NativePromise); - if (typeof global['fetch'] !== 'undefined') { - var fetchPromise = void 0; - try { - // In MS Edge this throws - fetchPromise = global['fetch'](); - } - catch (e) { - // In Chrome this throws instead. - fetchPromise = global['fetch']('about:blank'); - } - // ignore output to prevent error; - fetchPromise.then(function () { return null; }, function () { return null; }); - if (fetchPromise.constructor != NativePromise && - fetchPromise.constructor != ZoneAwarePromise) { - patchThen(fetchPromise.constructor); - } - } - } - // This is not part of public API, but it is usefull for tests, so we expose it. - Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors; - return global.Zone = Zone; - })(typeof window === 'object' && window || typeof self === 'object' && self || global); - - /** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - var zoneSymbol = Zone['__symbol__']; - var _global$1 = typeof window === 'object' && window || typeof self === 'object' && self || global; - function bindArguments(args, source) { - for (var i = args.length - 1; i >= 0; i--) { - if (typeof args[i] === 'function') { - args[i] = Zone.current.wrap(args[i], source + '_' + i); - } - } - return args; - } - - function patchPrototype(prototype, fnNames) { - var source = prototype.constructor['name']; - var _loop_1 = function(i) { - var name_1 = fnNames[i]; - var delegate = prototype[name_1]; - if (delegate) { - prototype[name_1] = (function (delegate) { - return function () { - return delegate.apply(this, bindArguments(arguments, source + '.' + name_1)); - }; - })(delegate); - } - }; - for (var i = 0; i < fnNames.length; i++) { - _loop_1(i); - } - } - - var isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope); - var isNode = (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]'); - var isBrowser = !isNode && !isWebWorker && !!(typeof window !== 'undefined' && window['HTMLElement']); - function patchProperty(obj, prop) { - var desc = Object.getOwnPropertyDescriptor(obj, prop) || { enumerable: true, configurable: true }; - // A property descriptor cannot have getter/setter and be writable - // deleting the writable and value properties avoids this error: - // - // TypeError: property descriptors must not specify a value or be writable when a - // getter or setter has been specified - delete desc.writable; - delete desc.value; - // substr(2) cuz 'onclick' -> 'click', etc - var eventName = prop.substr(2); - var _prop = '_' + prop; - desc.set = function (fn) { - if (this[_prop]) { - this.removeEventListener(eventName, this[_prop]); - } - if (typeof fn === 'function') { - var wrapFn = function (event) { - var result; - result = fn.apply(this, arguments); - if (result != undefined && !result) - event.preventDefault(); - }; - this[_prop] = wrapFn; - this.addEventListener(eventName, wrapFn, false); - } - else { - this[_prop] = null; - } - }; - // The getter would return undefined for unassigned properties but the default value of an - // unassigned property is null - desc.get = function () { - return this[_prop] || null; - }; - Object.defineProperty(obj, prop, desc); - } - - function patchOnProperties(obj, properties) { - var onProperties = []; - for (var prop in obj) { - if (prop.substr(0, 2) == 'on') { - onProperties.push(prop); - } - } - for (var j = 0; j < onProperties.length; j++) { - patchProperty(obj, onProperties[j]); - } - if (properties) { - for (var i = 0; i < properties.length; i++) { - patchProperty(obj, 'on' + properties[i]); - } - } - } - - var EVENT_TASKS = zoneSymbol('eventTasks'); - // For EventTarget - var ADD_EVENT_LISTENER = 'addEventListener'; - var REMOVE_EVENT_LISTENER = 'removeEventListener'; - function findExistingRegisteredTask(target, handler, name, capture, remove) { - var eventTasks = target[EVENT_TASKS]; - if (eventTasks) { - for (var i = 0; i < eventTasks.length; i++) { - var eventTask = eventTasks[i]; - var data = eventTask.data; - if (data.handler === handler && data.useCapturing === capture && data.eventName === name) { - if (remove) { - eventTasks.splice(i, 1); - } - return eventTask; - } - } - } - return null; - } - function attachRegisteredEvent(target, eventTask) { - var eventTasks = target[EVENT_TASKS]; - if (!eventTasks) { - eventTasks = target[EVENT_TASKS] = []; - } - eventTasks.push(eventTask); - } - function makeZoneAwareAddListener(addFnName, removeFnName, useCapturingParam, allowDuplicates) { - if (useCapturingParam === void 0) { useCapturingParam = true; } - if (allowDuplicates === void 0) { allowDuplicates = false; } - var addFnSymbol = zoneSymbol(addFnName); - var removeFnSymbol = zoneSymbol(removeFnName); - var defaultUseCapturing = useCapturingParam ? false : undefined; - function scheduleEventListener(eventTask) { - var meta = eventTask.data; - attachRegisteredEvent(meta.target, eventTask); - return meta.target[addFnSymbol](meta.eventName, eventTask.invoke, meta.useCapturing); - } - function cancelEventListener(eventTask) { - var meta = eventTask.data; - findExistingRegisteredTask(meta.target, eventTask.invoke, meta.eventName, meta.useCapturing, true); - meta.target[removeFnSymbol](meta.eventName, eventTask.invoke, meta.useCapturing); - } - return function zoneAwareAddListener(self, args) { - var eventName = args[0]; - var handler = args[1]; - var useCapturing = args[2] || defaultUseCapturing; - // - Inside a Web Worker, `this` is undefined, the context is `global` - // - When `addEventListener` is called on the global context in strict mode, `this` is undefined - // see https://github.com/angular/zone.js/issues/190 - var target = self || _global$1; - var delegate = null; - if (typeof handler == 'function') { - delegate = handler; - } - else if (handler && handler.handleEvent) { - delegate = function (event) { return handler.handleEvent(event); }; - } - var validZoneHandler = false; - try { - // In cross site contexts (such as WebDriver frameworks like Selenium), - // accessing the handler object here will cause an exception to be thrown which - // will fail tests prematurely. - validZoneHandler = handler && handler.toString() === '[object FunctionWrapper]'; - } - catch (e) { - // Returning nothing here is fine, because objects in a cross-site context are unusable - return; - } - // Ignore special listeners of IE11 & Edge dev tools, see - // https://github.com/angular/zone.js/issues/150 - if (!delegate || validZoneHandler) { - return target[addFnSymbol](eventName, handler, useCapturing); - } - if (!allowDuplicates) { - var eventTask = findExistingRegisteredTask(target, handler, eventName, useCapturing, false); - if (eventTask) { - // we already registered, so this will have noop. - return target[addFnSymbol](eventName, eventTask.invoke, useCapturing); - } - } - var zone = Zone.current; - var source = target.constructor['name'] + '.' + addFnName + ':' + eventName; - var data = { - target: target, - eventName: eventName, - name: eventName, - useCapturing: useCapturing, - handler: handler - }; - zone.scheduleEventTask(source, delegate, data, scheduleEventListener, cancelEventListener); - }; - } - function makeZoneAwareRemoveListener(fnName, useCapturingParam) { - if (useCapturingParam === void 0) { useCapturingParam = true; } - var symbol = zoneSymbol(fnName); - var defaultUseCapturing = useCapturingParam ? false : undefined; - return function zoneAwareRemoveListener(self, args) { - var eventName = args[0]; - var handler = args[1]; - var useCapturing = args[2] || defaultUseCapturing; - // - Inside a Web Worker, `this` is undefined, the context is `global` - // - When `addEventListener` is called on the global context in strict mode, `this` is undefined - // see https://github.com/angular/zone.js/issues/190 - var target = self || _global$1; - var eventTask = findExistingRegisteredTask(target, handler, eventName, useCapturing, true); - if (eventTask) { - eventTask.zone.cancelTask(eventTask); - } - else { - target[symbol](eventName, handler, useCapturing); - } - }; - } - - var zoneAwareAddEventListener = makeZoneAwareAddListener(ADD_EVENT_LISTENER, REMOVE_EVENT_LISTENER); - var zoneAwareRemoveEventListener = makeZoneAwareRemoveListener(REMOVE_EVENT_LISTENER); - function patchEventTargetMethods(obj) { - if (obj && obj.addEventListener) { - patchMethod(obj, ADD_EVENT_LISTENER, function () { return zoneAwareAddEventListener; }); - patchMethod(obj, REMOVE_EVENT_LISTENER, function () { return zoneAwareRemoveEventListener; }); - return true; - } - else { - return false; - } - } - var originalInstanceKey = zoneSymbol('originalInstance'); - // wrap some native API on `window` - function patchClass(className) { - var OriginalClass = _global$1[className]; - if (!OriginalClass) - return; - _global$1[className] = function () { - var a = bindArguments(arguments, className); - switch (a.length) { - case 0: - this[originalInstanceKey] = new OriginalClass(); - break; - case 1: - this[originalInstanceKey] = new OriginalClass(a[0]); - break; - case 2: - this[originalInstanceKey] = new OriginalClass(a[0], a[1]); - break; - case 3: - this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]); - break; - case 4: - this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]); - break; - default: - throw new Error('Arg list too long.'); - } - }; - var instance = new OriginalClass(function () { }); - var prop; - for (prop in instance) { - // https://bugs.webkit.org/show_bug.cgi?id=44721 - if (className === 'XMLHttpRequest' && prop === 'responseBlob') - continue; - (function (prop) { - if (typeof instance[prop] === 'function') { - _global$1[className].prototype[prop] = function () { - return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments); - }; - } - else { - Object.defineProperty(_global$1[className].prototype, prop, { - set: function (fn) { - if (typeof fn === 'function') { - this[originalInstanceKey][prop] = Zone.current.wrap(fn, className + '.' + prop); - } - else { - this[originalInstanceKey][prop] = fn; - } - }, - get: function () { - return this[originalInstanceKey][prop]; - } - }); - } - }(prop)); - } - for (prop in OriginalClass) { - if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) { - _global$1[className][prop] = OriginalClass[prop]; - } - } - } - - function createNamedFn(name, delegate) { - try { - return (Function('f', "return function " + name + "(){return f(this, arguments)}"))(delegate); - } - catch (e) { - // if we fail, we must be CSP, just return delegate. - return function () { - return delegate(this, arguments); - }; - } - } - function patchMethod(target, name, patchFn) { - var proto = target; - while (proto && Object.getOwnPropertyNames(proto).indexOf(name) === -1) { - proto = Object.getPrototypeOf(proto); - } - if (!proto && target[name]) { - // somehow we did not find it, but we can see it. This happens on IE for Window properties. - proto = target; - } - var delegateName = zoneSymbol(name); - var delegate; - if (proto && !(delegate = proto[delegateName])) { - delegate = proto[delegateName] = proto[name]; - proto[name] = createNamedFn(name, patchFn(delegate, delegateName, name)); - } - return delegate; - } - - /** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - function patchTimer(window, setName, cancelName, nameSuffix) { - var setNative = null; - var clearNative = null; - setName += nameSuffix; - cancelName += nameSuffix; - var tasksByHandleId = {}; - function scheduleTask(task) { - var data = task.data; - data.args[0] = function () { - task.invoke.apply(this, arguments); - delete tasksByHandleId[data.handleId]; - }; - data.handleId = setNative.apply(window, data.args); - tasksByHandleId[data.handleId] = task; - return task; - } - function clearTask(task) { - delete tasksByHandleId[task.data.handleId]; - return clearNative(task.data.handleId); - } - setNative = - patchMethod(window, setName, function (delegate) { return function (self, args) { - if (typeof args[0] === 'function') { - var zone = Zone.current; - var options = { - handleId: null, - isPeriodic: nameSuffix === 'Interval', - delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 : null, - args: args - }; - var task = zone.scheduleMacroTask(setName, args[0], options, scheduleTask, clearTask); - if (!task) { - return task; - } - // Node.js must additionally support the ref and unref functions. - var handle = task.data.handleId; - if (handle.ref && handle.unref) { - task.ref = handle.ref.bind(handle); - task.unref = handle.unref.bind(handle); - } - return task; - } - else { - // cause an error by calling it directly. - return delegate.apply(window, args); - } - }; }); - clearNative = - patchMethod(window, cancelName, function (delegate) { return function (self, args) { - var task = typeof args[0] === 'number' ? tasksByHandleId[args[0]] : args[0]; - if (task && typeof task.type === 'string') { - if (task.cancelFn && task.data.isPeriodic || task.runCount === 0) { - // Do not cancel already canceled functions - task.zone.cancelTask(task); - } - } - else { - // cause an error by calling it directly. - delegate.apply(window, args); - } - }; }); - } - - /** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - /* - * This is necessary for Chrome and Chrome mobile, to enable - * things like redefining `createdCallback` on an element. - */ - var _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty; - var _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] = - Object.getOwnPropertyDescriptor; - var _create = Object.create; - var unconfigurablesKey = zoneSymbol('unconfigurables'); - function propertyPatch() { - Object.defineProperty = function (obj, prop, desc) { - if (isUnconfigurable(obj, prop)) { - throw new TypeError('Cannot assign to read only property \'' + prop + '\' of ' + obj); - } - var originalConfigurableFlag = desc.configurable; - if (prop !== 'prototype') { - desc = rewriteDescriptor(obj, prop, desc); - } - return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag); - }; - Object.defineProperties = function (obj, props) { - Object.keys(props).forEach(function (prop) { - Object.defineProperty(obj, prop, props[prop]); - }); - return obj; - }; - Object.create = function (obj, proto) { - if (typeof proto === 'object' && !Object.isFrozen(proto)) { - Object.keys(proto).forEach(function (prop) { - proto[prop] = rewriteDescriptor(obj, prop, proto[prop]); - }); - } - return _create(obj, proto); - }; - Object.getOwnPropertyDescriptor = function (obj, prop) { - var desc = _getOwnPropertyDescriptor(obj, prop); - if (isUnconfigurable(obj, prop)) { - desc.configurable = false; - } - return desc; - }; - } - - function _redefineProperty(obj, prop, desc) { - var originalConfigurableFlag = desc.configurable; - desc = rewriteDescriptor(obj, prop, desc); - return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag); - } - - function isUnconfigurable(obj, prop) { - return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop]; - } - function rewriteDescriptor(obj, prop, desc) { - desc.configurable = true; - if (!desc.configurable) { - if (!obj[unconfigurablesKey]) { - _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} }); - } - obj[unconfigurablesKey][prop] = true; - } - return desc; - } - function _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) { - try { - return _defineProperty(obj, prop, desc); - } - catch (e) { - if (desc.configurable) { - // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's - // retry with the original flag value - if (typeof originalConfigurableFlag == 'undefined') { - delete desc.configurable; - } - else { - desc.configurable = originalConfigurableFlag; - } - try { - return _defineProperty(obj, prop, desc); - } - catch (e) { - var descJson = null; - try { - descJson = JSON.stringify(desc); - } - catch (e) { - descJson = descJson.toString(); - } - console.log("Attempting to configure '" + prop + "' with descriptor '" + descJson + "' on object '" + obj + "' and got error, giving up: " + e); - } - } - else { - throw e; - } - } - } - - /** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video'; - var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex' - .split(','); - var EVENT_TARGET = 'EventTarget'; - function eventTargetPatch(_global) { - var apis = []; - var isWtf = _global['wtf']; - if (isWtf) { - // Workaround for: https://github.com/google/tracing-framework/issues/555 - apis = WTF_ISSUE_555.split(',').map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET); - } - else if (_global[EVENT_TARGET]) { - apis.push(EVENT_TARGET); - } - else { - // Note: EventTarget is not available in all browsers, - // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget - apis = NO_EVENT_TARGET; - } - for (var i = 0; i < apis.length; i++) { - var type = _global[apis[i]]; - patchEventTargetMethods(type && type.prototype); - } - } - - /** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - // we have to patch the instance since the proto is non-configurable - function apply(_global) { - var WS = _global.WebSocket; - // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener - // On older Chrome, no need since EventTarget was already patched - if (!_global.EventTarget) { - patchEventTargetMethods(WS.prototype); - } - _global.WebSocket = function (a, b) { - var socket = arguments.length > 1 ? new WS(a, b) : new WS(a); - var proxySocket; - // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance - var onmessageDesc = Object.getOwnPropertyDescriptor(socket, 'onmessage'); - if (onmessageDesc && onmessageDesc.configurable === false) { - proxySocket = Object.create(socket); - ['addEventListener', 'removeEventListener', 'send', 'close'].forEach(function (propName) { - proxySocket[propName] = function () { - return socket[propName].apply(socket, arguments); - }; - }); - } - else { - // we can patch the real socket - proxySocket = socket; - } - patchOnProperties(proxySocket, ['close', 'error', 'message', 'open']); - return proxySocket; - }; - for (var prop in WS) { - _global.WebSocket[prop] = WS[prop]; - } - } - - /** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - var eventNames = 'copy cut paste abort blur focus canplay canplaythrough change click contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop durationchange emptied ended input invalid keydown keypress keyup load loadeddata loadedmetadata loadstart message mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup pause play playing progress ratechange reset scroll seeked seeking select show stalled submit suspend timeupdate volumechange waiting mozfullscreenchange mozfullscreenerror mozpointerlockchange mozpointerlockerror error webglcontextrestored webglcontextlost webglcontextcreationerror' - .split(' '); - function propertyDescriptorPatch(_global) { - if (isNode) { - return; - } - var supportsWebSocket = typeof WebSocket !== 'undefined'; - if (canPatchViaPropertyDescriptor()) { - // for browsers that we can patch the descriptor: Chrome & Firefox - if (isBrowser) { - patchOnProperties(HTMLElement.prototype, eventNames); - } - patchOnProperties(XMLHttpRequest.prototype, null); - if (typeof IDBIndex !== 'undefined') { - patchOnProperties(IDBIndex.prototype, null); - patchOnProperties(IDBRequest.prototype, null); - patchOnProperties(IDBOpenDBRequest.prototype, null); - patchOnProperties(IDBDatabase.prototype, null); - patchOnProperties(IDBTransaction.prototype, null); - patchOnProperties(IDBCursor.prototype, null); - } - if (supportsWebSocket) { - patchOnProperties(WebSocket.prototype, null); - } - } - else { - // Safari, Android browsers (Jelly Bean) - patchViaCapturingAllTheEvents(); - patchClass('XMLHttpRequest'); - if (supportsWebSocket) { - apply(_global); - } - } - } - function canPatchViaPropertyDescriptor() { - if (isBrowser && !Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') && - typeof Element !== 'undefined') { - // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364 - // IDL interface attributes are not configurable - var desc = Object.getOwnPropertyDescriptor(Element.prototype, 'onclick'); - if (desc && !desc.configurable) - return false; - } - Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', { - get: function () { - return true; - } - }); - var req = new XMLHttpRequest(); - var result = !!req.onreadystatechange; - Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', {}); - return result; - } - - var unboundKey = zoneSymbol('unbound'); - // Whenever any eventListener fires, we check the eventListener target and all parents - // for `onwhatever` properties and replace them with zone-bound functions - // - Chrome (for now) - function patchViaCapturingAllTheEvents() { - var _loop_1 = function(i) { - var property = eventNames[i]; - var onproperty = 'on' + property; - self.addEventListener(property, function (event) { - var elt = event.target, bound, source; - if (elt) { - source = elt.constructor['name'] + '.' + onproperty; - } - else { - source = 'unknown.' + onproperty; - } - while (elt) { - if (elt[onproperty] && !elt[onproperty][unboundKey]) { - bound = Zone.current.wrap(elt[onproperty], source); - bound[unboundKey] = elt[onproperty]; - elt[onproperty] = bound; - } - elt = elt.parentElement; - } - }, true); - }; - for (var i = 0; i < eventNames.length; i++) { - _loop_1(i); - } - - } - - /** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - function registerElementPatch(_global) { - if (!isBrowser || !('registerElement' in _global.document)) { - return; - } - var _registerElement = document.registerElement; - var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback']; - document.registerElement = function (name, opts) { - if (opts && opts.prototype) { - callbacks.forEach(function (callback) { - var source = 'Document.registerElement::' + callback; - if (opts.prototype.hasOwnProperty(callback)) { - var descriptor = Object.getOwnPropertyDescriptor(opts.prototype, callback); - if (descriptor && descriptor.value) { - descriptor.value = Zone.current.wrap(descriptor.value, source); - _redefineProperty(opts.prototype, callback, descriptor); - } - else { - opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source); - } - } - else if (opts.prototype[callback]) { - opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source); - } - }); - } - return _registerElement.apply(document, [name, opts]); - }; - } - - /** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - var set = 'set'; - var clear = 'clear'; - var blockingMethods = ['alert', 'prompt', 'confirm']; - var _global = typeof window === 'object' && window || typeof self === 'object' && self || global; - patchTimer(_global, set, clear, 'Timeout'); - patchTimer(_global, set, clear, 'Interval'); - patchTimer(_global, set, clear, 'Immediate'); - patchTimer(_global, 'request', 'cancel', 'AnimationFrame'); - patchTimer(_global, 'mozRequest', 'mozCancel', 'AnimationFrame'); - patchTimer(_global, 'webkitRequest', 'webkitCancel', 'AnimationFrame'); - for (var i = 0; i < blockingMethods.length; i++) { - var name = blockingMethods[i]; - patchMethod(_global, name, function (delegate, symbol, name) { - return function (s, args) { - return Zone.current.run(delegate, _global, args, name); - }; - }); - } - eventTargetPatch(_global); - propertyDescriptorPatch(_global); - patchClass('MutationObserver'); - patchClass('WebKitMutationObserver'); - patchClass('FileReader'); - propertyPatch(); - registerElementPatch(_global); - // Treat XMLHTTPRequest as a macrotask. - patchXHR(_global); - var XHR_TASK = zoneSymbol('xhrTask'); - var XHR_SYNC = zoneSymbol('xhrSync'); - function patchXHR(window) { - function findPendingTask(target) { - var pendingTask = target[XHR_TASK]; - return pendingTask; - } - function scheduleTask(task) { - var data = task.data; - data.target.addEventListener('readystatechange', function () { - if (data.target.readyState === data.target.DONE) { - if (!data.aborted) { - task.invoke(); - } - } - }); - var storedTask = data.target[XHR_TASK]; - if (!storedTask) { - data.target[XHR_TASK] = task; - } - sendNative.apply(data.target, data.args); - return task; - } - function placeholderCallback() { } - function clearTask(task) { - var data = task.data; - // Note - ideally, we would call data.target.removeEventListener here, but it's too late - // to prevent it from firing. So instead, we store info for the event listener. - data.aborted = true; - return abortNative.apply(data.target, data.args); - } - var openNative = patchMethod(window.XMLHttpRequest.prototype, 'open', function () { return function (self, args) { - self[XHR_SYNC] = args[2] == false; - return openNative.apply(self, args); - }; }); - var sendNative = patchMethod(window.XMLHttpRequest.prototype, 'send', function () { return function (self, args) { - var zone = Zone.current; - if (self[XHR_SYNC]) { - // if the XHR is sync there is no task to schedule, just execute the code. - return sendNative.apply(self, args); - } - else { - var options = { target: self, isPeriodic: false, delay: null, args: args, aborted: false }; - return zone.scheduleMacroTask('XMLHttpRequest.send', placeholderCallback, options, scheduleTask, clearTask); - } - }; }); - var abortNative = patchMethod(window.XMLHttpRequest.prototype, 'abort', function (delegate) { return function (self, args) { - var task = findPendingTask(self); - if (task && typeof task.type == 'string') { - // If the XHR has already completed, do nothing. - if (task.cancelFn == null) { - return; - } - task.zone.cancelTask(task); - } - // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no task - // to cancel. Do nothing. - }; }); - } - /// GEO_LOCATION - if (_global['navigator'] && _global['navigator'].geolocation) { - patchPrototype(_global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']); - } - - }))); - - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(309))) - -/***/ }, -/* 309 */ -/***/ function(module, exports) { - - // shim for using process in browser - var process = module.exports = {}; - - // 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 defaultSetTimout() { - throw new Error('setTimeout has not been defined'); - } - function defaultClearTimeout () { - throw new Error('clearTimeout has not been defined'); - } - (function () { - try { - if (typeof setTimeout === 'function') { - cachedSetTimeout = setTimeout; - } else { - cachedSetTimeout = defaultSetTimout; - } - } catch (e) { - cachedSetTimeout = defaultSetTimout; - } - try { - if (typeof clearTimeout === 'function') { - cachedClearTimeout = clearTimeout; - } else { - cachedClearTimeout = defaultClearTimeout; - } - } catch (e) { - cachedClearTimeout = defaultClearTimeout; - } - } ()) - function runTimeout(fun) { - if (cachedSetTimeout === setTimeout) { - //normal enviroments in sane situations - return setTimeout(fun, 0); - } - // if setTimeout wasn't available but was latter defined - if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { - cachedSetTimeout = setTimeout; - 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); - } - // if clearTimeout wasn't available but was latter defined - if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { - cachedClearTimeout = clearTimeout; - 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); - } - } - - - - } - var queue = []; - var draining = false; - var currentQueue; - var queueIndex = -1; - - function cleanUpNextTick() { - if (!draining || !currentQueue) { - return; - } - draining = false; - if (currentQueue.length) { - queue = currentQueue.concat(queue); - } else { - queueIndex = -1; - } - if (queue.length) { - drainQueue(); - } - } - - function drainQueue() { - if (draining) { - return; - } - var timeout = runTimeout(cleanUpNextTick); - draining = true; - - var len = queue.length; - while(len) { - currentQueue = queue; - queue = []; - while (++queueIndex < len) { - if (currentQueue) { - currentQueue[queueIndex].run(); - } - } - queueIndex = -1; - len = queue.length; - } - currentQueue = null; - draining = false; - runClearTimeout(timeout); - } - - process.nextTick = function (fun) { - var args = new Array(arguments.length - 1); - if (arguments.length > 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; - } - } - queue.push(new Item(fun, args)); - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); - } - }; - - // 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; }; - - -/***/ }, -/* 310 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {"use strict"; - var platform_browser_dynamic_1 = __webpack_require__(311); - var app_module_1 = __webpack_require__(333); - process.stdout = __webpack_require__(657)(); - platform_browser_dynamic_1.platformBrowserDynamic().bootstrapModule(app_module_1.AppModule); - - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(309))) - -/***/ }, -/* 311 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(global) {/** - * @license Angular v2.2.3 - * (c) 2010-2016 Google, Inc. https://angular.io/ - * License: MIT - */ - (function (global, factory) { - true ? factory(exports, __webpack_require__(312), __webpack_require__(313), __webpack_require__(331)) : - typeof define === 'function' && define.amd ? define(['exports', '@angular/compiler', '@angular/core', '@angular/platform-browser'], factory) : - (factory((global.ng = global.ng || {}, global.ng.platformBrowserDynamic = global.ng.platformBrowserDynamic || {}),global.ng.compiler,global.ng.core,global.ng.platformBrowser)); - }(this, function (exports,_angular_compiler,_angular_core,_angular_platformBrowser) { 'use strict'; - - var INTERNAL_BROWSER_PLATFORM_PROVIDERS = _angular_platformBrowser.__platform_browser_private__.INTERNAL_BROWSER_PLATFORM_PROVIDERS; - - var __extends = (this && this.__extends) || function (d, b) { - for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - var ResourceLoaderImpl = (function (_super) { - __extends(ResourceLoaderImpl, _super); - function ResourceLoaderImpl() { - _super.apply(this, arguments); - } - ResourceLoaderImpl.prototype.get = function (url) { - var resolve; - var reject; - var promise = new Promise(function (res, rej) { - resolve = res; - reject = rej; - }); - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'text'; - xhr.onload = function () { - // responseText is the old-school way of retrieving response (supported by IE8 & 9) - // response/responseType properties were introduced in ResourceLoader Level2 spec (supported - // by IE10) - var response = xhr.response || xhr.responseText; - // normalize IE9 bug (http://bugs.jquery.com/ticket/1450) - var status = xhr.status === 1223 ? 204 : xhr.status; - // fix status code when it is 0 (0 status is undocumented). - // Occurs when accessing file resources or on Android 4.1 stock browser - // while retrieving files from application cache. - if (status === 0) { - status = response ? 200 : 0; - } - if (200 <= status && status <= 300) { - resolve(response); - } - else { - reject("Failed to load " + url); - } - }; - xhr.onerror = function () { reject("Failed to load " + url); }; - xhr.send(); - return promise; - }; - ResourceLoaderImpl.decorators = [ - { type: _angular_core.Injectable }, - ]; - /** @nocollapse */ - ResourceLoaderImpl.ctorParameters = []; - return ResourceLoaderImpl; - }(_angular_compiler.ResourceLoader)); - - var INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS = [ - INTERNAL_BROWSER_PLATFORM_PROVIDERS, - { - provide: _angular_core.COMPILER_OPTIONS, - useValue: { providers: [{ provide: _angular_compiler.ResourceLoader, useClass: ResourceLoaderImpl }] }, - multi: true - }, - ]; - - /** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - var globalScope; - if (typeof window === 'undefined') { - if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) { - // TODO: Replace any with WorkerGlobalScope from lib.webworker.d.ts #3492 - globalScope = self; - } - else { - globalScope = global; - } - } - else { - globalScope = window; - } - // Need to declare a new variable for global here since TypeScript - // exports the original value of the symbol. - var _global = globalScope; - // TODO: remove calls to assert in production environment - // Note: Can't just export this and import in in other files - // as `assert` is a reserved keyword in Dart - _global.assert = function assert(condition) { - // TODO: to be fixed properly via #2830, noop for now - }; - - /** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - var __extends$1 = (this && this.__extends) || function (d, b) { - for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - /** - * An implementation of ResourceLoader that uses a template cache to avoid doing an actual - * ResourceLoader. - * - * The template cache needs to be built and loaded into window.$templateCache - * via a separate mechanism. - */ - var CachedResourceLoader = (function (_super) { - __extends$1(CachedResourceLoader, _super); - function CachedResourceLoader() { - _super.call(this); - this._cache = _global.$templateCache; - if (this._cache == null) { - throw new Error('CachedResourceLoader: Template cache was not found in $templateCache.'); - } - } - CachedResourceLoader.prototype.get = function (url) { - if (this._cache.hasOwnProperty(url)) { - return Promise.resolve(this._cache[url]); - } - else { - return Promise.reject('CachedResourceLoader: Did not find cached template for ' + url); - } - }; - return CachedResourceLoader; - }(_angular_compiler.ResourceLoader)); - - var __platform_browser_dynamic_private__ = { - INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS: INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS, - ResourceLoaderImpl: ResourceLoaderImpl - }; - - /** - * @experimental - */ - var RESOURCE_CACHE_PROVIDER = [{ provide: _angular_compiler.ResourceLoader, useClass: CachedResourceLoader }]; - /** - * @stable - */ - var platformBrowserDynamic = _angular_core.createPlatformFactory(_angular_compiler.platformCoreDynamic, 'browserDynamic', INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS); - - exports.RESOURCE_CACHE_PROVIDER = RESOURCE_CACHE_PROVIDER; - exports.platformBrowserDynamic = platformBrowserDynamic; - exports.__platform_browser_dynamic_private__ = __platform_browser_dynamic_private__; - - })); - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) - -/***/ }, -/* 312 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * @license Angular v2.2.3 - * (c) 2010-2016 Google, Inc. https://angular.io/ - * License: MIT - */ - (function (global, factory) { - true ? factory(exports, __webpack_require__(313)) : - typeof define === 'function' && define.amd ? define(['exports', '@angular/core'], factory) : - (factory((global.ng = global.ng || {}, global.ng.compiler = global.ng.compiler || {}),global.ng.core)); - }(this, function (exports,_angular_core) { 'use strict'; - - /** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - /** - * A segment of text within the template. - */ - var TextAst = (function () { - function TextAst(value, ngContentIndex, sourceSpan) { - this.value = value; - this.ngContentIndex = ngContentIndex; - this.sourceSpan = sourceSpan; - } - TextAst.prototype.visit = function (visitor, context) { return visitor.visitText(this, context); }; - return TextAst; - }()); - /** - * A bound expression within the text of a template. - */ - var BoundTextAst = (function () { - function BoundTextAst(value, ngContentIndex, sourceSpan) { - this.value = value; - this.ngContentIndex = ngContentIndex; - this.sourceSpan = sourceSpan; - } - BoundTextAst.prototype.visit = function (visitor, context) { - return visitor.visitBoundText(this, context); - }; - return BoundTextAst; - }()); - /** - * A plain attribute on an element. - */ - var AttrAst = (function () { - function AttrAst(name, value, sourceSpan) { - this.name = name; - this.value = value; - this.sourceSpan = sourceSpan; - } - AttrAst.prototype.visit = function (visitor, context) { return visitor.visitAttr(this, context); }; - return AttrAst; - }()); - /** - * A binding for an element property (e.g. `[property]="expression"`) or an animation trigger (e.g. - * `[@trigger]="stateExp"`) - */ - var BoundElementPropertyAst = (function () { - function BoundElementPropertyAst(name, type, securityContext, needsRuntimeSecurityContext, value, unit, sourceSpan) { - this.name = name; - this.type = type; - this.securityContext = securityContext; - this.needsRuntimeSecurityContext = needsRuntimeSecurityContext; - this.value = value; - this.unit = unit; - this.sourceSpan = sourceSpan; - } - BoundElementPropertyAst.prototype.visit = function (visitor, context) { - return visitor.visitElementProperty(this, context); - }; - Object.defineProperty(BoundElementPropertyAst.prototype, "isAnimation", { - get: function () { return this.type === exports.PropertyBindingType.Animation; }, - enumerable: true, - configurable: true - }); - return BoundElementPropertyAst; - }()); - /** - * A binding for an element event (e.g. `(event)="handler()"`) or an animation trigger event (e.g. - * `(@trigger.phase)="callback($event)"`). - */ - var BoundEventAst = (function () { - function BoundEventAst(name, target, phase, handler, sourceSpan) { - this.name = name; - this.target = target; - this.phase = phase; - this.handler = handler; - this.sourceSpan = sourceSpan; - } - BoundEventAst.calcFullName = function (name, target, phase) { - if (target) { - return target + ":" + name; - } - else if (phase) { - return "@" + name + "." + phase; - } - else { - return name; - } - }; - BoundEventAst.prototype.visit = function (visitor, context) { - return visitor.visitEvent(this, context); - }; - Object.defineProperty(BoundEventAst.prototype, "fullName", { - get: function () { return BoundEventAst.calcFullName(this.name, this.target, this.phase); }, - enumerable: true, - configurable: true - }); - Object.defineProperty(BoundEventAst.prototype, "isAnimation", { - get: function () { return !!this.phase; }, - enumerable: true, - configurable: true - }); - return BoundEventAst; - }()); - /** - * A reference declaration on an element (e.g. `let someName="expression"`). - */ - var ReferenceAst = (function () { - function ReferenceAst(name, value, sourceSpan) { - this.name = name; - this.value = value; - this.sourceSpan = sourceSpan; - } - ReferenceAst.prototype.visit = function (visitor, context) { - return visitor.visitReference(this, context); - }; - return ReferenceAst; - }()); - /** - * A variable declaration on a