{"version":3,"sources":["x-todo/adapters/application.js","x-todo/app.js","x-todo/components/click-to-edit-text.js","x-todo/components/color-picker.js","x-todo/components/date-field.js","x-todo/components/date-time-field.js","x-todo/components/native-date.js","x-todo/components/replacing-field.js","x-todo/controllers/application.js","x-todo/controllers/categories.js","x-todo/controllers/category.js","x-todo/controllers/editable-object.js","x-todo/controllers/task.js","x-todo/initializers/export-application-global.js","x-todo/models/category.js","x-todo/models/task.js","x-todo/router.js","x-todo/routes/categories.js","x-todo/serializers/application.js","x-todo/serializers/category.js","x-todo/serializers/task.js","x-todo/templates/application.js","x-todo/templates/categories.js","x-todo/templates/components/click-to-edit-text.js","x-todo/templates/components/color-picker.js","x-todo/templates/components/date-time-field.js","x-todo/templates/components/native-date.js","x-todo/templates/components/replacing-field.js","x-todo/templates/loading.js","x-todo/templates/task.js","x-todo/tests/adapters/application.jshint.js","x-todo/tests/app.jshint.js","x-todo/tests/components/click-to-edit-text.jshint.js","x-todo/tests/components/color-picker.jshint.js","x-todo/tests/components/date-field.jshint.js","x-todo/tests/components/date-time-field.jshint.js","x-todo/tests/components/native-date.jshint.js","x-todo/tests/components/replacing-field.jshint.js","x-todo/tests/controllers/application.jshint.js","x-todo/tests/controllers/categories.jshint.js","x-todo/tests/controllers/category.jshint.js","x-todo/tests/controllers/editable-object.jshint.js","x-todo/tests/controllers/task.jshint.js","x-todo/tests/helpers/resolver.js","x-todo/tests/helpers/start-app.js","x-todo/tests/models/category.jshint.js","x-todo/tests/models/task.jshint.js","x-todo/tests/router.jshint.js","x-todo/tests/routes/categories.jshint.js","x-todo/tests/serializers/application.jshint.js","x-todo/tests/serializers/category.jshint.js","x-todo/tests/serializers/task.jshint.js","x-todo/tests/test-helper.js","x-todo/tests/transforms/moment.jshint.js","x-todo/tests/unit/adapters/application-test.js","x-todo/tests/unit/components/click-to-edit-date-test.js","x-todo/tests/unit/components/click-to-edit-text-test.js","x-todo/tests/unit/components/color-picker-test.js","x-todo/tests/unit/components/date-field-test.js","x-todo/tests/unit/components/date-time-field-test.js","x-todo/tests/unit/components/native-date-test.js","x-todo/tests/unit/components/replacing-field-test.js","x-todo/tests/unit/components/time-field-test.js","x-todo/tests/unit/controllers/application-test.js","x-todo/tests/unit/controllers/categories-test.js","x-todo/tests/unit/controllers/category-test.js","x-todo/tests/unit/controllers/editable-object-test.js","x-todo/tests/unit/controllers/task-test.js","x-todo/tests/unit/models/category-test.js","x-todo/tests/unit/models/task-test.js","x-todo/tests/unit/routes/categories-test.js","x-todo/tests/unit/serializers/application-test.js","x-todo/tests/unit/serializers/category-test.js","x-todo/tests/unit/serializers/task-test.js","x-todo/tests/unit/transforms/moment-test.js","x-todo/tests/unit/views/category-test.js","x-todo/tests/unit/views/loading-test.js","x-todo/tests/unit/views/task-test.js","x-todo/tests/views/category.jshint.js","x-todo/tests/views/loading.jshint.js","x-todo/tests/views/task.jshint.js","x-todo/tests/x-todo/tests/helpers/resolver.jshint.js","x-todo/tests/x-todo/tests/helpers/start-app.jshint.js","x-todo/tests/x-todo/tests/test-helper.jshint.js","x-todo/tests/x-todo/tests/unit/adapters/application-test.jshint.js","x-todo/tests/x-todo/tests/unit/components/click-to-edit-date-test.jshint.js","x-todo/tests/x-todo/tests/unit/components/click-to-edit-text-test.jshint.js","x-todo/tests/x-todo/tests/unit/components/color-picker-test.jshint.js","x-todo/tests/x-todo/tests/unit/components/date-field-test.jshint.js","x-todo/tests/x-todo/tests/unit/components/date-time-field-test.jshint.js","x-todo/tests/x-todo/tests/unit/components/native-date-test.jshint.js","x-todo/tests/x-todo/tests/unit/components/replacing-field-test.jshint.js","x-todo/tests/x-todo/tests/unit/components/time-field-test.jshint.js","x-todo/tests/x-todo/tests/unit/controllers/application-test.jshint.js","x-todo/tests/x-todo/tests/unit/controllers/categories-test.jshint.js","x-todo/tests/x-todo/tests/unit/controllers/category-test.jshint.js","x-todo/tests/x-todo/tests/unit/controllers/editable-object-test.jshint.js","x-todo/tests/x-todo/tests/unit/controllers/task-test.jshint.js","x-todo/tests/x-todo/tests/unit/models/category-test.jshint.js","x-todo/tests/x-todo/tests/unit/models/task-test.jshint.js","x-todo/tests/x-todo/tests/unit/routes/categories-test.jshint.js","x-todo/tests/x-todo/tests/unit/serializers/application-test.jshint.js","x-todo/tests/x-todo/tests/unit/serializers/category-test.jshint.js","x-todo/tests/x-todo/tests/unit/serializers/task-test.jshint.js","x-todo/tests/x-todo/tests/unit/transforms/moment-test.jshint.js","x-todo/tests/x-todo/tests/unit/views/category-test.jshint.js","x-todo/tests/x-todo/tests/unit/views/loading-test.jshint.js","x-todo/tests/x-todo/tests/unit/views/task-test.jshint.js","x-todo/transforms/moment.js","x-todo/views/category.js","x-todo/views/loading.js","x-todo/views/task.js","vendor/ember-cli/app-suffix.js"],"sourcesContent":["define(\"x-todo/adapters/application\", \n  [\"ember-data\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    var DS = __dependency1__[\"default\"];\n    var staticEnvironment = window.XTodo.environment === \"static\";\n\n    __exports__[\"default\"] = staticEnvironment ? DS.FixtureAdapter : DS.RESTAdapter.extend({\n\n      namespace: \"api\",\n      host: \"http://localhost:50993\"\n\n    });\n  });","define(\"x-todo/app\", \n  [\"ember\",\"ember/resolver\",\"ember/load-initializers\",\"x-todo/config/environment\",\"exports\"],\n  function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __exports__) {\n    \"use strict\";\n    var Ember = __dependency1__[\"default\"];\n    var Resolver = __dependency2__[\"default\"];\n    var loadInitializers = __dependency3__[\"default\"];\n    var config = __dependency4__[\"default\"];\n\n    Ember.MODEL_FACTORY_INJECTIONS = true;\n\n    var App = Ember.Application.extend({\n      modulePrefix: config.modulePrefix,\n      podModulePrefix: config.podModulePrefix,\n      Resolver: Resolver\n    });\n\n    loadInitializers(App, config.modulePrefix);\n\n    __exports__[\"default\"] = App;\n  });","define(\"x-todo/components/click-to-edit-text\", \n  [\"ember\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    var Ember = __dependency1__[\"default\"];\n\n    var RETURN = 13,\n        ESCAPE = 27;\n\n    __exports__[\"default\"] = Ember.Component.extend({\n\n      classNames: [\"click-to-edit-text\"],\n      attributeBindings: [\"style\"],\n\n      didInsertElement: function () {\n        var self = this;\n\n        this.$(\"input\").on(\"blur\", function () {\n          self.sendAction(\"blur\");\n          self.set(\"editing\", false);\n        }).on(\"keyup\", function (event) {\n          if (event.which === RETURN) {\n            self.sendAction(\"return\");\n            self.set(\"editing\", false);\n            return;\n          }\n\n          if (event.which === ESCAPE) {\n            self.set(\"editing\", false);\n          }\n        });\n      },\n\n      click: function () {\n        if (!this.get(\"editing\")) {\n          this.set(\"editing\", true);\n        }\n      },\n\n      focusInput: (function () {\n        if (this.get(\"editing\")) {\n          Ember.run.scheduleOnce(\"afterRender\", this, function () {\n            this.$(\"input\").focus();\n          });\n        }\n      }).observes(\"editing\").on(\"didInsertElement\")\n\n    });\n  });","define(\"x-todo/components/color-picker\", \n  [\"ember\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    /* global tinycolor */\n\n    var Ember = __dependency1__[\"default\"];\n\n    var colors = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(function (i) {\n      var color = tinycolor(\"#b76868\").spin(-30 * i).toString();\n      return {\n        color: color,\n        colorStyle: \"color: \" + color + \";\",\n        backgroundColorStyle: \"background-color: \" + color + \";\"\n      };\n    });\n\n    __exports__[\"default\"] = Ember.Component.extend({\n\n      classNames: [\"color-picker\"],\n\n      didInsertElement: function () {\n        this.$(\".ui.dropdown\").dropdown();\n        if (!this.get(\"selectedColor\")) {\n          this.assignDefaultColor();\n        }\n      },\n\n      assignDefaultColor: function () {\n        var options = colors.filter((function (c) {\n          return !(this.get(\"defaultColorExcludes\") || []).contains(c.color);\n        }).bind(this));\n        if (!options.length) {\n          options = colors;\n        }\n        this.set(\"selectedColor\", options[Math.floor(Math.random() * (options.length - 1))].color);\n      },\n\n      colorData: (function () {\n        return colors.map((function (c) {\n          return {\n            selected: c.color === this.get(\"selectedColor\"),\n            data: c\n          };\n        }).bind(this));\n      }).property(\"selectedColor\"),\n\n      selectedColorData: (function () {\n        return colors.find((function (c) {\n          return c.color === this.get(\"selectedColor\");\n        }).bind(this));\n      }).property(\"selectedColor\"),\n\n      updateController: (function () {\n        this.sendAction(\"updatedColorData\", this.get(\"selectedColorData\"));\n      }).observes(\"selectedColorData\").on(\"init\"),\n\n      actions: {\n        pickColor: function (color) {\n          this.set(\"selectedColor\", color.color);\n        }\n      }\n\n    });\n  });","define(\"x-todo/components/date-field\", \n  [\"ember\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    /* global Pikaday, moment */\n\n    var Ember = __dependency1__[\"default\"];\n\n    __exports__[\"default\"] = Ember.TextField.extend({\n      picker: null,\n\n      updateValue: (function () {\n        var date = this.get(\"date\"),\n            picker = this.get(\"picker\");\n        if (picker && date.isValid() && !this.$().is(\":focus\")) {\n          this.set(\"value\", date.format(\"L\"));\n          picker.setDate(date.format(\"L\"));\n        }\n      }).observes(\"date\"),\n\n      updateDate: (function () {\n        var previousDate = this.get(\"date\"),\n            date = moment(new Date(this.get(\"value\"))).hour(previousDate.hour()).minute(previousDate.minute());\n        if (date.isValid()) {\n          this.set(\"date\", date);\n        } else {\n          this.set(\"date\", null);\n        }\n      }).observes(\"value\"),\n\n      didInsertElement: function () {\n        var picker = new Pikaday({\n          field: this.$()[0],\n          format: \"MM/DD/YYYY\"\n        });\n        this.set(\"picker\", picker);\n        this.updateValue();\n        picker.show();\n      },\n\n      willDestroyElement: function () {\n        var picker = this.get(\"picker\");\n        if (picker) {\n          picker.destroy();\n        }\n        this.set(\"picker\", null);\n      }\n    });\n  });","define(\"x-todo/components/date-time-field\", \n  [\"ember\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    var Ember = __dependency1__[\"default\"];\n    var doneTimer,\n        RETURN = 13,\n        ESCAPE = 27;\n\n    __exports__[\"default\"] = Ember.Component.extend({\n\n      classNames: [\"date-time-field\", \"ui\", \"input\"],\n\n      isMobile: (function () {\n        var check = false;\n        (function (a) {\n          if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) {\n            check = true;\n          }\n        })(navigator.userAgent || navigator.vendor || window.opera);\n        return check;\n      }).property(),\n\n      hour: (function () {\n        return this.get(\"date\").hour();\n      }).property(\"date\"),\n\n      minute: (function () {\n        return this.get(\"date\").format(\"mm\");\n      }).property(\"date\"),\n\n      meridiem: (function () {\n        return this.get(\"date\").format(\"A\");\n      }).property(\"date\"),\n\n      formattedHour: (function () {\n        return this.get(\"date\").format(\"h\");\n      }).property(\"date\"),\n\n      updateTime: (function () {\n        var h = this.get(\"formattedHour\") % 12 + (this.get(\"meridiem\") === \"AM\" ? 0 : 12);\n        this.set(\"date\", this.get(\"date\").hour(h).minute(this.get(\"minute\")));\n      }).observes(\"formattedHour\", \"minute\", \"meridiem\"),\n\n      focusOut: function () {\n        doneTimer = Ember.run.later(this, function () {\n          this.sendAction(\"done\");\n        }, 100);\n      },\n\n      focusIn: function () {\n        Ember.run.cancel(doneTimer);\n      },\n\n      keyDown: function (event) {\n        if ([RETURN, ESCAPE].contains(event.which)) {\n          this.sendAction(\"done\");\n        }\n      },\n\n      actions: {\n        advance: function () {\n          var inputs = this.$(\"input\");\n          inputs.eq(inputs.index(inputs.filter(\":focus\")) + 1).focus();\n        }\n      }\n\n    });\n  });","define(\"x-todo/components/native-date\", \n  [\"ember\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    /* global moment */\n\n    var Ember = __dependency1__[\"default\"];\n\n    __exports__[\"default\"] = Ember.TextField.extend({\n\n      didInsertElement: function () {\n        this.$().focus();\n      },\n\n      textToDateTransform: (function (key, value) {\n        var date;\n        if (arguments.length === 2) {\n          if (value && /\\d{4}-\\d{2}-\\d{2}/.test(value)) {\n            var parts = value.split(\"-\");\n            date = new Date();\n            date.setYear(parts[0]);\n            date.setMonth(parts[1] - 1);\n            date.setDate(parts[2]);\n\n            this.set(\"date\", moment(date));\n          } else {\n            this.set(\"date\", null);\n          }\n        } else if (!value && this.get(\"date\")) {\n          return this.get(\"date\").format(\"YYYY-MM-DD\");\n        } else {\n          return value;\n        }\n      }).property(),\n\n      placeholder: \"yyyy-mm-dd\",\n      valueBinding: \"textToDateTransform\"\n    });\n  });","define(\"x-todo/components/replacing-field\", \n  [\"ember\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    var Ember = __dependency1__[\"default\"];\n    var reselectTimer,\n        LEFT_ARROW = 37,\n        RIGHT_ARROW = 39,\n        RETURN = 13,\n        ESCAPE = 27,\n        SPACE = 32;\n\n    __exports__[\"default\"] = Ember.TextField.extend({\n\n      classNames: [\"replacing-field\"],\n      interval: 1000,\n      validationPattern: \".*\",\n\n\n      willReplace: function () {\n        return Math.abs(this.element.selectionEnd - this.element.selectionStart) === this.get(\"value.length\");\n      },\n\n      selectText: (function () {\n        // There's a chance the element has already been removed\n        if (this.element) {\n          this.element.setSelectionRange(0, this.element.value.length);\n        }\n      }).on(\"focusIn\", \"click\"),\n\n      cancelReselection: (function () {\n        Ember.run.cancel(reselectTimer);\n      }).on(\"focusOut\"),\n\n      keyDown: function (event) {\n        if (event.which === LEFT_ARROW || event.which === RIGHT_ARROW) {\n          return false;\n        }\n        if (event.which === RETURN || event.which === ESCAPE || event.which <= 46 && event.which !== SPACE) {\n          return true;\n        }\n\n        var key = String.fromCharCode(event.which),\n            optionsString = this.get(\"autocompleteOptions\"),\n            options = optionsString ? optionsString.split(\",\") : [],\n            advanceCharactersString = this.get(\"advanceCharacters\"),\n            advanceCharacters = advanceCharactersString ? advanceCharactersString.split(\",\") : [],\n            advanceShiftCharacters = advanceCharacters.map(function (c) {\n          return !! ~c.indexOf(\"SHIFT\") ? c.replace(\"SHIFT\", \"\") : undefined;\n        });\n\n        if (advanceCharacters.contains(key) || event.shiftKey && advanceShiftCharacters.contains(key)) {\n          this.sendAction(\"advance\");\n          return false;\n        }\n\n        if (options.length && this.willReplace()) {\n          var option = options.find(function (o) {\n            return o.toLowerCase().indexOf(key.toLowerCase()) === 0;\n          });\n          if (option) {\n            this.set(\"value\", option);\n            Ember.run.scheduleOnce(\"afterRender\", this, \"selectText\");\n          }\n          return false;\n        }\n\n\n        if (new RegExp(this.get(\"validationPattern\")).test(this.willReplace() ? key : this.get(\"value\") + key)) {\n          return true;\n        }\n\n        return false;\n      },\n\n      reselect: (function () {\n        if (this.$().is(\":focus\")) {\n          reselectTimer = Ember.run.debounce(this, \"selectText\", this.get(\"interval\"));\n        }\n      }).observes(\"value\")\n\n    });\n  });","define(\"x-todo/controllers/application\", \n  [\"ember\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    var Ember = __dependency1__[\"default\"];\n\n    __exports__[\"default\"] = Ember.Controller.extend({\n\n      countTime: (function () {\n        this.set(\"currentTime\", new Date());\n        Ember.run.later(this, \"countTime\", 1000);\n      }).on(\"init\")\n\n    });\n  });","define(\"x-todo/controllers/categories\", \n  [\"ember\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    var Ember = __dependency1__[\"default\"];\n\n    __exports__[\"default\"] = Ember.ArrayController.extend(Ember.SortableMixin, {\n\n      sortProperties: [\"index\"],\n\n      anyCompleted: (function () {\n        return this.get(\"completedTasks.length\");\n      }).property(\"completedTasks.length\"),\n\n      completedTasks: (function () {\n        return [].concat.apply([], this.get(\"model\").map(function (c) {\n          return c.get(\"tasks\").filter(function (t) {\n            return t.get(\"completed\");\n          });\n        }));\n      }).property(),\n\n      usedColors: (function () {\n        return this.get(\"model\").map(function (c) {\n          return c.get(\"color\");\n        });\n      }).property(\"@each.color\"),\n\n      updateIndexes: (function () {\n        var categories = this.get(\"arrangedContent\");\n        this.beginPropertyChanges();\n        for (var i = 0; i < categories.length; i++) {\n          if (categories[i].get(\"index\") !== i) {\n            categories[i].set(\"index\", i);\n            categories[i].save();\n          }\n        }\n        this.endPropertyChanges();\n      }).observes(\"[]\"),\n\n      actions: {\n\n        addCategory: function () {\n          // Create on client side, persist after user names it\n          this.store.createRecord(\"category\", {\n            index: this.get(\"length\") // Add to the end\n          });\n        },\n\n        removeCompletedTasks: function () {\n          this.get(\"completedTasks\").forEach(function (t) {\n            if (! ~t.get(\"currentState.stateName\").indexOf(\"inFlight\")) {\n              t.destroyRecord();\n            }\n          });\n        }\n      }\n\n    });\n  });","define(\"x-todo/controllers/category\", \n  [\"ember\",\"x-todo/controllers/editable-object\",\"exports\"],\n  function(__dependency1__, __dependency2__, __exports__) {\n    \"use strict\";\n    var Ember = __dependency1__[\"default\"];\n    var EditableObjectController = __dependency2__[\"default\"];\n    var previousName;\n\n    __exports__[\"default\"] = EditableObjectController.extend({\n\n      needs: [\"categories\"],\n\n      isValid: (function () {\n        return (this.get(\"name\") || \"\").trim().length > 0;\n      }).property(\"name\"),\n\n      sortedTasks: (function () {\n        return Ember.ArrayProxy.createWithMixins(Ember.SortableMixin, {\n          sortProperties: [\"index\"],\n          content: this.get(\"tasks\")\n        });\n      }).property(\"tasks\"),\n\n      notifyCompletedTasks: (function () {\n        this.get(\"controllers.categories\").notifyPropertyChange(\"completedTasks\");\n      }).observes(\"tasks.@each.completed\"),\n\n      setPreviousName: (function () {\n        if (this.get(\"editing\")) {\n          previousName = this.get(\"name\");\n        }\n      }).observes(\"editing\"),\n\n      undoDeletingNameOrDeleteEmpty: (function () {\n        if (!this.get(\"editing\") && !this.get(\"name.length\")) {\n          if (this.get(\"tasks.length\")) {\n            this.set(\"name\", previousName);\n          } else {\n            this.send(\"delete\");\n          }\n        }\n      }).observes(\"editing\"),\n\n      actions: {\n\n        addTask: function () {\n          this.store.createRecord(\"task\", {\n            index: this.get(\"tasks\").get(\"length\"),\n            category: this.get(\"model\")\n          });\n        },\n\n        saveAutomatically: (function () {\n          this._super();\n        }).observes(\"name\", \"color\"),\n\n        \"delete\": function () {\n          if (!this.get(\"tasks\").get(\"length\") || confirm(\"All tasks in this category will be deleted.\")) {\n            this.get(\"model\").destroyRecord();\n          }\n        },\n\n        updateColor: function (colorData) {\n          this.set(\"colorData\", colorData);\n        },\n\n        updateTaskIndexes: function (indexHash) {\n          var updateTask = function (task) {\n            if (task.get(\"index\") !== indexHash[this]) {\n              task.set(\"index\", indexHash[this]);\n              task.save();\n            }\n          };\n\n          this.beginPropertyChanges();\n          for (var taskId in indexHash) {\n            this.store.find(\"task\", parseInt(taskId)).then(updateTask.bind(taskId));\n          }\n          this.endPropertyChanges();\n        },\n\n        updateTaskCategory: function (taskId) {\n          this.store.find(\"task\", taskId).then((function (t) {\n            t.set(\"category\", this.get(\"model\"));\n            t.save();\n          }).bind(this));\n        }\n      }\n\n    });\n  });","define(\"x-todo/controllers/editable-object\", \n  [\"ember\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    var Ember = __dependency1__[\"default\"];\n\n    __exports__[\"default\"] = Ember.ObjectController.extend({\n\n      editing: false,\n      saving: false,\n\n      // Go straight to editing mode for new records\n      init: function () {\n        if (this.get(\"currentState.stateName\") === \"root.loaded.created.uncommitted\") {\n          this.set(\"editing\", true);\n        }\n      },\n\n      save: function () {\n        if (!this.get(\"saving\") && this.get(\"isDirty\") && this.get(\"isValid\")) {\n          var self = this;\n          this.set(\"saving\", true);\n          this.get(\"model\").save().then(function () {\n            self.set(\"saving\", false);\n          });\n        }\n      },\n\n      // Automatically save changes after inactivity of 1 second\n      saveAutomatically: (function () {\n        if (this.get(\"isDirty\") && this.get(\"isValid\")) {\n          Ember.run.debounce(this, \"save\", 1000);\n        }\n      }).observes(\"isDirty\", \"isValid\").on(\"init\")\n\n    });\n  });","define(\"x-todo/controllers/task\", \n  [\"x-todo/controllers/editable-object\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    /* global moment */\n\n    var EditableObjectController = __dependency1__[\"default\"];\n    var staticEnvironment = window.XTodo.environment === \"static\";\n\n    __exports__[\"default\"] = EditableObjectController.extend({\n\n      needs: [\"application\"],\n\n      dueDate: staticEnvironment ? (function () {\n        var dueDate = this.get(\"model.dueDate\");\n        if (dueDate) {\n          return moment(dueDate);\n        }\n        return null;\n      }).property(\"model.dueDate\") : undefined,\n\n      overdue: (function () {\n        return !this.get(\"completed\") && (this.get(\"dueDate\") || Infinity) < this.get(\"controllers.application.currentTime\");\n      }).property(\"dueDate\", \"completed\", \"controllers.application.currentTime\"),\n\n      timeOverdue: (function () {\n        var dueDate = this.get(\"dueDate\");\n        if (dueDate) {\n          return dueDate.fromNow().replace(\" ago\", \"\");\n        }\n      }).property(\"dueDate\", \"controllers.application.currentTime\"),\n\n      isValid: (function () {\n        return (this.get(\"title\") || \"\").trim().length > 0;\n      }).property(\"title\"),\n\n      saveAutomatically: (function () {\n        this._super();\n      }).observes(\"title\", \"completed\"),\n\n      formattedDueDate: (function () {\n        var dueDate = this.get(\"dueDate\");\n        if (dueDate) {\n          return dueDate.calendar();\n        }\n        return null;\n      }).property(\"dueDate\"),\n\n      deleteEmptyTasks: (function () {\n        var title = this.get(\"title\");\n        if (!this.get(\"editing\") && (!title || !title.length)) {\n          this.send(\"delete\");\n        }\n      }).observes(\"editing\"),\n\n      actions: {\n        addDueDate: function () {\n          this.set(\"dueDate\", moment().minute(0).add(1, \"days\"));\n          this.set(\"editingDueDate\", true);\n        },\n\n        removeDueDate: function () {\n          this.set(\"dueDate\", null);\n          this.save();\n        },\n\n        editDueDate: function () {\n          this.set(\"editingDueDate\", true);\n        },\n\n        endEditingDueDate: function () {\n          this.set(\"editingDueDate\", false);\n          this.save();\n        },\n\n        \"delete\": function () {\n          this.get(\"model\").destroyRecord();\n        }\n      }\n\n    });\n  });","define(\"x-todo/initializers/export-application-global\", \n  [\"ember\",\"x-todo/config/environment\",\"exports\"],\n  function(__dependency1__, __dependency2__, __exports__) {\n    \"use strict\";\n    var Ember = __dependency1__[\"default\"];\n    var config = __dependency2__[\"default\"];\n\n    function initialize(container, application) {\n      var classifiedName = Ember.String.classify(config.modulePrefix);\n\n      if (config.exportApplicationGlobal) {\n        window[classifiedName] = application;\n      }\n    };\n    __exports__.initialize = initialize;\n\n    __exports__[\"default\"] = {\n      name: \"export-application-global\",\n\n      initialize: initialize\n    };\n  });","define(\"x-todo/models/category\", \n  [\"ember-data\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    var DS = __dependency1__[\"default\"];\n    var staticEnvironment = window.XTodo.environment === \"static\";\n\n    var Category = DS.Model.extend({\n\n      name: DS.attr(\"string\"),\n      color: DS.attr(\"string\"),\n      disclosed: DS.attr(\"boolean\"),\n      index: DS.attr(\"number\"),\n      tasks: DS.hasMany(\"task\", {\n        async: staticEnvironment\n      })\n\n    });\n\n    if (staticEnvironment) {\n      Category.reopenClass({\n        FIXTURES: [{\n          id: 1,\n          name: \"Work\",\n          color: \"#b768b7\",\n          disclosed: false,\n          index: 0,\n          tasks: [1]\n        }, {\n          id: 2,\n          name: \"Adventure\",\n          color: \"#68b7b7\",\n          disclosed: false,\n          index: 1,\n          tasks: [2, 3]\n        }, {\n          id: 3,\n          name: \"Groceries\",\n          color: \"#68b768\",\n          disclosed: false,\n          index: 2,\n          tasks: [4, 5, 6, 7]\n        }]\n      });\n    }\n\n    __exports__[\"default\"] = Category;\n  });","define(\"x-todo/models/task\", \n  [\"ember-data\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    var DS = __dependency1__[\"default\"];\n    var staticEnvironment = window.XTodo.environment === \"static\";\n\n    var Task = DS.Model.extend({\n\n      title: DS.attr(\"string\"),\n      dueDate: DS.attr(\"moment\"),\n      completed: DS.attr(\"boolean\"),\n      index: DS.attr(\"number\"),\n      category: DS.belongsTo(\"category\")\n\n    });\n\n    if (staticEnvironment) {\n      Task.reopenClass({\n        FIXTURES: [{\n          id: 1,\n          title: \"Get a job\",\n          dueDate: null,\n          completed: false,\n          index: 0,\n          categoryId: 1\n        }, {\n          id: 2,\n          title: \"Buy a kayak and go\",\n          dueDate: null,\n          completed: false,\n          index: 0,\n          categoryId: 2\n        }, {\n          id: 3,\n          title: \"Visit Yosemite\",\n          dueDate: null,\n          completed: false,\n          index: 1,\n          categoryId: 2\n        }, {\n          id: 4,\n          title: \"Pink Lady apples\",\n          dueDate: null,\n          completed: false,\n          index: 0,\n          categoryId: 3\n        }, {\n          id: 5,\n          title: \"Fresh mozzarella\",\n          dueDate: null,\n          completed: false,\n          index: 1,\n          categoryId: 3\n        }, {\n          id: 6,\n          title: \"Roma tomatoes\",\n          dueDate: null,\n          completed: false,\n          index: 2,\n          categoryId: 3\n        }, {\n          id: 7,\n          title: \"Olive oil\",\n          dueDate: null,\n          completed: false,\n          index: 3,\n          categoryId: 3\n        }]\n      });\n    }\n\n    __exports__[\"default\"] = Task;\n  });","define(\"x-todo/router\", \n  [\"ember\",\"x-todo/config/environment\",\"exports\"],\n  function(__dependency1__, __dependency2__, __exports__) {\n    \"use strict\";\n    var Ember = __dependency1__[\"default\"];\n    var config = __dependency2__[\"default\"];\n\n    var Router = Ember.Router.extend({\n      location: config.locationType,\n      rootURL: config.rootURL\n    });\n\n    Router.map(function () {\n      this.route(\"categories\", { path: \"/\" });\n      this.route(\"loading\");\n    });\n\n    __exports__[\"default\"] = Router;\n  });","define(\"x-todo/routes/categories\", \n  [\"ember\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    var Ember = __dependency1__[\"default\"];\n\n    __exports__[\"default\"] = Ember.Route.extend({\n\n      model: function () {\n        return this.store.find(\"category\");\n      }\n\n    });\n  });","define(\"x-todo/serializers/application\", \n  [\"ember\",\"ember-data\",\"exports\"],\n  function(__dependency1__, __dependency2__, __exports__) {\n    \"use strict\";\n    var Ember = __dependency1__[\"default\"];\n    var DS = __dependency2__[\"default\"];\n\n    __exports__[\"default\"] = DS.RESTSerializer.extend({\n\n      serializeIntoHash: function (hash, type, record, options) {\n        if (record.id) {\n          Ember.merge(hash, { id: record.id });\n        }\n        return Ember.merge(hash, this.serialize(record, options));\n      },\n\n      keyForRelationship: function (key) {\n        return key + \"Id\";\n      }\n    });\n  });","define(\"x-todo/serializers/category\", \n  [\"x-todo/serializers/application\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    var ApplicationSerializer = __dependency1__[\"default\"];\n\n    __exports__[\"default\"] = ApplicationSerializer.extend({\n\n      normalizePayload: function (payload) {\n        if (payload instanceof Array) {\n          var tasks = [];\n          payload.forEach(function (c) {\n            tasks = tasks.concat(c.tasks);\n            c.tasks = c.tasks.map(function (t) {\n              return t.id;\n            });\n          });\n\n          return { categories: payload, tasks: tasks };\n        }\n        return { category: payload };\n      }\n\n    });\n  });","define(\"x-todo/serializers/task\", \n  [\"x-todo/serializers/application\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    var ApplicationSerializer = __dependency1__[\"default\"];\n\n    __exports__[\"default\"] = ApplicationSerializer.extend({\n\n      normalizePayload: function (payload) {\n        return { task: payload };\n      }\n\n    });\n  });","define(\"x-todo/templates/application\", \n  [\"exports\"],\n  function(__exports__) {\n    \"use strict\";\n    __exports__[\"default\"] = Ember.HTMLBars.template((function() {\n      return {\n        isHTMLBars: true,\n        blockParams: 0,\n        cachedFragment: null,\n        hasRendered: false,\n        build: function build(dom) {\n          var el0 = dom.createDocumentFragment();\n          var el1 = dom.createElement(\"div\");\n          dom.setAttribute(el1,\"class\",\"ui attached segment\");\n          dom.setAttribute(el1,\"id\",\"container\");\n          var el2 = dom.createTextNode(\"\\n  \");\n          dom.appendChild(el1, el2);\n          var el2 = dom.createElement(\"h1\");\n          dom.setAttribute(el2,\"class\",\"ui header\");\n          var el3 = dom.createTextNode(\"X-Todo\");\n          dom.appendChild(el2, el3);\n          dom.appendChild(el1, el2);\n          var el2 = dom.createTextNode(\"\\n  \");\n          dom.appendChild(el1, el2);\n          var el2 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el1, el2);\n          dom.appendChild(el0, el1);\n          var el1 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el0, el1);\n          return el0;\n        },\n        render: function render(context, env, contextualElement) {\n          var dom = env.dom;\n          var hooks = env.hooks, content = hooks.content;\n          dom.detectNamespace(contextualElement);\n          var fragment;\n          if (this.cachedFragment === null) {\n            fragment = this.build(dom);\n            if (this.hasRendered) {\n              this.cachedFragment = fragment;\n            } else {\n              this.hasRendered = true;\n            }\n          }\n          if (this.cachedFragment) {\n            fragment = dom.cloneNode(this.cachedFragment, true);\n          }\n          var morph0 = dom.createMorphAt(dom.childAt(fragment, [0]),2,3);\n          content(env, morph0, context, \"outlet\");\n          return fragment;\n        }\n      };\n    }()));\n  });","define(\"x-todo/templates/categories\", \n  [\"exports\"],\n  function(__exports__) {\n    \"use strict\";\n    __exports__[\"default\"] = Ember.HTMLBars.template((function() {\n      var child0 = (function() {\n        var child0 = (function() {\n          var child0 = (function() {\n            return {\n              isHTMLBars: true,\n              blockParams: 0,\n              cachedFragment: null,\n              hasRendered: false,\n              build: function build(dom) {\n                var el0 = dom.createDocumentFragment();\n                var el1 = dom.createTextNode(\"        \");\n                dom.appendChild(el0, el1);\n                var el1 = dom.createTextNode(\"\\n\");\n                dom.appendChild(el0, el1);\n                return el0;\n              },\n              render: function render(context, env, contextualElement) {\n                var dom = env.dom;\n                var hooks = env.hooks, get = hooks.get, inline = hooks.inline;\n                dom.detectNamespace(contextualElement);\n                var fragment;\n                if (this.cachedFragment === null) {\n                  fragment = this.build(dom);\n                  if (this.hasRendered) {\n                    this.cachedFragment = fragment;\n                  } else {\n                    this.hasRendered = true;\n                  }\n                }\n                if (this.cachedFragment) {\n                  fragment = dom.cloneNode(this.cachedFragment, true);\n                }\n                var morph0 = dom.createMorphAt(fragment,0,1,contextualElement);\n                inline(env, morph0, context, \"view\", [\"task\"], {\"data-id\": get(env, context, \"task.id\"), \"completed\": get(env, context, \"task.completed\"), \"overdue\": get(env, context, \"task.overdue\"), \"editing\": get(env, context, \"task.editing\")});\n                return fragment;\n              }\n            };\n          }());\n          return {\n            isHTMLBars: true,\n            blockParams: 0,\n            cachedFragment: null,\n            hasRendered: false,\n            build: function build(dom) {\n              var el0 = dom.createDocumentFragment();\n              var el1 = dom.createTextNode(\"    \");\n              dom.appendChild(el0, el1);\n              var el1 = dom.createElement(\"div\");\n              dom.setAttribute(el1,\"class\",\"category-header\");\n              var el2 = dom.createTextNode(\"\\n      \");\n              dom.appendChild(el1, el2);\n              var el2 = dom.createTextNode(\"\\n      \");\n              dom.appendChild(el1, el2);\n              var el2 = dom.createElement(\"h4\");\n              dom.setAttribute(el2,\"class\",\"ui header\");\n              dom.appendChild(el1, el2);\n              var el2 = dom.createTextNode(\"\\n      \");\n              dom.appendChild(el1, el2);\n              var el2 = dom.createElement(\"a\");\n              dom.setAttribute(el2,\"href\",\"#\");\n              dom.setAttribute(el2,\"class\",\"add\");\n              var el3 = dom.createTextNode(\"+\");\n              dom.appendChild(el2, el3);\n              dom.appendChild(el1, el2);\n              var el2 = dom.createTextNode(\"\\n      \");\n              dom.appendChild(el1, el2);\n              var el2 = dom.createElement(\"div\");\n              dom.setAttribute(el2,\"class\",\"right icons\");\n              var el3 = dom.createTextNode(\"\\n        \");\n              dom.appendChild(el2, el3);\n              var el3 = dom.createElement(\"a\");\n              dom.setAttribute(el3,\"href\",\"#\");\n              dom.setAttribute(el3,\"class\",\"delete\");\n              var el4 = dom.createTextNode(\"×\");\n              dom.appendChild(el3, el4);\n              dom.appendChild(el2, el3);\n              var el3 = dom.createTextNode(\"\\n      \");\n              dom.appendChild(el2, el3);\n              dom.appendChild(el1, el2);\n              var el2 = dom.createTextNode(\"\\n    \");\n              dom.appendChild(el1, el2);\n              dom.appendChild(el0, el1);\n              var el1 = dom.createTextNode(\"\\n    \");\n              dom.appendChild(el0, el1);\n              var el1 = dom.createElement(\"ul\");\n              dom.setAttribute(el1,\"class\",\"category\");\n              var el2 = dom.createTextNode(\"\\n\");\n              dom.appendChild(el1, el2);\n              var el2 = dom.createTextNode(\"    \");\n              dom.appendChild(el1, el2);\n              dom.appendChild(el0, el1);\n              var el1 = dom.createTextNode(\"\\n\");\n              dom.appendChild(el0, el1);\n              return el0;\n            },\n            render: function render(context, env, contextualElement) {\n              var dom = env.dom;\n              var hooks = env.hooks, get = hooks.get, inline = hooks.inline, element = hooks.element, block = hooks.block;\n              dom.detectNamespace(contextualElement);\n              var fragment;\n              if (this.cachedFragment === null) {\n                fragment = this.build(dom);\n                if (this.hasRendered) {\n                  this.cachedFragment = fragment;\n                } else {\n                  this.hasRendered = true;\n                }\n              }\n              if (this.cachedFragment) {\n                fragment = dom.cloneNode(this.cachedFragment, true);\n              }\n              var element0 = dom.childAt(fragment, [1]);\n              var element1 = dom.childAt(element0, [4]);\n              var element2 = dom.childAt(element0, [6, 1]);\n              var morph0 = dom.createMorphAt(element0,0,1);\n              var morph1 = dom.createMorphAt(dom.childAt(element0, [2]),-1,-1);\n              var morph2 = dom.createMorphAt(dom.childAt(fragment, [3]),0,1);\n              inline(env, morph0, context, \"color-picker\", [], {\"selectedColor\": get(env, context, \"category.color\"), \"updatedColorData\": \"updateColor\", \"defaultColorExcludes\": get(env, context, \"usedColors\")});\n              inline(env, morph1, context, \"click-to-edit-text\", [], {\"value\": get(env, context, \"category.name\"), \"editing\": get(env, context, \"category.editing\")});\n              element(env, element1, context, \"action\", [\"addTask\"], {});\n              element(env, element2, context, \"action\", [\"delete\"], {});\n              block(env, morph2, context, \"each\", [get(env, context, \"category.sortedTasks\")], {\"itemController\": \"task\", \"keyword\": \"task\"}, child0, null);\n              return fragment;\n            }\n          };\n        }());\n        return {\n          isHTMLBars: true,\n          blockParams: 0,\n          cachedFragment: null,\n          hasRendered: false,\n          build: function build(dom) {\n            var el0 = dom.createDocumentFragment();\n            var el1 = dom.createTextNode(\"\");\n            dom.appendChild(el0, el1);\n            var el1 = dom.createTextNode(\"\");\n            dom.appendChild(el0, el1);\n            return el0;\n          },\n          render: function render(context, env, contextualElement) {\n            var dom = env.dom;\n            var hooks = env.hooks, get = hooks.get, block = hooks.block;\n            dom.detectNamespace(contextualElement);\n            var fragment;\n            if (this.cachedFragment === null) {\n              fragment = this.build(dom);\n              if (this.hasRendered) {\n                this.cachedFragment = fragment;\n              } else {\n                this.hasRendered = true;\n              }\n            }\n            if (this.cachedFragment) {\n              fragment = dom.cloneNode(this.cachedFragment, true);\n            }\n            if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1]); }\n            var morph0 = dom.createMorphAt(fragment,0,1,contextualElement);\n            block(env, morph0, context, \"view\", [\"category\"], {\"editing\": get(env, context, \"category.editing\"), \"style\": get(env, context, \"category.colorData.colorStyle\")}, child0, null);\n            return fragment;\n          }\n        };\n      }());\n      return {\n        isHTMLBars: true,\n        blockParams: 0,\n        cachedFragment: null,\n        hasRendered: false,\n        build: function build(dom) {\n          var el0 = dom.createDocumentFragment();\n          var el1 = dom.createElement(\"a\");\n          dom.setAttribute(el1,\"href\",\"#\");\n          dom.setAttribute(el1,\"id\",\"remove-completed\");\n          var el2 = dom.createTextNode(\"\\n  \");\n          dom.appendChild(el1, el2);\n          var el2 = dom.createElement(\"i\");\n          dom.setAttribute(el2,\"class\",\"icon check\");\n          dom.appendChild(el1, el2);\n          var el2 = dom.createTextNode(\"\\n  Remove completed\\n\");\n          dom.appendChild(el1, el2);\n          dom.appendChild(el0, el1);\n          var el1 = dom.createTextNode(\"\\n\\n\");\n          dom.appendChild(el0, el1);\n          var el1 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el0, el1);\n          var el1 = dom.createElement(\"div\");\n          dom.setAttribute(el1,\"id\",\"add-category\");\n          dom.setAttribute(el1,\"class\",\"ui button\");\n          dom.setAttribute(el1,\"aria-role\",\"button\");\n          var el2 = dom.createTextNode(\"Add Category\");\n          dom.appendChild(el1, el2);\n          dom.appendChild(el0, el1);\n          var el1 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el0, el1);\n          return el0;\n        },\n        render: function render(context, env, contextualElement) {\n          var dom = env.dom;\n          var hooks = env.hooks, element = hooks.element, get = hooks.get, block = hooks.block;\n          dom.detectNamespace(contextualElement);\n          var fragment;\n          if (this.cachedFragment === null) {\n            fragment = this.build(dom);\n            if (this.hasRendered) {\n              this.cachedFragment = fragment;\n            } else {\n              this.hasRendered = true;\n            }\n          }\n          if (this.cachedFragment) {\n            fragment = dom.cloneNode(this.cachedFragment, true);\n          }\n          var element3 = dom.childAt(fragment, [0]);\n          var element4 = dom.childAt(fragment, [3]);\n          var morph0 = dom.createMorphAt(fragment,1,2,contextualElement);\n          element(env, element3, context, \"bind-attr\", [], {\"class\": \"anyCompleted::hide\"});\n          element(env, element3, context, \"action\", [\"removeCompletedTasks\"], {});\n          block(env, morph0, context, \"each\", [get(env, context, \"controller\")], {\"itemController\": \"category\", \"keyword\": \"category\"}, child0, null);\n          element(env, element4, context, \"action\", [\"addCategory\"], {});\n          return fragment;\n        }\n      };\n    }()));\n  });","define(\"x-todo/templates/components/click-to-edit-text\", \n  [\"exports\"],\n  function(__exports__) {\n    \"use strict\";\n    __exports__[\"default\"] = Ember.HTMLBars.template((function() {\n      return {\n        isHTMLBars: true,\n        blockParams: 0,\n        cachedFragment: null,\n        hasRendered: false,\n        build: function build(dom) {\n          var el0 = dom.createDocumentFragment();\n          var el1 = dom.createElement(\"div\");\n          dom.appendChild(el0, el1);\n          var el1 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el0, el1);\n          var el1 = dom.createElement(\"div\");\n          dom.appendChild(el0, el1);\n          var el1 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el0, el1);\n          return el0;\n        },\n        render: function render(context, env, contextualElement) {\n          var dom = env.dom;\n          var hooks = env.hooks, element = hooks.element, content = hooks.content, get = hooks.get, inline = hooks.inline;\n          dom.detectNamespace(contextualElement);\n          var fragment;\n          if (this.cachedFragment === null) {\n            fragment = this.build(dom);\n            if (this.hasRendered) {\n              this.cachedFragment = fragment;\n            } else {\n              this.hasRendered = true;\n            }\n          }\n          if (this.cachedFragment) {\n            fragment = dom.cloneNode(this.cachedFragment, true);\n          }\n          var element0 = dom.childAt(fragment, [0]);\n          var element1 = dom.childAt(fragment, [2]);\n          var morph0 = dom.createMorphAt(element0,-1,-1);\n          var morph1 = dom.createMorphAt(element1,-1,-1);\n          element(env, element0, context, \"bind-attr\", [], {\"class\": \":static editing:hide\"});\n          content(env, morph0, context, \"value\");\n          element(env, element1, context, \"bind-attr\", [], {\"class\": \":ui :input editing::hide\"});\n          inline(env, morph1, context, \"input\", [], {\"type\": \"text\", \"value\": get(env, context, \"value\")});\n          return fragment;\n        }\n      };\n    }()));\n  });","define(\"x-todo/templates/components/color-picker\", \n  [\"exports\"],\n  function(__exports__) {\n    \"use strict\";\n    __exports__[\"default\"] = Ember.HTMLBars.template((function() {\n      var child0 = (function() {\n        return {\n          isHTMLBars: true,\n          blockParams: 0,\n          cachedFragment: null,\n          hasRendered: false,\n          build: function build(dom) {\n            var el0 = dom.createDocumentFragment();\n            var el1 = dom.createTextNode(\"      \");\n            dom.appendChild(el0, el1);\n            var el1 = dom.createElement(\"li\");\n            var el2 = dom.createTextNode(\"\\n        \");\n            dom.appendChild(el1, el2);\n            var el2 = dom.createElement(\"i\");\n            dom.setAttribute(el2,\"class\",\"circle icon\");\n            dom.appendChild(el1, el2);\n            var el2 = dom.createTextNode(\"\\n      \");\n            dom.appendChild(el1, el2);\n            dom.appendChild(el0, el1);\n            var el1 = dom.createTextNode(\"\\n\");\n            dom.appendChild(el0, el1);\n            return el0;\n          },\n          render: function render(context, env, contextualElement) {\n            var dom = env.dom;\n            var hooks = env.hooks, element = hooks.element, get = hooks.get;\n            dom.detectNamespace(contextualElement);\n            var fragment;\n            if (this.cachedFragment === null) {\n              fragment = this.build(dom);\n              if (this.hasRendered) {\n                this.cachedFragment = fragment;\n              } else {\n                this.hasRendered = true;\n              }\n            }\n            if (this.cachedFragment) {\n              fragment = dom.cloneNode(this.cachedFragment, true);\n            }\n            var element0 = dom.childAt(fragment, [1]);\n            var element1 = dom.childAt(element0, [1]);\n            element(env, element0, context, \"bind-attr\", [], {\"class\": \"color.selected:active :item\"});\n            element(env, element0, context, \"action\", [\"pickColor\", get(env, context, \"color.data\")], {});\n            element(env, element1, context, \"bind-attr\", [], {\"style\": \"color.data.colorStyle\"});\n            return fragment;\n          }\n        };\n      }());\n      return {\n        isHTMLBars: true,\n        blockParams: 0,\n        cachedFragment: null,\n        hasRendered: false,\n        build: function build(dom) {\n          var el0 = dom.createDocumentFragment();\n          var el1 = dom.createElement(\"button\");\n          dom.setAttribute(el1,\"class\",\"ui icon top left pointing dropdown small button\");\n          var el2 = dom.createTextNode(\"\\n  \");\n          dom.appendChild(el1, el2);\n          var el2 = dom.createElement(\"ul\");\n          dom.setAttribute(el2,\"class\",\"menu\");\n          var el3 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el2, el3);\n          var el3 = dom.createTextNode(\"  \");\n          dom.appendChild(el2, el3);\n          dom.appendChild(el1, el2);\n          var el2 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el1, el2);\n          dom.appendChild(el0, el1);\n          var el1 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el0, el1);\n          return el0;\n        },\n        render: function render(context, env, contextualElement) {\n          var dom = env.dom;\n          var hooks = env.hooks, element = hooks.element, get = hooks.get, block = hooks.block;\n          dom.detectNamespace(contextualElement);\n          var fragment;\n          if (this.cachedFragment === null) {\n            fragment = this.build(dom);\n            if (this.hasRendered) {\n              this.cachedFragment = fragment;\n            } else {\n              this.hasRendered = true;\n            }\n          }\n          if (this.cachedFragment) {\n            fragment = dom.cloneNode(this.cachedFragment, true);\n          }\n          var element2 = dom.childAt(fragment, [0]);\n          var morph0 = dom.createMorphAt(dom.childAt(element2, [1]),0,1);\n          element(env, element2, context, \"bind-attr\", [], {\"style\": \"selectedColorData.backgroundColorStyle\"});\n          block(env, morph0, context, \"each\", [get(env, context, \"colorData\")], {\"keyword\": \"color\"}, child0, null);\n          return fragment;\n        }\n      };\n    }()));\n  });","define(\"x-todo/templates/components/date-time-field\", \n  [\"exports\"],\n  function(__exports__) {\n    \"use strict\";\n    __exports__[\"default\"] = Ember.HTMLBars.template((function() {\n      var child0 = (function() {\n        return {\n          isHTMLBars: true,\n          blockParams: 0,\n          cachedFragment: null,\n          hasRendered: false,\n          build: function build(dom) {\n            var el0 = dom.createDocumentFragment();\n            var el1 = dom.createTextNode(\"  \");\n            dom.appendChild(el0, el1);\n            var el1 = dom.createTextNode(\"\\n\");\n            dom.appendChild(el0, el1);\n            return el0;\n          },\n          render: function render(context, env, contextualElement) {\n            var dom = env.dom;\n            var hooks = env.hooks, inline = hooks.inline;\n            dom.detectNamespace(contextualElement);\n            var fragment;\n            if (this.cachedFragment === null) {\n              fragment = this.build(dom);\n              if (this.hasRendered) {\n                this.cachedFragment = fragment;\n              } else {\n                this.hasRendered = true;\n              }\n            }\n            if (this.cachedFragment) {\n              fragment = dom.cloneNode(this.cachedFragment, true);\n            }\n            var morph0 = dom.createMorphAt(fragment,0,1,contextualElement);\n            inline(env, morph0, context, \"native-date\", [], {\"type\": \"date\", \"dateBinding\": \"date\"});\n            return fragment;\n          }\n        };\n      }());\n      var child1 = (function() {\n        return {\n          isHTMLBars: true,\n          blockParams: 0,\n          cachedFragment: null,\n          hasRendered: false,\n          build: function build(dom) {\n            var el0 = dom.createDocumentFragment();\n            var el1 = dom.createTextNode(\"  \");\n            dom.appendChild(el0, el1);\n            var el1 = dom.createTextNode(\"\\n\");\n            dom.appendChild(el0, el1);\n            return el0;\n          },\n          render: function render(context, env, contextualElement) {\n            var dom = env.dom;\n            var hooks = env.hooks, get = hooks.get, inline = hooks.inline;\n            dom.detectNamespace(contextualElement);\n            var fragment;\n            if (this.cachedFragment === null) {\n              fragment = this.build(dom);\n              if (this.hasRendered) {\n                this.cachedFragment = fragment;\n              } else {\n                this.hasRendered = true;\n              }\n            }\n            if (this.cachedFragment) {\n              fragment = dom.cloneNode(this.cachedFragment, true);\n            }\n            var morph0 = dom.createMorphAt(fragment,0,1,contextualElement);\n            inline(env, morph0, context, \"date-field\", [], {\"class\": \"date\", \"date\": get(env, context, \"date\")});\n            return fragment;\n          }\n        };\n      }());\n      return {\n        isHTMLBars: true,\n        blockParams: 0,\n        cachedFragment: null,\n        hasRendered: false,\n        build: function build(dom) {\n          var el0 = dom.createDocumentFragment();\n          var el1 = dom.createTextNode(\"\");\n          dom.appendChild(el0, el1);\n          var el1 = dom.createTextNode(\"\");\n          dom.appendChild(el0, el1);\n          var el1 = dom.createTextNode(\":\");\n          dom.appendChild(el0, el1);\n          var el1 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el0, el1);\n          var el1 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el0, el1);\n          return el0;\n        },\n        render: function render(context, env, contextualElement) {\n          var dom = env.dom;\n          var hooks = env.hooks, get = hooks.get, block = hooks.block, inline = hooks.inline;\n          dom.detectNamespace(contextualElement);\n          var fragment;\n          if (this.cachedFragment === null) {\n            fragment = this.build(dom);\n            if (this.hasRendered) {\n              this.cachedFragment = fragment;\n            } else {\n              this.hasRendered = true;\n            }\n          }\n          if (this.cachedFragment) {\n            fragment = dom.cloneNode(this.cachedFragment, true);\n          }\n          if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1]); }\n          var morph0 = dom.createMorphAt(fragment,0,1,contextualElement);\n          var morph1 = dom.createMorphAt(fragment,1,2,contextualElement);\n          var morph2 = dom.createMorphAt(fragment,2,3,contextualElement);\n          var morph3 = dom.createMorphAt(fragment,3,4,contextualElement);\n          block(env, morph0, context, \"if\", [get(env, context, \"isMobile\")], {}, child0, child1);\n          inline(env, morph1, context, \"replacing-field\", [], {\"class\": \"hour\", \"value\": get(env, context, \"formattedHour\"), \"pattern\": \"[0-9]*\", \"advance\": \"advance\", \"advanceCharacters\": \"SHIFTº\", \"validationPattern\": \"^[1-9]$|^1[0-2]$\"});\n          inline(env, morph2, context, \"replacing-field\", [], {\"class\": \"minute\", \"value\": get(env, context, \"minute\"), \"advance\": \"advance\", \"advanceCharacters\": \" \", \"pattern\": \"[0-9]*\", \"validationPattern\": \"^[0-5]$|^[0-5][0-9]$\"});\n          inline(env, morph3, context, \"replacing-field\", [], {\"class\": \"meridiem\", \"value\": get(env, context, \"meridiem\"), \"autocompleteOptions\": \"AM,PM\"});\n          return fragment;\n        }\n      };\n    }()));\n  });","define(\"x-todo/templates/components/native-date\", \n  [\"exports\"],\n  function(__exports__) {\n    \"use strict\";\n    __exports__[\"default\"] = Ember.HTMLBars.template((function() {\n      return {\n        isHTMLBars: true,\n        blockParams: 0,\n        cachedFragment: null,\n        hasRendered: false,\n        build: function build(dom) {\n          var el0 = dom.createDocumentFragment();\n          var el1 = dom.createTextNode(\"\");\n          dom.appendChild(el0, el1);\n          var el1 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el0, el1);\n          return el0;\n        },\n        render: function render(context, env, contextualElement) {\n          var dom = env.dom;\n          var hooks = env.hooks, content = hooks.content;\n          dom.detectNamespace(contextualElement);\n          var fragment;\n          if (this.cachedFragment === null) {\n            fragment = this.build(dom);\n            if (this.hasRendered) {\n              this.cachedFragment = fragment;\n            } else {\n              this.hasRendered = true;\n            }\n          }\n          if (this.cachedFragment) {\n            fragment = dom.cloneNode(this.cachedFragment, true);\n          }\n          if (this.cachedFragment) { dom.repairClonedNode(fragment,[0]); }\n          var morph0 = dom.createMorphAt(fragment,0,1,contextualElement);\n          content(env, morph0, context, \"yield\");\n          return fragment;\n        }\n      };\n    }()));\n  });","define(\"x-todo/templates/components/replacing-field\", \n  [\"exports\"],\n  function(__exports__) {\n    \"use strict\";\n    __exports__[\"default\"] = Ember.HTMLBars.template((function() {\n      return {\n        isHTMLBars: true,\n        blockParams: 0,\n        cachedFragment: null,\n        hasRendered: false,\n        build: function build(dom) {\n          var el0 = dom.createDocumentFragment();\n          var el1 = dom.createTextNode(\"\");\n          dom.appendChild(el0, el1);\n          var el1 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el0, el1);\n          return el0;\n        },\n        render: function render(context, env, contextualElement) {\n          var dom = env.dom;\n          var hooks = env.hooks, content = hooks.content;\n          dom.detectNamespace(contextualElement);\n          var fragment;\n          if (this.cachedFragment === null) {\n            fragment = this.build(dom);\n            if (this.hasRendered) {\n              this.cachedFragment = fragment;\n            } else {\n              this.hasRendered = true;\n            }\n          }\n          if (this.cachedFragment) {\n            fragment = dom.cloneNode(this.cachedFragment, true);\n          }\n          if (this.cachedFragment) { dom.repairClonedNode(fragment,[0]); }\n          var morph0 = dom.createMorphAt(fragment,0,1,contextualElement);\n          content(env, morph0, context, \"yield\");\n          return fragment;\n        }\n      };\n    }()));\n  });","define(\"x-todo/templates/loading\", \n  [\"exports\"],\n  function(__exports__) {\n    \"use strict\";\n    __exports__[\"default\"] = Ember.HTMLBars.template((function() {\n      return {\n        isHTMLBars: true,\n        blockParams: 0,\n        cachedFragment: null,\n        hasRendered: false,\n        build: function build(dom) {\n          var el0 = dom.createDocumentFragment();\n          var el1 = dom.createElement(\"div\");\n          dom.setAttribute(el1,\"class\",\"ui basic modal\");\n          var el2 = dom.createTextNode(\"\\n  \");\n          dom.appendChild(el1, el2);\n          var el2 = dom.createElement(\"div\");\n          dom.setAttribute(el2,\"class\",\"content\");\n          var el3 = dom.createTextNode(\"\\n    \");\n          dom.appendChild(el2, el3);\n          var el3 = dom.createElement(\"div\");\n          dom.setAttribute(el3,\"class\",\"ui active loader\");\n          dom.appendChild(el2, el3);\n          var el3 = dom.createTextNode(\"\\n  \");\n          dom.appendChild(el2, el3);\n          dom.appendChild(el1, el2);\n          var el2 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el1, el2);\n          dom.appendChild(el0, el1);\n          var el1 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el0, el1);\n          return el0;\n        },\n        render: function render(context, env, contextualElement) {\n          var dom = env.dom;\n          dom.detectNamespace(contextualElement);\n          var fragment;\n          if (this.cachedFragment === null) {\n            fragment = this.build(dom);\n            if (this.hasRendered) {\n              this.cachedFragment = fragment;\n            } else {\n              this.hasRendered = true;\n            }\n          }\n          if (this.cachedFragment) {\n            fragment = dom.cloneNode(this.cachedFragment, true);\n          }\n          return fragment;\n        }\n      };\n    }()));\n  });","define(\"x-todo/templates/task\", \n  [\"exports\"],\n  function(__exports__) {\n    \"use strict\";\n    __exports__[\"default\"] = Ember.HTMLBars.template((function() {\n      var child0 = (function() {\n        var child0 = (function() {\n          return {\n            isHTMLBars: true,\n            blockParams: 0,\n            cachedFragment: null,\n            hasRendered: false,\n            build: function build(dom) {\n              var el0 = dom.createDocumentFragment();\n              var el1 = dom.createTextNode(\"        \");\n              dom.appendChild(el0, el1);\n              var el1 = dom.createTextNode(\"\\n\");\n              dom.appendChild(el0, el1);\n              return el0;\n            },\n            render: function render(context, env, contextualElement) {\n              var dom = env.dom;\n              var hooks = env.hooks, get = hooks.get, inline = hooks.inline;\n              dom.detectNamespace(contextualElement);\n              var fragment;\n              if (this.cachedFragment === null) {\n                fragment = this.build(dom);\n                if (this.hasRendered) {\n                  this.cachedFragment = fragment;\n                } else {\n                  this.hasRendered = true;\n                }\n              }\n              if (this.cachedFragment) {\n                fragment = dom.cloneNode(this.cachedFragment, true);\n              }\n              var morph0 = dom.createMorphAt(fragment,0,1,contextualElement);\n              inline(env, morph0, context, \"date-time-field\", [], {\"date\": get(env, context, \"task.dueDate\"), \"done\": \"endEditingDueDate\"});\n              return fragment;\n            }\n          };\n        }());\n        var child1 = (function() {\n          return {\n            isHTMLBars: true,\n            blockParams: 0,\n            cachedFragment: null,\n            hasRendered: false,\n            build: function build(dom) {\n              var el0 = dom.createDocumentFragment();\n              var el1 = dom.createTextNode(\"        \");\n              dom.appendChild(el0, el1);\n              var el1 = dom.createElement(\"a\");\n              dom.setAttribute(el1,\"href\",\"#\");\n              dom.setAttribute(el1,\"class\",\"overdue\");\n              var el2 = dom.createTextNode(\" overdue\");\n              dom.appendChild(el1, el2);\n              dom.appendChild(el0, el1);\n              var el1 = dom.createTextNode(\"\\n        \");\n              dom.appendChild(el0, el1);\n              var el1 = dom.createElement(\"div\");\n              dom.setAttribute(el1,\"class\",\"not-overdue\");\n              var el2 = dom.createTextNode(\"\\n          \");\n              dom.appendChild(el1, el2);\n              var el2 = dom.createElement(\"a\");\n              dom.setAttribute(el2,\"href\",\"#\");\n              dom.appendChild(el1, el2);\n              var el2 = dom.createTextNode(\"\\n        \");\n              dom.appendChild(el1, el2);\n              dom.appendChild(el0, el1);\n              var el1 = dom.createTextNode(\"\\n        \");\n              dom.appendChild(el0, el1);\n              var el1 = dom.createElement(\"a\");\n              dom.setAttribute(el1,\"href\",\"#\");\n              dom.setAttribute(el1,\"class\",\"delete\");\n              var el2 = dom.createTextNode(\"×\");\n              dom.appendChild(el1, el2);\n              dom.appendChild(el0, el1);\n              var el1 = dom.createTextNode(\"\\n\");\n              dom.appendChild(el0, el1);\n              return el0;\n            },\n            render: function render(context, env, contextualElement) {\n              var dom = env.dom;\n              var hooks = env.hooks, element = hooks.element, content = hooks.content;\n              dom.detectNamespace(contextualElement);\n              var fragment;\n              if (this.cachedFragment === null) {\n                fragment = this.build(dom);\n                if (this.hasRendered) {\n                  this.cachedFragment = fragment;\n                } else {\n                  this.hasRendered = true;\n                }\n              }\n              if (this.cachedFragment) {\n                fragment = dom.cloneNode(this.cachedFragment, true);\n              }\n              var element1 = dom.childAt(fragment, [1]);\n              var element2 = dom.childAt(fragment, [3, 1]);\n              var element3 = dom.childAt(fragment, [5]);\n              var morph0 = dom.createMorphAt(element1,-1,0);\n              var morph1 = dom.createMorphAt(element2,-1,-1);\n              element(env, element1, context, \"action\", [\"editDueDate\"], {});\n              content(env, morph0, context, \"task.timeOverdue\");\n              element(env, element2, context, \"bind-attr\", [], {\"style\": \"category.colorData.colorStyle\"});\n              element(env, element2, context, \"action\", [\"editDueDate\"], {});\n              content(env, morph1, context, \"task.formattedDueDate\");\n              element(env, element3, context, \"action\", [\"removeDueDate\"], {});\n              return fragment;\n            }\n          };\n        }());\n        return {\n          isHTMLBars: true,\n          blockParams: 0,\n          cachedFragment: null,\n          hasRendered: false,\n          build: function build(dom) {\n            var el0 = dom.createDocumentFragment();\n            var el1 = dom.createTextNode(\"\");\n            dom.appendChild(el0, el1);\n            var el1 = dom.createTextNode(\"\");\n            dom.appendChild(el0, el1);\n            return el0;\n          },\n          render: function render(context, env, contextualElement) {\n            var dom = env.dom;\n            var hooks = env.hooks, get = hooks.get, block = hooks.block;\n            dom.detectNamespace(contextualElement);\n            var fragment;\n            if (this.cachedFragment === null) {\n              fragment = this.build(dom);\n              if (this.hasRendered) {\n                this.cachedFragment = fragment;\n              } else {\n                this.hasRendered = true;\n              }\n            }\n            if (this.cachedFragment) {\n              fragment = dom.cloneNode(this.cachedFragment, true);\n            }\n            if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1]); }\n            var morph0 = dom.createMorphAt(fragment,0,1,contextualElement);\n            block(env, morph0, context, \"if\", [get(env, context, \"task.editingDueDate\")], {}, child0, child1);\n            return fragment;\n          }\n        };\n      }());\n      var child1 = (function() {\n        return {\n          isHTMLBars: true,\n          blockParams: 0,\n          cachedFragment: null,\n          hasRendered: false,\n          build: function build(dom) {\n            var el0 = dom.createDocumentFragment();\n            var el1 = dom.createTextNode(\"      \");\n            dom.appendChild(el0, el1);\n            var el1 = dom.createElement(\"a\");\n            dom.setAttribute(el1,\"href\",\"#\");\n            dom.setAttribute(el1,\"class\",\"add\");\n            var el2 = dom.createTextNode(\"Add due date\");\n            dom.appendChild(el1, el2);\n            dom.appendChild(el0, el1);\n            var el1 = dom.createTextNode(\"\\n\");\n            dom.appendChild(el0, el1);\n            return el0;\n          },\n          render: function render(context, env, contextualElement) {\n            var dom = env.dom;\n            var hooks = env.hooks, element = hooks.element;\n            dom.detectNamespace(contextualElement);\n            var fragment;\n            if (this.cachedFragment === null) {\n              fragment = this.build(dom);\n              if (this.hasRendered) {\n                this.cachedFragment = fragment;\n              } else {\n                this.hasRendered = true;\n              }\n            }\n            if (this.cachedFragment) {\n              fragment = dom.cloneNode(this.cachedFragment, true);\n            }\n            var element0 = dom.childAt(fragment, [1]);\n            element(env, element0, context, \"bind-attr\", [], {\"style\": \"category.colorData.colorStyle\"});\n            element(env, element0, context, \"action\", [\"addDueDate\"], {});\n            return fragment;\n          }\n        };\n      }());\n      return {\n        isHTMLBars: true,\n        blockParams: 0,\n        cachedFragment: null,\n        hasRendered: false,\n        build: function build(dom) {\n          var el0 = dom.createDocumentFragment();\n          var el1 = dom.createElement(\"div\");\n          dom.setAttribute(el1,\"class\",\"ui checkbox\");\n          var el2 = dom.createTextNode(\"\\n  \");\n          dom.appendChild(el1, el2);\n          var el2 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el1, el2);\n          dom.appendChild(el0, el1);\n          var el1 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el0, el1);\n          var el1 = dom.createElement(\"div\");\n          dom.setAttribute(el1,\"class\",\"content\");\n          var el2 = dom.createTextNode(\"\\n  \");\n          dom.appendChild(el1, el2);\n          var el2 = dom.createTextNode(\"\\n  \");\n          dom.appendChild(el1, el2);\n          var el2 = dom.createElement(\"div\");\n          dom.setAttribute(el2,\"class\",\"due-date\");\n          var el3 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el2, el3);\n          var el3 = dom.createTextNode(\"  \");\n          dom.appendChild(el2, el3);\n          dom.appendChild(el1, el2);\n          var el2 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el1, el2);\n          dom.appendChild(el0, el1);\n          var el1 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el0, el1);\n          var el1 = dom.createElement(\"div\");\n          dom.setAttribute(el1,\"class\",\"right icons\");\n          var el2 = dom.createTextNode(\"\\n  \");\n          dom.appendChild(el1, el2);\n          var el2 = dom.createElement(\"a\");\n          dom.setAttribute(el2,\"href\",\"#\");\n          dom.setAttribute(el2,\"class\",\"delete\");\n          var el3 = dom.createTextNode(\"×\");\n          dom.appendChild(el2, el3);\n          dom.appendChild(el1, el2);\n          var el2 = dom.createTextNode(\"\\n  \");\n          dom.appendChild(el1, el2);\n          var el2 = dom.createElement(\"i\");\n          dom.setAttribute(el2,\"class\",\"handle content icon\");\n          dom.appendChild(el1, el2);\n          var el2 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el1, el2);\n          dom.appendChild(el0, el1);\n          var el1 = dom.createTextNode(\"\\n\");\n          dom.appendChild(el0, el1);\n          return el0;\n        },\n        render: function render(context, env, contextualElement) {\n          var dom = env.dom;\n          var hooks = env.hooks, get = hooks.get, inline = hooks.inline, block = hooks.block, element = hooks.element;\n          dom.detectNamespace(contextualElement);\n          var fragment;\n          if (this.cachedFragment === null) {\n            fragment = this.build(dom);\n            if (this.hasRendered) {\n              this.cachedFragment = fragment;\n            } else {\n              this.hasRendered = true;\n            }\n          }\n          if (this.cachedFragment) {\n            fragment = dom.cloneNode(this.cachedFragment, true);\n          }\n          var element4 = dom.childAt(fragment, [2]);\n          var element5 = dom.childAt(fragment, [4, 1]);\n          var morph0 = dom.createMorphAt(dom.childAt(fragment, [0]),0,1);\n          var morph1 = dom.createMorphAt(element4,0,1);\n          var morph2 = dom.createMorphAt(dom.childAt(element4, [2]),0,1);\n          inline(env, morph0, context, \"input\", [], {\"type\": \"checkbox\", \"checked\": get(env, context, \"task.completed\")});\n          inline(env, morph1, context, \"click-to-edit-text\", [], {\"class\": \"title\", \"value\": get(env, context, \"task.title\"), \"editing\": get(env, context, \"task.editing\")});\n          block(env, morph2, context, \"if\", [get(env, context, \"task.dueDate\")], {}, child0, child1);\n          element(env, element5, context, \"action\", [\"delete\"], {});\n          return fragment;\n        }\n      };\n    }()));\n  });","define(\"x-todo/tests/adapters/application.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - adapters');\n    test('adapters/application.js should pass jshint', function() { \n      ok(true, 'adapters/application.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/app.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - .');\n    test('app.js should pass jshint', function() { \n      ok(true, 'app.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/components/click-to-edit-text.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - components');\n    test('components/click-to-edit-text.js should pass jshint', function() { \n      ok(true, 'components/click-to-edit-text.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/components/color-picker.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - components');\n    test('components/color-picker.js should pass jshint', function() { \n      ok(true, 'components/color-picker.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/components/date-field.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - components');\n    test('components/date-field.js should pass jshint', function() { \n      ok(true, 'components/date-field.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/components/date-time-field.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - components');\n    test('components/date-time-field.js should pass jshint', function() { \n      ok(true, 'components/date-time-field.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/components/native-date.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - components');\n    test('components/native-date.js should pass jshint', function() { \n      ok(true, 'components/native-date.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/components/replacing-field.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - components');\n    test('components/replacing-field.js should pass jshint', function() { \n      ok(true, 'components/replacing-field.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/controllers/application.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - controllers');\n    test('controllers/application.js should pass jshint', function() { \n      ok(true, 'controllers/application.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/controllers/categories.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - controllers');\n    test('controllers/categories.js should pass jshint', function() { \n      ok(true, 'controllers/categories.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/controllers/category.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - controllers');\n    test('controllers/category.js should pass jshint', function() { \n      ok(true, 'controllers/category.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/controllers/editable-object.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - controllers');\n    test('controllers/editable-object.js should pass jshint', function() { \n      ok(true, 'controllers/editable-object.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/controllers/task.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - controllers');\n    test('controllers/task.js should pass jshint', function() { \n      ok(true, 'controllers/task.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/helpers/resolver\", \n  [\"ember/resolver\",\"x-todo/config/environment\",\"exports\"],\n  function(__dependency1__, __dependency2__, __exports__) {\n    \"use strict\";\n    var Resolver = __dependency1__[\"default\"];\n    var config = __dependency2__[\"default\"];\n\n    var resolver = Resolver.create();\n\n    resolver.namespace = {\n      modulePrefix: config.modulePrefix,\n      podModulePrefix: config.podModulePrefix\n    };\n\n    __exports__[\"default\"] = resolver;\n  });","define(\"x-todo/tests/helpers/start-app\", \n  [\"ember\",\"x-todo/app\",\"x-todo/router\",\"x-todo/config/environment\",\"exports\"],\n  function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __exports__) {\n    \"use strict\";\n    var Ember = __dependency1__[\"default\"];\n    var Application = __dependency2__[\"default\"];\n    var Router = __dependency3__[\"default\"];\n    var config = __dependency4__[\"default\"];\n\n    __exports__[\"default\"] = function startApp(attrs) {\n      var application;\n\n      var attributes = Ember.merge({}, config.APP);\n      attributes = Ember.merge(attributes, attrs); // use defaults, but you can override;\n\n      Ember.run(function () {\n        application = Application.create(attributes);\n        application.setupForTesting();\n        application.injectTestHelpers();\n      });\n\n      return application;\n    }\n  });","define(\"x-todo/tests/models/category.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - models');\n    test('models/category.js should pass jshint', function() { \n      ok(true, 'models/category.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/models/task.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - models');\n    test('models/task.js should pass jshint', function() { \n      ok(true, 'models/task.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/router.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - .');\n    test('router.js should pass jshint', function() { \n      ok(true, 'router.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/routes/categories.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - routes');\n    test('routes/categories.js should pass jshint', function() { \n      ok(true, 'routes/categories.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/serializers/application.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - serializers');\n    test('serializers/application.js should pass jshint', function() { \n      ok(true, 'serializers/application.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/serializers/category.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - serializers');\n    test('serializers/category.js should pass jshint', function() { \n      ok(true, 'serializers/category.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/serializers/task.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - serializers');\n    test('serializers/task.js should pass jshint', function() { \n      ok(true, 'serializers/task.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/test-helper\", \n  [\"x-todo/tests/helpers/resolver\",\"ember-qunit\"],\n  function(__dependency1__, __dependency2__) {\n    \"use strict\";\n    var resolver = __dependency1__[\"default\"];\n    var setResolver = __dependency2__.setResolver;\n\n    setResolver(resolver);\n\n    document.write(\"<div id=\\\"ember-testing-container\\\"><div id=\\\"ember-testing\\\"></div></div>\");\n\n    QUnit.config.urlConfig.push({ id: \"nocontainer\", label: \"Hide container\" });\n    var containerVisibility = QUnit.urlParams.nocontainer ? \"hidden\" : \"visible\";\n    document.getElementById(\"ember-testing-container\").style.visibility = containerVisibility;\n  });","define(\"x-todo/tests/transforms/moment.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - transforms');\n    test('transforms/moment.js should pass jshint', function() { \n      ok(true, 'transforms/moment.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/unit/adapters/application-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleFor = __dependency1__.moduleFor;\n    var test = __dependency1__.test;\n\n    moduleFor(\"adapter:application\", \"ApplicationAdapter\", {});\n\n    // Replace this with your real tests.\n    test(\"it exists\", function () {\n      var adapter = this.subject();\n      ok(adapter);\n    });\n    // Specify the other units that are required for this test.\n    // needs: ['serializer:foo']\n  });","define(\"x-todo/tests/unit/components/click-to-edit-date-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleForComponent = __dependency1__.moduleForComponent;\n    var test = __dependency1__.test;\n\n    moduleForComponent(\"click-to-edit-date\", \"ClickToEditDateComponent\", {});\n\n    test(\"it renders\", function () {\n      expect(2);\n\n      // creates the component instance\n      var component = this.subject();\n      equal(component._state, \"preRender\");\n\n      // appends the component to the page\n      this.append();\n      equal(component._state, \"inDOM\");\n    });\n    // specify the other units that are required for this test\n    // needs: ['component:foo', 'helper:bar']\n  });","define(\"x-todo/tests/unit/components/click-to-edit-text-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleForComponent = __dependency1__.moduleForComponent;\n    var test = __dependency1__.test;\n\n    moduleForComponent(\"click-to-edit-text\", \"ClickToEditTextComponent\", {});\n\n    test(\"it renders\", function () {\n      expect(2);\n\n      // creates the component instance\n      var component = this.subject();\n      equal(component._state, \"preRender\");\n\n      // appends the component to the page\n      this.append();\n      equal(component._state, \"inDOM\");\n    });\n    // specify the other units that are required for this test\n    // needs: ['component:foo', 'helper:bar']\n  });","define(\"x-todo/tests/unit/components/color-picker-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleForComponent = __dependency1__.moduleForComponent;\n    var test = __dependency1__.test;\n\n    moduleForComponent(\"color-picker\", \"ColorPickerComponent\", {});\n\n    test(\"it renders\", function () {\n      expect(2);\n\n      // creates the component instance\n      var component = this.subject();\n      equal(component._state, \"preRender\");\n\n      // appends the component to the page\n      this.append();\n      equal(component._state, \"inDOM\");\n    });\n    // specify the other units that are required for this test\n    // needs: ['component:foo', 'helper:bar']\n  });","define(\"x-todo/tests/unit/components/date-field-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleForComponent = __dependency1__.moduleForComponent;\n    var test = __dependency1__.test;\n\n    moduleForComponent(\"date-field\", \"DateFieldComponent\", {});\n\n    test(\"it renders\", function () {\n      expect(2);\n\n      // creates the component instance\n      var component = this.subject();\n      equal(component._state, \"preRender\");\n\n      // appends the component to the page\n      this.append();\n      equal(component._state, \"inDOM\");\n    });\n    // specify the other units that are required for this test\n    // needs: ['component:foo', 'helper:bar']\n  });","define(\"x-todo/tests/unit/components/date-time-field-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleForComponent = __dependency1__.moduleForComponent;\n    var test = __dependency1__.test;\n\n    moduleForComponent(\"date-time-field\", \"DateTimeFieldComponent\", {});\n\n    test(\"it renders\", function () {\n      expect(2);\n\n      // creates the component instance\n      var component = this.subject();\n      equal(component._state, \"preRender\");\n\n      // appends the component to the page\n      this.append();\n      equal(component._state, \"inDOM\");\n    });\n    // specify the other units that are required for this test\n    // needs: ['component:foo', 'helper:bar']\n  });","define(\"x-todo/tests/unit/components/native-date-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleForComponent = __dependency1__.moduleForComponent;\n    var test = __dependency1__.test;\n\n    moduleForComponent(\"native-date\", \"NativeDateComponent\", {});\n\n    test(\"it renders\", function () {\n      expect(2);\n\n      // creates the component instance\n      var component = this.subject();\n      equal(component._state, \"preRender\");\n\n      // appends the component to the page\n      this.append();\n      equal(component._state, \"inDOM\");\n    });\n    // specify the other units that are required for this test\n    // needs: ['component:foo', 'helper:bar']\n  });","define(\"x-todo/tests/unit/components/replacing-field-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleForComponent = __dependency1__.moduleForComponent;\n    var test = __dependency1__.test;\n\n    moduleForComponent(\"replacing-field\", \"ReplacingFieldComponent\", {});\n\n    test(\"it renders\", function () {\n      expect(2);\n\n      // creates the component instance\n      var component = this.subject();\n      equal(component._state, \"preRender\");\n\n      // appends the component to the page\n      this.append();\n      equal(component._state, \"inDOM\");\n    });\n    // specify the other units that are required for this test\n    // needs: ['component:foo', 'helper:bar']\n  });","define(\"x-todo/tests/unit/components/time-field-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleForComponent = __dependency1__.moduleForComponent;\n    var test = __dependency1__.test;\n\n    moduleForComponent(\"time-field\", \"TimeFieldComponent\", {});\n\n    test(\"it renders\", function () {\n      expect(2);\n\n      // creates the component instance\n      var component = this.subject();\n      equal(component._state, \"preRender\");\n\n      // appends the component to the page\n      this.append();\n      equal(component._state, \"inDOM\");\n    });\n    // specify the other units that are required for this test\n    // needs: ['component:foo', 'helper:bar']\n  });","define(\"x-todo/tests/unit/controllers/application-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleFor = __dependency1__.moduleFor;\n    var test = __dependency1__.test;\n\n    moduleFor(\"controller:application\", \"ApplicationController\", {});\n\n    // Replace this with your real tests.\n    test(\"it exists\", function () {\n      var controller = this.subject();\n      ok(controller);\n    });\n    // Specify the other units that are required for this test.\n    // needs: ['controller:foo']\n  });","define(\"x-todo/tests/unit/controllers/categories-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleFor = __dependency1__.moduleFor;\n    var test = __dependency1__.test;\n\n    moduleFor(\"controller:categories\", \"CategoriesController\", {});\n\n    // Replace this with your real tests.\n    test(\"it exists\", function () {\n      var controller = this.subject();\n      ok(controller);\n    });\n    // Specify the other units that are required for this test.\n    // needs: ['controller:foo']\n  });","define(\"x-todo/tests/unit/controllers/category-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleFor = __dependency1__.moduleFor;\n    var test = __dependency1__.test;\n\n    moduleFor(\"controller:category\", \"CategoryController\", {});\n\n    // Replace this with your real tests.\n    test(\"it exists\", function () {\n      var controller = this.subject();\n      ok(controller);\n    });\n    // Specify the other units that are required for this test.\n    // needs: ['controller:foo']\n  });","define(\"x-todo/tests/unit/controllers/editable-object-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleFor = __dependency1__.moduleFor;\n    var test = __dependency1__.test;\n\n    moduleFor(\"controller:editable-object\", \"EditableObjectController\", {});\n\n    // Replace this with your real tests.\n    test(\"it exists\", function () {\n      var controller = this.subject();\n      ok(controller);\n    });\n    // Specify the other units that are required for this test.\n    // needs: ['controller:foo']\n  });","define(\"x-todo/tests/unit/controllers/task-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleFor = __dependency1__.moduleFor;\n    var test = __dependency1__.test;\n\n    moduleFor(\"controller:task\", \"TaskController\", {});\n\n    // Replace this with your real tests.\n    test(\"it exists\", function () {\n      var controller = this.subject();\n      ok(controller);\n    });\n    // Specify the other units that are required for this test.\n    // needs: ['controller:foo']\n  });","define(\"x-todo/tests/unit/models/category-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleForModel = __dependency1__.moduleForModel;\n    var test = __dependency1__.test;\n\n    moduleForModel(\"category\", \"Category\", {\n      // Specify the other units that are required for this test.\n      needs: []\n    });\n\n    test(\"it exists\", function () {\n      var model = this.subject();\n      // var store = this.store();\n      ok(!!model);\n    });\n  });","define(\"x-todo/tests/unit/models/task-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleForModel = __dependency1__.moduleForModel;\n    var test = __dependency1__.test;\n\n    moduleForModel(\"task\", \"Task\", {\n      // Specify the other units that are required for this test.\n      needs: []\n    });\n\n    test(\"it exists\", function () {\n      var model = this.subject();\n      // var store = this.store();\n      ok(!!model);\n    });\n  });","define(\"x-todo/tests/unit/routes/categories-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleFor = __dependency1__.moduleFor;\n    var test = __dependency1__.test;\n\n    moduleFor(\"route:categories\", \"CategoriesRoute\", {});\n\n    test(\"it exists\", function () {\n      var route = this.subject();\n      ok(route);\n    });\n    // Specify the other units that are required for this test.\n    // needs: ['controller:foo']\n  });","define(\"x-todo/tests/unit/serializers/application-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleFor = __dependency1__.moduleFor;\n    var test = __dependency1__.test;\n\n    moduleFor(\"serializer:application\", \"ApplicationSerializer\", {});\n\n    // Replace this with your real tests.\n    test(\"it exists\", function () {\n      var serializer = this.subject();\n      ok(serializer);\n    });\n    // Specify the other units that are required for this test.\n    // needs: ['serializer:foo']\n  });","define(\"x-todo/tests/unit/serializers/category-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleFor = __dependency1__.moduleFor;\n    var test = __dependency1__.test;\n\n    moduleFor(\"serializer:category\", \"CategorySerializer\", {});\n\n    // Replace this with your real tests.\n    test(\"it exists\", function () {\n      var serializer = this.subject();\n      ok(serializer);\n    });\n    // Specify the other units that are required for this test.\n    // needs: ['serializer:foo']\n  });","define(\"x-todo/tests/unit/serializers/task-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleFor = __dependency1__.moduleFor;\n    var test = __dependency1__.test;\n\n    moduleFor(\"serializer:task\", \"TaskSerializer\", {});\n\n    // Replace this with your real tests.\n    test(\"it exists\", function () {\n      var serializer = this.subject();\n      ok(serializer);\n    });\n    // Specify the other units that are required for this test.\n    // needs: ['serializer:foo']\n  });","define(\"x-todo/tests/unit/transforms/moment-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleFor = __dependency1__.moduleFor;\n    var test = __dependency1__.test;\n\n    moduleFor(\"transform:moment\", \"MomentTransform\", {});\n\n    // Replace this with your real tests.\n    test(\"it exists\", function () {\n      var transform = this.subject();\n      ok(transform);\n    });\n    // Specify the other units that are required for this test.\n    // needs: ['serializer:foo']\n  });","define(\"x-todo/tests/unit/views/category-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleFor = __dependency1__.moduleFor;\n    var test = __dependency1__.test;\n\n    moduleFor(\"view:category\", \"CategoryView\");\n\n    // Replace this with your real tests.\n    test(\"it exists\", function () {\n      var view = this.subject();\n      ok(view);\n    });\n  });","define(\"x-todo/tests/unit/views/loading-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleFor = __dependency1__.moduleFor;\n    var test = __dependency1__.test;\n\n    moduleFor(\"view:categories-loading\", \"CategoriesLoadingView\");\n\n    // Replace this with your real tests.\n    test(\"it exists\", function () {\n      var view = this.subject();\n      ok(view);\n    });\n  });","define(\"x-todo/tests/unit/views/task-test\", \n  [\"ember-qunit\"],\n  function(__dependency1__) {\n    \"use strict\";\n    var moduleFor = __dependency1__.moduleFor;\n    var test = __dependency1__.test;\n\n    moduleFor(\"view:task\", \"TaskView\");\n\n    // Replace this with your real tests.\n    test(\"it exists\", function () {\n      var view = this.subject();\n      ok(view);\n    });\n  });","define(\"x-todo/tests/views/category.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - views');\n    test('views/category.js should pass jshint', function() { \n      ok(true, 'views/category.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/views/loading.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - views');\n    test('views/loading.js should pass jshint', function() { \n      ok(true, 'views/loading.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/views/task.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - views');\n    test('views/task.js should pass jshint', function() { \n      ok(true, 'views/task.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/helpers/resolver.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/helpers');\n    test('x-todo/tests/helpers/resolver.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/helpers/resolver.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/helpers/start-app.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/helpers');\n    test('x-todo/tests/helpers/start-app.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/helpers/start-app.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/test-helper.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests');\n    test('x-todo/tests/test-helper.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/test-helper.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/adapters/application-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/adapters');\n    test('x-todo/tests/unit/adapters/application-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/adapters/application-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/components/click-to-edit-date-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/components');\n    test('x-todo/tests/unit/components/click-to-edit-date-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/components/click-to-edit-date-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/components/click-to-edit-text-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/components');\n    test('x-todo/tests/unit/components/click-to-edit-text-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/components/click-to-edit-text-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/components/color-picker-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/components');\n    test('x-todo/tests/unit/components/color-picker-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/components/color-picker-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/components/date-field-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/components');\n    test('x-todo/tests/unit/components/date-field-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/components/date-field-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/components/date-time-field-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/components');\n    test('x-todo/tests/unit/components/date-time-field-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/components/date-time-field-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/components/native-date-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/components');\n    test('x-todo/tests/unit/components/native-date-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/components/native-date-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/components/replacing-field-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/components');\n    test('x-todo/tests/unit/components/replacing-field-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/components/replacing-field-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/components/time-field-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/components');\n    test('x-todo/tests/unit/components/time-field-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/components/time-field-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/controllers/application-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/controllers');\n    test('x-todo/tests/unit/controllers/application-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/controllers/application-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/controllers/categories-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/controllers');\n    test('x-todo/tests/unit/controllers/categories-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/controllers/categories-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/controllers/category-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/controllers');\n    test('x-todo/tests/unit/controllers/category-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/controllers/category-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/controllers/editable-object-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/controllers');\n    test('x-todo/tests/unit/controllers/editable-object-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/controllers/editable-object-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/controllers/task-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/controllers');\n    test('x-todo/tests/unit/controllers/task-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/controllers/task-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/models/category-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/models');\n    test('x-todo/tests/unit/models/category-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/models/category-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/models/task-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/models');\n    test('x-todo/tests/unit/models/task-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/models/task-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/routes/categories-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/routes');\n    test('x-todo/tests/unit/routes/categories-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/routes/categories-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/serializers/application-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/serializers');\n    test('x-todo/tests/unit/serializers/application-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/serializers/application-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/serializers/category-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/serializers');\n    test('x-todo/tests/unit/serializers/category-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/serializers/category-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/serializers/task-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/serializers');\n    test('x-todo/tests/unit/serializers/task-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/serializers/task-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/transforms/moment-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/transforms');\n    test('x-todo/tests/unit/transforms/moment-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/transforms/moment-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/views/category-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/views');\n    test('x-todo/tests/unit/views/category-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/views/category-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/views/loading-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/views');\n    test('x-todo/tests/unit/views/loading-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/views/loading-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/tests/x-todo/tests/unit/views/task-test.jshint\", \n  [],\n  function() {\n    \"use strict\";\n    module('JSHint - x-todo/tests/unit/views');\n    test('x-todo/tests/unit/views/task-test.js should pass jshint', function() { \n      ok(true, 'x-todo/tests/unit/views/task-test.js should pass jshint.'); \n    });\n  });","define(\"x-todo/transforms/moment\", \n  [\"ember-data\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    /* global moment */\n    var DS = __dependency1__[\"default\"];\n\n    __exports__[\"default\"] = DS.Transform.extend({\n      deserialize: function (serialized) {\n        if (serialized) {\n          return moment.utc(serialized).local();\n        }\n        return null;\n      },\n\n      serialize: function (deserialized) {\n        if (deserialized) {\n          var serialized = deserialized.utc().format();\n          deserialized.local();\n          return serialized;\n        }\n        return null;\n      }\n    });\n  });","define(\"x-todo/views/category\", \n  [\"ember\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    /* global $ */\n\n    var Ember = __dependency1__[\"default\"];\n\n    __exports__[\"default\"] = Ember.View.extend({\n\n      classNameBindings: [\"editing\"],\n      attributeBindings: [\"style\"],\n\n      didInsertElement: function () {\n        this.$(\"ul.category\").sortable({\n          axis: \"y\",\n          connectWith: \".category\",\n          update: this.get(\"didReorderTasks\").bind(this),\n          receive: this.get(\"didMoveTaskIn\").bind(this)\n        });\n      },\n\n      didReorderTasks: function () {\n        var indexHash = {};\n        this.$(\"ul.category > li\").each(function (i, item) {\n          indexHash[$(item).data(\"id\").toString()] = i;\n        });\n\n        this.get(\"controller\").send(\"updateTaskIndexes\", indexHash);\n        this.rerender();\n      },\n\n      didMoveTaskIn: function (event, ui) {\n        this.get(\"controller\").send(\"updateTaskCategory\", ui.item.data(\"id\"));\n      }\n\n    });\n  });","define(\"x-todo/views/loading\", \n  [\"ember\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    /* global $ */\n\n    var Ember = __dependency1__[\"default\"];\n\n    __exports__[\"default\"] = Ember.View.extend({\n\n      didInsertElement: function () {\n        $(\"#container\").addClass(\"loading\");\n      },\n\n      willDestroyElement: function () {\n        $(\"#container\").removeClass(\"loading\");\n      }\n\n    });\n  });","define(\"x-todo/views/task\", \n  [\"ember\",\"exports\"],\n  function(__dependency1__, __exports__) {\n    \"use strict\";\n    var Ember = __dependency1__[\"default\"];\n\n    __exports__[\"default\"] = Ember.View.extend({\n\n      templateName: \"task\",\n      tagName: \"li\",\n      attributeBindings: [\"data-id\"],\n      classNames: [\"task\"],\n      classNameBindings: [\"completed\", \"overdue\", \"editing\"],\n\n      didInsertElement: function () {\n        this.$(\".ui.checkbox\").checkbox();\n      }\n\n    });\n  });","/* jshint ignore:start */\n\ndefine('x-todo/config/environment', ['ember'], function(Ember) {\n  var prefix = 'x-todo';\n/* jshint ignore:start */\n\ntry {\n  var metaName = prefix + '/config/environment';\n  var rawConfig = Ember['default'].$('meta[name=\"' + metaName + '\"]').attr('content');\n  var config = JSON.parse(unescape(rawConfig));\n\n  return { 'default': config };\n}\ncatch(err) {\n  throw new Error('Could not read config from meta tag with name \"' + metaName + '\".');\n}\n\n/* jshint ignore:end */\n\n});\n\nif (runningTests) {\n  require(\"x-todo/tests/test-helper\");\n} else {\n  require(\"x-todo/app\")[\"default\"].create({\"environment\":\"static\"});\n}\n\n/* jshint ignore:end */\n"],"names":[],"mappings":"AAAA;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;;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;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChFA;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;AACA;AACA;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;;ACxEA;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;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;;ACvBA;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;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;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;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;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;AACA;AACA;AACA;AACA;AACA;;ACfA;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;AACA;AACA;AACA;AACA;AACA;;ACfA;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;AACA;AACA;AACA;AACA;AACA;;ACfA;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;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;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;;ACfA;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;AACA;AACA;AACA;AACA;AACA;;ACfA;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;AACA;AACA;AACA;;ACbA;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;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;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;;ACpCA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;","file":"x-todo.js"}