{"version":3,"sources":["vendor/ember-cli/app-prefix.js","spellbinder2/adapters/application.js","spellbinder2/adapters/spell.js","spellbinder2/app.js","spellbinder2/breakpoints.js","spellbinder2/components/animation-loading.js","spellbinder2/components/button-add-remove-spell.js","spellbinder2/components/button-clear-filters.js","spellbinder2/components/button-form.js","spellbinder2/components/button-header.js","spellbinder2/components/button-navigation.js","spellbinder2/components/button-spell-slot.js","spellbinder2/components/button-toggle-filters.js","spellbinder2/components/container-filters-spells.js","spellbinder2/components/container-list-spells.js","spellbinder2/components/do-control.js","spellbinder2/components/do-feedback.js","spellbinder2/components/do-field.js","spellbinder2/components/do-fields.js","spellbinder2/components/do-form.js","spellbinder2/components/do-hint.js","spellbinder2/components/do-label.js","spellbinder2/components/ember-do-forms/checkbox-field.js","spellbinder2/components/ember-do-forms/feedback-wrapper.js","spellbinder2/components/ember-do-forms/input-field.js","spellbinder2/components/ember-modal-dialog-positioned-container.js","spellbinder2/components/ember-modal-dialog/-basic-dialog.js","spellbinder2/components/ember-modal-dialog/-in-place-dialog.js","spellbinder2/components/ember-modal-dialog/-liquid-dialog.js","spellbinder2/components/ember-modal-dialog/-liquid-tether-dialog.js","spellbinder2/components/ember-modal-dialog/-tether-dialog.js","spellbinder2/components/ember-wormhole.js","spellbinder2/components/filter-level.js","spellbinder2/components/filters-spells.js","spellbinder2/components/form-create-character.js","spellbinder2/components/form-login.js","spellbinder2/components/form-register.js","spellbinder2/components/form-rename-character.js","spellbinder2/components/input-number.js","spellbinder2/components/input-search.js","spellbinder2/components/input-select.js","spellbinder2/components/level-spell-slots.js","spellbinder2/components/list-item-spell.js","spellbinder2/components/list-spells.js","spellbinder2/components/markdown-to-html.js","spellbinder2/components/modal-base.js","spellbinder2/components/modal-choose-character.js","spellbinder2/components/modal-confirm-delete-character.js","spellbinder2/components/modal-create-character.js","spellbinder2/components/modal-dialog-overlay.js","spellbinder2/components/modal-dialog.js","spellbinder2/components/modal-edit-character.js","spellbinder2/components/modal-edit-spell-slots.js","spellbinder2/components/modal-rename-character.js","spellbinder2/components/modal-settings.js","spellbinder2/components/one-way-checkbox.js","spellbinder2/components/one-way-color.js","spellbinder2/components/one-way-date.js","spellbinder2/components/one-way-datetime-local.js","spellbinder2/components/one-way-email.js","spellbinder2/components/one-way-file.js","spellbinder2/components/one-way-hidden.js","spellbinder2/components/one-way-input.js","spellbinder2/components/one-way-month.js","spellbinder2/components/one-way-number.js","spellbinder2/components/one-way-password.js","spellbinder2/components/one-way-radio.js","spellbinder2/components/one-way-range.js","spellbinder2/components/one-way-search.js","spellbinder2/components/one-way-select.js","spellbinder2/components/one-way-select/option.js","spellbinder2/components/one-way-tel.js","spellbinder2/components/one-way-text.js","spellbinder2/components/one-way-textarea.js","spellbinder2/components/one-way-time.js","spellbinder2/components/one-way-url.js","spellbinder2/components/one-way-week.js","spellbinder2/components/panel-characters.js","spellbinder2/components/scroll-view.js","spellbinder2/components/segment-segmented-filter.js","spellbinder2/components/segmented-filter.js","spellbinder2/components/spell-description.js","spellbinder2/components/spell-slots-manager.js","spellbinder2/components/tether-dialog.js","spellbinder2/components/torii-iframe-placeholder.js","spellbinder2/components/welcome-page.js","spellbinder2/controllers/characters.js","spellbinder2/controllers/characters/character.js","spellbinder2/controllers/characters/character/spells.js","spellbinder2/controllers/characters/character/spells/spell.js","spellbinder2/controllers/characters/create-character.js","spellbinder2/controllers/characters/index.js","spellbinder2/controllers/login.js","spellbinder2/controllers/register.js","spellbinder2/helpers/and.js","spellbinder2/helpers/app-version.js","spellbinder2/helpers/changeset.js","spellbinder2/helpers/eq.js","spellbinder2/helpers/gt.js","spellbinder2/helpers/gte.js","spellbinder2/helpers/ignore-children.js","spellbinder2/helpers/is-after.js","spellbinder2/helpers/is-array.js","spellbinder2/helpers/is-before.js","spellbinder2/helpers/is-between.js","spellbinder2/helpers/is-equal.js","spellbinder2/helpers/is-same-or-after.js","spellbinder2/helpers/is-same-or-before.js","spellbinder2/helpers/is-same.js","spellbinder2/helpers/lt.js","spellbinder2/helpers/lte.js","spellbinder2/helpers/moment-add.js","spellbinder2/helpers/moment-calendar.js","spellbinder2/helpers/moment-diff.js","spellbinder2/helpers/moment-duration.js","spellbinder2/helpers/moment-format.js","spellbinder2/helpers/moment-from-now.js","spellbinder2/helpers/moment-from.js","spellbinder2/helpers/moment-subtract.js","spellbinder2/helpers/moment-to-date.js","spellbinder2/helpers/moment-to-now.js","spellbinder2/helpers/moment-to.js","spellbinder2/helpers/moment-unix.js","spellbinder2/helpers/moment.js","spellbinder2/helpers/not-eq.js","spellbinder2/helpers/not.js","spellbinder2/helpers/now.js","spellbinder2/helpers/one-way-select/contains.js","spellbinder2/helpers/or.js","spellbinder2/helpers/pluralize.js","spellbinder2/helpers/singularize.js","spellbinder2/helpers/unix.js","spellbinder2/helpers/xor.js","spellbinder2/initializers/add-modals-container.js","spellbinder2/initializers/allow-link-action.js","spellbinder2/initializers/app-version.js","spellbinder2/initializers/container-debug-adapter.js","spellbinder2/initializers/data-adapter.js","spellbinder2/initializers/ember-data.js","spellbinder2/initializers/ember-hammertime.js","spellbinder2/initializers/ember-keyboard-first-responder-inputs.js","spellbinder2/initializers/emberfire.js","spellbinder2/initializers/event-bus.js","spellbinder2/initializers/export-application-global.js","spellbinder2/initializers/initialize-torii-callback.js","spellbinder2/initializers/initialize-torii-session.js","spellbinder2/initializers/initialize-torii.js","spellbinder2/initializers/injectStore.js","spellbinder2/initializers/responsive.js","spellbinder2/initializers/store.js","spellbinder2/initializers/transforms.js","spellbinder2/instance-initializers/ember-data.js","spellbinder2/instance-initializers/ember-do-forms/initializer.js","spellbinder2/instance-initializers/setup-routes.js","spellbinder2/instance-initializers/walk-providers.js","spellbinder2/mixins/link-action.js","spellbinder2/mixins/scrolling.js","spellbinder2/models/character.js","spellbinder2/models/slot.js","spellbinder2/models/spell.js","spellbinder2/models/user.js","spellbinder2/resolver.js","spellbinder2/router.js","spellbinder2/routes/application.js","spellbinder2/routes/characters.js","spellbinder2/routes/characters/character.js","spellbinder2/routes/characters/character/spells.js","spellbinder2/routes/characters/character/spells/spell.js","spellbinder2/routes/characters/create-character.js","spellbinder2/routes/login.js","spellbinder2/routes/register.js","spellbinder2/serializers/character.js","spellbinder2/services/ajax.js","spellbinder2/services/ember-cordova/events.js","spellbinder2/services/ember-cordova/platform.js","spellbinder2/services/ember-do-forms/config.js","spellbinder2/services/event-bus.js","spellbinder2/services/firebase-app.js","spellbinder2/services/firebase.js","spellbinder2/services/keyboard.js","spellbinder2/services/media.js","spellbinder2/services/modal-dialog.js","spellbinder2/services/moment.js","spellbinder2/services/popup.js","spellbinder2/services/torii-session.js","spellbinder2/services/torii.js","spellbinder2/templates/application-loading.js","spellbinder2/templates/application.js","spellbinder2/templates/characters.js","spellbinder2/templates/characters/character.js","spellbinder2/templates/characters/character/spells.js","spellbinder2/templates/characters/character/spells/spell.js","spellbinder2/templates/characters/create-character.js","spellbinder2/templates/characters/index.js","spellbinder2/templates/components/animation-loading.js","spellbinder2/templates/components/button-add-remove-spell.js","spellbinder2/templates/components/button-clear-filters.js","spellbinder2/templates/components/button-form.js","spellbinder2/templates/components/button-header.js","spellbinder2/templates/components/button-navigation.js","spellbinder2/templates/components/button-spell-slot.js","spellbinder2/templates/components/button-toggle-filters.js","spellbinder2/templates/components/container-filters-spells.js","spellbinder2/templates/components/container-list-spells.js","spellbinder2/templates/components/filter-level.js","spellbinder2/templates/components/filters-spells.js","spellbinder2/templates/components/form-create-character.js","spellbinder2/templates/components/form-login.js","spellbinder2/templates/components/form-register.js","spellbinder2/templates/components/form-rename-character.js","spellbinder2/templates/components/input-number.js","spellbinder2/templates/components/input-search.js","spellbinder2/templates/components/input-select.js","spellbinder2/templates/components/level-spell-slots.js","spellbinder2/templates/components/list-item-spell.js","spellbinder2/templates/components/list-spells.js","spellbinder2/templates/components/modal-base.js","spellbinder2/templates/components/modal-choose-character.js","spellbinder2/templates/components/modal-confirm-delete-character.js","spellbinder2/templates/components/modal-create-character.js","spellbinder2/templates/components/modal-edit-character.js","spellbinder2/templates/components/modal-edit-spell-slots.js","spellbinder2/templates/components/modal-rename-character.js","spellbinder2/templates/components/modal-settings.js","spellbinder2/templates/components/panel-characters.js","spellbinder2/templates/components/scroll-view.js","spellbinder2/templates/components/segment-segmented-filter.js","spellbinder2/templates/components/segmented-filter.js","spellbinder2/templates/components/spell-description.js","spellbinder2/templates/components/spell-slots-manager.js","spellbinder2/templates/loading.js","spellbinder2/templates/login.js","spellbinder2/templates/register.js","spellbinder2/torii-adapters/application.js","spellbinder2/torii-providers/firebase.js","spellbinder2/utils/get-cmd-key.js","spellbinder2/utils/listener-name.js","spellbinder2/validations/createCharacter.js","spellbinder2/validations/login.js","spellbinder2/validations/register.js","vendor/ember-cli/app-suffix.js","vendor/ember-cli/app-config.js","vendor/ember-cli/app-boot.js"],"sourcesContent":["\"use strict\";\n\n\n","define('spellbinder2/adapters/application', ['exports', 'emberfire/adapters/firebase'], function (exports, _firebase) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _firebase.default.extend({});\n});","define('spellbinder2/adapters/spell', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.RESTAdapter.extend({\n    urlForFindAll: function urlForFindAll(modelName, snapshot) {\n      return '/spells.json';\n    },\n    urlForQuery: function urlForQuery(modelName, snapshot) {\n      return '/spells-initial.json';\n    },\n    urlForFindRecord: function urlForFindRecord(id) {\n      // return `/spells/spell${id}.json`;\n      return '/spells/' + id + '.json';\n    }\n  });\n});","define('spellbinder2/app', ['exports', 'spellbinder2/resolver', 'ember-load-initializers', 'spellbinder2/config/environment'], function (exports, _resolver, _emberLoadInitializers, _environment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var App = Ember.Application.extend({\n    modulePrefix: _environment.default.modulePrefix,\n    podModulePrefix: _environment.default.podModulePrefix,\n    Resolver: _resolver.default\n  });\n\n  (0, _emberLoadInitializers.default)(App, _environment.default.modulePrefix);\n\n  exports.default = App;\n});","define('spellbinder2/breakpoints', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    mobile: '(max-width: 767px)',\n    tablet: '(min-width: 768px) and (max-width: 991px)',\n    desktop: '(min-width: 992px) and (max-width: 1200px)'\n  };\n});","define(\"spellbinder2/components/animation-loading\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed;\n  exports.default = Component.extend({\n\n    tagName: \"\"\n  });\n});","define(\"spellbinder2/components/button-add-remove-spell\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed;\n  exports.default = Component.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    tagName: \"button\",\n    classNames: [\"container-button-addRemoveSpell\", \"button-reset\"],\n    classNameBindings: [\"isOnSpellList:is-remove\", \"isActive\"],\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    click: function click() {\n      if (get(this, 'isOnSpellList')) {\n        get(this, 'clickedRemoveSpell')();\n      } else {\n        get(this, 'clickedAddSpell')();\n      }\n    }\n  });\n});","define(\"spellbinder2/components/button-clear-filters\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed;\n  exports.default = Component.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    tagName: \"button\",\n    classNames: [\"container-button-clearFilters\", \"button\", \"outline-yellowMedium\", \"text-yellowMedium\"],\n    classNameBindings: [\"isActive\"],\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    click: function click() {\n      get(this, 'clickedClearFilters')();\n    }\n  });\n});","define(\"spellbinder2/components/button-form\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component;\n  exports.default = Component.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    tagName: \"\"\n  });\n});","define('spellbinder2/components/button-header', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      inject = Ember.inject;\n  exports.default = Component.extend({\n\n    //////////////////////////////////\n    /////////// Injections ///////////\n    //////////////////////////////////\n\n    router: inject.service(''),\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-buttonHeader\"],\n    classNameBindings: [\"backgroundColor\", \"isActive\", \"containerClass\", \"isCondensed\"],\n\n    ///////////////////////////////////////////\n    /////////// Computed Properties ///////////\n    ///////////////////////////////////////////\n\n    isCondensed: computed('router.currentRouteName', 'media.isMobile', function () {\n      return get(this, 'media.isMobile') && get(this, 'router.currentRouteName') === 'characters.character.spells.spell';\n    }),\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      clickedSlots: function clickedSlots() {\n        get(this, 'clickedSlots')();\n      },\n      clickedUser: function clickedUser() {\n        get(this, 'clickedUser')();\n      }\n    }\n  });\n});","define(\"spellbinder2/components/button-navigation\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed;\n  exports.default = Component.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-buttonNavigation\"],\n    classNameBindings: [\"state\"],\n    attributeBindings: [\"style\"],\n    style: null,\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    init: function init() {\n      this._super.apply(this, arguments);\n      this.get('EventBus').subscribe('updateNavButtonState', this, 'onUpdateNavButtonState');\n    },\n    willDestroyElement: function willDestroyElement() {\n      this._super.apply(this, arguments);\n      this.get('EventBus').unsubscribe('updateNavButtonState');\n    },\n\n\n    // didReceiveAttrs() {\n    //   if (get(this, 'state') === 'closePanelChooseCharacters') {\n    //     const panel = Ember.$('.container-panel-chooseCharacter');\n    //     const height = `${(panel.height() - 84 / 2) / 16}`;\n    //     const style = `translate3d(-50%,${height}rem,0px)`;\n    //     const el = get(this, 'element');\n    //     Ember.$(el).css({\n    //       \"transform\": style,\n    //       \"-webkit-transform\": style\n    //     });\n    //   } else {\n    //     const el = get(this, 'element');\n    //     Ember.$(el).css({\n    //       \"transform\": \"\",\n    //       \"-webkit-transform\": \"\"\n    //     });\n    //   }\n    // },\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    onUpdateNavButtonState: function onUpdateNavButtonState(state) {\n      get(this, 'onUpdateNavButtonState')(state);\n    },\n\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    click: function click() {\n      get(this, 'clickedButtonNavigation')();\n    }\n  });\n});","define(\"spellbinder2/components/button-spell-slot\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed;\n  exports.default = Component.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    tagName: \"button\",\n    classNames: [\"container-button-spellSlots\", \"button-reset\"],\n    classNameBindings: [\"isActive\"],\n    isActive: false,\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    click: function click() {\n      // this.toggleProperty('isActive');\n      get(this, 'clickedButtonSpellSlot')(get(this, 'isActive'));\n    }\n  });\n});","define(\"spellbinder2/components/button-toggle-filters\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed;\n  exports.default = Component.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    tagName: \"button\",\n    classNames: [\"container-button-toggleFilters\", \"button\", \"fill-yellowMedium\", \"text-blackDark\"],\n    classNameBindings: [\"isActive\"],\n    isActive: false,\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    click: function click() {\n      // this.toggleProperty('isActive');\n      get(this, 'clickedToggleFilters')();\n    }\n  });\n});","define('spellbinder2/components/container-filters-spells', ['exports', 'ember-keyboard'], function (exports, _emberKeyboard) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed;\n  exports.default = Component.extend(_emberKeyboard.EKMixin, {\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    tagName: \"\",\n    // classNames: [\"container-container-filters-spells\"],\n    // classNameBindings: ['showFilters'],\n    segments: [{\n      name: \"All Spells\",\n      value: \"all_spells\"\n    }, {\n      name: \"My Spells\",\n      value: \"user_spells\"\n    }],\n    showFilters: false,\n    showSegmentedFilters: true,\n\n    searchValue: \"\",\n\n    levels: [{\n      name: 0,\n      isActive: false\n    }, {\n      name: 1,\n      isActive: false\n    }, {\n      name: 2,\n      isActive: false\n    }, {\n      name: 3,\n      isActive: false\n    }, {\n      name: 4,\n      isActive: false\n    }, {\n      name: 5,\n      isActive: false\n    }, {\n      name: 6,\n      isActive: false\n    }, {\n      name: 7,\n      isActive: false\n    }, {\n      name: 8,\n      isActive: false\n    }, {\n      name: 9,\n      isActive: false\n    }],\n\n    selectedClass: null,\n    selectedSchool: null,\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    // init() {\n    //   this._super(...arguments);\n    //   set(this, 'keyboardPriority', 1);\n    // },\n\n    ///////////////////////////////////////////\n    /////////// Computed Properties ///////////\n    ///////////////////////////////////////////\n\n    showButtonClearFilters: computed('searchValue', 'levels.@each.isActive', 'selectedSchool', 'selectedClass', function () {\n      var hasSearch = get(this, 'searchValue') !== \"\";\n      var levelsActive = get(this, 'levels').isAny('isActive', true);\n      var hasClassSelected = get(this, 'selectedClass') !== null;\n      var hasSchoolSelected = get(this, 'selectedSchool') !== null;\n\n      return hasSearch || levelsActive || hasClassSelected || hasSchoolSelected;\n    }),\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    onEsc: Ember.on((0, _emberKeyboard.keyDown)('Escape'), function (event) {\n      if (get(this, 'showFilters')) {\n        this.toggleProperty('showFilters');\n        this.toggleProperty('showSegmentedFilters');\n        this.toggleProperty('keyboardActivated');\n      }\n    }),\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      clickedToggleFilters: function clickedToggleFilters() {\n        this.toggleProperty('showFilters');\n        this.toggleProperty('showSegmentedFilters');\n        this.toggleProperty('keyboardActivated');\n      },\n      clickedClearFilters: function clickedClearFilters() {\n\n        get(this, 'EventBus').publish('clearSearchInput');\n\n        set(this, 'searchValue', \"\");\n        set(this, 'selectedClass', null);\n        set(this, 'selectedSchool', null);\n\n        get(this, 'levels').forEach(function (level) {\n          set(level, 'isActive', false);\n        });\n      },\n      updatedSearchValue: function updatedSearchValue(value) {\n        set(this, 'searchValue', value);\n      }\n    }\n  });\n});","define('spellbinder2/components/container-list-spells', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      _Ember$computed = Ember.computed,\n      filter = _Ember$computed.filter,\n      union = _Ember$computed.union,\n      intersect = _Ember$computed.intersect;\n  exports.default = Component.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    // tagName: \"\",\n    classNames: [\"container-listSpells\"],\n    searchResults: [],\n    levelFilters: [],\n    classFilter: null,\n    schoolFilter: null,\n\n    arraySlice: 30,\n    arraySliceMin: 30,\n    arraySliceMax: 379,\n    arraySliceIncrement: 50,\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    // init() {\n    //   this._super(...arguments);\n    //\n    //   set(this, 'arraySlice', 20);\n    //   Ember.run.next(this, () => {\n    //     // @TODO: This should be dynamically determined.\n    //     set(this, 'arraySlice', 379);\n    //   });\n    // },\n\n    ///////////////////////////////////////////\n    /////////// Computed Properties ///////////\n    ///////////////////////////////////////////\n\n    // 1: Filter By Search Results\n    // Note: sort by ID first? Quicker to do index of I think.\n    searchFilteredSpells: computed('spells.[]', 'searchResults.[]', function () {\n      var spells = get(this, 'spells');\n      var searchResults = get(this, 'searchResults');\n      var searchFilteredSpells = Ember.A([]);\n\n      if (searchResults === null || searchResults === undefined || get(searchResults, 'length') <= 0) {\n        return spells.sortBy('name');\n      }\n\n      searchResults.forEach(function (result) {\n        searchFilteredSpells.addObject(spells.findBy('id', result));\n      });\n\n      return searchFilteredSpells;\n    }),\n\n    // 2: Filter By Class Filter\n    classFilteredSpells: computed('spells.[]', 'classFilter.value', function () {\n      var spells = get(this, 'spells');\n      var classFilter = get(this, 'classFilter');\n\n      if (classFilter === null || classFilter === undefined) {\n        return spells.sortBy('name');\n      }\n\n      return spells.filter(function (spell) {\n        return get(spell, 'classes').any(function (spellClass) {\n          return spellClass === classFilter.value;\n        });\n      });\n    }),\n\n    // 3: Filter By School Filter\n    schoolFilteredSpells: computed('spells.[]', 'schoolFilter.value', function () {\n      var spells = get(this, 'spells');\n      var schoolFilter = get(this, 'schoolFilter');\n\n      if (schoolFilter === null || schoolFilter === undefined) {\n        return spells.sortBy('name');\n      }\n\n      return spells.filterBy('school', schoolFilter.value);\n    }),\n\n    // 4: Filter By Level\n    levelFilterdSpells: computed('spells.[]', 'levelFilters.@each.isActive', function () {\n      var spells = get(this, 'spells');\n      var levelFilters = get(this, 'levelFilters');\n\n      if (levelFilters === null || levelFilters === undefined || get(levelFilters, 'length') <= 0 || !levelFilters.isAny('isActive', true)) {\n        return spells.sortBy('name');\n      }\n\n      var levelFilterdSpells = Ember.A([]);\n\n      levelFilters.forEach(function (level) {\n        if (level.isActive) {\n          var spellsAtThisLevel = spells.filter(function (spell) {\n            if (level.name === 0) {\n              return get(spell, 'level') === 'cantrip';\n            } else {\n              return get(spell, 'level') === '' + level.name;\n            }\n          });\n          levelFilterdSpells.addObjects(spellsAtThisLevel);\n        }\n      });\n\n      return levelFilterdSpells.uniq();\n    }),\n\n    // filteredSpells: intersect('searchFilteredSpells.@each.id', 'classFilteredSpells.@each.id', 'schoolFilteredSpells.@each.id', 'levelFilterdSpells.@each.id'),\n\n    filteredSpells: computed('searchFilteredSpells.[]', 'classFilteredSpells.[]', 'schoolFilteredSpells.[]', 'levelFilterdSpells.[]', function () {\n      var sfs = get(this, 'searchFilteredSpells');\n      var cfs = get(this, 'classFilteredSpells');\n      var scfc = get(this, 'schoolFilteredSpells');\n      var lfc = get(this, 'levelFilterdSpells');\n\n      var i1 = this.intersect(sfs, cfs);\n      var i2 = this.intersect(scfc, lfc);\n\n      // return this.intersect(i1, i2).sortBy('name');\n      return this.intersect(i1, i2);\n    }),\n\n    filteredCount: computed('filteredSpells.[]', function () {\n      return get(this, 'filteredSpells.length');\n    }),\n\n    slicedSpells: computed('filteredSpells.[]', 'arraySlice', function () {\n      var i = get(this, 'arraySlice');\n      return get(this, 'filteredSpells').slice(0, i);\n    }),\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      updateList: function updateList() {\n        var s = get(this, 'arraySlice');\n        var max = get(this, 'arraySliceMax');\n        var i = get(this, 'arraySliceIncrement');\n        if (s + i < max) {\n          set(this, 'arraySlice', s + i);\n        } else {\n          set(this, 'arraySlice', max);\n        }\n      },\n      updatedSearchResults: function updatedSearchResults(results) {\n        var _this = this;\n\n        Ember.run.next(this, function () {\n          set(_this, 'arraySlice', get(_this, 'arraySliceMin'));\n          set(_this, 'searchResults', results);\n        });\n      },\n      updatedLevels: function updatedLevels(levelFilters) {\n        set(this, 'arraySlice', get(this, 'arraySliceMin'));\n        set(this, 'levelFilters', levelFilters);\n      },\n      updatedClassValue: function updatedClassValue(classFilter) {\n        set(this, 'arraySlice', get(this, 'arraySliceMin'));\n        set(this, 'classFilter', classFilter);\n      },\n      updatedSchoolValue: function updatedSchoolValue(schoolFilter) {\n        set(this, 'arraySlice', get(this, 'arraySliceMin'));\n        set(this, 'schoolFilter', schoolFilter);\n      },\n      clickedClearFilters: function clickedClearFilters() {\n        set(this, 'arraySlice', get(this, 'arraySliceMin'));\n        set(this, 'filteredSpells', get(this, 'spells'));\n        set(this, 'searchResults', null);\n        set(this, 'levelFilters', null);\n        set(this, 'classFilter', null);\n        set(this, 'schoolFilter', null);\n      }\n    },\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    intersect: function intersect(a, b) {\n      return a.filter(function (n) {\n        return b.includes(n);\n      });\n    }\n  });\n});","define('spellbinder2/components/do-control', ['exports', 'ember-do-forms/components/do-control'], function (exports, _doControl) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _doControl.default;\n    }\n  });\n});","define('spellbinder2/components/do-feedback', ['exports', 'ember-do-forms/components/do-feedback'], function (exports, _doFeedback) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _doFeedback.default;\n    }\n  });\n});","define('spellbinder2/components/do-field', ['exports', 'ember-do-forms/components/do-field'], function (exports, _doField) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _doField.default;\n    }\n  });\n});","define('spellbinder2/components/do-fields', ['exports', 'ember-do-forms/components/do-fields'], function (exports, _doFields) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _doFields.default;\n    }\n  });\n});","define('spellbinder2/components/do-form', ['exports', 'ember-do-forms/components/do-form'], function (exports, _doForm) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _doForm.default;\n    }\n  });\n});","define('spellbinder2/components/do-hint', ['exports', 'ember-do-forms/components/do-hint'], function (exports, _doHint) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _doHint.default;\n    }\n  });\n});","define('spellbinder2/components/do-label', ['exports', 'ember-do-forms/components/do-label'], function (exports, _doLabel) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _doLabel.default;\n    }\n  });\n});","define('spellbinder2/components/ember-do-forms/checkbox-field', ['exports', 'ember-do-forms/components/ember-do-forms/checkbox-field'], function (exports, _checkboxField) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _checkboxField.default;\n    }\n  });\n});","define('spellbinder2/components/ember-do-forms/feedback-wrapper', ['exports', 'ember-do-forms/components/ember-do-forms/feedback-wrapper'], function (exports, _feedbackWrapper) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _feedbackWrapper.default;\n    }\n  });\n});","define('spellbinder2/components/ember-do-forms/input-field', ['exports', 'ember-do-forms/components/ember-do-forms/input-field'], function (exports, _inputField) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _inputField.default;\n    }\n  });\n});","define('spellbinder2/components/ember-modal-dialog-positioned-container', ['exports', 'ember-modal-dialog/components/positioned-container'], function (exports, _positionedContainer) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _positionedContainer.default;\n    }\n  });\n});","define('spellbinder2/components/ember-modal-dialog/-basic-dialog', ['exports', 'ember-modal-dialog/components/basic-dialog'], function (exports, _basicDialog) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _basicDialog.default;\n    }\n  });\n});","define('spellbinder2/components/ember-modal-dialog/-in-place-dialog', ['exports', 'ember-modal-dialog/components/in-place-dialog'], function (exports, _inPlaceDialog) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _inPlaceDialog.default;\n    }\n  });\n});","define('spellbinder2/components/ember-modal-dialog/-liquid-dialog', ['exports', 'ember-modal-dialog/components/liquid-dialog'], function (exports, _liquidDialog) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _liquidDialog.default;\n    }\n  });\n});","define('spellbinder2/components/ember-modal-dialog/-liquid-tether-dialog', ['exports', 'ember-modal-dialog/components/liquid-tether-dialog'], function (exports, _liquidTetherDialog) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _liquidTetherDialog.default;\n    }\n  });\n});","define('spellbinder2/components/ember-modal-dialog/-tether-dialog', ['exports', 'ember-modal-dialog/components/tether-dialog'], function (exports, _tetherDialog) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _tetherDialog.default;\n    }\n  });\n});","define('spellbinder2/components/ember-wormhole', ['exports', 'ember-wormhole/components/ember-wormhole'], function (exports, _emberWormhole) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _emberWormhole.default;\n    }\n  });\n});","define(\"spellbinder2/components/filter-level\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      alias = Ember.computed.alias;\n  exports.default = Component.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-filter-spellLevel\"],\n    classNameBindings: [\"isActive\"],\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    didUpdateAttrs: function didUpdateAttrs() {\n      var _this = this;\n\n      this._super.apply(this, arguments);\n\n      Ember.run.next(this, function () {\n        get(_this, 'updatedLevels')();\n      });\n    },\n\n\n    /////////////////////////////////////////\n    /////////// One-Line Computed ///////////\n    /////////////////////////////////////////\n\n    isActive: alias('level.isActive'),\n    name: alias('level.name'),\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    click: function click() {\n      this.toggleProperty('isActive');\n      get(this, 'updatedLevels')();\n    }\n  });\n});","define(\"spellbinder2/components/filters-spells\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed;\n  exports.default = Component.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-filtersSpells\"],\n    classNameBindings: [\"isVisible\"],\n\n    classes: [{\n      name: \"Bard\",\n      value: \"bard\"\n    }, {\n      name: \"Cleric\",\n      value: \"cleric\"\n    }, {\n      name: \"Cleric (Trickery)\",\n      value: \"cleric (trickery)\"\n    }, {\n      name: \"Druid\",\n      value: \"druid\"\n    }, {\n      name: \"Paladin\",\n      value: \"paladin\"\n    }, {\n      name: \"Ranger\",\n      value: \"ranger\"\n    }, {\n      name: \"Sorcerer\",\n      value: \"sorcerer\"\n    }, {\n      name: \"Warlock\",\n      value: \"warlock\"\n    }, {\n      name: \"Wizard\",\n      value: \"wizard\"\n    }],\n\n    schools: [{\n      name: \"Abjuration\",\n      value: \"abjuration\"\n    }, {\n      name: \"Conjuration\",\n      value: \"conjuration\"\n    }, {\n      name: \"Divination\",\n      value: \"divination\"\n    }, {\n      name: \"Enchantment\",\n      value: \"enchantment\"\n    }, {\n      name: \"Evocation\",\n      value: \"evocation\"\n    }, {\n      name: \"Illusion\",\n      value: \"illusion\"\n    }, {\n      name: \"Necromancy\",\n      value: \"necromancy\"\n    }, {\n      name: \"Transmutation\",\n      value: \"transmutation\"\n    }, {\n      name: \"Universal\",\n      value: \"universal\"\n    }],\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n\n      // updatedLevels() {\n      //   get(this, 'updatedFilters')(get(this, 'levels'), get(this, 'selectedClass'), get(this, 'selectedSchool'));\n      // },\n      //\n      // updatedClassValue(value) {\n      //   set(this, 'selectedClass', value);\n      //   get(this, 'updatedFilters')(get(this, 'levels'), get(this, 'selectedClass'), get(this, 'selectedSchool'));\n      // },\n      //\n      // updatedSchoolValue(value) {\n      //   set(this, 'selectedSchool', value);\n      //   get(this, 'updatedFilters')(get(this, 'levels'), get(this, 'selectedClass'), get(this, 'selectedSchool'));\n      // }\n\n      updatedLevels: function updatedLevels() {\n        get(this, 'updatedLevels')(get(this, 'levels'));\n      },\n      updatedClassValue: function updatedClassValue(value) {\n        set(this, 'selectedClass', value);\n        get(this, 'updatedClassValue')(get(this, 'selectedClass'));\n      },\n      updatedSchoolValue: function updatedSchoolValue(value) {\n        set(this, 'selectedSchool', value);\n        get(this, 'updatedSchoolValue')(get(this, 'selectedSchool'));\n      }\n    }\n  });\n});","define('spellbinder2/components/form-create-character', ['exports', 'spellbinder2/validations/createCharacter', 'ember-changeset-validations', 'ember-changeset'], function (exports, _createCharacter, _emberChangesetValidations, _emberChangeset) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      inject = Ember.inject,\n      get = Ember.get,\n      set = Ember.set;\n  exports.default = Component.extend({\n\n    //////////////////////////////////\n    /////////// Injections ///////////\n    //////////////////////////////////\n\n    store: inject.service(''),\n    session: inject.service(''),\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-form-createCharacter\", \"container-form-modal\"],\n\n    form: {\n      characterName: \"\"\n    },\n\n    CreateCharacterValidations: _createCharacter.default,\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    init: function init() {\n      this._super.apply(this, arguments);\n      var form = get(this, 'form');\n      this.changeset = new _emberChangeset.default(form, (0, _emberChangesetValidations.default)(_createCharacter.default), _createCharacter.default);\n    },\n\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      formSubmitted: function formSubmitted(changeset) {\n        var _this = this;\n\n        set(this, 'hasSubmitted', true);\n        set(this, 'isLoading', true);\n\n        changeset.validate();\n\n        if (get(changeset, 'isValid')) {\n          changeset.save();\n\n          return this._submitted(changeset).then(function (newCharacter) {\n            set(_this, 'isLoading', false);\n            get(_this, 'formSubmitted')(newCharacter);\n          });\n        } else {\n          set(this, 'isLoading', false);\n        }\n      }\n    },\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    _submitted: function _submitted(changeset) {\n      var user = get(this, 'user');\n      var characterName = get(this, 'changeset.characterName');\n\n      if (user === null || user === undefined || get(user, 'isDeleted')) {\n        user = this._createNewUser();\n      }\n\n      var newCharacter = this._createNewCharacter(characterName);\n\n      get(user, 'characters').addObject(newCharacter);\n\n      return newCharacter.save().then(function () {\n        return user.save();\n      }).then(function () {\n        return newCharacter;\n      }).catch(function (error) {\n        console.error(error);\n      });\n    },\n    _createNewCharacter: function _createNewCharacter(characterName) {\n      return get(this, 'store').createRecord('character', {\n        name: characterName\n      });\n    },\n    _createNewUser: function _createNewUser() {\n\n      var uid = get(this, 'session.currentUser.uid');\n\n      if (uid === null || uid === undefined) {\n        return null;\n      }\n\n      get(this, 'store').recordForId('user', uid).unloadRecord();\n\n      return get(this, 'store').createRecord('user', {\n        id: uid\n      });\n    }\n  });\n});","define('spellbinder2/components/form-login', ['exports', 'spellbinder2/validations/login', 'ember-changeset-validations', 'ember-changeset'], function (exports, _login2, _emberChangesetValidations, _emberChangeset) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      inject = Ember.inject,\n      get = Ember.get,\n      set = Ember.set;\n  exports.default = Component.extend({\n\n    ////////////////////////////////\n    /////////// Services ///////////\n    ////////////////////////////////\n\n    firebaseApp: inject.service(''),\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-form-login\"],\n\n    login: {\n      email: \"\",\n      password: \"\"\n    },\n\n    LoginValidations: _login2.default,\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    init: function init() {\n      this._super.apply(this, arguments);\n      var form = get(this, 'login');\n      this.changeset = new _emberChangeset.default(form, (0, _emberChangesetValidations.default)(_login2.default), _login2.default);\n    },\n\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      formSubmitted: function formSubmitted(changeset) {\n        set(this, 'hasSubmitted', true);\n        set(this, 'isLoading', true);\n\n        changeset.validate();\n\n        if (get(changeset, 'isValid')) {\n          changeset.save();\n\n          return this._login(get(this, 'login.email'), get(this, 'login.password'));\n        } else {\n          set(this, 'isLoading', false);\n        }\n      }\n    },\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    _login: function _login(email, password) {\n      var _this = this;\n\n      var auth = get(this, 'firebaseApp').auth();\n\n      return auth.signInWithEmailAndPassword(email, password).then(function () {\n        set(_this, 'isLoading', false);\n        get(_this, 'formSubmitted')();\n      }).catch(function (error) {\n        set(_this, 'isLoading', false);\n\n        if (error.message === \"Not Valid\") {\n          return true;\n        } else if (_this._isFirebaseError(error)) {\n          var e = _this._parseFirebaseError(error);\n          _this.get('changeset').pushErrors(e.attribute, e.message);\n        } else {\n\n          if (get(_this, 'session.isAuthenticated')) {\n            get(_this, 'session').close();\n          }\n\n          console.error(error);\n          get(_this, 'raven').captureException(error);\n        }\n      });\n    },\n    _isFirebaseError: function _isFirebaseError(error) {\n      console.log(error);\n      return error.code === \"auth/invalid-email\" || error.code === \"auth/user-disabled\" || error.code === \"auth/user-not-found\" || error.code === 'auth/wrong-password';\n    },\n\n\n    // _isFirebaseError(error) {\n    //   return error.code === \"auth/email-already-in-use\" || error.code === \"auth/invalid-email\" || error.code === \"auth/weak-password\" || error.code === 'auth/wrong-password' || error.code === 'auth/user-not-found'\n    // },\n\n    // _parseFirebaseError(error) {\n    //   if (error.code === \"auth/email-already-in-use\") {\n    //     return {\n    //       attribute: \"email\",\n    //       message: \"This email is already being used.\"\n    //     }\n    //   } else if (error.code === \"auth/user-not-found\") {\n    //     return {\n    //       attribute: \"email\",\n    //       message: \"User not found.\"\n    //     }\n    //   } else if (error.code === \"auth/invalid-email\") {\n    //     return {\n    //       attribute: \"email\",\n    //       message: \"The email is invalid.\"\n    //     }\n    //   } else if (error.code === \"auth/wrong-password\") {\n    //     return {\n    //       attribute: \"password\",\n    //       message: \"The password is incorrect.\"\n    //     }\n    //   } else if (error.code === \"auth/weak-password\") {\n    //     return {\n    //       attribute: \"password\",\n    //       message: \"Please provide a stronger password.\"\n    //     }\n    //   } else {\n    //     return null;\n    //   }\n    // }\n\n    _parseFirebaseError: function _parseFirebaseError(error) {\n      if (error.code === \"auth/invalid-email\") {\n        return {\n          attribute: \"email\",\n          message: \"This email is invalid.\"\n        };\n      } else if (error.code === \"auth/user-disabled\") {\n        return {\n          attribute: \"email\",\n          message: \"User is disabled.\"\n        };\n      } else if (error.code === \"auth/user-not-found\") {\n        return {\n          attribute: \"email\",\n          message: \"No account for this email.\"\n        };\n      } else if (error.code === \"auth/wrong-password\") {\n        return {\n          attribute: \"password\",\n          message: \"The password is incorrect.\"\n        };\n      } else {\n        return null;\n      }\n    }\n  });\n});","define('spellbinder2/components/form-register', ['exports', 'spellbinder2/validations/register', 'ember-changeset-validations', 'ember-changeset'], function (exports, _register, _emberChangesetValidations, _emberChangeset) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      inject = Ember.inject,\n      get = Ember.get,\n      set = Ember.set;\n  exports.default = Component.extend({\n\n    ////////////////////////////////\n    /////////// Services ///////////\n    ////////////////////////////////\n\n    firebaseApp: inject.service(''),\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-form-login\"],\n\n    form: {\n      email: \"\",\n      password: \"\",\n      passwordConfirmation: \"\"\n    },\n\n    RegisterValidations: _register.default,\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    init: function init() {\n      this._super.apply(this, arguments);\n      var form = get(this, 'form');\n      this.changeset = new _emberChangeset.default(form, (0, _emberChangesetValidations.default)(_register.default), _register.default);\n    },\n\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      formSubmitted: function formSubmitted(changeset) {\n        set(this, 'hasSubmitted', true);\n        set(this, 'isLoading', true);\n\n        changeset.validate();\n\n        if (get(changeset, 'isValid')) {\n          changeset.save();\n\n          return this._login(get(this, 'form.email'), get(this, 'form.password'));\n        } else {\n          set(this, 'isLoading', false);\n        }\n      }\n    },\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    _login: function _login(email, password) {\n      var _this = this;\n\n      var auth = get(this, 'firebaseApp').auth();\n\n      return auth.createUserWithEmailAndPassword(email, password).then(function () {\n        set(_this, 'isLoading', false);\n        get(_this, 'formSubmitted')();\n      }).catch(function (error) {\n        set(_this, 'isLoading', false);\n\n        if (error.message === \"Not Valid\") {\n          return true;\n        } else if (_this._isFirebaseError(error)) {\n          var e = _this._parseFirebaseError(error);\n          _this.get('changeset').pushErrors(e.attribute, e.message);\n        } else {\n\n          if (get(_this, 'session.isAuthenticated')) {\n            get(_this, 'session').close();\n          }\n\n          console.error(error);\n          get(_this, 'raven').captureException(error);\n        }\n      });\n    },\n    _isFirebaseError: function _isFirebaseError(error) {\n      console.log(error);\n      return error.code === \"auth/email-already-in-use\" || error.code === \"auth/invalid-email\" || error.code === \"auth/operation-not-allowed\" || error.code === 'auth/weak-password';\n    },\n\n\n    // _isFirebaseError(error) {\n    //   return error.code === \"auth/email-already-in-use\" || error.code === \"auth/invalid-email\" || error.code === \"auth/weak-password\" || error.code === 'auth/wrong-password' || error.code === 'auth/user-not-found'\n    // },\n\n    _parseFirebaseError: function _parseFirebaseError(error) {\n      if (error.code === \"auth/email-already-in-use\") {\n        return {\n          attribute: \"email\",\n          message: \"This email is already being used.\"\n        };\n      } else if (error.code === \"auth/invalid-email\") {\n        return {\n          attribute: \"email\",\n          message: \"The email is invalid.\"\n        };\n      } else if (error.code === \"auth/weak-password\") {\n        return {\n          attribute: \"password\",\n          message: \"Please provide a stronger password.\"\n        };\n      } else {\n        return null;\n      }\n    }\n  });\n});","define('spellbinder2/components/form-rename-character', ['exports', 'spellbinder2/validations/createCharacter', 'ember-changeset-validations', 'ember-changeset'], function (exports, _createCharacter, _emberChangesetValidations, _emberChangeset) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      inject = Ember.inject,\n      get = Ember.get,\n      set = Ember.set;\n  exports.default = Component.extend({\n\n    //////////////////////////////////\n    /////////// Injections ///////////\n    //////////////////////////////////\n\n    store: inject.service(''),\n    session: inject.service(''),\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-form-createCharacter\", \"container-form-modal\"],\n\n    form: {\n      characterName: \"\"\n    },\n\n    CreateCharacterValidations: _createCharacter.default,\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    init: function init() {\n      this._super.apply(this, arguments);\n      var form = get(this, 'form');\n      this.changeset = new _emberChangeset.default(form, (0, _emberChangesetValidations.default)(_createCharacter.default), _createCharacter.default);\n    },\n\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      formSubmitted: function formSubmitted(changeset) {\n        var _this = this;\n\n        set(this, 'hasSubmitted', true);\n        set(this, 'isLoading', true);\n\n        changeset.validate();\n\n        if (get(changeset, 'isValid')) {\n          changeset.save();\n\n          return this._submitted(changeset).then(function (newCharacter) {\n            set(_this, 'isLoading', false);\n            get(_this, 'formSubmitted')(newCharacter);\n          });\n        } else {\n          set(this, 'isLoading', false);\n        }\n      },\n      clickedCancelRenameCharacter: function clickedCancelRenameCharacter() {\n        get(this, 'clickedCancelRenameCharacter')();\n      }\n    },\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    _submitted: function _submitted(changeset) {\n      var c = get(this, 'character');\n\n      console.log(changeset);\n\n      set(c, 'name', get(changeset, 'characterName'));\n\n      return c.save().catch(function (error) {\n        console.error(error);\n      });\n    }\n  });\n});","define(\"spellbinder2/components/input-number\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed;\n  exports.default = Component.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-input-number\"],\n    classNameBindings: [\"classes\", \"hasValue\"],\n    min: 0,\n    max: null,\n\n    value: 0,\n\n    ///////////////////////////////////////////\n    /////////// Computed Properties ///////////\n    ///////////////////////////////////////////\n\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      clickedSubtractNumber: function clickedSubtractNumber() {\n        if (get(this, 'value') !== get(this, 'min')) {\n          this.decrementProperty('value');\n          get(this, 'updatedValue')(get(this, 'value'));\n        }\n      },\n      clickedAddNumber: function clickedAddNumber() {\n        if (get(this, 'value') !== get(this, 'max')) {\n          this.incrementProperty('value');\n          get(this, 'updatedValue')(get(this, 'value'));\n        }\n      }\n    }\n  });\n});","define('spellbinder2/components/input-search', ['exports', 'npm:fuse.js', 'ember-keyboard'], function (exports, _npmFuse, _emberKeyboard) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed;\n  exports.default = Component.extend(_emberKeyboard.EKMixin, {\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-input-search\"],\n    classNameBindings: [\"isActive\"],\n    value: \"\",\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    init: function init() {\n      this._super.apply(this, arguments);\n\n      this.options = {\n        shouldSort: true,\n        threshold: 0.6,\n        location: 0,\n        distance: 100,\n        maxPatternLength: 32,\n        minMatchCharLength: 1,\n        keys: [{\n          name: \"name\",\n          weight: 0.7\n        }, {\n          name: \"description\",\n          weight: 0.3\n        }],\n        id: \"id\",\n        verbose: false\n      };\n\n      var list = get(this, 'convertedList');\n      this.fuse = new _npmFuse.default(list, this.options);\n\n      this.get('EventBus').subscribe('clearSearchInput', this, 'onClearSearchInput');\n\n      set(this, 'keyboardPriority', 1);\n    },\n    willDestroyElement: function willDestroyElement() {\n      this._super.apply(this, arguments);\n      this.get('EventBus').unsubscribe('clearSearchInput');\n    },\n    didReceiveAttrs: function didReceiveAttrs() {\n      var _this = this;\n\n      this._super.apply(this, arguments);\n\n      // Ember.run.next(this, () => {\n      //   const list = get(this, 'convertedList');\n      //   this.fuse = new Fuse(list, this.options);\n      //   let result = this.fuse.search(get(this, 'value'));\n      //   get(this, 'updatedSearchResults')(result);\n      // });\n\n      var search = this.debounce(function () {\n        var list = get(_this, 'convertedList');\n        _this.fuse = new _npmFuse.default(list, _this.options);\n        var result = _this.fuse.search(get(_this, 'value'));\n        get(_this, 'updatedSearchResults')(result);\n      }, 500);\n\n      search();\n    },\n\n\n    ///////////////////////////////////////////\n    /////////// Computed Properties ///////////\n    ///////////////////////////////////////////\n\n    convertedList: computed('list.[]', function () {\n      var l = get(this, 'list');\n\n      if (l === null || l === undefined) {\n        return null;\n      }\n\n      return l.map(function (spell) {\n        return spell.toJSON({ includeId: true });\n      });\n    }),\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    onEsc: Ember.on((0, _emberKeyboard.keyDown)('Escape'), function (event) {\n      get(this, 'updatedSearchValue')(\"\");\n    }),\n\n    debounce: function debounce(func, wait, immediate) {\n      var timeout;\n      return function () {\n        var context = this,\n            args = arguments;\n        var later = function later() {\n          timeout = null;\n          if (!immediate) func.apply(context, args);\n        };\n        var callNow = immediate && !timeout;\n        clearTimeout(timeout);\n        timeout = setTimeout(later, wait);\n        if (callNow) func.apply(context, args);\n      };\n    },\n    onClearSearchInput: function onClearSearchInput() {\n      set(this, 'value', \"\");\n    },\n\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      updatedValue: function updatedValue(value) {\n        var _this2 = this;\n\n        set(this, 'value', value);\n\n        var search = this.debounce(function () {\n          var result = _this2.fuse.search(value);\n          get(_this2, 'updatedSearchValue')(value);\n          get(_this2, 'updatedSearchResults')(result);\n        }, 500);\n\n        search();\n      },\n      onEnter: function onEnter() {\n        var result = this.fuse.search(get(this, 'value'));\n        get(this, 'updatedSearchResults')(result);\n      },\n      onEscape: function onEscape() {\n        set(this, 'value', \"\");\n        var result = this.fuse.search(get(this, 'value'));\n        get(this, 'updatedSearchResults')(result);\n      },\n      onFocusIn: function onFocusIn() {\n        set(this, 'keyboardActivated', true);\n      },\n      onFocusOut: function onFocusOut() {\n        set(this, 'keyboardActivated', false);\n      }\n    }\n  });\n});","define(\"spellbinder2/components/input-select\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed;\n  exports.default = Component.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-input-select\"],\n    classNameBindings: [\"classes\", \"hasValue\"],\n\n    value: null,\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    didUpdateAttrs: function didUpdateAttrs() {\n      var _this = this;\n\n      this._super.apply(this, arguments);\n\n      Ember.run.next(this, function () {\n        get(_this, 'updatedValue')(get(_this, 'value'));\n      });\n    },\n\n\n    ///////////////////////////////////////////\n    /////////// Computed Properties ///////////\n    ///////////////////////////////////////////\n\n    hasValue: computed('value', function () {\n      return get(this, 'value') !== null && get(this, 'value') !== undefined;\n    }),\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      updatedValue: function updatedValue(value) {\n        set(this, 'value', value);\n        get(this, 'updatedValue')(value);\n      }\n    }\n  });\n});","define('spellbinder2/components/level-spell-slots', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      alias = Ember.computed.alias;\n  exports.default = Component.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-levelSpellSlots\"],\n\n    /////////////////////////////////////////\n    /////////// One-Line Computed ///////////\n    /////////////////////////////////////////\n\n    level: alias('slotLevel.level'),\n    maximum: alias('slotLevel.maximum'),\n    filled: alias('slotLevel.filled'),\n\n    ///////////////////////////////////////////\n    /////////// Computed Properties ///////////\n    ///////////////////////////////////////////\n\n    filledArray: computed('filled', function () {\n      var len = get(this, 'filled');\n      return this._generateArray(len);\n    }),\n\n    unfilledArray: computed('filled', 'maximum', function () {\n      var len = get(this, 'maximum') - get(this, 'filled');\n      return this._generateArray(len);\n    }),\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    _generateArray: function _generateArray(len) {\n      var arr = Ember.A([]);\n\n      for (var i = 0; i < len; i++) {\n        arr.addObject(i + 1);\n      }\n\n      return arr;\n    },\n\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      clickedButtonSpellSlot: function clickedButtonSpellSlot(isActive) {\n        var c = get(this, 'character');\n        var sl = get(this, 'slotLevel');\n\n        if (isActive) {\n          sl.decrementProperty('filled');\n        } else {\n          sl.incrementProperty('filled');\n        }\n\n        c.save();\n      }\n    }\n  });\n});","define(\"spellbinder2/components/list-item-spell\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      computed = Ember.computed,\n      get = Ember.get;\n  exports.default = Ember.Component.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    tagName: \"li\",\n    classNames: [\"item-spellsList\"],\n\n    isOnSpellList: computed('spell', 'characterSpells.[]', function () {\n      return get(this, 'characterSpells').isAny('id', get(this, 'spell.id'));\n    }),\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      clickedAddSpell: function clickedAddSpell() {\n        var character = get(this, 'character');\n        var spells = get(character, 'spells');\n        var spell = get(this, 'spell');\n\n        spells.addObject(spell);\n\n        character.save();\n      },\n      clickedRemoveSpell: function clickedRemoveSpell() {\n        var character = get(this, 'character');\n        var spells = get(character, 'spells');\n        var spell = get(this, 'spell');\n\n        var oldSpell = spells.findBy('id', get(spell, 'id'));\n\n        spells.removeObject(oldSpell);\n\n        character.save();\n      }\n    }\n  });\n});","define('spellbinder2/components/list-spells', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed;\n  exports.default = Component.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    tagName: \"\",\n    isLoading: true,\n    isLazyLoading: true,\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    didInsertElement: function didInsertElement() {\n      var _this = this;\n\n      this._super.apply(this, arguments);\n\n      Ember.run.next(this, function () {\n        set(_this, 'isLoading', false);\n      });\n    },\n\n\n    ///////////////////////////////////////////\n    /////////// Computed Properties ///////////\n    ///////////////////////////////////////////\n\n    spellsLength: computed('spells.[]', function () {\n      var s = get(this, 'spells');\n\n      if (s === undefined || s === null) {\n        return null;\n      }\n\n      return get(s, 'length');\n    }),\n\n    noSpells: computed('spells.[]', function () {\n      return get(this, 'spells') === null || get(this, 'spells') === undefined || get(this, 'spells.length') <= 0;\n    }),\n\n    isUserList: computed('list', function () {\n      return get(this, 'list') === \"user_spells\";\n    }),\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      didScroll: function didScroll(el) {\n        var _this2 = this;\n\n        // If at the bottom of the scroll view\n        if (el.offsetHeight + el.scrollTop >= el.scrollHeight / 2) {\n\n          if (get(this, 'spellsLength') < get(this, 'spellsMax')) {\n            set(this, 'isLazyLoading', true);\n          }\n\n          get(this, 'updateList')();\n\n          Ember.run.next(this, function () {\n            if (get(_this2, 'spellsLength') >= get(_this2, 'spellsMax')) {\n              set(_this2, 'isLazyLoading', false);\n            }\n          });\n        }\n      },\n      clickedEmptyStateButton: function clickedEmptyStateButton() {\n        get(this, 'clickedEmptyStateButton')({ value: \"all_spells\" });\n      }\n    }\n  });\n});","define('spellbinder2/components/markdown-to-html', ['exports', 'ember-cli-showdown/components/markdown-to-html'], function (exports, _markdownToHtml) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _markdownToHtml.default;\n    }\n  });\n});","define('spellbinder2/components/modal-base', ['exports', 'ember-keyboard'], function (exports, _emberKeyboard) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      inject = Ember.inject;\n  exports.default = Component.extend(_emberKeyboard.EKMixin, {\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-modal\"],\n    classNameBindings: [\"isActive\", \"noFooter\"],\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    didReceiveAttrs: function didReceiveAttrs() {\n      if (get(this, 'isActive')) {\n        set(this, 'keyboardActivated', true);\n      } else {\n        set(this, 'keyboardActivated', false);\n      }\n    },\n\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    onEsc: Ember.on((0, _emberKeyboard.keyDown)('Escape'), function (event) {\n      if (get(this, 'isActive')) {\n        get(this, 'clickedCloseModal')();\n      }\n    }),\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      clickedOverlay: function clickedOverlay() {\n        if (get(this, 'clickOverlayToClose')) {\n          if (typeof get(this, 'clickedCloseModal') === \"function\") {\n            get(this, 'clickedCloseModal')();\n          }\n        }\n      }\n    }\n  });\n});","define('spellbinder2/components/modal-choose-character', ['exports', 'spellbinder2/components/modal-base'], function (exports, _modalBase) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      inject = Ember.inject;\n  exports.default = _modalBase.default.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-modal-chooseCharacter\"],\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      clickedChooseCharacter: function clickedChooseCharacter(character) {\n        get(this, 'clickedChooseCharacter')(character);\n      }\n    }\n  });\n});","define('spellbinder2/components/modal-confirm-delete-character', ['exports', 'spellbinder2/components/modal-base'], function (exports, _modalBase) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      inject = Ember.inject;\n  exports.default = _modalBase.default.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-modal-settings\"],\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    init: function init() {\n      this._super.apply(this, arguments);\n      set(this, 'keyboardPriority', 3);\n    },\n\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      clickedConfirmDelete: function clickedConfirmDelete() {\n        get(this, 'clickedConfirmDelete')();\n      },\n      clickedCancelDelete: function clickedCancelDelete() {\n        get(this, 'clickedCancelDelete')();\n      }\n    }\n  });\n});","define('spellbinder2/components/modal-create-character', ['exports', 'spellbinder2/components/modal-base'], function (exports, _modalBase) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      inject = Ember.inject;\n  exports.default = _modalBase.default.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-modal-createCharacter\"]\n  });\n});","define('spellbinder2/components/modal-dialog-overlay', ['exports', 'ember-modal-dialog/components/modal-dialog-overlay'], function (exports, _modalDialogOverlay) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _modalDialogOverlay.default;\n    }\n  });\n});","define('spellbinder2/components/modal-dialog', ['exports', 'ember-modal-dialog/components/modal-dialog'], function (exports, _modalDialog) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _modalDialog.default;\n    }\n  });\n});","define('spellbinder2/components/modal-edit-character', ['exports', 'spellbinder2/components/modal-base'], function (exports, _modalBase) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      inject = Ember.inject;\n  exports.default = _modalBase.default.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-modal-editCharacter\"],\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    init: function init() {\n      this._super.apply(this, arguments);\n      set(this, 'keyboardPriority', 2);\n    },\n\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      clickedOpenRenameCharacter: function clickedOpenRenameCharacter() {\n        get(this, 'clickedOpenRenameCharacter')();\n      },\n      clickedOpenChangeImage: function clickedOpenChangeImage() {\n        get(this, 'clickedOpenChangeImage')();\n      },\n      clickedDeleteCharacter: function clickedDeleteCharacter() {\n        get(this, 'clickedDeleteCharacter')();\n      }\n    }\n  });\n});","define('spellbinder2/components/modal-edit-spell-slots', ['exports', 'spellbinder2/components/modal-base'], function (exports, _modalBase) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      _get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      inject = Ember.inject;\n  exports.default = _modalBase.default.extend({\n\n    //////////////////////////////////\n    /////////// Injections ///////////\n    //////////////////////////////////\n\n    store: inject.service(''),\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-modal-editSpellSlots\"],\n    selectedLevel: null,\n\n    slotsOptions: [{\n      name: \"Level 1\",\n      value: 1\n    }, {\n      name: \"Level 2\",\n      value: 2\n    }, {\n      name: \"Level 3\",\n      value: 3\n    }, {\n      name: \"Level 4\",\n      value: 4\n    }, {\n      name: \"Level 5\",\n      value: 5\n    }, {\n      name: \"Level 6\",\n      value: 6\n    }, {\n      name: \"Level 7\",\n      value: 7\n    }, {\n      name: \"Level 8\",\n      value: 8\n    }, {\n      name: \"Level 9\",\n      value: 9\n    }],\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    init: function init() {\n      this._super.apply(this, arguments);\n      set(this, 'keyboardPriority', 2);\n    },\n\n\n    ///////////////////////////////////////////\n    /////////// Computed Properties ///////////\n    ///////////////////////////////////////////\n\n    showInputNumber: computed('selectedLevel', function () {\n      return _get(this, 'selectedLevel') !== null && _get(this, 'selectedLevel') !== undefined;\n    }),\n\n    selectedLevelModel: computed('selectedLevel', 'slots', {\n      get: function get() {\n        var s = _get(this, 'slots');\n        var sl = _get(this, 'selectedLevel');\n\n        if (s === null || s === undefined) {\n          return null;\n        }\n\n        if (sl === null || sl === undefined) {\n          return null;\n        }\n\n        var selected = s.findBy('level', sl.value);\n\n        if (selected === null || selected === undefined) {\n          return null;\n        }\n\n        return selected;\n      },\n      set: function set(key, value) {\n        return value;\n      }\n    }),\n\n    numberOfSlots: computed('selectedLevelModel', {\n      get: function get() {\n        var slm = _get(this, 'selectedLevelModel');\n\n        if (slm === null || slm === undefined) {\n          return 0;\n        }\n\n        return _get(slm, 'maximum');\n      },\n      set: function set(key, value) {\n        return value;\n      }\n    }),\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      clickedConfirmEdit: function clickedConfirmEdit() {\n        var _this = this;\n\n        set(this, 'isLoading', true);\n\n        var sl = _get(this, 'selectedLevel');\n        var slm = _get(this, 'selectedLevelModel');\n        var nos = _get(this, 'numberOfSlots');\n        var c = _get(this, 'character');\n\n        if (slm === null || slm === undefined) {\n          var ns = _get(this, 'store').createRecord('slot', {\n            level: sl.value,\n            maximum: nos,\n            filled: 0\n          });\n\n          _get(c, 'slots').addObject(ns);\n\n          c.save().then(function () {\n            set(_this, 'isLoading', false);\n            _get(_this, 'clickedConfirmEdit')();\n          }).catch(function (error) {\n            console.error(error);\n          });\n        } else {\n          set(slm, 'maximum', nos);\n          if (_get(slm, 'filled') > nos) {\n            set(slm, 'filled', nos);\n          }\n          slm.save().then(function () {\n            set(_this, 'isLoading', false);\n            _get(_this, 'clickedConfirmEdit')();\n          });\n        }\n      },\n      clickedCancelEdit: function clickedCancelEdit() {\n        _get(this, 'clickedCancelEdit')();\n      },\n      updatedSelectValue: function updatedSelectValue(value) {\n        set(this, 'selectedLevel', value);\n      },\n      updatedNumberOfSlots: function updatedNumberOfSlots(number) {\n        set(this, 'numberOfSlots', number);\n      }\n    }\n  });\n});","define('spellbinder2/components/modal-rename-character', ['exports', 'spellbinder2/components/modal-base'], function (exports, _modalBase) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      inject = Ember.inject;\n  exports.default = _modalBase.default.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-modal-renameCharacter\"],\n    characterName: \"\",\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    init: function init() {\n      this._super.apply(this, arguments);\n      set(this, 'keyboardPriority', 3);\n    },\n\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      clickedCancelRenameCharacter: function clickedCancelRenameCharacter() {\n        get(this, 'clickedCancelRenameCharacter')();\n      }\n    }\n  });\n});","define('spellbinder2/components/modal-settings', ['exports', 'spellbinder2/components/modal-base'], function (exports, _modalBase) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      inject = Ember.inject;\n  exports.default = _modalBase.default.extend({\n\n    //////////////////////////////////\n    /////////// Injections ///////////\n    //////////////////////////////////\n\n    session: inject.service(''),\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-modal-settings\"],\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    didReceiveAttrs: function didReceiveAttrs() {\n      if (get(this, 'isActive')) {\n        set(this, 'keyboardActivated', true);\n      } else {\n        set(this, 'keyboardActivated', false);\n      }\n    },\n\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      signOut: function signOut() {\n        get(this, 'signOut')();\n      }\n    }\n  });\n});","define('spellbinder2/components/one-way-checkbox', ['exports', 'ember-one-way-controls/components/one-way-checkbox'], function (exports, _oneWayCheckbox) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayCheckbox.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-color', ['exports', 'ember-one-way-controls/components/one-way-color'], function (exports, _oneWayColor) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayColor.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-date', ['exports', 'ember-one-way-controls/components/one-way-date'], function (exports, _oneWayDate) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayDate.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-datetime-local', ['exports', 'ember-one-way-controls/components/one-way-datetime-local'], function (exports, _oneWayDatetimeLocal) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayDatetimeLocal.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-email', ['exports', 'ember-one-way-controls/components/one-way-email'], function (exports, _oneWayEmail) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayEmail.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-file', ['exports', 'ember-one-way-controls/components/one-way-file'], function (exports, _oneWayFile) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayFile.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-hidden', ['exports', 'ember-one-way-controls/components/one-way-hidden'], function (exports, _oneWayHidden) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayHidden.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-input', ['exports', 'ember-one-way-controls/components/one-way-input'], function (exports, _oneWayInput) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayInput.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-month', ['exports', 'ember-one-way-controls/components/one-way-month'], function (exports, _oneWayMonth) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayMonth.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-number', ['exports', 'ember-one-way-controls/components/one-way-number'], function (exports, _oneWayNumber) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayNumber.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-password', ['exports', 'ember-one-way-controls/components/one-way-password'], function (exports, _oneWayPassword) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayPassword.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-radio', ['exports', 'ember-one-way-controls/components/one-way-radio'], function (exports, _oneWayRadio) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayRadio.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-range', ['exports', 'ember-one-way-controls/components/one-way-range'], function (exports, _oneWayRange) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayRange.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-search', ['exports', 'ember-one-way-controls/components/one-way-search'], function (exports, _oneWaySearch) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWaySearch.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-select', ['exports', 'ember-one-way-controls/components/one-way-select'], function (exports, _oneWaySelect) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWaySelect.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-select/option', ['exports', 'ember-one-way-controls/components/one-way-select/option'], function (exports, _option) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _option.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-tel', ['exports', 'ember-one-way-controls/components/one-way-tel'], function (exports, _oneWayTel) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayTel.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-text', ['exports', 'ember-one-way-controls/components/one-way-text'], function (exports, _oneWayText) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayText.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-textarea', ['exports', 'ember-one-way-controls/components/one-way-textarea'], function (exports, _oneWayTextarea) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayTextarea.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-time', ['exports', 'ember-one-way-controls/components/one-way-time'], function (exports, _oneWayTime) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayTime.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-url', ['exports', 'ember-one-way-controls/components/one-way-url'], function (exports, _oneWayUrl) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayUrl.default;\n    }\n  });\n});","define('spellbinder2/components/one-way-week', ['exports', 'ember-one-way-controls/components/one-way-week'], function (exports, _oneWayWeek) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _oneWayWeek.default;\n    }\n  });\n});","define('spellbinder2/components/panel-characters', ['exports', 'ember-keyboard'], function (exports, _emberKeyboard) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      inject = Ember.inject;\n  exports.default = Component.extend(_emberKeyboard.EKMixin, {\n\n    //////////////////////////////////\n    /////////// Injections ///////////\n    //////////////////////////////////\n\n    store: inject.service(''),\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-panel-chooseCharacter\"],\n    classNameBindings: [\"isActive\"],\n    isEditMode: false,\n    showModalConfirmDeleteCharacter: false,\n    showModalEditCharacter: false,\n    showModalRenameCharacter: false,\n    modalConfirmDeleteCharacterIsLoading: false,\n    focusedCharacter: null,\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    init: function init() {\n      this._super.apply(this, arguments);\n      this.get('EventBus').subscribe('clickedCloseEditCharacter', this, 'onClickedCloseEditCharacter');\n    },\n    didReceiveAttrs: function didReceiveAttrs() {\n      if (get(this, 'isActive')) {\n        set(this, 'keyboardActivated', true);\n      } else {\n        set(this, 'keyboardActivated', false);\n      }\n    },\n    willDestroy: function willDestroy() {\n      this._super.apply(this, arguments);\n      this.get('EventBus').unsubscribe('clickedCloseEditCharacter');\n    },\n\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      clickedOverlay: function clickedOverlay() {\n        if (get(this, 'clickOverlayToClose')) {\n          get(this, 'clickedCloseModal')();\n        }\n      },\n      clickedAddNewCharacter: function clickedAddNewCharacter() {\n        get(this, 'clickedAddNewCharacter')();\n      },\n      clickedEditCharacter: function clickedEditCharacter(character) {\n        set(this, 'focusedCharacter', character);\n        get(this, 'EventBus').publish('updateNavButtonState', 'closeEditCharacter');\n        set(this, 'showModalEditCharacter', true);\n      },\n      clickedOpenRenameCharacter: function clickedOpenRenameCharacter() {\n        set(this, 'showModalRenameCharacter', true);\n        get(this, 'EventBus').publish('updateNavButtonState', 'hiddenWhileEditCharacters');\n      },\n      renameCharacterFormSubmitted: function renameCharacterFormSubmitted() {\n        set(this, 'showModalRenameCharacter', false);\n        get(this, 'EventBus').publish('updateNavButtonState', 'closeEditCharacter');\n      },\n      clickedCancelRenameCharacter: function clickedCancelRenameCharacter() {\n        set(this, 'showModalRenameCharacter', false);\n        get(this, 'EventBus').publish('updateNavButtonState', 'closeEditCharacter');\n      },\n      clickedOpenChangeImage: function clickedOpenChangeImage() {},\n      clickedDeleteCharacter: function clickedDeleteCharacter() {\n        set(this, 'showModalConfirmDeleteCharacter', true);\n        get(this, 'EventBus').publish('updateNavButtonState', 'hiddenWhileEditCharacters');\n      },\n      clickedConfirmDelete: function clickedConfirmDelete() {\n        var _this = this;\n\n        var user = get(this, 'user');\n        var character = get(this, 'focusedCharacter');\n        var cid = get(character, 'id');\n\n        set(this, 'modalConfirmDeleteCharacterIsLoading', true);\n\n        character.destroyRecord().then(function () {\n          return user.save();\n        }).then(function () {\n          return get(user, 'characters');\n        }).then(function (characters) {\n\n          get(_this, 'store').recordForId('character', cid).unloadRecord();\n\n          set(_this, 'modalConfirmDeleteCharacterIsLoading', false);\n          set(_this, 'showModalConfirmDeleteCharacter', false);\n          set(_this, 'focusedCharacter', null);\n          set(_this, 'showModalEditCharacter', false);\n          get(_this, 'deletedCharacter')(character, characters);\n        }).catch(function (error) {\n          console.error(error);\n        });\n      },\n      clickedCancelDelete: function clickedCancelDelete() {\n        set(this, 'showModalConfirmDeleteCharacter', false);\n        get(this, 'EventBus').publish('updateNavButtonState', 'closeEditCharacter');\n      },\n      clickedCloseModalEditCharacter: function clickedCloseModalEditCharacter() {\n        set(this, 'showModalEditCharacter', false);\n        get(this, 'EventBus').publish('updateNavButtonState', 'openChooseCharacter');\n      }\n    },\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    onClickedCloseEditCharacter: function onClickedCloseEditCharacter() {\n      set(this, 'showModalEditCharacter', false);\n    },\n\n\n    onEsc: Ember.on((0, _emberKeyboard.keyDown)('Escape'), function (event) {\n      if (get(this, 'isActive')) {\n        get(this, 'clickedCloseModal')();\n      }\n    })\n  });\n});","define('spellbinder2/components/scroll-view', ['exports', 'spellbinder2/mixins/scrolling'], function (exports, _scrolling) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get;\n  exports.default = Component.extend(_scrolling.default, {\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-scrollView\"],\n    classNameBindings: [\"isDisabled\"],\n\n    isDisabled: false,\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    didInsertElement: function didInsertElement() {\n      this.bindScrolling();\n\n      // Ember.run.next(this, () => {\n      if (typeof get(this, 'didScroll') === \"function\") {\n        get(this, 'didScroll')(get(this, 'element'));\n      }\n      // });\n    },\n\n    willDestoryElement: function willDestoryElement() {\n      this.unbindScrolling();\n    },\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    scrolled: function scrolled() {\n      // Ember.run.next(this, () => {\n      if (typeof get(this, 'didScroll') === \"function\") {\n        get(this, 'didScroll')(get(this, 'element'));\n      }\n      // });\n    }\n  });\n});","define(\"spellbinder2/components/segment-segmented-filter\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      computed = Ember.computed;\n  exports.default = Component.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    tagName: \"li\",\n    classNames: [\"container-segment-segmentedFilter\"],\n    classNameBindings: [\"isActive\"],\n\n    ///////////////////////////////////////////\n    /////////// Computed Properties ///////////\n    ///////////////////////////////////////////\n\n    isActive: computed('activeSegment', function () {\n      return get(this, 'segment.value') === get(this, 'activeSegment');\n    }),\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    click: function click() {\n      get(this, 'clickedSegment')(get(this, 'segment'));\n    }\n  });\n});","define(\"spellbinder2/components/segmented-filter\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed;\n  exports.default = Component.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    tagName: \"ol\",\n    classNames: [\"container-segmentedFilter\"],\n    classNameBindings: [\"countClass\"],\n\n    ///////////////////////////////////////////\n    /////////// Computed Properties ///////////\n    ///////////////////////////////////////////\n\n    countClass: computed('segments.length', function () {\n      return \"count-\" + get(this, 'segments.length');\n    }),\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      clickedSegment: function clickedSegment(segment) {\n        set(this, 'activeSegment', segment);\n        get(this, 'clickedSegment')(segment);\n      }\n    }\n  });\n});","define('spellbinder2/components/spell-description', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set;\n  exports.default = Component.extend({\n\n    classNames: [\"container-description-spell\"],\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    didRender: function didRender() {\n      this._super.apply(this, arguments);\n\n      var tables = Ember.$('.container-description-spell table');\n\n      if (tables !== null && tables !== undefined && get(tables, 'length') !== 0) {\n        tables.each(function () {\n\n          if (this.offsetWidth > 525) {\n            $(this).tableit();\n            $(this).addClass('tableit-force');\n          }\n        });\n      }\n    }\n  });\n});","define('spellbinder2/components/spell-slots-manager', ['exports', 'ember-keyboard'], function (exports, _emberKeyboard) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Component = Ember.Component,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      alias = Ember.computed.alias;\n  exports.default = Component.extend(_emberKeyboard.EKMixin, {\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    classNames: [\"container-spellSlotsManager\"],\n    classNameBindings: [\"isActive\"],\n    isActive: false,\n    showModalEditSpellSlots: false,\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    init: function init() {\n      this._super.apply(this, arguments);\n      this.get('EventBus').subscribe('clickedClosedSpellSlotManager', this, 'onClickedClosedSpellSlotManager');\n      set(this, 'keyboardPriority', 1);\n    },\n    didReceiveAttrs: function didReceiveAttrs() {\n      if (get(this, 'isActive')) {\n        set(this, 'keyboardActivated', true);\n      } else {\n        set(this, 'keyboardActivated', false);\n      }\n    },\n    willDestroyElement: function willDestroyElement() {\n      this._super.apply(this, arguments);\n      this.get('EventBus').unsubscribe('clickedClosedSpellSlotManager');\n    },\n\n\n    /////////////////////////////////////////\n    /////////// One-Line Computed ///////////\n    /////////////////////////////////////////\n\n    slots: alias('character.slots'),\n\n    ///////////////////////////////////////////\n    /////////// Computed Properties ///////////\n    ///////////////////////////////////////////\n\n    slotsOrganized: computed('slots', function () {\n      return get(this, 'slots').sortBy('level');\n    }),\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    onClickedClosedSpellSlotManager: function onClickedClosedSpellSlotManager() {\n      set(this, 'isActive', false);\n    },\n\n\n    onEsc: Ember.on((0, _emberKeyboard.keyDown)('Escape'), function (event) {\n      if (get(this, 'isActive')) {\n        get(this, 'clickedCloseModal')();\n      }\n    }),\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      clickedOverlay: function clickedOverlay() {\n        get(this, 'clickedCloseModal')();\n      },\n      clickedEditSpellSlot: function clickedEditSpellSlot() {\n        set(this, 'showModalEditSpellSlots', true);\n        get(this, 'EventBus').publish('updateNavButtonState', 'editingSpellSlots');\n      },\n      clickedConfirmEdit: function clickedConfirmEdit() {\n        set(this, 'showModalEditSpellSlots', false);\n        get(this, 'EventBus').publish('updateNavButtonState', 'closeSpellSlotManager');\n      },\n      clickedCancelEdit: function clickedCancelEdit() {\n        set(this, 'showModalEditSpellSlots', false);\n        get(this, 'EventBus').publish('updateNavButtonState', 'closeSpellSlotManager');\n      },\n      clickedRefreshSlots: function clickedRefreshSlots() {\n        get(this, 'slots').forEach(function (level) {\n          set(level, 'filled', 0);\n        });\n\n        get(this, 'character').save();\n      }\n    }\n  });\n});","define('spellbinder2/components/tether-dialog', ['exports', 'ember-modal-dialog/components/deprecated-tether-dialog'], function (exports, _deprecatedTetherDialog) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _deprecatedTetherDialog.default;\n    }\n  });\n});","define('spellbinder2/components/torii-iframe-placeholder', ['exports', 'torii/components/torii-iframe-placeholder'], function (exports, _toriiIframePlaceholder) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _toriiIframePlaceholder.default;\n});","define('spellbinder2/components/welcome-page', ['exports', 'ember-welcome-page/components/welcome-page'], function (exports, _welcomePage) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _welcomePage.default;\n    }\n  });\n});","define('spellbinder2/controllers/characters', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Controller = Ember.Controller,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      alias = Ember.computed.alias,\n      inject = Ember.inject;\n  exports.default = Controller.extend({});\n});","define('spellbinder2/controllers/characters/character', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Controller = Ember.Controller,\n      _get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      alias = Ember.computed.alias,\n      inject = Ember.inject;\n  exports.default = Controller.extend({\n\n    //////////////////////////////////\n    /////////// Injections ///////////\n    //////////////////////////////////\n\n    router: inject.service(''),\n    charactersController: inject.controller('characters'),\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    showModalSettings: false,\n    showPanelChooseCharacter: false,\n    showModalCreateCharacter: false,\n    showSpellSlotManager: false,\n\n    /////////////////////////////////////////\n    /////////// One-Line Computed ///////////\n    /////////////////////////////////////////\n\n    character: alias('model.character'),\n    characters: alias('model.characters'),\n    user: alias('model.user'),\n    charactersModel: alias('charactersController.model'),\n\n    ///////////////////////////////////////////\n    /////////// Computed Properties ///////////\n    ///////////////////////////////////////////\n\n    navButtonState: computed('router.currentRouteName', {\n      get: function get() {\n\n        if (_get(this, 'router.currentRouteName') === 'characters.character.spells.spell' && _get(this, 'media.isMobile')) {\n          return 'backToSpells';\n        }\n\n        var cr = _get(this, 'router.currentRouteName');\n        var parts = cr.split(\".\");\n\n        if (parts[1] === 'character') {\n          return 'openChooseCharacter';\n        }\n\n        return 'hidden';\n      },\n      set: function set(key, value) {\n        return value;\n      }\n    }),\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    _createNewCharacter: function _createNewCharacter(characterName) {\n      return _get(this, 'store').createRecord('character', {\n        name: characterName\n      });\n    },\n\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      clickedSlots: function clickedSlots() {\n        set(this, 'navButtonState', 'closeSpellSlotManager');\n        set(this, 'showSpellSlotManager', true);\n      },\n      clickedUser: function clickedUser() {\n        set(this, 'navButtonState', 'closeSettings');\n        set(this, 'showModalSettings', true);\n      },\n      clikedCharacter: function clikedCharacter() {\n        set(this, 'showPanelChooseCharacter', false);\n        set(this, 'navButtonState', 'openChooseCharacter');\n      },\n      clickedClosePanelCharacters: function clickedClosePanelCharacters() {\n        set(this, 'showPanelChooseCharacter', false);\n        set(this, 'navButtonState', 'openChooseCharacter');\n      },\n      onUpdateNavButtonState: function onUpdateNavButtonState(state) {\n        set(this, 'navButtonState', state);\n      },\n      clickedButtonNavigation: function clickedButtonNavigation() {\n        var _this = this;\n\n        switch (_get(this, 'navButtonState')) {\n          case 'backToSpells':\n            // set(this, 'spellIsSelected', false);\n            _get(this, 'EventBus').publish('clickedReturnToSpells');\n            set(this, 'navButtonState', 'openChooseCharacter');\n            Ember.run.later(this, function () {\n              _this.transitionToRoute('characters.character.spells');\n            }, 400);\n            break;\n          case 'openChooseCharacter':\n            set(this, 'showPanelChooseCharacter', true);\n            // set(this, 'navButtonState', 'hiddenWhileChooseCharacters');\n            break;\n          case 'closeSettings':\n            set(this, 'showModalSettings', false);\n            set(this, 'navButtonState', 'openChooseCharacter');\n            break;\n          case 'closeCreateCharacter':\n            set(this, 'showModalCreateCharacter', false);\n            set(this, 'navButtonState', 'closePanelChooseCharacters');\n            break;\n          case 'closeSpellSlotManager':\n            _get(this, 'EventBus').publish('clickedClosedSpellSlotManager');\n\n            if (_get(this, 'media.isMobile') && _get(this, 'router.currentRouteName') === 'characters.character.spells.spell') {\n              set(this, 'navButtonState', 'backToSpells');\n            } else {\n              set(this, 'navButtonState', 'openChooseCharacter');\n            }\n            break;\n          case 'closeEditCharacter':\n            _get(this, 'EventBus').publish('clickedCloseEditCharacter');\n            set(this, 'navButtonState', 'openChooseCharacter');\n            break;\n          default:\n            return true;\n        }\n      },\n      signOut: function signOut() {\n        var _this2 = this;\n\n        _get(this, 'session').close().then(function () {\n          set(_this2, 'showModalSettings', false);\n          _this2.transitionToRoute('login');\n        });\n      },\n      clickedAddNewCharacter: function clickedAddNewCharacter() {\n        set(this, 'showModalCreateCharacter', true);\n        set(this, 'navButtonState', 'closeCreateCharacter');\n      },\n      newCharacterFormSubmitted: function newCharacterFormSubmitted(newCharacter) {\n        set(this, 'showModalCreateCharacter', false);\n        set(this, 'navButtonState', 'openChooseCharacter');\n        set(this, 'showPanelChooseCharacter', false);\n        this.transitionToRoute('characters.character.spells', _get(newCharacter, 'id'));\n      },\n      deletedCharacter: function deletedCharacter(character, characters) {\n        set(this, 'navButtonState', 'openChooseCharacter');\n        set(this, 'showPanelChooseCharacter', false);\n\n        console.log(characters);\n\n        set(this, 'characters', characters);\n        set(this, 'charactersController.model.characters', characters);\n\n        if (_get(character, 'id') === _get(this, 'character.id')) {\n          if (characters === undefined || characters === null || _get(characters, 'length') <= 0) {\n            this.transitionToRoute('characters.create-character');\n          } else {\n            this.transitionToRoute('characters');\n          }\n        }\n      },\n      clickedCloseSettings: function clickedCloseSettings() {\n        set(this, 'showModalSettings', false);\n        set(this, 'navButtonState', 'openChooseCharacter');\n      },\n      clickedCloseModalCreateCharacter: function clickedCloseModalCreateCharacter() {\n        set(this, 'showModalCreateCharacter', false);\n        set(this, 'navButtonState', 'closePanelChooseCharacters');\n      },\n      clickedCloseSpellSlotManager: function clickedCloseSpellSlotManager() {\n        _get(this, 'EventBus').publish('clickedClosedSpellSlotManager');\n\n        if (_get(this, 'media.isMobile') && _get(this, 'router.currentRouteName') === 'characters.character.spells.spell') {\n          set(this, 'navButtonState', 'backToSpells');\n        } else {\n          set(this, 'navButtonState', 'openChooseCharacter');\n        }\n      }\n    }\n  });\n});","define(\"spellbinder2/controllers/characters/character/spells\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Controller = Ember.Controller,\n      _get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      alias = Ember.computed.alias;\n  exports.default = Controller.extend({\n\n    //////////////////////////////////\n    /////////// Injections ///////////\n    //////////////////////////////////\n\n    router: Ember.inject.service(),\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    queryParams: [\"list\"],\n    list: \"all_spells\",\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    init: function init() {\n      this._super.apply(this, arguments);\n      this.get('EventBus').subscribe('clickedReturnToSpells', this, 'onClickedReturnToSpells');\n    },\n    willDestroy: function willDestroy() {\n      this._super.apply(this, arguments);\n      this.get('EventBus').unsubscribe('clickedReturnToSpells');\n    },\n\n\n    /////////////////////////////////////////\n    /////////// One-Line Computed ///////////\n    /////////////////////////////////////////\n\n    allSpells: alias('model.allSpells'),\n    character: alias('model.character'),\n    characterSpells: alias('model.characterSpells'),\n\n    ///////////////////////////////////////////\n    /////////// Computed Properties ///////////\n    ///////////////////////////////////////////\n\n    spells: computed('list', 'allSpells.[]', 'characterSpells.[]', function () {\n      if (_get(this, 'list') === \"user_spells\") {\n        return _get(this, 'characterSpells');\n      } else {\n        return _get(this, 'allSpells');\n      }\n    }),\n\n    spellIsSelected: computed('router.currentRouteName', {\n      get: function get() {\n        return _get(this, 'router.currentRouteName') === 'characters.character.spells.spell';\n      },\n      set: function set(key, value) {\n        return value;\n      }\n    }),\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    onClickedReturnToSpells: function onClickedReturnToSpells() {\n      var _this = this;\n\n      Ember.run.next(this, function () {\n        set(_this, 'spellIsSelected', false);\n      });\n    },\n\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      clickedSpell: function clickedSpell() {\n        set(this, 'spellIsSelected', true);\n\n        if (_get(this, 'media.isMobile')) {\n          _get(this, 'EventBus').publish('updateNavButtonState', 'backToSpells');\n        }\n      },\n      clickedSegment: function clickedSegment(segment) {\n        set(this, 'list', segment.value);\n      }\n    }\n  });\n});","define('spellbinder2/controllers/characters/character/spells/spell', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Controller = Ember.Controller,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      alias = Ember.computed.alias;\n  exports.default = Controller.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    atBottomOfPage: false,\n\n    /////////////////////////////////////////\n    /////////// One-Line Computed ///////////\n    /////////////////////////////////////////\n\n    spell: alias('model.spell'),\n    characterSpells: alias('model.characterSpells'),\n    character: alias('model.character'),\n\n    ///////////////////////////////////////////\n    /////////// Computed Properties ///////////\n    ///////////////////////////////////////////\n\n    isOnSpellList: computed('spell', 'characterSpells.[]', function () {\n      return get(this, 'characterSpells').isAny('id', get(this, 'spell.id'));\n    }),\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      didScroll: function didScroll(el) {\n        // If at the bottom of the scroll view\n        if (el.offsetHeight + el.scrollTop >= el.scrollHeight) {\n          set(this, 'atBottomOfPage', true);\n        } else {\n          set(this, 'atBottomOfPage', false);\n        }\n      },\n      clickedAddSpell: function clickedAddSpell() {\n        var character = get(this, 'character');\n        var spells = get(character, 'spells');\n        var spell = get(this, 'spell');\n\n        spells.addObject(spell);\n\n        character.save();\n      },\n      clickedRemoveSpell: function clickedRemoveSpell() {\n        var character = get(this, 'character');\n        var spells = get(character, 'spells');\n        var spell = get(this, 'spell');\n\n        var oldSpell = spells.findBy('id', get(spell, 'id'));\n\n        spells.removeObject(oldSpell);\n\n        character.save();\n      }\n    }\n  });\n});","define('spellbinder2/controllers/characters/create-character', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Controller = Ember.Controller,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      alias = Ember.computed.alias,\n      inject = Ember.inject;\n  exports.default = Controller.extend({\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    createCharacterModalIsLoading: false,\n\n    /////////////////////////////////////////\n    /////////// One-Line Computed ///////////\n    /////////////////////////////////////////\n\n    user: alias('model.user'),\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      formSubmitted: function formSubmitted(newCharacter) {\n        console.log(\"formSubmitted create-character\");\n        this.transitionToRoute('characters.character.spells', get(newCharacter, 'id'));\n      }\n    }\n  });\n});","define('spellbinder2/controllers/characters/index', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Controller = Ember.Controller,\n      get = Ember.get,\n      set = Ember.set,\n      computed = Ember.computed,\n      alias = Ember.computed.alias,\n      inject = Ember.inject;\n  exports.default = Controller.extend({\n\n    //////////////////////////////////\n    /////////// Injections ///////////\n    //////////////////////////////////\n\n    router: inject.service(''),\n\n    ////////////////////////////////////////\n    /////////// Plain Properties ///////////\n    ////////////////////////////////////////\n\n    createCharacterModalIsLoading: false,\n\n    /////////////////////////////////////////\n    /////////// One-Line Computed ///////////\n    /////////////////////////////////////////\n\n    user: alias('model.user'),\n    modelCharacters: alias('model.characters'),\n\n    ///////////////////////////////////////////\n    /////////// Computed Properties ///////////\n    ///////////////////////////////////////////\n\n    characters: computed('modelCharacters.@each.{isDeleted,isLoaded}', function () {\n      var c = get(this, 'modelCharacters');\n\n      if (c === null || c === undefined) {\n        return null;\n      }\n\n      return c.sortBy('name');\n    }),\n\n    // characterIsSelected: computed('router.currentRouteName', {\n    //   get() {\n    //     const cr = get(this, 'router.currentRouteName');\n    //     const parts = cr.split(\".\");\n    //     return parts[1] === 'character';\n    //   },\n    //\n    //   set(key, value) {\n    //     return value;\n    //   }\n    // }),\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      clickedChooseCharacter: function clickedChooseCharacter(character) {\n        this.transitionToRoute('characters.character.spells', get(character, 'id'));\n        set(this, 'showModalChooseCharacter', false);\n        set(this, 'navButtonState', 'openSettings');\n      }\n    }\n  });\n});","define('spellbinder2/controllers/login', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Controller = Ember.Controller,\n      get = Ember.get,\n      set = Ember.set;\n  exports.default = Ember.Controller.extend({\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      formSubmitted: function formSubmitted() {\n        this.transitionToRoute('characters');\n      }\n    }\n  });\n});","define('spellbinder2/controllers/register', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Controller = Ember.Controller,\n      get = Ember.get,\n      set = Ember.set;\n  exports.default = Ember.Controller.extend({\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      formSubmitted: function formSubmitted() {\n        this.transitionToRoute('characters');\n      }\n    }\n  });\n});","define('spellbinder2/helpers/and', ['exports', 'ember-truth-helpers/helpers/and'], function (exports, _and) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _and.default;\n    }\n  });\n  Object.defineProperty(exports, 'and', {\n    enumerable: true,\n    get: function () {\n      return _and.and;\n    }\n  });\n});","define('spellbinder2/helpers/app-version', ['exports', 'spellbinder2/config/environment', 'ember-cli-app-version/utils/regexp'], function (exports, _environment, _regexp) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.appVersion = appVersion;\n  var version = _environment.default.APP.version;\n  function appVersion(_) {\n    var hash = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n    if (hash.hideSha) {\n      return version.match(_regexp.versionRegExp)[0];\n    }\n\n    if (hash.hideVersion) {\n      return version.match(_regexp.shaRegExp)[0];\n    }\n\n    return version;\n  }\n\n  exports.default = Ember.Helper.helper(appVersion);\n});","define('spellbinder2/helpers/changeset', ['exports', 'ember-changeset-validations/helpers/changeset'], function (exports, _changeset) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _changeset.default;\n    }\n  });\n  Object.defineProperty(exports, 'changeset', {\n    enumerable: true,\n    get: function () {\n      return _changeset.changeset;\n    }\n  });\n});","define('spellbinder2/helpers/eq', ['exports', 'ember-truth-helpers/helpers/equal'], function (exports, _equal) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _equal.default;\n    }\n  });\n  Object.defineProperty(exports, 'equal', {\n    enumerable: true,\n    get: function () {\n      return _equal.equal;\n    }\n  });\n});","define('spellbinder2/helpers/gt', ['exports', 'ember-truth-helpers/helpers/gt'], function (exports, _gt) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _gt.default;\n    }\n  });\n  Object.defineProperty(exports, 'gt', {\n    enumerable: true,\n    get: function () {\n      return _gt.gt;\n    }\n  });\n});","define('spellbinder2/helpers/gte', ['exports', 'ember-truth-helpers/helpers/gte'], function (exports, _gte) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _gte.default;\n    }\n  });\n  Object.defineProperty(exports, 'gte', {\n    enumerable: true,\n    get: function () {\n      return _gte.gte;\n    }\n  });\n});","define('spellbinder2/helpers/ignore-children', ['exports', 'ember-ignore-children-helper/helpers/ignore-children'], function (exports, _ignoreChildren) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _ignoreChildren.default;\n    }\n  });\n  Object.defineProperty(exports, 'ignoreChildren', {\n    enumerable: true,\n    get: function () {\n      return _ignoreChildren.ignoreChildren;\n    }\n  });\n});","define('spellbinder2/helpers/is-after', ['exports', 'ember-moment/helpers/is-after'], function (exports, _isAfter) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _isAfter.default;\n    }\n  });\n});","define('spellbinder2/helpers/is-array', ['exports', 'ember-truth-helpers/helpers/is-array'], function (exports, _isArray) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _isArray.default;\n    }\n  });\n  Object.defineProperty(exports, 'isArray', {\n    enumerable: true,\n    get: function () {\n      return _isArray.isArray;\n    }\n  });\n});","define('spellbinder2/helpers/is-before', ['exports', 'ember-moment/helpers/is-before'], function (exports, _isBefore) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _isBefore.default;\n    }\n  });\n});","define('spellbinder2/helpers/is-between', ['exports', 'ember-moment/helpers/is-between'], function (exports, _isBetween) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _isBetween.default;\n    }\n  });\n});","define('spellbinder2/helpers/is-equal', ['exports', 'ember-truth-helpers/helpers/is-equal'], function (exports, _isEqual) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _isEqual.default;\n    }\n  });\n  Object.defineProperty(exports, 'isEqual', {\n    enumerable: true,\n    get: function () {\n      return _isEqual.isEqual;\n    }\n  });\n});","define('spellbinder2/helpers/is-same-or-after', ['exports', 'ember-moment/helpers/is-same-or-after'], function (exports, _isSameOrAfter) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _isSameOrAfter.default;\n    }\n  });\n});","define('spellbinder2/helpers/is-same-or-before', ['exports', 'ember-moment/helpers/is-same-or-before'], function (exports, _isSameOrBefore) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _isSameOrBefore.default;\n    }\n  });\n});","define('spellbinder2/helpers/is-same', ['exports', 'ember-moment/helpers/is-same'], function (exports, _isSame) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _isSame.default;\n    }\n  });\n});","define('spellbinder2/helpers/lt', ['exports', 'ember-truth-helpers/helpers/lt'], function (exports, _lt) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _lt.default;\n    }\n  });\n  Object.defineProperty(exports, 'lt', {\n    enumerable: true,\n    get: function () {\n      return _lt.lt;\n    }\n  });\n});","define('spellbinder2/helpers/lte', ['exports', 'ember-truth-helpers/helpers/lte'], function (exports, _lte) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _lte.default;\n    }\n  });\n  Object.defineProperty(exports, 'lte', {\n    enumerable: true,\n    get: function () {\n      return _lte.lte;\n    }\n  });\n});","define('spellbinder2/helpers/moment-add', ['exports', 'ember-moment/helpers/moment-add'], function (exports, _momentAdd) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _momentAdd.default;\n    }\n  });\n});","define('spellbinder2/helpers/moment-calendar', ['exports', 'ember-moment/helpers/moment-calendar'], function (exports, _momentCalendar) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _momentCalendar.default;\n    }\n  });\n});","define('spellbinder2/helpers/moment-diff', ['exports', 'ember-moment/helpers/moment-diff'], function (exports, _momentDiff) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _momentDiff.default;\n    }\n  });\n});","define('spellbinder2/helpers/moment-duration', ['exports', 'ember-moment/helpers/moment-duration'], function (exports, _momentDuration) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _momentDuration.default;\n    }\n  });\n});","define('spellbinder2/helpers/moment-format', ['exports', 'ember-moment/helpers/moment-format'], function (exports, _momentFormat) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _momentFormat.default;\n    }\n  });\n});","define('spellbinder2/helpers/moment-from-now', ['exports', 'ember-moment/helpers/moment-from-now'], function (exports, _momentFromNow) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _momentFromNow.default;\n    }\n  });\n});","define('spellbinder2/helpers/moment-from', ['exports', 'ember-moment/helpers/moment-from'], function (exports, _momentFrom) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _momentFrom.default;\n    }\n  });\n});","define('spellbinder2/helpers/moment-subtract', ['exports', 'ember-moment/helpers/moment-subtract'], function (exports, _momentSubtract) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _momentSubtract.default;\n    }\n  });\n});","define('spellbinder2/helpers/moment-to-date', ['exports', 'ember-moment/helpers/moment-to-date'], function (exports, _momentToDate) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _momentToDate.default;\n    }\n  });\n});","define('spellbinder2/helpers/moment-to-now', ['exports', 'ember-moment/helpers/moment-to-now'], function (exports, _momentToNow) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _momentToNow.default;\n    }\n  });\n});","define('spellbinder2/helpers/moment-to', ['exports', 'ember-moment/helpers/moment-to'], function (exports, _momentTo) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _momentTo.default;\n    }\n  });\n});","define('spellbinder2/helpers/moment-unix', ['exports', 'ember-moment/helpers/unix'], function (exports, _unix) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _unix.default;\n    }\n  });\n  Object.defineProperty(exports, 'unix', {\n    enumerable: true,\n    get: function () {\n      return _unix.unix;\n    }\n  });\n});","define('spellbinder2/helpers/moment', ['exports', 'ember-moment/helpers/moment'], function (exports, _moment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _moment.default;\n    }\n  });\n});","define('spellbinder2/helpers/not-eq', ['exports', 'ember-truth-helpers/helpers/not-equal'], function (exports, _notEqual) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _notEqual.default;\n    }\n  });\n  Object.defineProperty(exports, 'notEq', {\n    enumerable: true,\n    get: function () {\n      return _notEqual.notEq;\n    }\n  });\n});","define('spellbinder2/helpers/not', ['exports', 'ember-truth-helpers/helpers/not'], function (exports, _not) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _not.default;\n    }\n  });\n  Object.defineProperty(exports, 'not', {\n    enumerable: true,\n    get: function () {\n      return _not.not;\n    }\n  });\n});","define('spellbinder2/helpers/now', ['exports', 'ember-moment/helpers/now'], function (exports, _now) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _now.default;\n    }\n  });\n});","define('spellbinder2/helpers/one-way-select/contains', ['exports', 'ember-one-way-controls/helpers/one-way-select/contains'], function (exports, _contains) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _contains.default;\n    }\n  });\n  Object.defineProperty(exports, 'contains', {\n    enumerable: true,\n    get: function () {\n      return _contains.contains;\n    }\n  });\n});","define('spellbinder2/helpers/or', ['exports', 'ember-truth-helpers/helpers/or'], function (exports, _or) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _or.default;\n    }\n  });\n  Object.defineProperty(exports, 'or', {\n    enumerable: true,\n    get: function () {\n      return _or.or;\n    }\n  });\n});","define('spellbinder2/helpers/pluralize', ['exports', 'ember-inflector/lib/helpers/pluralize'], function (exports, _pluralize) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _pluralize.default;\n});","define('spellbinder2/helpers/singularize', ['exports', 'ember-inflector/lib/helpers/singularize'], function (exports, _singularize) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _singularize.default;\n});","define('spellbinder2/helpers/unix', ['exports', 'ember-moment/helpers/unix'], function (exports, _unix) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _unix.default;\n    }\n  });\n  Object.defineProperty(exports, 'unix', {\n    enumerable: true,\n    get: function () {\n      return _unix.unix;\n    }\n  });\n});","define('spellbinder2/helpers/xor', ['exports', 'ember-truth-helpers/helpers/xor'], function (exports, _xor) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _xor.default;\n    }\n  });\n  Object.defineProperty(exports, 'xor', {\n    enumerable: true,\n    get: function () {\n      return _xor.xor;\n    }\n  });\n});","define('spellbinder2/initializers/add-modals-container', ['exports', 'ember-modal-dialog/initializers/add-modals-container'], function (exports, _addModalsContainer) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: 'add-modals-container',\n    initialize: _addModalsContainer.default\n  };\n});","define('spellbinder2/initializers/allow-link-action', ['exports', 'ember-link-action/initializers/allow-link-action'], function (exports, _allowLinkAction) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _allowLinkAction.default;\n    }\n  });\n  Object.defineProperty(exports, 'initialize', {\n    enumerable: true,\n    get: function () {\n      return _allowLinkAction.initialize;\n    }\n  });\n});","define('spellbinder2/initializers/app-version', ['exports', 'ember-cli-app-version/initializer-factory', 'spellbinder2/config/environment'], function (exports, _initializerFactory, _environment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var _config$APP = _environment.default.APP,\n      name = _config$APP.name,\n      version = _config$APP.version;\n  exports.default = {\n    name: 'App Version',\n    initialize: (0, _initializerFactory.default)(name, version)\n  };\n});","define('spellbinder2/initializers/container-debug-adapter', ['exports', 'ember-resolver/resolvers/classic/container-debug-adapter'], function (exports, _containerDebugAdapter) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: 'container-debug-adapter',\n\n    initialize: function initialize() {\n      var app = arguments[1] || arguments[0];\n\n      app.register('container-debug-adapter:main', _containerDebugAdapter.default);\n      app.inject('container-debug-adapter:main', 'namespace', 'application:main');\n    }\n  };\n});","define('spellbinder2/initializers/data-adapter', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: 'data-adapter',\n    before: 'store',\n    initialize: function initialize() {}\n  };\n});","define('spellbinder2/initializers/ember-data', ['exports', 'ember-data/setup-container', 'ember-data'], function (exports, _setupContainer) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: 'ember-data',\n    initialize: _setupContainer.default\n  };\n});","define('spellbinder2/initializers/ember-hammertime', ['exports', 'ember-hammertime/components/component'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: 'ember-hammertime',\n    initialize: function initialize() {}\n  };\n});","define('spellbinder2/initializers/ember-keyboard-first-responder-inputs', ['exports', 'ember-keyboard/initializers/ember-keyboard-first-responder-inputs'], function (exports, _emberKeyboardFirstResponderInputs) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _emberKeyboardFirstResponderInputs.default;\n    }\n  });\n  Object.defineProperty(exports, 'initialize', {\n    enumerable: true,\n    get: function () {\n      return _emberKeyboardFirstResponderInputs.initialize;\n    }\n  });\n});","define('spellbinder2/initializers/emberfire', ['exports', 'emberfire/initializers/emberfire'], function (exports, _emberfire) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberfire.default;\n});","define('spellbinder2/initializers/event-bus', ['exports', 'spellbinder2/services/event-bus'], function (exports, _eventBus) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.initialize = initialize;\n  function initialize(application) {\n    var eventBus = _eventBus.default.create();\n\n    application.register('event-bus:current', eventBus, {\n      instantiate: false\n    });\n\n    application.inject('service', 'EventBus', 'event-bus:current');\n    application.inject('route', 'EventBus', 'event-bus:current');\n    application.inject('component', 'EventBus', 'event-bus:current');\n    application.inject('controller', 'EventBus', 'event-bus:current');\n  }\n\n  exports.default = {\n    name: 'event-bus',\n    initialize: initialize\n  };\n});","define('spellbinder2/initializers/export-application-global', ['exports', 'spellbinder2/config/environment'], function (exports, _environment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.initialize = initialize;\n  function initialize() {\n    var application = arguments[1] || arguments[0];\n    if (_environment.default.exportApplicationGlobal !== false) {\n      var theGlobal;\n      if (typeof window !== 'undefined') {\n        theGlobal = window;\n      } else if (typeof global !== 'undefined') {\n        theGlobal = global;\n      } else if (typeof self !== 'undefined') {\n        theGlobal = self;\n      } else {\n        // no reasonable global, just bail\n        return;\n      }\n\n      var value = _environment.default.exportApplicationGlobal;\n      var globalName;\n\n      if (typeof value === 'string') {\n        globalName = value;\n      } else {\n        globalName = Ember.String.classify(_environment.default.modulePrefix);\n      }\n\n      if (!theGlobal[globalName]) {\n        theGlobal[globalName] = application;\n\n        application.reopen({\n          willDestroy: function willDestroy() {\n            this._super.apply(this, arguments);\n            delete theGlobal[globalName];\n          }\n        });\n      }\n    }\n  }\n\n  exports.default = {\n    name: 'export-application-global',\n\n    initialize: initialize\n  };\n});","define('spellbinder2/initializers/initialize-torii-callback', ['exports', 'spellbinder2/config/environment', 'torii/redirect-handler'], function (exports, _environment, _redirectHandler) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: 'torii-callback',\n    before: 'torii',\n    initialize: function initialize(application) {\n      if (arguments[1]) {\n        // Ember < 2.1\n        application = arguments[1];\n      }\n      if (_environment.default.torii && _environment.default.torii.disableRedirectInitializer) {\n        return;\n      }\n      application.deferReadiness();\n      _redirectHandler.default.handle(window).catch(function () {\n        application.advanceReadiness();\n      });\n    }\n  };\n});","define('spellbinder2/initializers/initialize-torii-session', ['exports', 'torii/bootstrap/session', 'torii/configuration'], function (exports, _session, _configuration) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: 'torii-session',\n    after: 'torii',\n\n    initialize: function initialize(application) {\n      if (arguments[1]) {\n        // Ember < 2.1\n        application = arguments[1];\n      }\n      var configuration = (0, _configuration.getConfiguration)();\n      if (!configuration.sessionServiceName) {\n        return;\n      }\n\n      (0, _session.default)(application, configuration.sessionServiceName);\n\n      var sessionFactoryName = 'service:' + configuration.sessionServiceName;\n      application.inject('adapter', configuration.sessionServiceName, sessionFactoryName);\n    }\n  };\n});","define('spellbinder2/initializers/initialize-torii', ['exports', 'torii/bootstrap/torii', 'torii/configuration', 'spellbinder2/config/environment'], function (exports, _torii, _configuration, _environment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var initializer = {\n    name: 'torii',\n    initialize: function initialize(application) {\n      if (arguments[1]) {\n        // Ember < 2.1\n        application = arguments[1];\n      }\n      (0, _configuration.configure)(_environment.default.torii || {});\n      (0, _torii.default)(application);\n      application.inject('route', 'torii', 'service:torii');\n    }\n  };\n\n  exports.default = initializer;\n});","define('spellbinder2/initializers/injectStore', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: 'injectStore',\n    before: 'store',\n    initialize: function initialize() {}\n  };\n});","define('spellbinder2/initializers/responsive', ['exports', 'ember-responsive/initializers/responsive'], function (exports, _responsive) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: 'responsive',\n    initialize: _responsive.initialize\n  };\n});","define('spellbinder2/initializers/store', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: 'store',\n    after: 'ember-data',\n    initialize: function initialize() {}\n  };\n});","define('spellbinder2/initializers/transforms', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: 'transforms',\n    before: 'store',\n    initialize: function initialize() {}\n  };\n});","define(\"spellbinder2/instance-initializers/ember-data\", [\"exports\", \"ember-data/instance-initializers/initialize-store-service\"], function (exports, _initializeStoreService) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: \"ember-data\",\n    initialize: _initializeStoreService.default\n  };\n});","define('spellbinder2/instance-initializers/ember-do-forms/initializer', ['exports', 'ember-do-forms/instance-initializers/ember-do-forms/initializer'], function (exports, _initializer) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _initializer.default;\n    }\n  });\n  Object.defineProperty(exports, 'initialize', {\n    enumerable: true,\n    get: function () {\n      return _initializer.initialize;\n    }\n  });\n});","define('spellbinder2/instance-initializers/setup-routes', ['exports', 'torii/bootstrap/routing', 'torii/configuration', 'torii/compat/get-router-instance', 'torii/compat/get-router-lib', 'torii/router-dsl-ext'], function (exports, _routing, _configuration, _getRouterInstance, _getRouterLib) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: 'torii-setup-routes',\n    initialize: function initialize(applicationInstance, registry) {\n      var configuration = (0, _configuration.getConfiguration)();\n\n      if (!configuration.sessionServiceName) {\n        return;\n      }\n\n      var router = (0, _getRouterInstance.default)(applicationInstance);\n      var setupRoutes = function setupRoutes() {\n        var routerLib = (0, _getRouterLib.default)(router);\n        var authenticatedRoutes = routerLib.authenticatedRoutes;\n        var hasAuthenticatedRoutes = !Ember.isEmpty(authenticatedRoutes);\n        if (hasAuthenticatedRoutes) {\n          (0, _routing.default)(applicationInstance, authenticatedRoutes);\n        }\n        router.off('willTransition', setupRoutes);\n      };\n      router.on('willTransition', setupRoutes);\n    }\n  };\n});","define('spellbinder2/instance-initializers/walk-providers', ['exports', 'torii/lib/container-utils', 'torii/configuration'], function (exports, _containerUtils, _configuration) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: 'torii-walk-providers',\n    initialize: function initialize(applicationInstance) {\n      var configuration = (0, _configuration.getConfiguration)();\n      // Walk all configured providers and eagerly instantiate\n      // them. This gives providers with initialization side effects\n      // like facebook-connect a chance to load up assets.\n      for (var key in configuration.providers) {\n        if (configuration.providers.hasOwnProperty(key)) {\n          (0, _containerUtils.lookup)(applicationInstance, 'torii-provider:' + key);\n        }\n      }\n    }\n  };\n});","define('spellbinder2/mixins/link-action', ['exports', 'ember-link-action/mixins/link-action'], function (exports, _linkAction) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _linkAction.default;\n    }\n  });\n});","define('spellbinder2/mixins/scrolling', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var get = Ember.get;\n  exports.default = Ember.Mixin.create({\n    bindScrolling: function bindScrolling() {\n      var _this = this;\n\n      var onScroll = void 0;\n\n      onScroll = this.debounce(function () {\n        return _this.scrolled();\n      }, 0);\n\n      // onScroll = () => {\n      //   return this.scrolled();\n      // };\n\n      var el = get(this, 'element');\n\n      Ember.$(el).bind('touchmove', onScroll);\n      Ember.$(el).bind('scroll', onScroll);\n    },\n    unbindScrolling: function unbindScrolling() {\n\n      var el = get(this, 'element');\n\n      Ember.$(el).unbind('scroll');\n      Ember.$(el).unbind('touchmove');\n    },\n    debounce: function debounce(func, wait, immediate) {\n      var timeout;\n      return function () {\n        var context = this,\n            args = arguments;\n        var later = function later() {\n          timeout = null;\n          if (!immediate) func.apply(context, args);\n        };\n        var callNow = immediate && !timeout;\n        clearTimeout(timeout);\n        timeout = setTimeout(later, wait);\n        if (callNow) func.apply(context, args);\n      };\n    }\n  });\n});","define('spellbinder2/models/character', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var _Ember = Ember,\n      computed = _Ember.computed;\n  exports.default = _emberData.default.Model.extend({\n    avatarURL: _emberData.default.attr('string'),\n    name: _emberData.default.attr('string'),\n    spells: _emberData.default.hasMany('spell'),\n    user: _emberData.default.belongsTo('user'),\n    slots: _emberData.default.hasMany('slot', { async: false, inverse: null })\n\n    // avatarURL: computed('', function() {\n    //   return \"https://78.media.tumblr.com/e2c3e5045a55e75b49d79d7e1de5337b/tumblr_ojk408UNZj1viqluio1_1280.jpg\";\n    // }),\n  });\n});","define('spellbinder2/models/slot', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    level: _emberData.default.attr('number'),\n    maximum: _emberData.default.attr('number'),\n    filled: _emberData.default.attr('number')\n  });\n});","define('spellbinder2/models/spell', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var _Ember = Ember,\n      get = _Ember.get,\n      computed = _Ember.computed;\n  exports.default = _emberData.default.Model.extend({\n    casting_time: _emberData.default.attr('string'),\n    classes: _emberData.default.attr(),\n    components: _emberData.default.attr(),\n    description: _emberData.default.attr('string'),\n    duration: _emberData.default.attr('string'),\n    higher_levels: _emberData.default.attr('string'),\n    level: _emberData.default.attr('string'),\n    name: _emberData.default.attr('string'),\n    range: _emberData.default.attr('string'),\n    ritual: _emberData.default.attr('boolean'),\n    school: _emberData.default.attr('string'),\n    tags: _emberData.default.attr(),\n    type: _emberData.default.attr('string'),\n\n    ///////////////////////////////////////////\n    /////////// Computed Properties ///////////\n    ///////////////////////////////////////////\n\n    componentsParsed: computed('components.verbal', 'components.somatic', 'components.material', function () {\n      var v = get(this, 'components.verbal');\n      var s = get(this, 'components.somatic');\n      var m = get(this, 'components.material');\n\n      var c = \"\";\n\n      if (v) {\n        c = 'V';\n      }\n\n      if (s) {\n        if (v) {\n          c = c + ', S';\n        } else {\n          c = 'S';\n        }\n      }\n\n      if (m) {\n        if (v || s) {\n          c = c + ', M';\n        } else {\n          c = 'M';\n        }\n      }\n\n      return c;\n    }),\n\n    materialsParsed: computed('components.material', 'components.materials_needed', function () {\n\n      var m = \"\";\n\n      if (get(this, 'components.material')) {\n        var mn = get(this, 'components.materials_needed');\n\n        mn.forEach(function (material, index) {\n          if (index === 0) {\n            m = material.charAt(0).toUpperCase() + material.slice(1);\n          } else {\n            m = m + ', ' + material;\n          }\n        });\n      }\n\n      return m;\n    }),\n\n    // descriptionParsed: computed('description', function() {\n    //   const d = get(this, 'description');\n    //\n    //   if (d === null || d === undefined) {\n    //     return null;\n    //   }\n    //\n    //   const parts = d.split('\\n');\n    //\n    //   let whole = '';\n    //   parts.forEach((part) => {\n    //     if (part !== \"\") {\n    //       whole = `${whole}<p class=\"copy-body copy-description-spell text-blackMedium\">${part}</p>`;\n    //     }\n    //   });\n    //   return whole;\n    // }),\n\n    // descriptionParsed: computed('description', function() {\n    //   const d = get(this, 'description');\n    //\n    //   if (d === null || d === undefined) {\n    //     return null;\n    //   }\n    //\n    //   return d.replace(\"(../\", \"(characters/character/spells/\");\n    // }),\n\n    byline: computed('level', 'school', function () {\n      var level = get(this, 'level');\n      var school = get(this, 'school');\n\n      if (level === null || level === undefined) {\n        return null;\n      }\n\n      if (school === null || school === undefined) {\n        return null;\n      }\n\n      school = this.toTitleCase(school);\n\n      if (this.isNumeric(level)) {\n        level = this.ordinal_suffix_of(level);\n      } else {\n        level = this.toTitleCase(level);\n      }\n\n      return level + ' Level ' + school;\n    }),\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    toTitleCase: function toTitleCase(str) {\n      return str.replace(/\\w\\S*/g, function (txt) {\n        return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();\n      });\n    },\n    isNumeric: function isNumeric(n) {\n      return !isNaN(parseFloat(n)) && isFinite(n);\n    },\n    ordinal_suffix_of: function ordinal_suffix_of(i) {\n      var j = i % 10,\n          k = i % 100;\n      if (j == 1 && k != 11) {\n        return i + \"st\";\n      }\n      if (j == 2 && k != 12) {\n        return i + \"nd\";\n      }\n      if (j == 3 && k != 13) {\n        return i + \"rd\";\n      }\n      return i + \"th\";\n    }\n  });\n});","define('spellbinder2/models/user', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    characters: _emberData.default.hasMany('character')\n  });\n});","define('spellbinder2/resolver', ['exports', 'ember-resolver'], function (exports, _emberResolver) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberResolver.default;\n});","define('spellbinder2/router', ['exports', 'spellbinder2/config/environment'], function (exports, _environment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var Router = Ember.Router.extend({\n    location: _environment.default.locationType,\n    rootURL: _environment.default.rootURL\n  });\n\n  Router.map(function () {\n    this.route('login', { path: \"/\" });\n    this.authenticatedRoute('characters', function () {\n      this.route('create-character');\n      this.route('character', { path: \"/:character_id\" }, function () {\n        this.route('spells', function () {\n          this.route('spell', { path: \"/:spell_id\" });\n        });\n      });\n    });\n    this.route('register');\n  });\n\n  exports.default = Router;\n});","define('spellbinder2/routes/application', ['exports', 'spellbinder2/config/environment', 'ember-cordova-events/utils/subscribe'], function (exports, _environment, _subscribe) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var get = Ember.get,\n      service = Ember.inject.service;\n  exports.default = Ember.Route.extend({\n\n    cordovaEvents: service('ember-cordova/events'),\n    platform: service('ember-cordova/platform'),\n\n    deviceReady: (0, _subscribe.default)('cordovaEvents.deviceready', function () {\n      // Configure ads\n      var admobid = {};\n      if (/(android)/i.test(navigator.userAgent)) {\n        // for android & amazon-fireos\n        admobid = {\n          banner: 'ca-app-pub-2794000423191888/8278907639', // or DFP format \"/6253334/dfp_example_ad\"\n          interstitial: 'ca-app-pub-2794000423191888/9400417611'\n        };\n      } else if (/(ipod|iphone|ipad)/i.test(navigator.userAgent)) {\n        // for ios\n        admobid = {\n          banner: 'ca-app-pub-2794000423191888/4650514197', // or DFP format \"/6253334/dfp_example_ad\"\n          interstitial: 'ca-app-pub-2794000423191888/4036927211'\n        };\n      }\n      window.plugins.AdMob.setOptions({\n        publisherId: admobid.banner,\n        interstitialAdId: admobid.interstitial,\n        bannerAtTop: false, // set to true, to put banner at top\n        overlap: false, // set to true, to allow banner overlap webview\n        offsetTopBar: false, // set to true to avoid ios7 status bar overlap\n        isTesting: _environment.default.testingAds, // Set this correctly!\n        autoShow: true // auto show interstitial ad when loaded\n      });\n      // display the banner at startup\n      window.plugins.AdMob.createBannerView();\n\n      // create interstitial ad\n      window.plugins.AdMob.createInterstitialView();\n      window.plugins.AdMob.showInterstitialAd(true, function () {}, function (e) {\n        alert(JSON.stringify(e));\n      });\n\n      // Set up platform specific code\n      var platform = get(this, 'platform');\n      console.log('Loading ios specific code');\n\n      if (platform.get('isIOS')) {\n        console.log(\"setting css\");\n        Ember.$('body').addClass('platform-iOS');\n\n        // Set version number on the body\n        // Get version name manually because platform.get('version') isn't working\n        var userAgent = window.navigator.userAgent;\n        // check for iPhone OS\n        var versionString = userAgent.match(/iPhone OS [0-9]*/i);\n        // double check we found a match\n        if (versionString !== null && versionString.length > 0) {\n          var version = versionString[0].substr(10);\n          Ember.$('body').addClass('platform-iOS-' + version);\n        }\n        // check for iPad OS\n        versionString = userAgent.match(/iPad; CPU OS [0-9]*/i);\n        // double check we found a match\n        if (versionString !== null && versionString.length > 0) {\n          var _version = versionString[0].substr(13);\n          Ember.$('body').addClass('platform-iOS-' + _version);\n        }\n      }\n    }),\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      accessDenied: function accessDenied() {\n        this.transitionTo('login');\n      }\n    }\n  });\n});","define('spellbinder2/routes/characters', ['exports', 'spellbinder2/config/environment'], function (exports, _environment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Route = Ember.Route,\n      get = Ember.get;\n  exports.default = Route.extend({\n    model: function model() {\n      return Ember.RSVP.hash({\n        user: this.getUser(),\n        characters: this.getCharacters()\n      }).catch(function (error) {\n        console.error(error);\n      });\n    },\n    afterModel: function afterModel(model) {\n      var c = model.characters;\n      if (c === null || c === undefined || get(c, 'length') <= 0) {\n        return this.transitionTo('characters.create-character');\n      }\n    },\n\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    getCharacters: function getCharacters() {\n      return this.getUser().then(function (user) {\n        if (user === null || user === undefined) {\n          return null;\n        }\n\n        return get(user, 'characters');\n      });\n    },\n    getUser: function getUser() {\n      var _this = this;\n\n      var uid = get(this, 'session.currentUser.uid');\n\n      if (uid === null || uid === undefined) {\n        throw new Error('No UID defined');\n      }\n\n      return get(this, 'store').findRecord('user', uid).catch(function (error) {\n        if (_this._isNoRecordError(error, uid)) {\n          return null;\n        } else {\n          console.error(error);\n        }\n      });\n    },\n    _isNoRecordError: function _isNoRecordError(error, id) {\n      var path = _environment.default.firebase.databaseURL + '/users/' + id;\n      var expectedMsg = 'no record was found at ' + path;\n      return error.message === expectedMsg;\n    }\n  });\n});","define('spellbinder2/routes/characters/character', ['exports', 'spellbinder2/config/environment'], function (exports, _environment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Route = Ember.Route,\n      get = Ember.get,\n      inject = Ember.inject;\n  exports.default = Route.extend({\n\n    //////////////////////////////////\n    /////////// Injections ///////////\n    //////////////////////////////////\n\n    router: inject.service(''),\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    model: function model(params) {\n      var _this = this;\n\n      return Ember.RSVP.hash({\n        character: this.getCharacter(params.character_id),\n        user: this.getUser(),\n        characters: this.getCharacters()\n      }).catch(function (error) {\n        if (_this._isNoRecordError(error, params.character_id)) {\n          _this.transitionTo('characters');\n        } else {\n          console.error(error);\n        }\n      });\n    },\n    afterModel: function afterModel() {\n      if (get(this, 'route.currentRouteName') === 'character.character.index') {\n        this.transitionTo('characters.character.spells');\n      }\n    },\n\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    getCharacter: function getCharacter(character_id) {\n      return get(this, 'store').findRecord('character', character_id);\n    },\n    getCharacters: function getCharacters() {\n      return this.getUser().then(function (user) {\n        if (user === null || user === undefined) {\n          return null;\n        }\n\n        return get(user, 'characters').sortBy('name');\n      });\n    },\n    getUser: function getUser() {\n      var _this2 = this;\n\n      var uid = get(this, 'session.currentUser.uid');\n\n      if (uid === null || uid === undefined) {\n        throw new Error('No UID defined');\n      }\n\n      return get(this, 'store').findRecord('user', uid).catch(function (error) {\n        if (_this2._isNoRecordError(error, uid)) {\n          return null;\n        } else {\n          console.error(error);\n        }\n      });\n    },\n    _isNoRecordError: function _isNoRecordError(error, id) {\n      var path = _environment.default.firebase.databaseURL + '/characters/' + id;\n      var expectedMsg = 'no record was found at ' + path;\n      return error.message === expectedMsg;\n    }\n  });\n});","define('spellbinder2/routes/characters/character/spells', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var get = Ember.get,\n      set = Ember.set;\n  exports.default = Ember.Route.extend({\n\n    partialLoad: true,\n\n    model: function model() {\n      var characterModel = this.modelFor('characters.character');\n\n      var allSpellsPromise = null;\n      if (get(this, \"partialLoad\")) {\n        set(this, 'partialLoad', false);\n        allSpellsPromise = get(this, 'store').query('spell', { dummyValue: true });\n        var _this = this;\n        Ember.run.later(function () {\n          _this.refresh();\n        }, 250);\n      } else {\n        allSpellsPromise = get(this, 'store').findAll('spell');\n      }\n\n      return Ember.RSVP.hash({\n        allSpells: allSpellsPromise,\n        character: characterModel.character,\n        characterSpells: get(characterModel.character, 'spells')\n      }).catch(function (error) {\n        console.error(error);\n      });\n    }\n  });\n});","define('spellbinder2/routes/characters/character/spells/spell', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var get = Ember.get;\n  exports.default = Ember.Route.extend({\n    model: function model(params) {\n\n      var characterModel = this.modelFor('characters.character');\n      var spellsModel = this.modelFor('characters.character.spells');\n\n      return Ember.RSVP.hash({\n        spell: get(this, 'store').findRecord('spell', params.spell_id),\n        characterSpells: spellsModel.characterSpells,\n        character: characterModel.character\n      });\n    }\n  });\n});","define('spellbinder2/routes/characters/create-character', ['exports', 'spellbinder2/config/environment'], function (exports, _environment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Route = Ember.Route,\n      get = Ember.get;\n  exports.default = Route.extend({\n    model: function model() {\n      return Ember.RSVP.hash({\n        user: this.getUser()\n      }).catch(function (error) {\n        console.error(error);\n      });\n    },\n\n\n    /////////////////////////////////\n    /////////// Functions ///////////\n    /////////////////////////////////\n\n    getUser: function getUser() {\n      var _this = this;\n\n      var uid = get(this, 'session.currentUser.uid');\n\n      if (uid === null || uid === undefined) {\n        throw new Error('No UID defined');\n      }\n\n      return get(this, 'store').findRecord('user', uid).catch(function (error) {\n        if (_this._isNoRecordError(error, uid)) {\n          return null;\n        } else {\n          console.error(error);\n        }\n      });\n    },\n    _isNoRecordError: function _isNoRecordError(error, id) {\n      var path = _environment.default.firebase.databaseURL + '/users/' + id;\n      var expectedMsg = 'no record was found at ' + path;\n      return error.message === expectedMsg;\n    }\n  });\n});","define('spellbinder2/routes/login', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var Route = Ember.Route,\n      get = Ember.get,\n      set = Ember.set,\n      inject = Ember.inject;\n  exports.default = Route.extend({\n\n    //////////////////////////////////\n    /////////// Injections ///////////\n    //////////////////////////////////\n\n    session: inject.service(),\n\n    ///////////////////////////////////////\n    /////////// Lifecycle Hooks ///////////\n    ///////////////////////////////////////\n\n    beforeModel: function beforeModel() {\n      return get(this, 'session').fetch().catch(function (error) {\n        // console.error(error);\n      });\n    },\n    redirect: function redirect() {\n      if (get(this, 'session.isAuthenticated')) {\n        this.transitionTo('characters');\n      }\n    },\n\n\n    ///////////////////////////////\n    /////////// Actions ///////////\n    ///////////////////////////////\n\n    actions: {\n      signIn: function signIn(provider) {\n        var _this = this;\n\n        get(this, 'session').open('firebase', { provider: \"google\" }).then(function (data) {\n          _this.transitionTo('characters');\n        }).catch(function (error) {\n          console.error(error);\n        });\n      },\n      signOut: function signOut() {\n        this.get('session').close();\n      }\n    }\n  });\n});","define('spellbinder2/routes/register', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend({});\n});","define('spellbinder2/serializers/character', ['exports', 'emberfire/serializers/firebase'], function (exports, _firebase) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _firebase.default.extend({\n    attrs: {\n      slots: { embedded: 'always' }\n    }\n  });\n});","define('spellbinder2/services/ajax', ['exports', 'ember-ajax/services/ajax'], function (exports, _ajax) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _ajax.default;\n    }\n  });\n});","define('spellbinder2/services/ember-cordova/events', ['exports', 'ember-cordova-events/services/ember-cordova/events'], function (exports, _events) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _events.default;\n    }\n  });\n});","define('spellbinder2/services/ember-cordova/platform', ['exports', 'ember-cordova-platform/services/ember-cordova/platform'], function (exports, _platform) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _platform.default;\n    }\n  });\n});","define('spellbinder2/services/ember-do-forms/config', ['exports', 'ember-do-forms/services/ember-do-forms/config'], function (exports, _config) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _config.default;\n    }\n  });\n});","define('spellbinder2/services/event-bus', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Service.extend(Ember.Evented, {\n    publish: function publish() {\n      return this.trigger.apply(this, arguments);\n    },\n    subscribe: function subscribe() {\n      return this.on.apply(this, arguments);\n    },\n    unsubscribe: function unsubscribe() {\n      return this.off.apply(this, arguments);\n    }\n  });\n});","define('spellbinder2/services/firebase-app', ['exports', 'emberfire/services/firebase-app'], function (exports, _firebaseApp) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _firebaseApp.default;\n});","define('spellbinder2/services/firebase', ['exports', 'emberfire/services/firebase'], function (exports, _firebase) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _firebase.default;\n});","define('spellbinder2/services/keyboard', ['exports', 'ember-keyboard/services/keyboard'], function (exports, _keyboard) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _keyboard.default;\n    }\n  });\n});","define('spellbinder2/services/media', ['exports', 'ember-responsive/media'], function (exports, _media) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _media.default;\n});","define('spellbinder2/services/modal-dialog', ['exports', 'spellbinder2/config/environment'], function (exports, _environment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var computed = Ember.computed,\n      Service = Ember.Service;\n\n\n  function computedFromConfig(prop) {\n    return computed(function () {\n      return _environment.default['ember-modal-dialog'] && _environment.default['ember-modal-dialog'][prop];\n    });\n  }\n\n  exports.default = Service.extend({\n    hasEmberTether: computedFromConfig('hasEmberTether'),\n    hasLiquidWormhole: computedFromConfig('hasLiquidWormhole'),\n    hasLiquidTether: computedFromConfig('hasLiquidTether'),\n    destinationElementId: computed(function () {\n      /*\n        everywhere except test, this property will be overwritten\n        by the initializer that appends the modal container div\n        to the DOM. because initializers don't run in unit/integration\n        tests, this is a nice fallback.\n      */\n      if (_environment.default.environment === 'test') {\n        return 'ember-testing';\n      }\n    })\n  });\n});","define('spellbinder2/services/moment', ['exports', 'ember-moment/services/moment', 'spellbinder2/config/environment'], function (exports, _moment, _environment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var get = Ember.get;\n  exports.default = _moment.default.extend({\n    defaultFormat: get(_environment.default, 'moment.outputFormat')\n  });\n});","define('spellbinder2/services/popup', ['exports', 'torii/services/popup'], function (exports, _popup) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _popup.default;\n    }\n  });\n});","define('spellbinder2/services/torii-session', ['exports', 'torii/services/torii-session'], function (exports, _toriiSession) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _toriiSession.default;\n    }\n  });\n});","define('spellbinder2/services/torii', ['exports', 'torii/services/torii'], function (exports, _torii) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _torii.default;\n    }\n  });\n});","define(\"spellbinder2/templates/application-loading\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"UNBGeIyQ\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-loading-application\\\"],[7],[0,\\\"\\\\n  \\\"],[1,[18,\\\"animation-loading\\\"],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/application-loading.hbs\" } });\n});","define(\"spellbinder2/templates/application\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"eGq7PW57\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-application\\\"],[7],[0,\\\"\\\\n  \\\"],[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/application.hbs\" } });\n});","define(\"spellbinder2/templates/characters\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"f3OCeOkV\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/characters.hbs\" } });\n});","define(\"spellbinder2/templates/characters/character\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"AuO71dyz\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[25,\\\"button-header\\\",null,[[\\\"icon\\\",\\\"title\\\",\\\"containerClass\\\",\\\"backgroundColor\\\",\\\"isActive\\\",\\\"clickedSlots\\\",\\\"clickedUser\\\"],[\\\"icons\\\",\\\"Slots\\\",\\\"container-buttonHeader-spell\\\",\\\"fill-redMedium\\\",[19,0,[\\\"showSpellSlotManager\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"clickedSlots\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"clickedUser\\\"],null]]]],false],[0,\\\"\\\\n\\\\n\\\"],[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\\n\\\"],[1,[25,\\\"spellSlots-manager\\\",null,[[\\\"isActive\\\",\\\"character\\\",\\\"clickedCloseModal\\\"],[[19,0,[\\\"showSpellSlotManager\\\"]],[19,0,[\\\"character\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"clickedCloseSpellSlotManager\\\"],null]]]],false],[0,\\\"\\\\n\\\\n\\\"],[1,[25,\\\"panel-characters\\\",null,[[\\\"user\\\",\\\"characters\\\",\\\"character\\\",\\\"isActive\\\",\\\"clickOverlayToClose\\\",\\\"clikedCharacter\\\",\\\"clickedAddNewCharacter\\\",\\\"deletedCharacter\\\",\\\"clickedCloseModal\\\"],[[19,0,[\\\"user\\\"]],[19,0,[\\\"characters\\\"]],[19,0,[\\\"character\\\"]],[19,0,[\\\"showPanelChooseCharacter\\\"]],true,[25,\\\"action\\\",[[19,0,[]],\\\"clikedCharacter\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"clickedAddNewCharacter\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"deletedCharacter\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"clickedClosePanelCharacters\\\"],null]]]],false],[0,\\\"\\\\n\\\\n\\\"],[1,[25,\\\"modal-settings\\\",null,[[\\\"isActive\\\",\\\"clickOverlayToClose\\\",\\\"signOut\\\",\\\"clickedCloseModal\\\"],[[19,0,[\\\"showModalSettings\\\"]],true,[25,\\\"action\\\",[[19,0,[]],\\\"signOut\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"clickedCloseSettings\\\"],null]]]],false],[0,\\\"\\\\n\\\\n\\\"],[1,[25,\\\"modal-create-character\\\",null,[[\\\"user\\\",\\\"isActive\\\",\\\"isLoading\\\",\\\"clickOverlayToClose\\\",\\\"formSubmitted\\\",\\\"clickedCloseModal\\\"],[[19,0,[\\\"user\\\"]],[19,0,[\\\"showModalCreateCharacter\\\"]],[19,0,[\\\"createCharacterModalIsLoading\\\"]],true,[25,\\\"action\\\",[[19,0,[]],\\\"newCharacterFormSubmitted\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"clickedCloseModalCreateCharacter\\\"],null]]]],false],[0,\\\"\\\\n\\\\n\\\"],[1,[25,\\\"button-navigation\\\",null,[[\\\"character\\\",\\\"state\\\",\\\"clickedButtonNavigation\\\",\\\"onUpdateNavButtonState\\\"],[[19,0,[\\\"character\\\"]],[19,0,[\\\"navButtonState\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"clickedButtonNavigation\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onUpdateNavButtonState\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/characters/character.hbs\" } });\n});","define(\"spellbinder2/templates/characters/character/spells\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"4dPTP1lk\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[25,\\\"container-list-spells\\\",null,[[\\\"spells\\\",\\\"user\\\",\\\"characters\\\",\\\"character\\\",\\\"characterSpells\\\",\\\"list\\\",\\\"clickedSpell\\\",\\\"clickedSegment\\\"],[[19,0,[\\\"spells\\\"]],[19,0,[\\\"user\\\"]],[19,0,[\\\"characters\\\"]],[19,0,[\\\"character\\\"]],[19,0,[\\\"characterSpells\\\"]],[19,0,[\\\"list\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"clickedSpell\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"clickedSegment\\\"],null]]]],false],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"container-spell \\\",[25,\\\"if\\\",[[19,0,[\\\"spellIsSelected\\\"]],\\\"is-visible\\\"],null]]]],[7],[0,\\\"\\\\n\\\\n  \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"container-emptyState-spell \\\",[25,\\\"unless\\\",[[19,0,[\\\"spellIsSelected\\\"]],\\\"is-visible\\\"],null]]]],[7],[0,\\\"\\\\n    \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-emptyState-spell icon-power\\\"],[7],[8],[0,\\\"\\\\n    \\\"],[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"heading-emptyState-spell\\\"],[7],[0,\\\"Select a Spell!\\\"],[8],[0,\\\"\\\\n  \\\"],[8],[0,\\\"\\\\n\\\\n  \\\"],[1,[18,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/characters/character/spells.hbs\" } });\n});","define(\"spellbinder2/templates/characters/character/spells/spell\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"Hme+BEr9\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-spell-inner\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"scroll-view\\\",null,[[\\\"didScroll\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"didScroll\\\"],null]]],{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-content-spell\\\"],[7],[0,\\\"\\\\n      \\\"],[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"heading-spell copy-heading text-purpleDark\\\"],[7],[1,[20,[\\\"spell\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n      \\\"],[6,\\\"h2\\\"],[9,\\\"class\\\",\\\"byline-spell copy-byline text-redMedium\\\"],[7],[1,[20,[\\\"spell\\\",\\\"byline\\\"]],false],[8],[0,\\\"\\\\n\\\\n      \\\"],[1,[25,\\\"spell-description\\\",null,[[\\\"description\\\"],[[19,0,[\\\"spell\\\",\\\"description\\\"]]]]],false],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[19,0,[\\\"spell\\\",\\\"higher_levels\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"h2\\\"],[9,\\\"class\\\",\\\"copy-heading2 text-redMedium\\\"],[7],[0,\\\"Higher Levels\\\"],[8],[0,\\\"\\\\n\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-description-spell\\\"],[7],[1,[25,\\\"markdown-to-html\\\",[[19,0,[\\\"spell\\\",\\\"higher_levels\\\"]]],null],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n      \\\"],[6,\\\"h2\\\"],[9,\\\"class\\\",\\\"copy-heading2 text-redMedium\\\"],[7],[0,\\\"Attributes\\\"],[8],[0,\\\"\\\\n\\\\n      \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table table-spell compact\\\"],[7],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-column\\\"],[7],[0,\\\"\\\\n          \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-data header\\\"],[7],[0,\\\"\\\\n            Time\\\\n          \\\"],[8],[0,\\\"\\\\n          \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-data\\\"],[7],[0,\\\"\\\\n            \\\"],[1,[20,[\\\"spell\\\",\\\"casting_time\\\"]],false],[0,\\\"\\\\n          \\\"],[8],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-column\\\"],[7],[0,\\\"\\\\n          \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-data header\\\"],[7],[0,\\\"\\\\n            Range\\\\n          \\\"],[8],[0,\\\"\\\\n          \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-data\\\"],[7],[0,\\\"\\\\n            \\\"],[1,[20,[\\\"spell\\\",\\\"range\\\"]],false],[0,\\\"\\\\n          \\\"],[8],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-column\\\"],[7],[0,\\\"\\\\n          \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-data header\\\"],[7],[0,\\\"\\\\n            \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"tableData-content\\\"],[7],[0,\\\"Components\\\"],[8],[0,\\\"\\\\n          \\\"],[8],[0,\\\"\\\\n          \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-data\\\"],[7],[0,\\\"\\\\n            \\\"],[1,[20,[\\\"spell\\\",\\\"componentsParsed\\\"]],false],[0,\\\"\\\\n          \\\"],[8],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[19,0,[\\\"spell\\\",\\\"components\\\",\\\"material\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-column\\\"],[7],[0,\\\"\\\\n            \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-data header\\\"],[7],[0,\\\"\\\\n              Materials\\\\n            \\\"],[8],[0,\\\"\\\\n            \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-data\\\"],[7],[0,\\\"\\\\n              \\\"],[1,[25,\\\"markdown-to-html\\\",[[19,0,[\\\"spell\\\",\\\"materialsParsed\\\"]]],null],false],[0,\\\"\\\\n\\\"],[0,\\\"            \\\"],[8],[0,\\\"\\\\n          \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-column\\\"],[7],[0,\\\"\\\\n          \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-data header\\\"],[7],[0,\\\"\\\\n            Duration\\\\n          \\\"],[8],[0,\\\"\\\\n          \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"table-data\\\"],[7],[0,\\\"\\\\n            \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"tableData-content\\\"],[7],[1,[20,[\\\"spell\\\",\\\"duration\\\"]],false],[8],[0,\\\"\\\\n          \\\"],[8],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n      \\\"],[8],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n  \\\"],[1,[25,\\\"button-AddRemove-spell\\\",null,[[\\\"isOnSpellList\\\",\\\"isActive\\\",\\\"clickedRemoveSpell\\\",\\\"clickedAddSpell\\\"],[[19,0,[\\\"isOnSpellList\\\"]],[19,0,[\\\"atBottomOfPage\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"clickedRemoveSpell\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"clickedAddSpell\\\"],null]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/characters/character/spells/spell.hbs\" } });\n});","define(\"spellbinder2/templates/characters/create-character\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"fsMdsCCw\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[25,\\\"modal-create-character\\\",null,[[\\\"isActive\\\",\\\"isLoading\\\",\\\"noFooter\\\",\\\"user\\\",\\\"formSubmitted\\\"],[true,[19,0,[\\\"createCharacterModalIsLoading\\\"]],true,[19,0,[\\\"user\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"formSubmitted\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/characters/create-character.hbs\" } });\n});","define(\"spellbinder2/templates/characters/index\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"W4oKD9S+\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[25,\\\"modal-chooseCharacter\\\",null,[[\\\"characters\\\",\\\"isActive\\\",\\\"noFooter\\\",\\\"clickedChooseCharacter\\\"],[[19,0,[\\\"characters\\\"]],true,true,[25,\\\"action\\\",[[19,0,[]],\\\"clickedChooseCharacter\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/characters/index.hbs\" } });\n});","define(\"spellbinder2/templates/components/animation-loading\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"vyOdkolh\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"spinner\\\"],[7],[0,\\\"\\\\n  \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dot1\\\"],[7],[8],[0,\\\"\\\\n  \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"dot2\\\"],[7],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/animation-loading.hbs\" } });\n});","define(\"spellbinder2/templates/components/button-add-remove-spell\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"L1hkQm7v\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"if\\\",[[19,0,[\\\"isOnSpellList\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-button-addRemoveSpell icon-minus\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-button-addRemoveSpell icon-plus\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/button-add-remove-spell.hbs\" } });\n});","define(\"spellbinder2/templates/components/button-clear-filters\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"BlkEvJqY\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-buttonClearFilters icon-cross2 text-yellowMedium is-visible\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/button-clear-filters.hbs\" } });\n});","define(\"spellbinder2/templates/components/button-form\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"CaFsx7sM\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"if\\\",[[19,0,[\\\"isLoading\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"button\\\"],[9,\\\"type\\\",\\\"submit\\\"],[9,\\\"disabled\\\",\\\"true\\\"],[9,\\\"name\\\",\\\"button-submitForm\\\"],[9,\\\"class\\\",\\\"button fill-redMedium text-white button-form\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[7],[1,[18,\\\"animation-loading\\\"],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[19,0,[\\\"changeset\\\",\\\"isValid\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"button\\\"],[9,\\\"id\\\",\\\"button-submitForm\\\"],[9,\\\"type\\\",\\\"submit\\\"],[9,\\\"name\\\",\\\"button-submitForm\\\"],[9,\\\"class\\\",\\\"button fill-redMedium text-white button-form\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[7],[1,[18,\\\"buttonText\\\"],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[25,\\\"and\\\",[[19,0,[\\\"changeset\\\",\\\"isInvalid\\\"]],[19,0,[\\\"hasSubmitted\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"button\\\"],[9,\\\"type\\\",\\\"submit\\\"],[9,\\\"disabled\\\",\\\"true\\\"],[9,\\\"name\\\",\\\"button-submitForm\\\"],[9,\\\"class\\\",\\\"button fill-redDark text-white button-form\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[7],[0,\\\"Please Fix Errors\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"button\\\"],[9,\\\"id\\\",\\\"button-submitForm\\\"],[9,\\\"type\\\",\\\"submit\\\"],[9,\\\"name\\\",\\\"button-submitForm\\\"],[9,\\\"class\\\",\\\"button fill-redMedium text-white button-form\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[7],[1,[18,\\\"buttonText\\\"],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/button-form.hbs\" } });\n});","define(\"spellbinder2/templates/components/button-header\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"h3ReiatI\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"group-button-buttonHeader group-slots\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedSlots\\\"]],[7],[0,\\\"\\\\n  \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-buttonHeader text-white icon-icons\\\"],[7],[8],[0,\\\"\\\\n  \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"title-buttonHeader copy-title text-white\\\"],[7],[0,\\\"Slots\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"group-button-buttonHeader group-user\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedUser\\\"]],[7],[0,\\\"\\\\n  \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-buttonHeader text-white icon-ellipsis\\\"],[7],[8],[0,\\\"\\\\n  \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"title-buttonHeader copy-title text-white\\\"],[7],[0,\\\"More\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/button-header.hbs\" } });\n});","define(\"spellbinder2/templates/components/button-navigation\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"FcjfPNWE\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"name-character-buttonNavigation\\\"],[7],[1,[20,[\\\"character\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-avatar-character\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,0,[\\\"character\\\",\\\"avatarURL\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"img\\\"],[9,\\\"class\\\",\\\"img-avatar-character\\\"],[10,\\\"src\\\",[26,[[20,[\\\"character\\\",\\\"avatarURL\\\"]]]]],[10,\\\"alt\\\",[26,[\\\"Avatar for \\\",[20,[\\\"character\\\",\\\"name\\\"]]]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-avatar-character icon-user\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[8],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-buttonNavigation icon-cog\\\"],[7],[8],[0,\\\"\\\\n\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-buttonNavigation icon-arrow-left\\\"],[7],[8],[0,\\\"\\\\n\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-buttonNavigation icon-cross2\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/button-navigation.hbs\" } });\n});","define(\"spellbinder2/templates/components/button-spell-slot\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"cg4ShLKm\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,0,[\\\"isActive\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-buttonSpellSlot icon-checkmark-custom\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/button-spell-slot.hbs\" } });\n});","define(\"spellbinder2/templates/components/button-toggle-filters\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"efTqa28g\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-icon-buttonToggleFilters\\\"],[7],[0,\\\"\\\\n  \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",[26,[\\\"icon-buttonToggleFilters icon-arrow-up \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null]]]],[7],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/button-toggle-filters.hbs\" } });\n});","define(\"spellbinder2/templates/components/container-filters-spells\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"Skog24ZB\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"container-filtersSpells-inner-first \\\",[25,\\\"if\\\",[[19,0,[\\\"showFilters\\\"]],\\\"is-active\\\"],null]]]],[7],[0,\\\"\\\\n  \\\"],[1,[25,\\\"button-toggleFilters\\\",null,[[\\\"isActive\\\",\\\"clickedToggleFilters\\\"],[[19,0,[\\\"showFilters\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"clickedToggleFilters\\\"],null]]]],false],[0,\\\"\\\\n  \\\"],[1,[25,\\\"input-search\\\",null,[[\\\"list\\\",\\\"isActive\\\",\\\"updatedSearchValue\\\",\\\"updatedSearchResults\\\"],[[19,0,[\\\"spells\\\"]],[19,0,[\\\"showButtonClearFilters\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updatedSearchValue\\\"],null],[25,\\\"action\\\",[[19,0,[]],[19,0,[\\\"updatedSearchResults\\\"]]],null]]]],false],[0,\\\"\\\\n  \\\"],[1,[25,\\\"button-clearFilters\\\",null,[[\\\"isActive\\\",\\\"clickedClearFilters\\\"],[[19,0,[\\\"showButtonClearFilters\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"clickedClearFilters\\\"],null]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"container-filtersSpells-inner-third \\\",[25,\\\"if\\\",[[19,0,[\\\"showSegmentedFilters\\\"]],\\\"is-visible\\\"],null]]]],[7],[0,\\\"\\\\n  \\\"],[1,[25,\\\"segmented-filter\\\",null,[[\\\"segments\\\",\\\"activeSegment\\\",\\\"clickedSegment\\\"],[[19,0,[\\\"segments\\\"]],[19,0,[\\\"list\\\"]],[25,\\\"action\\\",[[19,0,[]],[19,0,[\\\"clickedSegment\\\"]]],null]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"container-filtersSpells-inner-second \\\",[25,\\\"if\\\",[[19,0,[\\\"showFilters\\\"]],\\\"is-visible\\\"],null]]]],[7],[0,\\\"\\\\n  \\\"],[1,[25,\\\"filters-spells\\\",null,[[\\\"levels\\\",\\\"selectedClass\\\",\\\"selectedSchool\\\",\\\"updatedLevels\\\",\\\"updatedClassValue\\\",\\\"updatedSchoolValue\\\"],[[19,0,[\\\"levels\\\"]],[19,0,[\\\"selectedClass\\\"]],[19,0,[\\\"selectedSchool\\\"]],[25,\\\"action\\\",[[19,0,[]],[19,0,[\\\"updatedLevels\\\"]]],null],[25,\\\"action\\\",[[19,0,[]],[19,0,[\\\"updatedClassValue\\\"]]],null],[25,\\\"action\\\",[[19,0,[]],[19,0,[\\\"updatedSchoolValue\\\"]]],null]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/container-filters-spells.hbs\" } });\n});","define(\"spellbinder2/templates/components/container-list-spells\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"0+/VahP5\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[0,\\\"\\\\n\\\"],[1,[25,\\\"list-spells\\\",null,[[\\\"list\\\",\\\"spells\\\",\\\"character\\\",\\\"characterSpells\\\",\\\"spellsMax\\\",\\\"clickedSpell\\\",\\\"clickedEmptyStateButton\\\",\\\"updateList\\\"],[[19,0,[\\\"list\\\"]],[19,0,[\\\"slicedSpells\\\"]],[19,0,[\\\"character\\\"]],[19,0,[\\\"characterSpells\\\"]],[19,0,[\\\"filteredCount\\\"]],[25,\\\"action\\\",[[19,0,[]],[19,0,[\\\"clickedSpell\\\"]]],null],[25,\\\"action\\\",[[19,0,[]],[19,0,[\\\"clickedSegment\\\"]]],null],[25,\\\"action\\\",[[19,0,[]],\\\"updateList\\\"],null]]]],false],[0,\\\"\\\\n\\\"],[1,[25,\\\"container-filters-spells\\\",null,[[\\\"spells\\\",\\\"list\\\",\\\"updatedSearchResults\\\",\\\"updatedLevels\\\",\\\"updatedClassValue\\\",\\\"updatedSchoolValue\\\",\\\"clickedClearFilters\\\",\\\"clickedSegment\\\"],[[19,0,[\\\"spells\\\"]],[19,0,[\\\"list\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"updatedSearchResults\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"updatedLevels\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"updatedClassValue\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"updatedSchoolValue\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"clickedClearFilters\\\"],null],[25,\\\"action\\\",[[19,0,[]],[19,0,[\\\"clickedSegment\\\"]]],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/container-list-spells.hbs\" } });\n});","define(\"spellbinder2/templates/components/filter-level\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"kbeblPPq\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"container-inner-filter-spellLevel \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"fill-greyDark\\\",\\\"outline-greyDark\\\"],null],\\\" \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"outline-greyDark\\\",\\\"outline-greyDark\\\"],null],\\\"  \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"text-yellowMedium\\\",\\\"text-greyDark\\\"],null]]]],[7],[0,\\\"\\\\n  \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"content-filter-spellLevel\\\"],[7],[1,[18,\\\"name\\\"],false],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/filter-level.hbs\" } });\n});","define(\"spellbinder2/templates/components/filters-spells\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"MuPwqkIO\", \"block\": \"{\\\"symbols\\\":[\\\"level\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-filters-spellLevel\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,0,[\\\"levels\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[25,\\\"filter-level\\\",null,[[\\\"level\\\",\\\"updatedLevels\\\"],[[19,1,[]],[25,\\\"action\\\",[[19,0,[]],\\\"updatedLevels\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[8],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-filters-spellTypes\\\"],[7],[0,\\\"\\\\n  \\\"],[1,[25,\\\"input-select\\\",null,[[\\\"value\\\",\\\"classes\\\",\\\"options\\\",\\\"prompt\\\",\\\"updatedValue\\\"],[[19,0,[\\\"selectedClass\\\"]],\\\"container-select-filtersSpellTypes\\\",[19,0,[\\\"classes\\\"]],\\\"Filter By Class\\\",[25,\\\"action\\\",[[19,0,[]],\\\"updatedClassValue\\\"],null]]]],false],[0,\\\"\\\\n\\\\n  \\\"],[1,[25,\\\"input-select\\\",null,[[\\\"value\\\",\\\"classes\\\",\\\"options\\\",\\\"prompt\\\",\\\"updatedValue\\\"],[[19,0,[\\\"selectedSchool\\\"]],\\\"container-select-filtersSpellTypes\\\",[19,0,[\\\"schools\\\"]],\\\"Filter By School\\\",[25,\\\"action\\\",[[19,0,[]],\\\"updatedSchoolValue\\\"],null]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/filters-spells.hbs\" } });\n});","define(\"spellbinder2/templates/components/form-create-character\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"8lidl1VI\", \"block\": \"{\\\"symbols\\\":[\\\"form\\\",\\\"field\\\"],\\\"statements\\\":[[4,\\\"unless\\\",[[19,0,[\\\"isLoading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\n  \\\"],[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"heading-modal heading-bar copy-title\\\"],[7],[0,\\\"Create a Character\\\"],[8],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"do-form\\\",[[19,0,[\\\"changeset\\\"]]],[[\\\"submit\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"formSubmitted\\\",[19,0,[\\\"changeset\\\"]]],null]]],{\\\"statements\\\":[[0,\\\"\\\\n\\\"],[4,\\\"component\\\",[[19,1,[\\\"do-field\\\"]],\\\"characterName\\\"],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[25,\\\"component\\\",[[19,2,[\\\"do-control\\\"]],\\\"text\\\"],[[\\\"required\\\"],[true]]],false],[0,\\\"\\\\n      \\\"],[1,[25,\\\"component\\\",[[19,2,[\\\"do-label\\\"]],\\\"Character Name\\\"],null],false],[0,\\\"\\\\n      \\\"],[1,[19,2,[\\\"do-feedback\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\n    \\\"],[1,[25,\\\"button-form\\\",null,[[\\\"isLoading\\\",\\\"changeset\\\",\\\"hasSubmitted\\\",\\\"buttonText\\\"],[[19,0,[\\\"isLoading\\\"]],[19,0,[\\\"changeset\\\"]],[19,0,[\\\"hasSubmitted\\\"]],\\\"Create\\\"]]],false],[0,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-isLoading-modal\\\"],[7],[0,\\\"\\\\n    \\\"],[1,[18,\\\"animation-loading\\\"],false],[0,\\\"\\\\n  \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/form-create-character.hbs\" } });\n});","define(\"spellbinder2/templates/components/form-login\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"ZcIHcAJv\", \"block\": \"{\\\"symbols\\\":[\\\"form\\\",\\\"field\\\",\\\"field\\\"],\\\"statements\\\":[[4,\\\"do-form\\\",[[19,0,[\\\"changeset\\\"]]],[[\\\"submit\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"formSubmitted\\\",[19,0,[\\\"changeset\\\"]]],null]]],{\\\"statements\\\":[[0,\\\"\\\\n\\\"],[4,\\\"component\\\",[[19,1,[\\\"do-field\\\"]],\\\"email\\\"],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[25,\\\"component\\\",[[19,3,[\\\"do-control\\\"]],\\\"email\\\"],[[\\\"required\\\"],[true]]],false],[0,\\\"\\\\n    \\\"],[1,[25,\\\"component\\\",[[19,3,[\\\"do-label\\\"]],\\\"Email\\\"],null],false],[0,\\\"\\\\n    \\\"],[1,[19,3,[\\\"do-feedback\\\"]],false],[0,\\\"\\\\n    \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-at-sign icon-input-form\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\n\\\"],[4,\\\"component\\\",[[19,1,[\\\"do-field\\\"]],\\\"password\\\"],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[25,\\\"component\\\",[[19,2,[\\\"do-control\\\"]],\\\"password\\\"],[[\\\"required\\\"],[true]]],false],[0,\\\"\\\\n    \\\"],[1,[25,\\\"component\\\",[[19,2,[\\\"do-label\\\"]],\\\"Password\\\"],null],false],[0,\\\"\\\\n    \\\"],[1,[19,2,[\\\"do-feedback\\\"]],false],[0,\\\"\\\\n    \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-keyboard icon-input-form\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\n  \\\"],[1,[25,\\\"button-form\\\",null,[[\\\"isLoading\\\",\\\"changeset\\\",\\\"hasSubmitted\\\",\\\"buttonText\\\"],[[19,0,[\\\"isLoading\\\"]],[19,0,[\\\"changeset\\\"]],[19,0,[\\\"hasSubmitted\\\"]],\\\"Login\\\"]]],false],[0,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/form-login.hbs\" } });\n});","define(\"spellbinder2/templates/components/form-register\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"XhTtluhE\", \"block\": \"{\\\"symbols\\\":[\\\"form\\\",\\\"field\\\",\\\"field\\\",\\\"field\\\"],\\\"statements\\\":[[4,\\\"do-form\\\",[[19,0,[\\\"changeset\\\"]]],[[\\\"submit\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"formSubmitted\\\",[19,0,[\\\"changeset\\\"]]],null]]],{\\\"statements\\\":[[0,\\\"\\\\n\\\"],[4,\\\"component\\\",[[19,1,[\\\"do-field\\\"]],\\\"email\\\"],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[25,\\\"component\\\",[[19,4,[\\\"do-control\\\"]],\\\"email\\\"],[[\\\"required\\\"],[true]]],false],[0,\\\"\\\\n    \\\"],[1,[25,\\\"component\\\",[[19,4,[\\\"do-label\\\"]],\\\"Email\\\"],null],false],[0,\\\"\\\\n    \\\"],[1,[19,4,[\\\"do-feedback\\\"]],false],[0,\\\"\\\\n    \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-at-sign icon-input-form\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]},null],[0,\\\"\\\\n\\\"],[4,\\\"component\\\",[[19,1,[\\\"do-field\\\"]],\\\"password\\\"],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[25,\\\"component\\\",[[19,3,[\\\"do-control\\\"]],\\\"password\\\"],[[\\\"required\\\"],[true]]],false],[0,\\\"\\\\n    \\\"],[1,[25,\\\"component\\\",[[19,3,[\\\"do-label\\\"]],\\\"Password\\\"],null],false],[0,\\\"\\\\n    \\\"],[1,[19,3,[\\\"do-feedback\\\"]],false],[0,\\\"\\\\n    \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-keyboard icon-input-form\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]},null],[0,\\\"\\\\n\\\"],[4,\\\"component\\\",[[19,1,[\\\"do-field\\\"]],\\\"passwordConfirmation\\\"],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[25,\\\"component\\\",[[19,2,[\\\"do-control\\\"]],\\\"password\\\"],[[\\\"required\\\"],[true]]],false],[0,\\\"\\\\n    \\\"],[1,[25,\\\"component\\\",[[19,2,[\\\"do-label\\\"]],\\\"Confirm Password\\\"],null],false],[0,\\\"\\\\n    \\\"],[1,[19,2,[\\\"do-feedback\\\"]],false],[0,\\\"\\\\n    \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-keyboard icon-input-form\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\n  \\\"],[1,[25,\\\"button-form\\\",null,[[\\\"isLoading\\\",\\\"changeset\\\",\\\"hasSubmitted\\\",\\\"buttonText\\\"],[[19,0,[\\\"isLoading\\\"]],[19,0,[\\\"changeset\\\"]],[19,0,[\\\"hasSubmitted\\\"]],\\\"Register\\\"]]],false],[0,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/form-register.hbs\" } });\n});","define(\"spellbinder2/templates/components/form-rename-character\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"74mPJynG\", \"block\": \"{\\\"symbols\\\":[\\\"form\\\",\\\"field\\\"],\\\"statements\\\":[[4,\\\"unless\\\",[[19,0,[\\\"isLoading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\n  \\\"],[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"heading-modal heading-bar copy-title\\\"],[7],[0,\\\"Rename Character\\\"],[8],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"do-form\\\",[[19,0,[\\\"changeset\\\"]]],[[\\\"submit\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"formSubmitted\\\",[19,0,[\\\"changeset\\\"]]],null]]],{\\\"statements\\\":[[0,\\\"\\\\n\\\"],[4,\\\"component\\\",[[19,1,[\\\"do-field\\\"]],\\\"characterName\\\"],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[25,\\\"component\\\",[[19,2,[\\\"do-control\\\"]],\\\"text\\\"],[[\\\"required\\\"],[true]]],false],[0,\\\"\\\\n      \\\"],[1,[25,\\\"component\\\",[[19,2,[\\\"do-label\\\"]],\\\"Character Name\\\"],null],false],[0,\\\"\\\\n      \\\"],[1,[19,2,[\\\"do-feedback\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\n    \\\"],[1,[25,\\\"button-form\\\",null,[[\\\"isLoading\\\",\\\"changeset\\\",\\\"hasSubmitted\\\",\\\"buttonText\\\"],[[19,0,[\\\"isLoading\\\"]],[19,0,[\\\"changeset\\\"]],[19,0,[\\\"hasSubmitted\\\"]],\\\"Rename\\\"]]],false],[0,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"\\\\n  \\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"width-full button outline-purpleDark text-purpleDark button-cancelRenameCharacter\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"name\\\",\\\"button\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedCancelRenameCharacter\\\"]],[7],[0,\\\"\\\\n    \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"content-button\\\"],[7],[0,\\\"Cancel\\\"],[8],[0,\\\"\\\\n  \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-isLoading-modal\\\"],[7],[0,\\\"\\\\n    \\\"],[1,[18,\\\"animation-loading\\\"],false],[0,\\\"\\\\n  \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/form-rename-character.hbs\" } });\n});","define(\"spellbinder2/templates/components/input-number\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"VCJRTkc/\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"button\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"class\\\",\\\"button-inputNumber button outline-yellowMedium text-yellowMedium\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedSubtractNumber\\\"]],[7],[0,\\\"\\\\n  \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-minus icon-button-minus\\\"],[7],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[1,[25,\\\"one-way-input\\\",[[19,0,[\\\"value\\\"]]],[[\\\"type\\\",\\\"class\\\",\\\"update\\\"],[\\\"number\\\",\\\"fill-yellowMedium text-redMedium button\\\",[25,\\\"action\\\",[[19,0,[]],[25,\\\"mut\\\",[[19,0,[\\\"value\\\"]]],null]],null]]]],false],[0,\\\"\\\\n\\\"],[6,\\\"button\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"class\\\",\\\"button-inputNumber button outline-yellowMedium text-yellowMedium\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedAddNumber\\\"]],[7],[0,\\\"\\\\n  \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-plus icon-button-plus\\\"],[7],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/input-number.hbs\" } });\n});","define(\"spellbinder2/templates/components/input-search\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"fn+PLsD6\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"inputWrapper\\\"],[7],[0,\\\"\\\\n  \\\"],[1,[25,\\\"one-way-input\\\",[[19,0,[\\\"value\\\"]]],[[\\\"placeholder\\\",\\\"class\\\",\\\"update\\\",\\\"focusIn\\\",\\\"focusOut\\\",\\\"keyEvents\\\"],[\\\"Search\\\",\\\"inputSearch\\\",[25,\\\"action\\\",[[19,0,[]],\\\"updatedValue\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onFocusIn\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onFocusOut\\\"],null],[25,\\\"hash\\\",null,[[\\\"13\\\",\\\"27\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"onEnter\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"onEscape\\\"],null]]]]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"button\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"name\\\",\\\"submit-inputSearch\\\"],[9,\\\"class\\\",\\\"button-submitSearch\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"onEnter\\\"]],[7],[0,\\\"\\\\n  \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-inputSearch icon-magnifier\\\"],[7],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/input-search.hbs\" } });\n});","define(\"spellbinder2/templates/components/input-select\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"eHaif20x\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[25,\\\"one-way-select\\\",[[19,0,[\\\"value\\\"]]],[[\\\"options\\\",\\\"optionValuePath\\\",\\\"optionLabelPath\\\",\\\"prompt\\\",\\\"promptIsSelectable\\\",\\\"update\\\"],[[19,0,[\\\"options\\\"]],\\\"value\\\",\\\"name\\\",[19,0,[\\\"prompt\\\"]],true,[25,\\\"action\\\",[[19,0,[]],\\\"updatedValue\\\"],null]]]],false],[0,\\\"\\\\n\\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-inputSelect icon-chevron-down\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/input-select.hbs\" } });\n});","define(\"spellbinder2/templates/components/level-spell-slots\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"Zf7Lt/tn\", \"block\": \"{\\\"symbols\\\":[\\\"slot\\\",\\\"slot\\\"],\\\"statements\\\":[[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"heading-level-spellSlots\\\"],[7],[0,\\\"Level \\\"],[1,[18,\\\"level\\\"],false],[8],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"ul\\\"],[9,\\\"class\\\",\\\"container-slots-spellSlots\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,0,[\\\"filledArray\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[25,\\\"button-spellSlot\\\",null,[[\\\"isActive\\\",\\\"clickedButtonSpellSlot\\\"],[true,[25,\\\"action\\\",[[19,0,[]],\\\"clickedButtonSpellSlot\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[4,\\\"each\\\",[[19,0,[\\\"unfilledArray\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[25,\\\"button-spellSlot\\\",null,[[\\\"isActive\\\",\\\"clickedButtonSpellSlot\\\"],[false,[25,\\\"action\\\",[[19,0,[]],\\\"clickedButtonSpellSlot\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/level-spell-slots.hbs\" } });\n});","define(\"spellbinder2/templates/components/list-item-spell\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"dfnyj9SR\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"characters.character.spells.spell\\\",[19,0,[\\\"spell\\\",\\\"id\\\"]]],[[\\\"invokeAction\\\"],[[25,\\\"action\\\",[[19,0,[]],[19,0,[\\\"clickedSpell\\\"]]],null]]],{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"content-item-spellList\\\"],[7],[1,[20,[\\\"spell\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[19,0,[\\\"isOnSpellList\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"button\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"class\\\",\\\"button-reset button-item-spelList\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedRemoveSpell\\\"]],[7],[0,\\\"\\\\n    \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-item-spellsList remove icon-minus\\\"],[7],[8],[0,\\\"\\\\n  \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"button\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"class\\\",\\\"button-reset button-item-spelList\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedAddSpell\\\"]],[7],[0,\\\"\\\\n    \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-item-spellsList add icon-plus\\\"],[7],[8],[0,\\\"\\\\n  \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/list-item-spell.hbs\" } });\n});","define(\"spellbinder2/templates/components/list-spells\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"RH7o4rAz\", \"block\": \"{\\\"symbols\\\":[\\\"spell\\\"],\\\"statements\\\":[[4,\\\"unless\\\",[[19,0,[\\\"isLoading\\\"]]],null,{\\\"statements\\\":[[4,\\\"unless\\\",[[19,0,[\\\"noSpells\\\"]]],null,{\\\"statements\\\":[[4,\\\"scroll-view\\\",null,[[\\\"didScroll\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"didScroll\\\"],null]]],{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"ul\\\"],[9,\\\"class\\\",\\\"list-spells\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,0,[\\\"spells\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[1,[25,\\\"list-item-spell\\\",null,[[\\\"spell\\\",\\\"character\\\",\\\"characterSpells\\\",\\\"clickedSpell\\\"],[[19,1,[]],[19,0,[\\\"character\\\"]],[19,0,[\\\"characterSpells\\\"]],[25,\\\"action\\\",[[19,0,[]],[19,0,[\\\"clickedSpell\\\"]]],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[4,\\\"if\\\",[[19,0,[\\\"isLazyLoading\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"li\\\"],[9,\\\"class\\\",\\\"container-lazyLoading-listSpells\\\"],[7],[0,\\\"\\\\n          \\\"],[1,[18,\\\"animation-loading\\\"],false],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[19,0,[\\\"isUserList\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-empyState-listSpells\\\"],[7],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content-emptyState-listSpells\\\"],[7],[0,\\\"\\\\n          \\\"],[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"heading-emptyState-listSpells\\\"],[7],[0,\\\"Critical Miss!\\\"],[8],[0,\\\"\\\\n          \\\"],[6,\\\"h2\\\"],[9,\\\"class\\\",\\\"byline-emptyState-listSpells\\\"],[7],[0,\\\"You haven't added any spells to this list yet.\\\"],[8],[0,\\\"\\\\n          \\\"],[6,\\\"button\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"name\\\",\\\"button\\\"],[9,\\\"class\\\",\\\"button-emptyState button width-full outline-redMedium text-redMedium\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedEmptyStateButton\\\"]],[7],[0,\\\"Go to All Spells\\\"],[8],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n      \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-empyState-listSpells\\\"],[7],[0,\\\"\\\\n        \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"content-emptyState-listSpells\\\"],[7],[0,\\\"\\\\n          \\\"],[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"heading-emptyState-listSpells\\\"],[7],[0,\\\"Critical Miss!\\\"],[8],[0,\\\"\\\\n          \\\"],[6,\\\"h2\\\"],[9,\\\"class\\\",\\\"byline-emptyState-listSpells\\\"],[7],[0,\\\"No spells were found.\\\"],[8],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n      \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-empyState-listSpells\\\"],[7],[0,\\\"\\\\n    \\\"],[1,[18,\\\"animation-loading\\\"],false],[0,\\\"\\\\n  \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/list-spells.hbs\" } });\n});","define(\"spellbinder2/templates/components/modal-base\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"/67CkyPa\", \"block\": \"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[11,1]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/modal-base.hbs\" } });\n});","define(\"spellbinder2/templates/components/modal-choose-character\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"ZMtT3BFi\", \"block\": \"{\\\"symbols\\\":[\\\"character\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"container-overlay-modal \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null]]]],[7],[8],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"cotainer-content-modal has-header \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null],\\\" \\\",[25,\\\"if\\\",[[19,0,[\\\"isLoading\\\"]],\\\"is-loading\\\"],null]]]],[7],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"unless\\\",[[19,0,[\\\"isLoading\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"heading-modal heading-bar copy-title\\\"],[7],[0,\\\"Choose a Character\\\"],[8],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"scroll-view\\\",null,null,{\\\"statements\\\":[[4,\\\"each\\\",[[19,0,[\\\"characters\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"width-full button fill-purpleDark text-white\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"name\\\",\\\"button\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedChooseCharacter\\\",[19,1,[]]]],[7],[0,\\\"\\\\n          \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"content-button\\\"],[7],[1,[19,1,[\\\"name\\\"]],false],[8],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-isLoading-modal\\\"],[7],[0,\\\"\\\\n      \\\"],[1,[18,\\\"animation-loading\\\"],false],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/modal-choose-character.hbs\" } });\n});","define(\"spellbinder2/templates/components/modal-confirm-delete-character\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"rlFx61Qh\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"container-overlay-modal \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null]]]],[7],[8],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"cotainer-content-modal \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null],\\\" \\\",[25,\\\"if\\\",[[19,0,[\\\"isLoading\\\"]],\\\"is-loading\\\"],null]]]],[7],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"unless\\\",[[19,0,[\\\"isLoading\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"heading-modal copy-title\\\"],[7],[0,\\\"Delete \\\"],[1,[20,[\\\"character\\\",\\\"name\\\"]],false],[0,\\\"?\\\"],[8],[0,\\\"\\\\n\\\\n    \\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"width-full button fill-purpleDark text-white\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"name\\\",\\\"button\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedConfirmDelete\\\"]],[7],[0,\\\"\\\\n      \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"content-button\\\"],[7],[0,\\\"Yes\\\"],[8],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n\\\\n    \\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"width-full button outline-purpleDark text-purpleDark\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"name\\\",\\\"button\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedCancelDelete\\\"]],[7],[0,\\\"\\\\n      \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"content-button\\\"],[7],[0,\\\"No\\\"],[8],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-isLoading-modal\\\"],[7],[0,\\\"\\\\n      \\\"],[1,[18,\\\"animation-loading\\\"],false],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/modal-confirm-delete-character.hbs\" } });\n});","define(\"spellbinder2/templates/components/modal-create-character\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"jx7l4kut\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"container-overlay-modal \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null]]]],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedOverlay\\\"]],[7],[8],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"cotainer-content-modal has-header \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null],\\\" \\\",[25,\\\"if\\\",[[19,0,[\\\"isLoading\\\"]],\\\"is-loading\\\"],null]]]],[7],[0,\\\"\\\\n  \\\"],[1,[25,\\\"form-createCharacter\\\",null,[[\\\"user\\\",\\\"formSubmitted\\\"],[[19,0,[\\\"user\\\"]],[25,\\\"action\\\",[[19,0,[]],[19,0,[\\\"formSubmitted\\\"]]],null]]]],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/modal-create-character.hbs\" } });\n});","define(\"spellbinder2/templates/components/modal-edit-character\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"2AkyQDe6\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"container-overlay-modal \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null]]]],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedOverlay\\\"]],[7],[8],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"cotainer-content-modal \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null]]]],[7],[0,\\\"\\\\n  \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-avatar-character\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,0,[\\\"character\\\",\\\"avatarURL\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"img\\\"],[9,\\\"class\\\",\\\"img-avatar-character\\\"],[10,\\\"src\\\",[26,[[20,[\\\"character\\\",\\\"avatarURL\\\"]]]]],[10,\\\"alt\\\",[26,[\\\"Avatar for \\\",[20,[\\\"character\\\",\\\"name\\\"]]]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-avatar-character icon-user\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"heading-modal copy-title\\\"],[7],[1,[20,[\\\"character\\\",\\\"name\\\"]],false],[8],[0,\\\"\\\\n  \\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"width-full button fill-purpleDark text-white\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"name\\\",\\\"button\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedOpenRenameCharacter\\\"]],[7],[0,\\\"\\\\n    \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"content-button\\\"],[7],[0,\\\"Rename\\\"],[8],[0,\\\"\\\\n  \\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"width-full button fill-purpleDark text-white\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"name\\\",\\\"button\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedOpenChangeImage\\\"]],[7],[0,\\\"\\\\n    \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"content-button\\\"],[7],[0,\\\"Change Image\\\"],[8],[0,\\\"\\\\n  \\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"width-full button outline-purpleDark text-purpleDark\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"name\\\",\\\"button\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedDeleteCharacter\\\"]],[7],[0,\\\"\\\\n    \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"content-button\\\"],[7],[0,\\\"Delete Character\\\"],[8],[0,\\\"\\\\n  \\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/modal-edit-character.hbs\" } });\n});","define(\"spellbinder2/templates/components/modal-edit-spell-slots\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"ogYJOmWI\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"container-overlay-modal \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null]]]],[7],[8],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"cotainer-content-modal has-header \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null],\\\" \\\",[25,\\\"if\\\",[[19,0,[\\\"isLoading\\\"]],\\\"is-loading\\\"],null]]]],[7],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"unless\\\",[[19,0,[\\\"isLoading\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"heading-modal heading-bar copy-title\\\"],[7],[0,\\\"Edit Spell Slot Level\\\"],[8],[0,\\\"\\\\n\\\\n    \\\"],[1,[25,\\\"input-select\\\",null,[[\\\"value\\\",\\\"classes\\\",\\\"options\\\",\\\"prompt\\\",\\\"updatedValue\\\"],[[19,0,[\\\"selectedLevel\\\"]],\\\"container-select-editSpellSlots\\\",[19,0,[\\\"slotsOptions\\\"]],\\\"Spell Level\\\",[25,\\\"action\\\",[[19,0,[]],\\\"updatedSelectValue\\\"],null]]]],false],[0,\\\"\\\\n\\\\n    \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"container-hideShow-editSpells \\\",[25,\\\"if\\\",[[19,0,[\\\"showInputNumber\\\"]],\\\"is-visible\\\"],null]]]],[7],[0,\\\"\\\\n\\\\n      \\\"],[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"heading-slots-spellSlots copy-title\\\"],[7],[0,\\\"Number of Slots\\\"],[8],[0,\\\"\\\\n\\\\n      \\\"],[1,[25,\\\"input-number\\\",null,[[\\\"value\\\",\\\"classes\\\",\\\"updatedValue\\\"],[[19,0,[\\\"numberOfSlots\\\"]],\\\"container-inputNumber-editSpells\\\",[25,\\\"action\\\",[[19,0,[]],\\\"updatedNumberOfSlots\\\"],null]]]],false],[0,\\\"\\\\n\\\\n      \\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"button-submit-editSpellSlots width-full button fill-purpleDark text-white\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"name\\\",\\\"button\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedConfirmEdit\\\"]],[7],[0,\\\"\\\\n        \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"content-button\\\"],[7],[0,\\\"Submit\\\"],[8],[0,\\\"\\\\n      \\\"],[8],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n\\\\n    \\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"width-full button outline-purpleDark text-purpleDark\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"name\\\",\\\"button\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedCancelEdit\\\"]],[7],[0,\\\"\\\\n      \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"content-button\\\"],[7],[0,\\\"Cancel\\\"],[8],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-isLoading-modal\\\"],[7],[0,\\\"\\\\n      \\\"],[1,[18,\\\"animation-loading\\\"],false],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/modal-edit-spell-slots.hbs\" } });\n});","define(\"spellbinder2/templates/components/modal-rename-character\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"4xaRbNQ+\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"container-overlay-modal \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null]]]],[7],[8],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"cotainer-content-modal has-header \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null],\\\" \\\",[25,\\\"if\\\",[[19,0,[\\\"isLoading\\\"]],\\\"is-loading\\\"],null]]]],[7],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"unless\\\",[[19,0,[\\\"isLoading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\n    \\\"],[1,[25,\\\"form-renameCharacter\\\",null,[[\\\"character\\\",\\\"formSubmitted\\\",\\\"clickedCancelRenameCharacter\\\"],[[19,0,[\\\"character\\\"]],[25,\\\"action\\\",[[19,0,[]],[19,0,[\\\"formSubmitted\\\"]]],null],[25,\\\"action\\\",[[19,0,[]],[19,0,[\\\"clickedCancelRenameCharacter\\\"]]],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-isLoading-modal\\\"],[7],[0,\\\"\\\\n      \\\"],[1,[18,\\\"animation-loading\\\"],false],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/modal-rename-character.hbs\" } });\n});","define(\"spellbinder2/templates/components/modal-settings\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"o0o/DwhI\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"container-overlay-modal \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null]]]],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedOverlay\\\"]],[7],[8],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"cotainer-content-modal has-header \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null]]]],[7],[0,\\\"\\\\n  \\\"],[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"heading-modal heading-bar copy-title\\\"],[7],[0,\\\"More\\\"],[8],[0,\\\"\\\\n\\\\n  \\\"],[6,\\\"p\\\"],[9,\\\"class\\\",\\\"copy-small text-white text-center\\\"],[7],[0,\\\"You are currently logged in as: \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"can-wrap\\\"],[7],[1,[20,[\\\"session\\\",\\\"currentUser\\\",\\\"email\\\"]],false],[8],[8],[0,\\\"\\\\n\\\\n  \\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"width-full button fill-purpleDark text-white\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"name\\\",\\\"button\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"signOut\\\"]],[7],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"content-button\\\"],[7],[0,\\\"Logout\\\"],[8],[8],[0,\\\"\\\\n\\\\n  \\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"width-full button outline-purpleDark text-purpleDark\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"name\\\",\\\"button\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showTOS\\\"]],[7],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"content-button\\\"],[7],[0,\\\"Terms of Service\\\"],[8],[8],[0,\\\"\\\\n\\\\n  \\\"],[6,\\\"a\\\"],[9,\\\"href\\\",\\\"//www.iubenda.com/privacy-policy/15706655\\\"],[9,\\\"class\\\",\\\"iubenda-black iubenda-embed width-full button outline-purpleDark text-purpleDark\\\"],[9,\\\"title\\\",\\\"Privacy Policy\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[7],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"content-button\\\"],[7],[0,\\\"\\\\n  Privacy Policy\\\"],[8],[8],[0,\\\"\\\\n\\\\n  \\\"],[6,\\\"button\\\"],[9,\\\"class\\\",\\\"width-full button outline-purpleDark text-purpleDark\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"name\\\",\\\"button\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"showCredits\\\"]],[7],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"content-button\\\"],[7],[0,\\\"Credits\\\"],[8],[8],[0,\\\"\\\\n\\\\n  \\\"],[6,\\\"p\\\"],[9,\\\"class\\\",\\\"copy-small text-white text-center\\\"],[7],[0,\\\"© \\\"],[1,[25,\\\"moment-format\\\",[[25,\\\"now\\\",null,null],\\\"YYYY\\\"],null],false],[0,\\\" Voronoi LLC\\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"script\\\"],[9,\\\"type\\\",\\\"text/javascript\\\"],[7],[0,\\\"(function (w,d) {var loader = function () {var s = d.createElement(\\\\\\\"script\\\\\\\"), tag = d.getElementsByTagName(\\\\\\\"script\\\\\\\")[0]; s.src = \\\\\\\"//cdn.iubenda.com/iubenda.js\\\\\\\"; tag.parentNode.insertBefore(s,tag);}; if(w.addEventListener){w.addEventListener(\\\\\\\"load\\\\\\\", loader, false);}else if(w.attachEvent){w.attachEvent(\\\\\\\"onload\\\\\\\", loader);}else{w.onload = loader;}})(window, document);\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/modal-settings.hbs\" } });\n});","define(\"spellbinder2/templates/components/panel-characters\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"TyB4+Trx\", \"block\": \"{\\\"symbols\\\":[\\\"characterItem\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"container-overlay-modal \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null]]]],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedOverlay\\\"]],[7],[8],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"container-panel-chooseCharacter-inner \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"scroll-view\\\",null,null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"ul\\\"],[9,\\\"class\\\",\\\"list-panel-chooseCharacter\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[19,0,[\\\"characters\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"li\\\"],[10,\\\"class\\\",[26,[\\\"item-panel-chooseCharacter \\\",[25,\\\"if\\\",[[25,\\\"eq\\\",[[19,0,[\\\"character\\\",\\\"id\\\"]],[19,1,[\\\"id\\\"]]],null],\\\"is-active\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"link-to\\\",[\\\"characters.character.spells\\\",[19,1,[\\\"id\\\"]]],[[\\\"invokeAction\\\"],[[25,\\\"action\\\",[[19,0,[]],[19,0,[\\\"clikedCharacter\\\"]]],null]]],{\\\"statements\\\":[[0,\\\"            \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-avatar-character\\\"],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,1,[\\\"avatarURL\\\"]]],null,{\\\"statements\\\":[[0,\\\"                \\\"],[6,\\\"img\\\"],[9,\\\"class\\\",\\\"img-avatar-character\\\"],[10,\\\"src\\\",[26,[[19,1,[\\\"avatarURL\\\"]]]]],[10,\\\"alt\\\",[26,[\\\"Avatar for \\\",[19,1,[\\\"name\\\"]]]]],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"                \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-avatar-character icon-user\\\"],[7],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"            \\\"],[8],[0,\\\"\\\\n            \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"content-item-panelChooseCharacter\\\"],[7],[1,[19,1,[\\\"name\\\"]],false],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"          \\\"],[6,\\\"button\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"class\\\",\\\"button-reset button-editCharacter-panelChooseCharacter\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedEditCharacter\\\",[19,1,[]]]],[7],[0,\\\"Edit\\\"],[8],[0,\\\"\\\\n        \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n  \\\"],[6,\\\"button\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"name\\\",\\\"button\\\"],[9,\\\"class\\\",\\\"button-reset button-addCharacter-panel-chooseCharacter button-controls-panel-chooseCharacter\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedAddNewCharacter\\\"]],[7],[0,\\\"\\\\n    \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"text-white icon-plus icon-button-panel-chooseCharacter\\\"],[7],[8],[0,\\\"\\\\n  \\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\\n\\\"],[1,[25,\\\"modal-edit-character\\\",null,[[\\\"character\\\",\\\"isActive\\\",\\\"clickOverlayToClose\\\",\\\"clickedOpenRenameCharacter\\\",\\\"clickedOpenChangeImage\\\",\\\"clickedDeleteCharacter\\\",\\\"clickedCloseModal\\\"],[[19,0,[\\\"focusedCharacter\\\"]],[19,0,[\\\"showModalEditCharacter\\\"]],true,[25,\\\"action\\\",[[19,0,[]],\\\"clickedOpenRenameCharacter\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"clickedOpenChangeImage\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"clickedDeleteCharacter\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"clickedCloseModalEditCharacter\\\"],null]]]],false],[0,\\\"\\\\n\\\\n\\\"],[1,[25,\\\"modal-rename-character\\\",null,[[\\\"character\\\",\\\"isActive\\\",\\\"noFooter\\\",\\\"formSubmitted\\\",\\\"clickedCloseModal\\\",\\\"clickedCancelRenameCharacter\\\"],[[19,0,[\\\"focusedCharacter\\\"]],[19,0,[\\\"showModalRenameCharacter\\\"]],true,[25,\\\"action\\\",[[19,0,[]],\\\"renameCharacterFormSubmitted\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"clickedCancelRenameCharacter\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"clickedCancelRenameCharacter\\\"],null]]]],false],[0,\\\"\\\\n\\\\n\\\"],[1,[25,\\\"modal-confirm-delete-character\\\",null,[[\\\"character\\\",\\\"isActive\\\",\\\"isLoading\\\",\\\"noFooter\\\",\\\"clickedConfirmDelete\\\",\\\"clickedCloseModal\\\",\\\"clickedCancelDelete\\\"],[[19,0,[\\\"character\\\"]],[19,0,[\\\"showModalConfirmDeleteCharacter\\\"]],[19,0,[\\\"modalConfirmDeleteCharacterIsLoading\\\"]],true,[25,\\\"action\\\",[[19,0,[]],\\\"clickedConfirmDelete\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"clickedCancelDelete\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"clickedCancelDelete\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/panel-characters.hbs\" } });\n});","define(\"spellbinder2/templates/components/scroll-view\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"KUC8qGzo\", \"block\": \"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-scrollView-inner\\\"],[7],[0,\\\"\\\\n  \\\"],[11,1],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/scroll-view.hbs\" } });\n});","define(\"spellbinder2/templates/components/segment-segmented-filter\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"BN0iNPy1\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[20,[\\\"segment\\\",\\\"name\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/segment-segmented-filter.hbs\" } });\n});","define(\"spellbinder2/templates/components/segmented-filter\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"2JEeSsuV\", \"block\": \"{\\\"symbols\\\":[\\\"segment\\\",\\\"index\\\"],\\\"statements\\\":[[4,\\\"each\\\",[[19,0,[\\\"segments\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[1,[25,\\\"segment-segmentedFilter\\\",null,[[\\\"segment\\\",\\\"activeSegment\\\",\\\"clickedSegment\\\"],[[19,1,[]],[19,0,[\\\"activeSegment\\\"]],[25,\\\"action\\\",[[19,0,[]],\\\"clickedSegment\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1,2]},null]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/segmented-filter.hbs\" } });\n});","define(\"spellbinder2/templates/components/spell-description\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"Aqjhp1I6\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[25,\\\"markdown-to-html\\\",[[19,0,[\\\"description\\\"]]],null],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/spell-description.hbs\" } });\n});","define(\"spellbinder2/templates/components/spell-slots-manager\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"MKyrARzW\", \"block\": \"{\\\"symbols\\\":[\\\"slotLevel\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"container-overlay-modal \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null]]]],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedOverlay\\\"]],[7],[8],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",[26,[\\\"container-spellSlotsManager-inner \\\",[25,\\\"if\\\",[[19,0,[\\\"isActive\\\"]],\\\"is-active\\\"],null]]]],[7],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[19,0,[\\\"slots\\\"]]],null,{\\\"statements\\\":[[4,\\\"scroll-view\\\",null,null,{\\\"statements\\\":[[4,\\\"each\\\",[[19,0,[\\\"slotsOrganized\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[1,[25,\\\"level-spellSlots\\\",null,[[\\\"slotLevel\\\",\\\"character\\\"],[[19,1,[]],[19,0,[\\\"character\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"parameters\\\":[]},null],[0,\\\"    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-controls-spellSlotManager\\\"],[7],[0,\\\"\\\\n      \\\"],[6,\\\"button\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"name\\\",\\\"button\\\"],[9,\\\"class\\\",\\\"button-reset button-addCharacter\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedRefreshSlots\\\"]],[7],[0,\\\"\\\\n        \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"text-white icon-sync icon-button-controls-spellSlotManager\\\"],[7],[8],[0,\\\"\\\\n        \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"text-white copy-title\\\"],[7],[0,\\\"Reset\\\"],[8],[0,\\\"\\\\n      \\\"],[8],[0,\\\"\\\\n\\\\n      \\\"],[6,\\\"button\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"name\\\",\\\"button\\\"],[9,\\\"class\\\",\\\"button-reset button-addCharacter\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedEditSpellSlot\\\"]],[7],[0,\\\"\\\\n        \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"text-white icon-feather2 icon-button-controls-spellSlotManager\\\"],[7],[8],[0,\\\"\\\\n        \\\"],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"text-white copy-title\\\"],[7],[0,\\\"Edit\\\"],[8],[0,\\\"\\\\n      \\\"],[8],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-emptyState-spellSlotManager\\\"],[7],[0,\\\"\\\\n      \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-content-emptyState-spellSlotManager\\\"],[7],[0,\\\"\\\\n        \\\"],[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"heading-emptyState-spellSlotManager copy-title\\\"],[7],[0,\\\"No Spell Slots\\\"],[8],[0,\\\"\\\\n        \\\"],[6,\\\"button\\\"],[9,\\\"type\\\",\\\"button\\\"],[9,\\\"class\\\",\\\"button width-full outline-yellowMedium text-yellowMedium\\\"],[9,\\\"style\\\",\\\"touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;\\\"],[3,\\\"action\\\",[[19,0,[]],\\\"clickedEditSpellSlot\\\"]],[7],[6,\\\"span\\\"],[9,\\\"class\\\",\\\"icon-button-emptyState-spellSlotManager icon-feather2 text-yellowMedium\\\"],[7],[8],[0,\\\"Edit Now\\\"],[8],[0,\\\"\\\\n      \\\"],[8],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[8],[0,\\\"\\\\n\\\\n\\\"],[1,[25,\\\"modal-edit-spell-slots\\\",null,[[\\\"isActive\\\",\\\"character\\\",\\\"slots\\\",\\\"noFooter\\\",\\\"clickedCloseModal\\\",\\\"clickedCancelEdit\\\",\\\"clickedConfirmEdit\\\"],[[19,0,[\\\"showModalEditSpellSlots\\\"]],[19,0,[\\\"character\\\"]],[19,0,[\\\"slots\\\"]],true,[25,\\\"action\\\",[[19,0,[]],\\\"clickedCancelEdit\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"clickedCancelEdit\\\"],null],[25,\\\"action\\\",[[19,0,[]],\\\"clickedConfirmEdit\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/components/spell-slots-manager.hbs\" } });\n});","define(\"spellbinder2/templates/loading\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"Ecm1yNZh\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-loading-application\\\"],[7],[0,\\\"\\\\n  \\\"],[1,[18,\\\"animation-loading\\\"],false],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/loading.hbs\" } });\n});","define(\"spellbinder2/templates/login\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"JCKh9t5u\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-page-login\\\"],[7],[0,\\\"\\\\n  \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-content-login\\\"],[7],[0,\\\"\\\\n\\\\n    \\\"],[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"logo\\\"],[7],[0,\\\"SpellBinder\\\"],[8],[0,\\\"\\\\n\\\\n    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-options-login\\\"],[7],[0,\\\"\\\\n      \\\"],[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"heading-login-options\\\"],[7],[0,\\\"Login\\\"],[8],[0,\\\"\\\\n      \\\"],[1,[25,\\\"form-login\\\",null,[[\\\"formSubmitted\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"formSubmitted\\\"],null]]]],false],[0,\\\"\\\\n      \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"divider\\\"],[7],[0,\\\"\\\\n\\\\n      \\\"],[8],[0,\\\"\\\\n      \\\"],[4,\\\"link-to\\\",[\\\"register\\\"],[[\\\"class\\\"],[\\\"button outline-yellowMedium text-yellowMedium width-full button-registerAccount\\\"]],{\\\"statements\\\":[[0,\\\"Create an Account\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n  \\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/login.hbs\" } });\n});","define(\"spellbinder2/templates/register\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"1oEA6L1R\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-page-login\\\"],[7],[0,\\\"\\\\n  \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-content-login\\\"],[7],[0,\\\"\\\\n\\\\n    \\\"],[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"logo\\\"],[7],[0,\\\"SpellBinder\\\"],[8],[0,\\\"\\\\n\\\\n    \\\"],[6,\\\"div\\\"],[9,\\\"class\\\",\\\"container-options-login\\\"],[7],[0,\\\"\\\\n      \\\"],[6,\\\"h1\\\"],[9,\\\"class\\\",\\\"heading-login-options\\\"],[7],[0,\\\"Register An Account\\\"],[8],[0,\\\"\\\\n      \\\"],[1,[25,\\\"form-register\\\",null,[[\\\"formSubmitted\\\"],[[25,\\\"action\\\",[[19,0,[]],\\\"formSubmitted\\\"],null]]]],false],[0,\\\"\\\\n    \\\"],[8],[0,\\\"\\\\n  \\\"],[8],[0,\\\"\\\\n\\\"],[8],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"spellbinder2/templates/register.hbs\" } });\n});","define('spellbinder2/torii-adapters/application', ['exports', 'emberfire/torii-adapters/firebase'], function (exports, _firebase) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _firebase.default.extend({});\n});","define('spellbinder2/torii-providers/firebase', ['exports', 'emberfire/torii-providers/firebase'], function (exports, _firebase) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _firebase.default;\n});","define('spellbinder2/utils/get-cmd-key', ['exports', 'ember-keyboard/utils/get-cmd-key'], function (exports, _getCmdKey) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _getCmdKey.default;\n    }\n  });\n});","define('spellbinder2/utils/listener-name', ['exports', 'ember-keyboard/utils/listener-name'], function (exports, _listenerName) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _listenerName.default;\n    }\n  });\n});","define('spellbinder2/validations/createCharacter', ['exports', 'ember-changeset-validations/validators'], function (exports, _validators) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    characterName: (0, _validators.validatePresence)(true)\n  };\n});","define('spellbinder2/validations/login', ['exports', 'ember-changeset-validations/validators'], function (exports, _validators) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    email: (0, _validators.validateFormat)({ type: 'email' }),\n    password: (0, _validators.validatePresence)(true)\n  };\n});","define('spellbinder2/validations/register', ['exports', 'ember-changeset-validations/validators'], function (exports, _validators) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    email: (0, _validators.validateFormat)({ type: 'email' }),\n    password: (0, _validators.validatePresence)(true),\n    passwordConfirmation: (0, _validators.validateConfirmation)({ on: 'password' })\n  };\n});","\n","define('spellbinder2/config/environment', ['ember'], function(Ember) {\n  var prefix = 'spellbinder2';\ntry {\n  var metaName = prefix + '/config/environment';\n  var rawConfig = document.querySelector('meta[name=\"' + metaName + '\"]').getAttribute('content');\n  var config = JSON.parse(unescape(rawConfig));\n\n  var exports = { 'default': config };\n\n  Object.defineProperty(exports, '__esModule', { value: true });\n\n  return exports;\n}\ncatch(err) {\n  throw new Error('Could not read config from meta tag with name \"' + metaName + '\".');\n}\n\n});\n","if (!runningTests) {\n  require(\"spellbinder2/app\")[\"default\"].create({\"name\":\"spellbinder2\",\"version\":\"0.0.0+9b946c41\"});\n}\n"],"names":[],"mappings":"AAAA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;","file":"spellbinder2.js"}