dist/catarse.js.map
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/mithril/mithril.js","webpack:///./node_modules/underscore/underscore.js","webpack:///./node_modules/mithril/stream.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/map.js","webpack:///./node_modules/moment/moment.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_export.js","webpack:///./node_modules/@babel/runtime-corejs3/regenerator/index.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/classCallCheck.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/createClass.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/asyncToGenerator.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/filter.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/find.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/parse-int.js","webpack:///./node_modules/core-js-pure/internals/export.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_global.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/trim.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/slice.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_fails.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/set-timeout.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/reduce.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_wks.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js-pure/internals/well-known-symbol.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/promise.js","webpack:///./node_modules/@sentry/utils/esm/misc.js","webpack:///./node_modules/core-js-pure/internals/path.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/index-of.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/keys.js","webpack:///./node_modules/core-js-pure/internals/global.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js-pure/internals/fails.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js-pure/internals/define-well-known-symbol.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/for-each.js","webpack:///./node_modules/core-js-pure/internals/entry-virtual.js","webpack:///./node_modules/core-js-pure/internals/descriptors.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/@sentry/utils/esm/is.js","webpack:///./node_modules/core-js-pure/internals/is-object.js","webpack:///./node_modules/core-js-pure/internals/has.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_hide.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_string-html.js","webpack:///./node_modules/core-js-pure/internals/an-object.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_has.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/set-interval.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_core.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_cof.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_strict-method.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/assign.js","webpack:///./node_modules/core-js-pure/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js-pure/internals/to-object.js","webpack:///./node_modules/core-js-pure/internals/get-built-in.js","webpack:///./node_modules/core-js-pure/internals/array-method-uses-to-length.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_defined.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/mithril-postgrest/mithril-postgrest.umd.js","webpack:///./node_modules/@sentry/utils/esm/object.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js-pure/internals/to-indexed-object.js","webpack:///./node_modules/core-js-pure/internals/a-function.js","webpack:///./node_modules/core-js-pure/internals/object-define-property.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_typed-array.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_metadata.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/date/now.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/parse-float.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/slicedToArray.js","webpack:///./node_modules/core-js-pure/internals/to-length.js","webpack:///./node_modules/core-js-pure/internals/set-to-string-tag.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_library.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_meta.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/define-property.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/define-properties.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js","webpack:///./node_modules/core-js-pure/internals/create-property-descriptor.js","webpack:///./node_modules/core-js-pure/internals/classof-raw.js","webpack:///./node_modules/core-js-pure/internals/is-pure.js","webpack:///./node_modules/core-js-pure/internals/internal-state.js","webpack:///./node_modules/core-js-pure/internals/classof.js","webpack:///./node_modules/core-js-pure/internals/iterators.js","webpack:///./node_modules/core-js-pure/internals/redefine.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_uid.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_validate-collection.js","webpack:///./node_modules/core-js-pure/internals/function-bind-context.js","webpack:///./node_modules/core-js-pure/internals/is-array.js","webpack:///./node_modules/core-js-pure/modules/es.string.iterator.js","webpack:///./node_modules/core-js-pure/modules/web.dom-collections.iterator.js","webpack:///./node_modules/core-js-pure/internals/array-iteration.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_classof.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/find-index.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/splice.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/bind.js","webpack:///./node_modules/chart.js/Chart.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/url.js","webpack:///./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js-pure/internals/require-object-coercible.js","webpack:///./node_modules/core-js-pure/internals/create-property.js","webpack:///./node_modules/core-js-pure/internals/array-method-has-species-support.js","webpack:///./node_modules/core-js-pure/internals/new-promise-capability.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_shared.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_flags.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/json/stringify.js","webpack:///./node_modules/@sentry/utils/esm/syncpromise.js","webpack:///./node_modules/core-js-pure/internals/indexed-object.js","webpack:///./node_modules/core-js-pure/internals/to-primitive.js","webpack:///./node_modules/core-js-pure/internals/to-integer.js","webpack:///./node_modules/core-js-pure/internals/shared-key.js","webpack:///./node_modules/core-js-pure/internals/hidden-keys.js","webpack:///./node_modules/core-js-pure/internals/object-create.js","webpack:///./node_modules/core-js-pure/internals/object-keys.js","webpack:///./node_modules/core-js-pure/internals/add-to-unscopables.js","webpack:///./node_modules/core-js-pure/internals/iterate.js","webpack:///./node_modules/core-js-pure/internals/get-iterator-method.js","webpack:///./node_modules/core-js-pure/internals/perform.js","webpack:///./node_modules/core-js-pure/internals/array-method-is-strict.js","webpack:///./node_modules/core-js-pure/internals/whitespaces.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_user-agent.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_collection.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_typed.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_object-forced-pam.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_set-collection-of.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_set-collection-from.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/reverse.js","webpack:///./node_modules/@sentry/hub/esm/scope.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/values.js","webpack:///./node_modules/core-js-pure/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js-pure/internals/document-create-element.js","webpack:///./node_modules/core-js-pure/internals/array-species-create.js","webpack:///./node_modules/core-js-pure/internals/shared.js","webpack:///./node_modules/core-js-pure/internals/uid.js","webpack:///./node_modules/core-js-pure/internals/native-symbol.js","webpack:///./node_modules/core-js-pure/internals/engine-v8-version.js","webpack:///./node_modules/core-js-pure/internals/engine-user-agent.js","webpack:///./node_modules/core-js-pure/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js-pure/internals/object-define-properties.js","webpack:///./node_modules/core-js-pure/internals/array-includes.js","webpack:///./node_modules/core-js-pure/internals/to-absolute-index.js","webpack:///./node_modules/core-js-pure/internals/enum-bug-keys.js","webpack:///./node_modules/core-js-pure/internals/to-string-tag-support.js","webpack:///./node_modules/core-js-pure/modules/es.array.iterator.js","webpack:///./node_modules/core-js-pure/internals/an-instance.js","webpack:///./node_modules/core-js-pure/internals/string-trim.js","webpack:///./node_modules/core-js-pure/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js-pure/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js-pure/internals/well-known-symbol-wrapped.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_html.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_math-sign.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_math-expm1.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_array-fill.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_advance-string-index.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_task.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_new-promise-capability.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_typed-buffer.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/array/from.js","webpack:///./node_modules/@sentry/utils/esm/string.js","webpack:///./node_modules/@sentry/utils/esm/logger.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/object/define-property.js","webpack:///./node_modules/core-js-pure/es/object/define-property.js","webpack:///./node_modules/core-js-pure/internals/ie8-dom-define.js","webpack:///./node_modules/core-js-pure/internals/is-forced.js","webpack:///./node_modules/core-js-pure/modules/es.array.concat.js","webpack:///./node_modules/core-js-pure/internals/shared-store.js","webpack:///./node_modules/core-js-pure/internals/use-symbol-as-uid.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/core-js-pure/es/promise/index.js","webpack:///./node_modules/core-js-pure/internals/string-multibyte.js","webpack:///./node_modules/core-js-pure/internals/inspect-source.js","webpack:///./node_modules/core-js-pure/internals/define-iterator.js","webpack:///./node_modules/core-js-pure/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js-pure/internals/iterators-core.js","webpack:///./node_modules/core-js-pure/internals/object-keys-internal.js","webpack:///./node_modules/core-js-pure/internals/html.js","webpack:///./node_modules/core-js-pure/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js-pure/internals/native-promise-constructor.js","webpack:///./node_modules/core-js-pure/internals/redefine-all.js","webpack:///./node_modules/core-js-pure/internals/is-array-iterator-method.js","webpack:///./node_modules/core-js-pure/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js-pure/internals/check-correctness-of-iteration.js","webpack:///./node_modules/core-js-pure/internals/species-constructor.js","webpack:///./node_modules/core-js-pure/internals/task.js","webpack:///./node_modules/core-js-pure/internals/engine-is-ios.js","webpack:///./node_modules/core-js-pure/internals/promise-resolve.js","webpack:///./node_modules/core-js-pure/modules/es.promise.all-settled.js","webpack:///./node_modules/core-js-pure/modules/web.timers.js","webpack:///./node_modules/core-js-pure/es/array/from.js","webpack:///./node_modules/core-js-pure/internals/array-from.js","webpack:///./node_modules/core-js-pure/es/object/assign.js","webpack:///./node_modules/core-js-pure/internals/object-assign.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/array/is-array.js","webpack:///./node_modules/core-js-pure/es/array/is-array.js","webpack:///./node_modules/core-js-pure/internals/get-iterator.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/is-iterable.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.iterator.js","webpack:///./node_modules/core-js-pure/internals/native-url.js","webpack:///./node_modules/core-js-pure/modules/web.url-search-params.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_same-value.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_bind.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_parse-int.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_parse-float.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_a-number-value.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_is-integer.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_math-log1p.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_math-fround.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_array-reduce.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_array-copy-within.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_perform.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_to-index.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_flatten-into-array.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_string-pad.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_object-to-array.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_collection-to-json.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_array-from-iterable.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_math-scale.js","webpack:///./node_modules/@sentry/utils/esm/memo.js","webpack:///./node_modules/@sentry/hub/esm/span.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/sort.js","webpack:///./node_modules/select/src/select.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/toConsumableArray.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/typeof.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/array/is-array.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/extends.js","webpack:///./node_modules/core-js-pure/features/object/define-property.js","webpack:///./node_modules/core-js-pure/modules/es.object.define-property.js","webpack:///./node_modules/core-js-pure/stable/instance/concat.js","webpack:///./node_modules/core-js-pure/es/instance/concat.js","webpack:///./node_modules/core-js-pure/es/array/virtual/concat.js","webpack:///./node_modules/core-js-pure/internals/set-global.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/@babel/runtime-corejs3/node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/promise.js","webpack:///./node_modules/core-js-pure/features/promise/index.js","webpack:///./node_modules/core-js-pure/internals/native-weak-map.js","webpack:///./node_modules/core-js-pure/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js-pure/internals/object-to-string.js","webpack:///./node_modules/core-js-pure/internals/a-possible-prototype.js","webpack:///./node_modules/core-js-pure/internals/dom-iterables.js","webpack:///./node_modules/core-js-pure/modules/es.promise.js","webpack:///./node_modules/core-js-pure/internals/set-species.js","webpack:///./node_modules/core-js-pure/internals/microtask.js","webpack:///./node_modules/core-js-pure/internals/host-report-errors.js","webpack:///./node_modules/core-js-pure/modules/es.promise.finally.js","webpack:///./node_modules/core-js-pure/modules/esnext.aggregate-error.js","webpack:///./node_modules/core-js-pure/modules/esnext.promise.all-settled.js","webpack:///./node_modules/core-js-pure/modules/esnext.promise.try.js","webpack:///./node_modules/core-js-pure/modules/esnext.promise.any.js","webpack:///./node_modules/core-js-pure/stable/promise/index.js","webpack:///./node_modules/core-js-pure/stable/instance/index-of.js","webpack:///./node_modules/core-js-pure/es/instance/index-of.js","webpack:///./node_modules/core-js-pure/es/array/virtual/index-of.js","webpack:///./node_modules/core-js-pure/modules/es.array.index-of.js","webpack:///./node_modules/core-js-pure/stable/parse-float.js","webpack:///./node_modules/core-js-pure/es/parse-float.js","webpack:///./node_modules/core-js-pure/modules/es.parse-float.js","webpack:///./node_modules/core-js-pure/internals/number-parse-float.js","webpack:///./node_modules/core-js-pure/stable/set-interval.js","webpack:///./node_modules/core-js-pure/stable/parse-int.js","webpack:///./node_modules/core-js-pure/es/parse-int.js","webpack:///./node_modules/core-js-pure/modules/es.parse-int.js","webpack:///./node_modules/core-js-pure/internals/number-parse-int.js","webpack:///./node_modules/core-js-pure/stable/json/stringify.js","webpack:///./node_modules/core-js-pure/es/json/stringify.js","webpack:///./node_modules/core-js-pure/modules/es.json.stringify.js","webpack:///./node_modules/core-js-pure/stable/instance/for-each.js","webpack:///./node_modules/core-js-pure/stable/array/virtual/for-each.js","webpack:///./node_modules/core-js-pure/es/array/virtual/for-each.js","webpack:///./node_modules/core-js-pure/modules/es.array.for-each.js","webpack:///./node_modules/core-js-pure/internals/array-for-each.js","webpack:///./node_modules/core-js-pure/stable/instance/includes.js","webpack:///./node_modules/core-js-pure/es/instance/includes.js","webpack:///./node_modules/core-js-pure/es/array/virtual/includes.js","webpack:///./node_modules/core-js-pure/modules/es.array.includes.js","webpack:///./node_modules/core-js-pure/es/string/virtual/includes.js","webpack:///./node_modules/core-js-pure/modules/es.string.includes.js","webpack:///./node_modules/core-js-pure/internals/not-a-regexp.js","webpack:///./node_modules/core-js-pure/internals/is-regexp.js","webpack:///./node_modules/core-js-pure/internals/correct-is-regexp-logic.js","webpack:///./node_modules/core-js-pure/stable/instance/slice.js","webpack:///./node_modules/core-js-pure/es/instance/slice.js","webpack:///./node_modules/core-js-pure/es/array/virtual/slice.js","webpack:///./node_modules/core-js-pure/modules/es.array.slice.js","webpack:///./node_modules/core-js-pure/stable/array/from.js","webpack:///./node_modules/core-js-pure/modules/es.array.from.js","webpack:///./node_modules/core-js-pure/stable/object/assign.js","webpack:///./node_modules/core-js-pure/modules/es.object.assign.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/arrayWithHoles.js","webpack:///./node_modules/core-js-pure/features/array/is-array.js","webpack:///./node_modules/core-js-pure/modules/es.array.is-array.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/get-iterator.js","webpack:///./node_modules/core-js-pure/features/get-iterator.js","webpack:///./node_modules/core-js-pure/features/is-iterable.js","webpack:///./node_modules/core-js-pure/internals/is-iterable.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/nonIterableRest.js","webpack:///./node_modules/core-js-pure/stable/object/keys.js","webpack:///./node_modules/core-js-pure/es/object/keys.js","webpack:///./node_modules/core-js-pure/modules/es.object.keys.js","webpack:///./node_modules/core-js-pure/stable/instance/reduce.js","webpack:///./node_modules/core-js-pure/es/instance/reduce.js","webpack:///./node_modules/core-js-pure/es/array/virtual/reduce.js","webpack:///./node_modules/core-js-pure/modules/es.array.reduce.js","webpack:///./node_modules/core-js-pure/internals/array-reduce.js","webpack:///./node_modules/core-js-pure/stable/set-timeout.js","webpack:///./node_modules/core-js-pure/stable/instance/filter.js","webpack:///./node_modules/core-js-pure/es/instance/filter.js","webpack:///./node_modules/core-js-pure/es/array/virtual/filter.js","webpack:///./node_modules/core-js-pure/modules/es.array.filter.js","webpack:///./node_modules/core-js-pure/stable/instance/trim.js","webpack:///./node_modules/core-js-pure/es/instance/trim.js","webpack:///./node_modules/core-js-pure/es/string/virtual/trim.js","webpack:///./node_modules/core-js-pure/modules/es.string.trim.js","webpack:///./node_modules/core-js-pure/internals/string-trim-forced.js","webpack:///./node_modules/core-js-pure/stable/instance/map.js","webpack:///./node_modules/core-js-pure/es/instance/map.js","webpack:///./node_modules/core-js-pure/es/array/virtual/map.js","webpack:///./node_modules/core-js-pure/modules/es.array.map.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./node_modules/mithril/stream/stream.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///./node_modules/core-js-pure/stable/instance/find.js","webpack:///./node_modules/core-js-pure/es/instance/find.js","webpack:///./node_modules/core-js-pure/es/array/virtual/find.js","webpack:///./node_modules/core-js-pure/modules/es.array.find.js","webpack:///./legacy/src/experiments/c/explore-light-box.css?6573","webpack:///./legacy/src/experiments/c/explore-light-box.css","webpack:///(webpack)/buildin/amd-options.js","webpack:///./node_modules/core-js-pure/stable/instance/sort.js","webpack:///./node_modules/core-js-pure/es/instance/sort.js","webpack:///./node_modules/core-js-pure/es/array/virtual/sort.js","webpack:///./node_modules/core-js-pure/modules/es.array.sort.js","webpack:///./node_modules/core-js-pure/stable/instance/reverse.js","webpack:///./node_modules/core-js-pure/es/instance/reverse.js","webpack:///./node_modules/core-js-pure/es/array/virtual/reverse.js","webpack:///./node_modules/core-js-pure/modules/es.array.reverse.js","webpack:///./node_modules/core-js-pure/stable/instance/find-index.js","webpack:///./node_modules/core-js-pure/es/instance/find-index.js","webpack:///./node_modules/core-js-pure/es/array/virtual/find-index.js","webpack:///./node_modules/core-js-pure/modules/es.array.find-index.js","webpack:///./node_modules/core-js-pure/stable/instance/splice.js","webpack:///./node_modules/core-js-pure/es/instance/splice.js","webpack:///./node_modules/core-js-pure/es/array/virtual/splice.js","webpack:///./node_modules/core-js-pure/modules/es.array.splice.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/iterableToArray.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/array/from.js","webpack:///./node_modules/core-js-pure/features/array/from.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/nonIterableSpread.js","webpack:///./node_modules/core-js-pure/stable/date/now.js","webpack:///./node_modules/core-js-pure/es/date/now.js","webpack:///./node_modules/core-js-pure/modules/es.date.now.js","webpack:///./node_modules/core-js-pure/stable/object/define-property.js","webpack:///./node_modules/core-js-pure/stable/object/define-properties.js","webpack:///./node_modules/core-js-pure/es/object/define-properties.js","webpack:///./node_modules/core-js-pure/modules/es.object.define-properties.js","webpack:///./node_modules/core-js-pure/stable/object/get-own-property-descriptors.js","webpack:///./node_modules/core-js-pure/es/object/get-own-property-descriptors.js","webpack:///./node_modules/core-js-pure/modules/es.object.get-own-property-descriptors.js","webpack:///./node_modules/core-js-pure/internals/own-keys.js","webpack:///./node_modules/core-js-pure/stable/object/get-own-property-descriptor.js","webpack:///./node_modules/core-js-pure/es/object/get-own-property-descriptor.js","webpack:///./node_modules/core-js-pure/modules/es.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js-pure/stable/object/get-own-property-symbols.js","webpack:///./node_modules/core-js-pure/es/object/get-own-property-symbols.js","webpack:///./node_modules/core-js-pure/internals/object-get-own-property-names-external.js","webpack:///./node_modules/core-js-pure/stable/instance/values.js","webpack:///./node_modules/core-js-pure/stable/array/virtual/values.js","webpack:///./node_modules/core-js-pure/es/array/virtual/values.js","webpack:///./node_modules/core-js-pure/stable/instance/bind.js","webpack:///./node_modules/core-js-pure/es/instance/bind.js","webpack:///./node_modules/core-js-pure/es/function/virtual/bind.js","webpack:///./node_modules/core-js-pure/modules/es.function.bind.js","webpack:///./node_modules/core-js-pure/internals/function-bind.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/symbol/iterator.js","webpack:///./node_modules/core-js-pure/features/symbol/iterator.js","webpack:///./node_modules/core-js-pure/es/symbol/iterator.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/symbol.js","webpack:///./node_modules/core-js-pure/features/symbol/index.js","webpack:///./node_modules/core-js-pure/es/symbol/index.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.async-iterator.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.has-instance.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.match.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.match-all.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.replace.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.search.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.species.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.split.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.to-primitive.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.to-string-tag.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.unscopables.js","webpack:///./node_modules/core-js-pure/modules/es.math.to-string-tag.js","webpack:///./node_modules/core-js-pure/modules/es.json.to-string-tag.js","webpack:///./node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js","webpack:///./node_modules/core-js-pure/modules/esnext.symbol.dispose.js","webpack:///./node_modules/core-js-pure/modules/esnext.symbol.observable.js","webpack:///./node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js","webpack:///./node_modules/core-js-pure/modules/esnext.symbol.replace-all.js","webpack:///./node_modules/core-js-pure/stable/array/is-array.js","webpack:///./node_modules/core-js-pure/stable/url/index.js","webpack:///./node_modules/core-js-pure/web/url.js","webpack:///./node_modules/core-js-pure/modules/web.url.js","webpack:///./node_modules/core-js-pure/internals/string-punycode-to-ascii.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/object/assign.js","webpack:///./node_modules/core-js-pure/features/object/assign.js","webpack:///./legacy/src/root/projects/publish-by-steps/todo.css?3512","webpack:///./legacy/src/root/projects/publish-by-steps/todo.css","webpack:///./node_modules/babel-polyfill/lib/index.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/shim.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_function-to-string.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.object.create.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.object.define-property.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.object.define-properties.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.object.freeze.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.object.seal.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.object.is-frozen.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.object.is-sealed.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.object.is-extensible.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.object.is.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.object.to-string.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.function.bind.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.function.has-instance.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.parse-int.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.parse-float.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.number.to-fixed.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.number.to-precision.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.number.epsilon.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.number.is-finite.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.number.is-integer.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.number.is-nan.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.number.parse-float.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.number.parse-int.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.math.acosh.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.math.asinh.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.math.atanh.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.math.cbrt.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.math.clz32.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.math.cosh.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.math.expm1.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.math.fround.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.math.hypot.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.math.imul.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.math.log10.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.math.log1p.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.math.log2.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.math.sign.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.math.sinh.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.math.tanh.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.from-code-point.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.raw.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.trim.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.code-point-at.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.repeat.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.starts-with.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.anchor.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.big.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.blink.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.bold.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.fontcolor.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.fontsize.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.italics.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.link.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.small.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.strike.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.sub.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.string.sup.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.date.now.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.date.to-json.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.date.to-iso-string.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_date-to-iso-string.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.date.to-primitive.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_date-to-primitive.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.is-array.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.of.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.join.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.slice.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.sort.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.for-each.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.map.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.filter.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.some.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.every.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.reduce.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.reduce-right.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.index-of.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.last-index-of.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.copy-within.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.array.species.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.weak-set.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.typed.array-buffer.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.typed.data-view.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.typed.int8-array.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.typed.uint8-array.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.typed.int16-array.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.typed.uint16-array.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.typed.int32-array.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.typed.uint32-array.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.typed.float32-array.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.typed.float64-array.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.reflect.apply.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.reflect.define-property.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.reflect.delete-property.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.reflect.enumerate.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.reflect.get.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.reflect.has.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.reflect.own-keys.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.reflect.set.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.array.includes.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.array.flat-map.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.array.flatten.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.string.at.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.string.pad-start.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.string.pad-end.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.string.trim-left.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.string.trim-right.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.string.match-all.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.symbol.observable.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.object.values.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.object.entries.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.object.define-getter.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.object.define-setter.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.object.lookup-getter.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.object.lookup-setter.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.map.to-json.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.set.to-json.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.map.of.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.set.of.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.weak-map.of.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.weak-set.of.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.map.from.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.set.from.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.weak-map.from.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.weak-set.from.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.global.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.system.global.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.error.is-error.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.math.clamp.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.math.deg-per-rad.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.math.degrees.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.math.fscale.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.math.iaddh.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.math.isubh.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.math.imulh.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.math.rad-per-deg.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.math.radians.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.math.scale.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.math.umulh.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.math.signbit.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.promise.finally.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.promise.try.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.reflect.define-metadata.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.reflect.get-metadata.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.reflect.has-metadata.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.reflect.metadata.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.asap.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/es7.observable.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/web.timers.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/web.immediate.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/web.dom.iterable.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/fn/regexp/escape.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/core.regexp.escape.js","webpack:///./node_modules/babel-polyfill/node_modules/core-js/modules/_replacer.js","webpack:///./node_modules/@sentry/core/esm/integrations/functiontostring.js","webpack:///./node_modules/@sentry/core/esm/integrations/inboundfilters.js","webpack:///./node_modules/@sentry/utils/esm/polyfill.js","webpack:///./node_modules/@sentry/utils/esm/error.js","webpack:///./node_modules/@sentry/core/esm/dsn.js","webpack:///./node_modules/@sentry/core/esm/api.js","webpack:///./node_modules/@sentry/core/esm/integration.js","webpack:///./node_modules/@sentry/core/esm/baseclient.js","webpack:///./node_modules/@sentry/types/esm/status.js","webpack:///./node_modules/@sentry/core/esm/transports/noop.js","webpack:///./node_modules/@sentry/types/esm/severity.js","webpack:///./node_modules/@sentry/core/esm/basebackend.js","webpack:///./node_modules/@sentry/utils/esm/supports.js","webpack:///./node_modules/@sentry/browser/esm/tracekit.js","webpack:///./node_modules/@sentry/browser/esm/parsers.js","webpack:///./node_modules/@sentry/browser/esm/eventbuilder.js","webpack:///./node_modules/@sentry/utils/esm/promisebuffer.js","webpack:///./node_modules/@sentry/browser/esm/transports/base.js","webpack:///./node_modules/@sentry/browser/esm/transports/fetch.js","webpack:///./node_modules/@sentry/browser/esm/transports/xhr.js","webpack:///./node_modules/@sentry/browser/esm/backend.js","webpack:///./node_modules/@sentry/browser/esm/client.js","webpack:///./node_modules/@sentry/browser/esm/version.js","webpack:///./node_modules/@sentry/minimal/esm/index.js","webpack:///./node_modules/@sentry/browser/esm/helpers.js","webpack:///./node_modules/@sentry/browser/esm/integrations/trycatch.js","webpack:///./node_modules/@sentry/browser/esm/integrations/breadcrumbs.js","webpack:///./node_modules/@sentry/browser/esm/integrations/globalhandlers.js","webpack:///./node_modules/@sentry/browser/esm/integrations/linkederrors.js","webpack:///./node_modules/@sentry/browser/esm/integrations/useragent.js","webpack:///./node_modules/@sentry/browser/esm/sdk.js","webpack:///./legacy/src/api.js","webpack:///./legacy/src/models.js","webpack:///./legacy/src/vms/contribution-vm.js","webpack:///./legacy/vendor/mithril-generative-trust.js","webpack:///./legacy/src/h.ts","webpack:///./node_modules/@sentry/core/esm/sdk.js","webpack:///./legacy/src/vms/home-vm.js","webpack:///./legacy/src/c/admin-home-banners-entry.js","webpack:///./legacy/src/root/admin-home-banners.js","webpack:///./legacy/src/c/project-edit-save-btn.js","webpack:///./legacy/src/root/admin-notifications.js","webpack:///./legacy/src/vms/project-list-vm.js","webpack:///./legacy/src/vms/project-filter-vm.js","webpack:///./legacy/src/c/filter-main.js","webpack:///./legacy/src/c/admin-filter.js","webpack:///./legacy/src/c/admin-item.js","webpack:///./legacy/src/c/admin-list.js","webpack:///./legacy/src/c/progress-meter.js","webpack:///./legacy/src/vms/project-filters-vm.js","webpack:///./legacy/src/vms/user-vm.js","webpack:///./legacy/src/vms/reward-vm.js","webpack:///./legacy/src/vms/project-goals-vm.js","webpack:///./legacy/src/vms/project-vm.ts","webpack:///./legacy/src/c/admin-project-item.js","webpack:///./legacy/src/c/admin-project-detail.js","webpack:///./legacy/src/c/filter-date-range.js","webpack:///./legacy/src/c/filter-number-range.js","webpack:///./legacy/src/c/dropdown.js","webpack:///./legacy/src/c/filter-dropdown.js","webpack:///./legacy/src/root/admin-projects.js","webpack:///./legacy/src/c/header-menu-search.ts","webpack:///./legacy/src/c/menu-profile.js","webpack:///./legacy/src/experiments/c/explore-light-box.js","webpack:///./legacy/src/root/menu.js","webpack:///./legacy/src/root/footer.js","webpack:///./legacy/src/root/check-email.js","webpack:///./legacy/src/vms/user-list-vm.js","webpack:///./legacy/src/vms/user-filter-vm.js","webpack:///./legacy/src/c/admin-user.js","webpack:///./legacy/src/c/admin-user-item.js","webpack:///./legacy/src/c/admin-external-action.js","webpack:///./legacy/src/c/admin-reset-password.js","webpack:///./legacy/src/c/admin-input-action.js","webpack:///./legacy/src/c/admin-notification-history.js","webpack:///./legacy/src/c/admin-user-balance-transactions-list.js","webpack:///./legacy/src/c/admin-user-detail.js","webpack:///./legacy/src/root/admin-users.js","webpack:///./legacy/src/vms/contribution-list-vm.js","webpack:///./legacy/src/vms/contribution-filter-vm.js","webpack:///./legacy/src/c/admin-project.js","webpack:///./legacy/src/c/admin-contribution.js","webpack:///./legacy/src/c/admin-contribution-user.js","webpack:///./legacy/src/c/payment-status.js","webpack:///./legacy/src/c/admin-contribution-item.js","webpack:///./legacy/src/c/admin-radio-action.js","webpack:///./legacy/src/c/admin-transaction.js","webpack:///./legacy/src/c/admin-transaction-history.js","webpack:///./legacy/src/c/admin-reward.js","webpack:///./legacy/src/c/admin-contribution-detail.js","webpack:///./legacy/src/c/modal-box.js","webpack:///./legacy/src/root/admin-contributions.js","webpack:///./legacy/src/vms/subscription-list-vm.js","webpack:///./legacy/src/vms/subscription-filter-vm.js","webpack:///./legacy/src/c/admin-sub-project.js","webpack:///./legacy/src/c/admin-subscription.js","webpack:///./legacy/src/c/admin-subscription-user.js","webpack:///./legacy/src/c/payment-method-icon.js","webpack:///./legacy/src/c/subscription-status-icon.js","webpack:///./legacy/src/c/sub-payment-status.js","webpack:///./legacy/src/c/admin-subscription-item.js","webpack:///./legacy/src/c/admin-subscription-detail.js","webpack:///./legacy/src/root/admin-subscriptions.js","webpack:///./legacy/src/vms/balance-transfer-list-vm.js","webpack:///./legacy/src/vms/balance-transfer-filter-vm.js","webpack:///./legacy/src/c/admin-balance-transfer-item.js","webpack:///./legacy/src/c/pop-notification.tsx","webpack:///./legacy/src/c/admin-balance-transfer-item-detail.js","webpack:///./legacy/src/root/admin-balance-tranfers.js","webpack:///./legacy/src/c/landing-signup.js","webpack:///./legacy/src/c/project-friends.js","webpack:///./legacy/src/c/project-card.js","webpack:///./legacy/src/c/project-row.js","webpack:///./legacy/src/c/landing-qa.js","webpack:///./legacy/src/root/flex.js","webpack:///./legacy/src/c/tooltip.js","webpack:///./legacy/src/vms/rails-errors-vm.js","webpack:///./legacy/src/c/project-dashboard-menu.js","webpack:///./legacy/src/c/admin-project-details-card.js","webpack:///./legacy/src/c/online-success-modal-content.js","webpack:///./legacy/src/c/project-data-stats.js","webpack:///./legacy/src/c/delete-project-modal-content.js","webpack:///./legacy/src/c/project-delete-button.js","webpack:///./legacy/src/c/cancel-project-modal-content.js","webpack:///./legacy/src/c/project-cancel-button.js","webpack:///./legacy/src/c/project-data-chart.js","webpack:///./legacy/src/c/project-data-table.js","webpack:///./legacy/src/c/project-reminder-count.js","webpack:///./legacy/src/c/facebook-button.js","webpack:///./legacy/src/c/copy-text-input.js","webpack:///./legacy/src/c/project-invite-card.js","webpack:///./legacy/src/c/successful-project-tax-modal.js","webpack:///./legacy/src/c/project-successful-onboard.js","webpack:///./legacy/src/c/project-successful-progress-bar.js","webpack:///./legacy/src/c/project-successful-onboard-processing.js","webpack:///./legacy/src/c/project-successful-onboard-enabled-withdraw.js","webpack:///./legacy/src/c/project-successful-next-steps.js","webpack:///./legacy/src/c/solidarity-project-insights-welcome-draft.js","webpack:///./legacy/src/c/project-insights.js","webpack:///./legacy/src/c/subscriptions-per-month-table.js","webpack:///./legacy/src/c/project-goals-box-dashboard.js","webpack:///./legacy/src/c/insights-info-box.js","webpack:///./legacy/src/vms/subscription-vm.js","webpack:///./legacy/src/c/project-insights-sub.js","webpack:///./legacy/src/root/insights.js","webpack:///./legacy/src/c/posts-preview.js","webpack:///./legacy/src/c/post-for-reward-checkbox.js","webpack:///./legacy/src/c/post-entry.js","webpack:///./legacy/src/root/posts.js","webpack:///./legacy/src/root/surveys.js","webpack:///./legacy/src/vms/survey-vm.js","webpack:///./legacy/src/c/reward-card-big.js","webpack:///./legacy/src/c/survey-create-preview.js","webpack:///./legacy/src/c/inline-error.tsx","webpack:///./legacy/src/c/dashboard-multiple-choice-question.js","webpack:///./legacy/src/c/dashboard-open-question.js","webpack:///./legacy/src/root/survey-create.js","webpack:///./legacy/src/root/jobs.js","webpack:///./legacy/src/root/press.js","webpack:///./legacy/src/root/live-statistics.js","webpack:///./legacy/src/c/project-contribution-report-header.js","webpack:///./legacy/src/c/anonymous-badge.js","webpack:///./legacy/src/c/project-contribution-report-content-card.js","webpack:///./legacy/src/vms/projects-contribution-report-vm.js","webpack:///./legacy/src/c/deliver-contribution-modal-content.js","webpack:///./legacy/src/c/error-contribution-modal-content.js","webpack:///./legacy/src/c/project-contribution-report-content.js","webpack:///./legacy/src/c/download-reports.js","webpack:///./legacy/src/c/info-project-contribution-legend.js","webpack:///./legacy/src/c/project-contribution-state-legend-modal.js","webpack:///./legacy/src/c/project-contribution-delivery-legend-modal.js","webpack:///./legacy/src/root/projects-contribution-report.js","webpack:///./legacy/src/vms/project-contributions-list-vm.js","webpack:///./legacy/src/c/load-more-btn.js","webpack:///./legacy/src/c/filter-text.js","webpack:///./legacy/src/c/dropdown-menu.js","webpack:///./legacy/src/c/filter-dropdown-number-range.js","webpack:///./legacy/src/c/dashboard-subscription-card-detail-payment-history-entry.js","webpack:///./legacy/src/c/subscription-next-charge-date-method-info.js","webpack:///./legacy/src/c/subscription-next-charge-date.js","webpack:///./legacy/src/c/dashboard-subscription-card-detail-payment-history.js","webpack:///./legacy/src/vms/payments-list-vm.js","webpack:///./legacy/src/c/dashboard-subscription-card-detail-subscription-details.js","webpack:///./legacy/src/c/user-follow-btn.js","webpack:///./legacy/src/c/owner-message-content.js","webpack:///./legacy/src/c/dashboard-subscription-card-detail-user-profile.js","webpack:///./legacy/src/c/dashboard-subscription-card-detail-user-address.js","webpack:///./legacy/src/c/dashboard-subscription-card-detail.js","webpack:///./legacy/src/c/subscription-last-payment-status.js","webpack:///./legacy/src/c/dashboard-subscription-card.js","webpack:///./legacy/src/vms/projects-subscription-report-vm.js","webpack:///./legacy/src/vms/project-subscriptions-list-vm.js","webpack:///./legacy/src/c/select-subscription-reports.js","webpack:///./legacy/src/vms/project-report-exports-vm.js","webpack:///./legacy/src/root/requested-subscription-reports-modal.js","webpack:///./legacy/src/root/projects-subscription-report.js","webpack:///./legacy/src/c/project-subscription-report-download-entry.js","webpack:///./legacy/src/root/projects-subscription-report-download.js","webpack:///./legacy/src/root/projects-dashboard.js","webpack:///./legacy/src/c/unsigned-friend-facebook-connect.js","webpack:///./legacy/src/utils/sequence-pagination-vm.ts","webpack:///./legacy/src/vms/cities-search-vm.ts","webpack:///./legacy/src/utils/single-page-vm.ts","webpack:///./legacy/src/vms/projects-explore-vm.ts","webpack:///./legacy/src/c/explore/explore-search-filter-select.js","webpack:///./legacy/src/c/explore/explore-filter-select.ts","webpack:///./legacy/src/c/explore/explore-projects-found-counter.tsx","webpack:///./legacy/src/c/explore/explore-projects-list.js","webpack:///./legacy/src/c/projects-explore-footer.tsx","webpack:///./legacy/src/c/projects-explore-load-more-button.tsx","webpack:///./legacy/src/utils/deep-object-operators.ts","webpack:///./legacy/src/c/explore/explore-search-param.tsx","webpack:///./legacy/src/c/explore/explore-mobile-search.tsx","webpack:///./legacy/src/root/projects-explore.ts","webpack:///./legacy/src/c/slider.js","webpack:///./legacy/src/c/project-row-with-header.js","webpack:///./legacy/src/c/projects-display.js","webpack:///./legacy/src/vms/blog-vm.js","webpack:///./legacy/src/root/blog-banner.js","webpack:///./legacy/src/c/home-banner-slide.js","webpack:///./legacy/src/root/projects-home.js","webpack:///./legacy/src/c/project-share-box.js","webpack:///./legacy/src/c/address-tag.js","webpack:///./legacy/src/c/category-tag.js","webpack:///./legacy/src/c/project-we-loved-tag.js","webpack:///./legacy/src/c/project-video.js","webpack:///./legacy/src/c/project-highlight.js","webpack:///./legacy/src/c/project-mode.js","webpack:///./legacy/src/c/project-reminder.js","webpack:///./legacy/src/c/project-user-card.js","webpack:///./legacy/src/c/project-sidebar.js","webpack:///./legacy/src/c/project-header-title.js","webpack:///./legacy/src/c/reward-receiver.js","webpack:///./legacy/src/c/user-contributed-box.js","webpack:///./legacy/src/c/user-contribution-detail.js","webpack:///./legacy/src/vms/address-vm.js","webpack:///./legacy/src/vms/common-payment-vm.js","webpack:///./legacy/src/c/cancel-subscription-content.js","webpack:///./legacy/src/c/checkbox-update-individual.js","webpack:///./legacy/src/c/user-subscription-payment-history-modal.js","webpack:///./legacy/src/c/subscription-next-charge-date-compact.js","webpack:///./legacy/src/c/user-subscription-box-control.js","webpack:///./legacy/src/c/user-subscription-box.js","webpack:///./legacy/src/c/user-subscription-detail.js","webpack:///./legacy/src/c/project-header.js","webpack:///./legacy/src/c/project-tabs.js","webpack:///./legacy/src/c/project-suggested-contributions.js","webpack:///./legacy/src/c/project-contributor-card.js","webpack:///./legacy/src/c/project-contributions.js","webpack:///./legacy/src/c/project-reward-card.js","webpack:///./legacy/src/c/project-report-disrespect-rules.js","webpack:///./legacy/src/c/project-report-infringes-intellectual-property.js","webpack:///./legacy/src/c/project-report-no-reward-received.js","webpack:///./legacy/src/c/project-report.js","webpack:///./legacy/src/c/project-reward-list.js","webpack:///./legacy/src/c/project-goals-box.tsx","webpack:///./legacy/src/c/project-about.js","webpack:///./legacy/src/c/project-rewards.js","webpack:///./legacy/src/c/project-comments.js","webpack:///./legacy/src/c/project-posts.js","webpack:///./legacy/src/c/project-main.js","webpack:///./legacy/src/c/adult-popup-modal.js","webpack:///./legacy/src/root/projects-show.js","webpack:///./legacy/src/vms/payment-vm.js","webpack:///./legacy/src/c/reward-select-card.js","webpack:///./legacy/src/c/faq-box.js","webpack:///./legacy/src/root/projects-contribution.js","webpack:///./legacy/src/root/projects-subscription-contribution.js","webpack:///./legacy/src/c/subscription-edit-modal.js","webpack:///./legacy/src/c/payment-slip.js","webpack:///./legacy/src/vms/credit-card-vm.js","webpack:///./legacy/src/c/credit-card-input.js","webpack:///./legacy/src/c/payment-credit-card.js","webpack:///./legacy/src/c/payment-form.js","webpack:///./legacy/src/c/nationality-radio.js","webpack:///./legacy/src/c/country-select.js","webpack:///./legacy/src/c/address-form-international.js","webpack:///./legacy/src/c/address-form-national.js","webpack:///./legacy/src/c/address-form.js","webpack:///./legacy/src/root/projects-subscription-checkout.js","webpack:///./legacy/src/root/projects-subscription-thank-you.js","webpack:///./legacy/src/c/user-header.js","webpack:///./legacy/src/c/user-created.js","webpack:///./legacy/src/vms/user-created-projects-vm.js","webpack:///./legacy/src/c/user-contributed.js","webpack:///./legacy/src/c/user-card.js","webpack:///./legacy/src/c/user-about.js","webpack:///./legacy/src/root/users-show.js","webpack:///./legacy/src/c/survey-preview.js","webpack:///./legacy/src/root/surveys-show.js","webpack:///./legacy/src/error.js","webpack:///./legacy/src/vms/user-about-vm.js","webpack:///./legacy/src/c/user-about-edit.js","webpack:///./legacy/src/c/user-contributed-list.js","webpack:///./legacy/src/c/user-private-contributed.js","webpack:///./legacy/src/vms/user-settings-vm.js","webpack:///./legacy/src/c/big-card.js","webpack:///./legacy/src/c/user-settings-responsible.js","webpack:///./legacy/src/c/user-settings-address.js","webpack:///./legacy/src/c/user-settings-saved-credit-cards.js","webpack:///./legacy/src/c/user-settings-help.js","webpack:///./legacy/src/c/user-settings.js","webpack:///./legacy/src/c/user-notifications.js","webpack:///./legacy/src/c/user-owner-box.js","webpack:///./legacy/src/c/user-bank-form.js","webpack:///./legacy/src/c/user-balance-request-modal-content.js","webpack:///./legacy/src/c/user-balance.js","webpack:///./legacy/src/c/user-balance-transaction-row.js","webpack:///./legacy/src/c/user-balance-transactions.js","webpack:///./legacy/src/c/user-balance-withdraw-history-item-request.js","webpack:///./legacy/src/c/user-balance-withdraw-history.js","webpack:///./legacy/src/c/user-balance-main.js","webpack:///./legacy/src/vms/user-balance-transactions-list-vm.js","webpack:///./legacy/src/vms/user-balance-transfers-list-vm.js","webpack:///./legacy/src/root/users-edit.js","webpack:///./legacy/src/vms/project-goal-vm.js","webpack:///./legacy/src/c/solidarity-project-description.js","webpack:///./legacy/src/c/project-goal-edit.js","webpack:///./legacy/src/root/project-edit-goal.js","webpack:///./legacy/src/root/project-edit-welcome.js","webpack:///./legacy/src/c/project-goal-edit-card.js","webpack:///./legacy/src/c/project-goal-card.js","webpack:///./legacy/src/c/project-goals-edit.js","webpack:///./legacy/src/root/project-edit-goals.js","webpack:///./legacy/src/vms/project-basics-vm.js","webpack:///./legacy/src/c/input-card.js","webpack:///./legacy/src/c/project-basics-edit.js","webpack:///./legacy/src/root/project-edit-basic.js","webpack:///./legacy/src/vms/project-description-vm.js","webpack:///./legacy/src/c/big-input-card.js","webpack:///./legacy/src/c/project-description-edit.js","webpack:///./legacy/src/vms/project-description-video-vm.js","webpack:///./legacy/src/c/project-description-video-edit.js","webpack:///./legacy/src/root/project-edit-description.js","webpack:///./legacy/src/vms/project-video-vm.js","webpack:///./legacy/src/c/project-video-edit.js","webpack:///./legacy/src/root/project-edit-video.js","webpack:///./legacy/src/vms/project-budget-vm.js","webpack:///./legacy/src/c/project-budget-edit.js","webpack:///./legacy/src/root/project-edit-budget.js","webpack:///./legacy/src/root/project-edit-user-about.js","webpack:///./legacy/src/root/project-edit-user-settings.js","webpack:///./legacy/src/c/reward-card-edit-description.js","webpack:///./legacy/src/c/dashboard-reward-card.js","webpack:///./legacy/src/c/shipping-fee-input.js","webpack:///./legacy/src/c/edit-reward-card.js","webpack:///./legacy/src/c/projects/edit/rewards-edit-list-card.tsx","webpack:///./legacy/src/c/projects/edit/rewards-edit-list.tsx","webpack:///./legacy/src/root/project-edit-reward.js","webpack:///./legacy/src/vms/project-card-vm.js","webpack:///./legacy/src/c/project-card-edit.js","webpack:///./legacy/src/root/project-edit-card.js","webpack:///./legacy/src/root/project-edit-start.js","webpack:///./legacy/src/root/project-preview.js","webpack:///./legacy/src/c/announce-expiration-modal.js","webpack:///./legacy/src/c/project-announce-expiration.js","webpack:///./legacy/src/c/project-edit-tab.js","webpack:///./legacy/src/root/project-edit-integrations.js","webpack:///./legacy/src/root/project-edit.js","webpack:///./legacy/src/root/projects-payment.js","webpack:///./legacy/src/root/projects-reward.js","webpack:///./legacy/src/root/projects-fiscal.js","webpack:///./legacy/src/vms/publish-vm.js","webpack:///./legacy/src/root/publish.js","webpack:///./legacy/src/c/youtube-lightbox.js","webpack:///./legacy/src/root/start.js","webpack:///./legacy/src/vms/start-vm.js","webpack:///./legacy/src/c/team-total.js","webpack:///./legacy/src/c/team-members.js","webpack:///./legacy/src/root/team.js","webpack:///./legacy/src/c/user-follow-card.js","webpack:///./legacy/src/c/user-friends.js","webpack:///./legacy/src/vms/friends-vm.js","webpack:///./legacy/src/c/user-follows.js","webpack:///./legacy/src/c/user-followers.js","webpack:///./legacy/src/c/user-creators.js","webpack:///./legacy/src/root/follow-found-friends.js","webpack:///./legacy/src/root/thank-you.js","webpack:///./legacy/src/root/sub-project-new.js","webpack:///./legacy/src/c/projects/publish-by-steps/project-card-simple.tsx","webpack:///./legacy/src/c/inline-errors.tsx","webpack:///./legacy/src/c/std/input-image-file.tsx","webpack:///./legacy/src/root/projects/publish-by-steps/card-edit.tsx","webpack:///./node_modules/rxjs/_esm5/internal/util/isFunction.js","webpack:///./node_modules/rxjs/_esm5/internal/config.js","webpack:///./node_modules/rxjs/_esm5/internal/util/hostReportError.js","webpack:///./node_modules/rxjs/_esm5/internal/Observer.js","webpack:///./node_modules/rxjs/_esm5/internal/util/isArray.js","webpack:///./node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js","webpack:///./node_modules/rxjs/_esm5/internal/Subscription.js","webpack:///./node_modules/rxjs/_esm5/internal/util/isObject.js","webpack:///./node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js","webpack:///./node_modules/rxjs/_esm5/internal/Subscriber.js","webpack:///./node_modules/rxjs/_esm5/internal/symbol/observable.js","webpack:///./node_modules/rxjs/_esm5/internal/util/noop.js","webpack:///./node_modules/rxjs/_esm5/internal/util/pipe.js","webpack:///./node_modules/rxjs/_esm5/internal/Observable.js","webpack:///./node_modules/rxjs/_esm5/internal/util/toSubscriber.js","webpack:///./node_modules/rxjs/_esm5/internal/util/canReportError.js","webpack:///./node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js","webpack:///./node_modules/rxjs/_esm5/internal/SubjectSubscription.js","webpack:///./node_modules/rxjs/_esm5/internal/Subject.js","webpack:///./legacy/src/vms/project-publish-by-steps-vm.ts","webpack:///./legacy/src/c/projects/publish-by-steps/description-edit-tips.tsx","webpack:///./legacy/src/c/std/input-currency.tsx","webpack:///./legacy/src/c/std/textarea-html-editor.tsx","webpack:///./legacy/src/c/std/input-find-location.tsx","webpack:///./legacy/src/c/projects/publish-by-steps/preview-project-page.tsx","webpack:///./node_modules/rxjs/_esm5/internal/operators/map.js","webpack:///./node_modules/rxjs/_esm5/internal/scheduler/Action.js","webpack:///./node_modules/rxjs/_esm5/internal/scheduler/AsyncAction.js","webpack:///./node_modules/rxjs/_esm5/internal/Scheduler.js","webpack:///./node_modules/rxjs/_esm5/internal/scheduler/async.js","webpack:///./node_modules/rxjs/_esm5/internal/scheduler/AsyncScheduler.js","webpack:///./node_modules/rxjs/_esm5/internal/operators/debounceTime.js","webpack:///./legacy/src/c/projects/publish-by-steps/input-permalink.tsx","webpack:///./node_modules/rxjs/_esm5/internal/observable/fromEvent.js","webpack:///./legacy/src/c/projects/publish-by-steps/amount-edit-tips.tsx","webpack:///./legacy/src/root/projects/publish-by-steps/description-edit.tsx","webpack:///./legacy/src/root/projects/publish-by-steps/ask-about-reward.tsx","webpack:///./legacy/src/c/projects/publish-by-steps/rewards-edit-tips.tsx","webpack:///./legacy/src/root/projects/publish-by-steps/rewards-edit.tsx","webpack:///./legacy/src/c/projects/publish-by-steps/user-info-edit-public-profile-tips.tsx","webpack:///./legacy/src/c/projects/publish-by-steps/user-info-edit-settings-tips.tsx","webpack:///./legacy/src/c/projects/publish-by-steps/user-info-edit-public-profile.tsx","webpack:///./legacy/src/c/projects/publish-by-steps/user-info-edit-settings.tsx","webpack:///./legacy/src/root/projects/publish-by-steps/user-info-edit.tsx","webpack:///./legacy/src/vms/user-info-edit-vm.ts","webpack:///./legacy/src/root/projects/publish-by-steps/todo.tsx","webpack:///./legacy/src/root/projects/publish-by-steps/share.tsx","webpack:///./legacy/src/root/projects/publish-by-steps/share-reminder.tsx","webpack:///./legacy/src/root/projects/publish-by-steps/projects-publish-by-steps.tsx","webpack:///./legacy/src/c.js","webpack:///./legacy/src/wrap.js","webpack:///./legacy/src/app.js","webpack:///./node_modules/@sentry/hub/esm/hub.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","setImmediate","global","Vnode","tag","attrs0","children","text","dom","attrs","domSize","state","_state","events","instance","skip","normalize","node","Array","isArray","undefined","normalizeChildren","length","selectorParser","selectorCache","hasOwn","isEmpty","hyperscript","selector","arguments","start","view","Error","cached","match","classes","exec","type","id","push","attrValue","replace","className","join","normalized","childList","hasAttrs","class","newAttrs","trust","html","fragment","attrs1","PromisePolyfill","executor","this","TypeError","self","resolvers","rejectors","resolveCurrent","handler","rejectCurrent","_instance","callAsync","setTimeout","list","shouldAbsorb","execute","then","console","error","retry","executeOnce","e","runs","run","fn","onerror","onFulfilled","onRejection","resolveNext","rejectNext","handle","callback","next","promise","resolve","reject","catch","all","total","count","values","consume","race","window","Promise","redrawService0","buildQueryString","toString","args","key0","destructure","encodeURIComponent","FILE_PROTOCOL_REGEX","RegExp","requestService","$window","oncompletion","callbackCount","finalizer","complete","finalize","promise0","then0","apply","extra","url","interpolate","data","tokens","slice","assemble","querystring","indexOf","deserialize","JSON","parse","extract","xhr","responseText","cast","type0","request","method","toUpperCase","useBody","serialize","FormData","stringify","XMLHttpRequest","aborted","_abort","abort","open","async","user","password","headers","setRequestHeader","withCredentials","config","onreadystatechange","readyState","response","status","test","send","background","jsonp","callbackName","Math","round","random","script","document","createElement","parentNode","removeChild","callbackKey","src","documentElement","appendChild","setCompletionCallback","coreRenderer","onevent","$doc","$emptyFragment","createDocumentFragment","nameSpace","svg","math","getNameSpace","vnode","xmlns","activeElement","createNodes","parent","vnodes","end","hooks","nextSibling","createNode","initComponent","element","insertNode","initLifecycle","createTextNode","createHTML","firstChild","childNodes","attrs2","is","createElementNS","key2","setAttr","contenteditable","setContentEditable","textContent","selectedIndex","parent1","caption","thead","tbody","tfoot","tr","th","td","colgroup","col","temp","innerHTML","child","sentinel","$$reentrantLock$$","updateNodes","old","recycling","removeNodes","isUnkeyed","getNextSibling","updateNode","pool","abs","oldChildrenLength","poolChildrenLength","vnodesChildrenLength","concat","map","oldStart","oldEnd","v","shouldRecycle","toFragment","getKeyMap","oldIndex","movable","oldTag","forceVnodeUpdate","forceComponentUpdate","onbeforeupdate","updateLifecycle","nodeValue","isLifecycleMethod","removeAttribute","updateEvent","removeNode","count0","insertBefore","content","context","result","expected","called","continuation","onremove","removeNodeFromDOM","source","oncreate","onupdate","onbeforeremove","attr","nsLastIndex","substr","setAttributeNS","style","cssText","normalized0","setAttribute","eventName","removeEventListener","addEventListener","oninit","render","active","namespace","namespaceURI","focus","setEventCallback","redrawService","renderService","redraw","callbacks","unsubscribe","key1","index","splice","subscribe","last","pending","timeout","requestAnimationFrame","now","Date","mount","root","component","parseQueryString","string","charAt","entries","split","counters","data0","entry","key5","decodeURIComponent","levels","cursor","pop","j","level","nextLevel","isNumber","isNaN","parseInt","desc","getOwnPropertyDescriptor","coreRouter","asyncId","supportsPushState","history","pushState","callAsync0","normalize1","fragment0","location","parsePath","path","queryData","hashData","queryIndex","hashIndex","pathEnd","queryEnd","queryParams","key4","hashParams","router","prefix","getPath","setPath","options","match2","token","query","hash","title","onpopstate","replaceState","href","routes","resolveRoute","params","pathname","k","route0","matcher","keys","callback0","onhashchange","route","render1","attrs3","currentPath","lastUpdate","routeService","defaultRoute","run1","bail","defineRoutes","payload","update","routeResolver","comp","onmatch","resolved","set","prefix0","link","vnode1","onclick","ctrlKey","metaKey","shiftKey","which","preventDefault","getAttribute","param","key3","withAttr","attrName","callback1","currentTarget","_28","version","__WEBPACK_AMD_DEFINE_RESULT__","previousUnderscore","_","ArrayProto","ObjProto","SymbolProto","nativeIsArray","nativeKeys","nativeCreate","Ctor","obj","_wrapped","nodeType","VERSION","builtinIteratee","optimizeCb","func","argCount","collection","accumulator","cb","iteratee","identity","isFunction","isObject","Infinity","restArguments","startIndex","max","rest","baseCreate","shallowProperty","has","deepGet","MAX_ARRAY_INDEX","pow","getLength","isArrayLike","each","forEach","collect","results","currentKey","createReduce","dir","memo","initial","reduce","foldl","inject","reduceRight","foldr","find","detect","predicate","findIndex","findKey","filter","select","negate","every","some","any","contains","includes","include","item","fromIndex","guard","invoke","contextPath","pluck","where","findWhere","computed","lastComputed","min","shuffle","sample","clone","rand","sortBy","criteria","sort","left","right","a","b","group","behavior","partition","groupBy","indexBy","countBy","reStrSymbol","toArray","isString","size","pass","first","head","take","array","tail","drop","compact","Boolean","flatten","input","shallow","strict","output","idx","isArguments","len","without","otherArrays","difference","uniq","unique","isSorted","isBoolean","seen","union","arrays","intersection","argsLength","unzip","zip","createPredicateIndexFinder","findLastIndex","sortedIndex","low","high","mid","floor","createIndexFinder","predicateFind","lastIndexOf","range","stop","step","ceil","chunk","executeBound","sourceFunc","boundFunc","callingContext","bound","callArgs","partial","boundArgs","placeholder","position","bindAll","memoize","hasher","cache","address","delay","wait","defer","throttle","previous","later","leading","throttled","remaining","clearTimeout","trailing","cancel","debounce","immediate","debounced","callNow","wrap","wrapper","compose","after","times","before","once","hasEnumBug","propertyIsEnumerable","nonEnumerableProps","collectNonEnumProps","nonEnumIdx","constructor","proto","prop","allKeys","mapObject","pairs","invert","functions","methods","names","createAssigner","keysFunc","defaults","extend","extendOwn","assign","eq","deepEq","keyInObj","pick","omit","String","props","tap","interceptor","isMatch","aStack","bStack","valueOf","areArrays","aCtor","bCtor","isEqual","isElement","nodelist","Int8Array","isFinite","isSymbol","parseFloat","isNull","isUndefined","noConflict","constant","noop","propertyOf","matches","accum","getTime","escapeMap","&","<",">","\"","'","`","unescapeMap","createEscaper","escaper","testRegexp","replaceRegexp","escape","unescape","fallback","idCounter","uniqueId","templateSettings","evaluate","noMatch","escapes","\\","\r","\n","
","
","escapeRegExp","escapeChar","template","settings","oldSettings","offset","variable","Function","argument","chain","_chain","chainResult","mixin","toJSON","hookCallback","isDate","arr","res","hasOwnProp","createUTC","format","locale","createLocalOrUTC","utc","getParsingFlags","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","isValid","_isValid","flags","parsedParts","isNowValid","_d","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","fun","momentProperties","copyConfig","to","from","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","updateInProgress","Moment","updateOffset","isMoment","absFloor","number","toInt","argumentForCoercion","coercedNumber","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","warn","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","arg","stack","deprecations","deprecateSimple","mergeConfigs","parentConfig","childConfig","Locale","aliases","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","zeroFill","targetLength","forceSign","absNumber","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","ordinal","localeData","formatMoment","expandFormat","mom","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","match1","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","regexes","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","regexEscape","matched","p1","p2","p3","p4","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInYear","year","isLeapYear","y","parseTwoDigitYear","getSetYear","makeGetSet","keepTime","set$1","month","date","daysInMonth","modMonth","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","MONTHS_IN_FORMAT","defaultLocaleMonths","defaultLocaleMonthsShort","setMonth","dayOfMonth","getSetMonth","defaultMonthsShortRegex","defaultMonthsRegex","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","computeWeekdaysParse","minp","shortp","longp","minPieces","day","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","hours","lowercase","minutes","matchMeridiem","_meridiemParse","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","globalLocale","getSetHour","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","h","hh","dd","M","MM","yy","meridiemParse","locales","localeFamilies","normalizeLocale","loadLocale","oldLocale","_abbr","getSetGlobalLocale","getLocale","defineLocale","abbr","_config","parentLocale","x","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","configFromArray","currentDate","expectedWeekday","yearToUse","nowValue","_useUTC","getUTCMonth","getUTCDate","getFullYear","getMonth","getDate","w","weekYear","weekdayOverflow","GG","W","E","createLocal","_week","curWeek","gg","_dayOfYear","_nextDay","ms","setFullYear","getDay","setUTCMinutes","getUTCMinutes","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","configFromStringAndFormat","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromRFC2822","trim","parsedArray","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","extractFromRFC2822Strings","weekdayStr","parsedInput","obsOffset","militaryOffset","numOffset","hm","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","hour","meridiemHour","isPm","prepareConfig","preparse","tempConfig","bestMoment","scoreToBeat","currentScore","score","createFromInputFallback","minute","second","millisecond","isUTC","getOwnPropertyNames","add","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","duration","years","quarters","quarter","weeks","days","milliseconds","unitHasDecimal","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","separator","utcOffset","sign","offsetFromString","chunkOffset","parts","cloneWithOffset","model","diff","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","diffRes","base","parseIso","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","direction","period","tmp","addSubtract","isAdding","invalid","subtract","monthDiff","adjust","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","lang","addWeekYearFormatToken","getSetWeekYearHelper","weeksTarget","dayOfYearData","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetSecond","parseMs","getSetMillisecond","preParsePostFormat","time","formats","sod","startOf","calendarFormat","asFloat","that","zoneDelta","endOf","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","isoWeekday","toObject","toDate","toISOString","inspect","zone","isLocal","suffix","unix","creationData","isoWeek","isoWeeks","weekInfo","isoWeeksInYear","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","proto$1","get$1","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","isFormat","_monthsShort","monthName","_monthsParseExact","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","weekdayName","_weekdaysParseExact","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","_fullWeekdaysParse","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","makeGetter","thresholds","abs$1","toISOString$1","Y","D","toFixed","totalSign","ymSign","daysSign","hmsSign","proto$2","monthsFromDays","withSuffix","posNegDuration","toIsoString","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","factory","core","hide","redefine","ctx","$export","own","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","target","expProto","U","R","__webpack_exports__","__extends","__assign","__read","__spread","extendStatics","setPrototypeOf","__proto__","__","iterator","ar","done","Constructor","_Object$defineProperty","_defineProperties","descriptor","configurable","writable","protoProps","staticProps","_Promise","asyncGeneratorStep","gen","_next","_throw","info","err","it","f","isForced","createNonEnumerableProperty","wrapConstructor","NativeConstructor","Wrapper","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","TARGET","GLOBAL","STATIC","stat","PROTO","nativeSource","targetPrototype","forced","noTargetGet","sham","real","__g","store","uid","USE_SYMBOL","toInteger","shared","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","process","dynamicRequire","isNodeEnv","getGlobalObject","uuid4","parseUrl","getEventDescription","consoleSandbox","addExceptionTypeValue","addExceptionMechanism","getLocationHref","htmlTreeAsString","_is__WEBPACK_IMPORTED_MODULE_0__","mod","require","fallbackGlobalObject","crypto","msCrypto","getRandomValues","Uint16Array","pad","num","host","protocol","relative","event","message","exception","event_id","originalConsole","wrappedLevels","__sentry__","__sentry_wrapped__","__sentry_original__","mechanism","_oO","oO","elem","currentElem","height","sepLength","nextStr","_htmlElementAsString","reverse","tagName","attrWhitelist","check","globalThis","anObject","IE8_DOM_DEFINE","toPrimitive","dP","O","Attributes","defined","wrappedWellKnownSymbolModule","NAME","CONSTRUCTOR","fails","isError","wat","isErrorEvent","isDOMError","isDOMException","isPrimitive","isPlainObject","isEvent","Event","Element","isRegExp","isThenable","isSyntheticEvent","createDesc","SRC","$toString","TPL","inspectSource","safe","quot","attribute","IObject","pIE","toIObject","gOPD","IE_PROTO","ObjectProto","getPrototypeOf","__e","aFunction","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","requireObjectCoercible","thrower","METHOD_NAME","ACCESSORS","argument0","argument1","KEY","toLength","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","mithril","filtersVM","attributes","newVM","innerProp","filterProp","toFilter","logicOperators","objectToLogicOperation","innerKey","getters","operator","lte","gte","order","parametersWithoutOrder","parameters","orderParameter","_slicedToArray","_arr","_n","_e","_s","paginationVM","mithilInstance","extraHeaders","authenticate","defaultOrder","filters","isLoading","page","resultsCount","pageRequest","getPageWithToken","getPage","fetch","hint","details","code","rangeHeader","getResponseHeader","_rangeHeader$split","_rangeHeader$split2","headerSize","headerCount","_headerSize$split","_headerSize$split2","headerFrom","headerTo","ex","firstPage","nextPage","isLastPage","pageSize","mithrilInstance","postgrest","addConfigHeaders","createLoader","requestFunction","defaultState","loader","load","representationHeader","Prefer","init","apiPrefix","authenticationOptions","globalHeader","configHeadersToAdd","authenticationRequested","delegatedDeferred","workingCall","requestWithToken","Authorization","loaderWithToken","nameOptions","getOptions","Range-unit","Range","postOptions","deleteOptions","patchOptions","getPageOptions","getRowOptions","getRow","patch","post","deleteRequest","getRowWithToken","patchWithToken","postWithToken","deleteWithToken","_options","fill","urlEncode","normalizeToSize","extractExceptionKeysForMessage","_memo__WEBPACK_IMPORTED_MODULE_1__","_misc__WEBPACK_IMPORTED_MODULE_2__","_string__WEBPACK_IMPORTED_MODULE_3__","replacement","original","wrapped","defineProperties","_Oo","getWalkSource","CustomEvent","detail","depth","maxSize","serialized","encodeURI","jsonSize","normalizeValue","_events","walk","acc","unmemoize","maxLength","includedKeys","g","IndexedObject","nativeDefineProperty","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","toIndex","toAbsoluteIndex","classof","isArrayIter","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","RangeError","Uint8Array","$ArrayBuffer","ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayIndexOf","arrayValues","arrayKeys","arrayEntries","arrayLastIndexOf","arrayReduce","arrayReduceRight","arrayJoin","arraySort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","$map","allocate","LITTLE_ENDIAN","buffer","FORCED_SET","toOffset","BYTES","validate","C","speciesFromList","fromList","addGetter","internal","$from","aLen","mapfn","mapping","iterFn","$of","TO_LOCALE_BUG","$toLocaleString","copyWithin","searchElement","middle","comparefn","subarray","begin","$begin","byteOffset","BYTES_PER_ELEMENT","$slice","$set","arrayLike","$iterators","isTAIndex","$getDesc","$setDesc","$TypedArrayPrototype$","CLAMPED","GETTER","SETTER","TypedArray","Base","TAC","FORCED","ABV","TypedArrayPrototype","addElement","$offset","$length","byteLength","klass","$len","iter","$nativeIterator","CORRECT_ITER_NAME","$iterator","of","Map","getOrCreateMetadataMap","targetKey","targetMetadata","keyMetadata","MetadataKey","metadataMap","MetadataValue","arrayWithHoles","iterableToArrayLimit","nonIterableRest","TO_STRING_TAG_SUPPORT","TO_STRING_TAG","SET_METHOD","META","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","meta","NEED","fastKey","getWeak","onFreeze","UNSCOPABLES","bitmap","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","STATE","enforce","getterFor","classofRaw","CORRECT_ARGUMENTS","callee","px","$keys","enumBugKeys","dPs","Empty","createDict","iframeDocument","iframe","display","contentWindow","write","lt","close","Properties","SPECIES","forbiddenField","BREAK","RETURN","iterable","_t","InternalStateModule","defineIterator","setInternalState","getInternalState","iterated","point","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","arraySpeciesCreate","createMethod","specificCreate","boundFunction","def","cof","ARG","T","spaces","space","ltrim","rtrim","exporter","ALIAS","FORCE","Chart","canvas","computeDimension","dimension","defaultView","getComputedStyle","getPropertyValue","width","aspectRatio","helpers","retinaScale","animation","animationSteps","animationEasing","showScale","scaleOverride","scaleSteps","scaleStepWidth","scaleStartValue","scaleLineColor","scaleLineWidth","scaleShowLabels","scaleLabel","scaleIntegersOnly","scaleBeginAtZero","scaleFontFamily","scaleFontSize","scaleFontStyle","scaleFontColor","responsive","maintainAspectRatio","showTooltips","customTooltips","tooltipEvents","tooltipFillColor","tooltipFontFamily","tooltipFontSize","tooltipFontStyle","tooltipFontColor","tooltipTitleFontFamily","tooltipTitleFontSize","tooltipTitleFontStyle","tooltipTitleFontColor","tooltipYPadding","tooltipXPadding","tooltipCaretSize","tooltipCornerRadius","tooltipXOffset","tooltipTemplate","multiTooltipTemplate","multiTooltipKeyBackground","onAnimationProgress","onAnimationComplete","types","loopable","additionalArgs","objClone","extensionObject","merge","master","unshift","arrayToSearch","inherits","filterCallback","filtered","findNextWhere","currentItem","findPreviousWhere","extensions","ChartElement","Surrogate","__super__","str","amd","getDecimalPlaces","cap","valueToCap","maxValue","minValue","toRadians","radians","degrees","PI","aliasPixel","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","sqrt","angle","atan2","distance","pixelWidth","calculateOrderOfMagnitude","splineCurve","FirstPoint","MiddlePoint","AfterPoint","d01","d12","fa","fb","inner","outer","log","LN10","calculateScaleRange","valuesArray","drawingSize","textSize","startFromZero","integersOnly","maxSteps","skipFitting","valueRange","rangeOrderOfMagnitude","graphMax","graphMin","graphRange","stepValue","numberOfSteps","steps","templateString","valuesObject","easingEffects","generateLabels","labelsArray","labelTemplateString","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","cos","easeOutSine","sin","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","asin","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","requestAnimFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","cancelAnimFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","oCancelAnimationFrame","msCancelAnimationFrame","addEvent","animationLoop","totalSteps","easingString","onProgress","onComplete","chartInstance","currentStep","easingFunction","animationFrame","stepDecimal","easeDecimal","getRelativePosition","evt","mouseX","mouseY","originalEvent","boundingRect","srcElement","getBoundingClientRect","touches","clientX","clientY","top","eventType","attachEvent","removeEvent","detachEvent","unbindEvents","bindEvents","arrayOfEvents","chart","getMaximumWidth","domNode","clientWidth","getMaximumHeight","clientHeight","getMaximumSize","devicePixelRatio","scale","clear","clearRect","fontString","pixelSize","fontStyle","fontFamily","longestText","font","arrayOfStrings","longest","textWidth","measureText","drawRoundedRectangle","radius","beginPath","moveTo","lineTo","quadraticCurveTo","closePath","instances","Type","resize","initialize","newWidth","newHeight","reflow","draw","generateLegend","legendTemplate","destroy","removeProperty","showTooltip","ChartElements","forceRedraw","activeElements","Elements","changed","datasets","dataArray","dataIndex","points","bars","segments","tooltipLabels","tooltipColors","medianPosition","dataCollection","xMax","yMax","xMin","yMin","xPositions","yPositions","dataset","hasValue","_saved","fillColor","stroke","strokeColor","MultiTooltip","xPadding","yPadding","xOffset","textColor","fontSize","titleTextColor","titleFontFamily","titleFontStyle","titleFontSize","cornerRadius","labels","legendColors","legendColorBackground","label","custom","tooltipPosition","Tooltip","caretHeight","toBase64Image","toDataURL","ChartType","chartName","baseDefaults","configuration","save","restore","newProps","transition","ease","Point","inRange","chartX","chartY","hitDetectionRange","hitDetectionRadius","arc","strokeStyle","lineWidth","strokeWidth","fillStyle","Arc","pointRelativePosition","betweenAngles","startAngle","endAngle","withinRadius","innerRadius","outerRadius","centreAngle","rangeFromCentre","animationPercent","lineJoin","showStroke","Rectangle","halfWidth","leftX","rightX","halfStroke","xAlign","yAlign","caretPadding","tooltipWidth","tooltipRectHeight","tooltipHeight","tooltipX","tooltipY","textAlign","textBaseline","fillText","titleFont","titleWidth","labelWidth","longestTextWidth","halfHeight","getLineHeight","baseLineHeight","afterTitleIndex","fillRect","Scale","fit","buildYLabels","yLabels","stepDecimalPlaces","yLabelWidth","showLabels","addXLabel","xLabels","valuesCount","removeXLabel","startPoint","endPoint","padding","cachedYLabelWidth","cachedHeight","calculateYRange","calculateXLabelRotation","firstRotated","firstWidth","lastWidth","xScalePaddingRight","xScalePaddingLeft","xLabelRotation","cosRotation","originalLabelWidth","xLabelWidth","xGridWidth","calculateX","drawingArea","calculateY","scalingFactor","valueWidth","valueOffset","offsetGridLines","yLabelGap","xStart","labelString","yLabelCenter","linePositionY","drawHorizontalLine","showHorizontalLines","gridLineWidth","gridLineColor","lineColor","xPos","linePos","isRotated","drawVerticalLine","showVerticalLines","translate","rotate","RadialScale","backdropPaddingY","calculateCenterOffset","lineArc","setScaleSize","getCircumference","pointPosition","halfTextWidth","furthestRightIndex","furthestRightAngle","furthestLeftIndex","furthestLeftAngle","xProtrusionLeft","xProtrusionRight","radiusReductionRight","radiusReductionLeft","largestPossibleRadius","pointLabelFontSize","furthestRight","furthestLeft","pointLabelFontStyle","pointLabelFontFamily","getPointPosition","getIndexAngle","setCenterPoint","leftMovement","rightMovement","maxRight","maxLeft","xCenter","yCenter","distanceFromCenter","thisAngle","yCenterOffset","yHeight","showLabelBackdrop","backdropColor","backdropPaddingX","fontColor","angleLineWidth","angleLineColor","outerPosition","pointLabelPosition","pointLabelFontColor","labelsCount","halfLabelsCount","quarterLabelsCount","upperHalf","exactQuarter","scaleShowGridLines","scaleGridLineColor","scaleGridLineWidth","scaleShowHorizontalLines","scaleShowVerticalLines","barShowStroke","barStrokeWidth","barValueSpacing","barDatasetSpacing","ScaleClass","calculateBarX","datasetCount","datasetIndex","barIndex","xWidth","calculateBaseWidth","xAbsolute","barWidth","calculateBarWidth","activeBars","getBarsAtEvent","eachBars","bar","activeBar","highlightFill","highlightStroke","BarClass","datasetObject","dataPoint","datasetLabel","buildScale","barsArray","eventPosition","datasetIterator","scaleOptions","beginAtZero","currentHeight","updatedRanges","addData","removeData","newScaleProps","easingDecimal","defaultConfig","segmentShowStroke","segmentStrokeColor","segmentStrokeWidth","percentageInnerCutout","animateRotate","animateScale","SegmentArc","activeSegments","getSegmentsAtEvent","segment","activeSegment","highlightColor","calculateTotal","datapoint","segmentsArray","atIndex","silent","color","highlight","circumference","calculateCircumference","indexToDelete","animDecimal","Doughnut","bezierCurve","bezierCurveTension","pointDot","pointDotRadius","pointDotStrokeWidth","pointHitDetectionRadius","datasetStroke","datasetStrokeWidth","datasetFill","PointClass","activePoints","getPointsAtEvent","eachPoints","activePoint","pointColor","pointStrokeColor","pointHighlightFill","pointHighlightStroke","pointsArray","previousPoint","pointsWithValues","tension","controlPoints","bezierCurveTo","scaleShowLabelBackdrop","scaleBackdropColor","scaleBackdropPaddingY","scaleBackdropPaddingX","scaleShowLine","updateScaleRange","datapoints","scaleSizes","angleShowLineOut","activePointsCollection","mousePosition","fromCenter","anglePerIndex","pointIndex","totalDataArray","propertyIsEnumerableModule","toIndexedObject","nativeGetOwnPropertyDescriptor","propertyKey","wellKnownSymbol","V8_VERSION","foo","$$resolve","$$reject","copyright","ignoreCase","multiline","unicode","sticky","SyncPromise","States","_this","PENDING","_handlers","_resolve","_setResult","RESOLVED","_reject","reason","REJECTED","_value","_executeHandlers","_attachHandler","onrejected","onfulfilled","counter","resolvedCollection","finally","onfinally","isRejected","PREFERRED_STRING","activeXDocument","documentCreateElement","EmptyConstructor","scriptTag","NullProtoObject","domain","ActiveXObject","parentWindow","internalObjectKeys","isArrayIteratorMethod","getIteratorMethod","callWithSafeIterationClosing","Result","stopped","AS_ENTRIES","IS_ITERATOR","IS_INCLUDES","el","getOwnPropertySymbols","TO_STRING","charCodeAt","MATCH","SAFE_CLOSING","riter","skipClosing","builtinExec","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","regexp","arg2","forceStringMethod","strfn","rxfn","navigator","userAgent","forOf","setToStringTag","inheritIfRequired","common","IS_WEAK","ADDER","fixMethod","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","getConstructor","setStrong","Typed","TypedArrayConstructors","K","__defineSetter__","COLLECTION","A","mapFn","nextItem","Scope","addGlobalEventProcessor","tslib__WEBPACK_IMPORTED_MODULE_0__","_sentry_utils__WEBPACK_IMPORTED_MODULE_1__","_sentry_utils__WEBPACK_IMPORTED_MODULE_2__","_sentry_utils__WEBPACK_IMPORTED_MODULE_3__","_sentry_utils__WEBPACK_IMPORTED_MODULE_4__","_span__WEBPACK_IMPORTED_MODULE_5__","_notifyingListeners","_scopeListeners","_eventProcessors","_breadcrumbs","_user","_tags","_extra","_context","addScopeListener","addEventProcessor","_notifyScopeListeners","_notifyEventProcessors","processors","processor","final","setUser","setTags","tags","setTag","setExtras","setExtra","setFingerprint","fingerprint","_fingerprint","setLevel","_level","setTransaction","transaction","_transaction","setContext","setSpan","span","_span","startSpan","parentSpan","setParent","getSpan","scope","newScope","addBreadcrumb","breadcrumb","maxBreadcrumbs","timestamp","mergedBreadcrumb","clearBreadcrumbs","_applyFingerprint","applyToEvent","contexts","trace","breadcrumbs","getGlobalEventProcessors","__SENTRY__","globalEventProcessors","nativePropertyIsEnumerable","NASHORN_BUG","1","V","EXISTS","originalArray","IS_PURE","postfix","versions","v8","getBuiltIn","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","objectKeys","integer","addToUnscopables","kind","Arguments","whitespace","wksExt","$Symbol","buggy","$expm1","expm1","$iterCreate","BUGGY","returnThis","DEFAULT","IS_SET","IteratorPrototype","getMethod","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","searchString","$defineProperty","endPos","_k","re1","re2","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","reCopy","at","channel","port","cel","setTask","clearTask","clearImmediate","MessageChannel","Dispatch","queue","listener","nextTick","port2","port1","onmessage","postMessage","importScripts","macrotask","Observer","MutationObserver","WebKitMutationObserver","isNode","notify","flush","exit","enter","standalone","toggle","observe","characterData","task","PROTOTYPE","WRONG_INDEX","BaseBuffer","LN2","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","isLittleEndian","intIndex","_b","pack","conversion","ArrayBufferProto","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","truncate","safeJoin","isMatchingPattern","delimiter","pattern","logger","_misc__WEBPACK_IMPORTED_MODULE_0__","PREFIX","Logger","_enabled","disable","enable","feature","detection","POLYFILL","NATIVE","$","createProperty","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","setGlobal","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","Item","browser","env","argv","on","addListener","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","CONVERT_TO_STRING","codeAt","functionToString","createIteratorConstructor","IteratorsCore","BUGGY_SAFARI_ITERATORS","Iterable","IteratorConstructor","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","PrototypeOfArrayIteratorPrototype","arrayIterator","aPossiblePrototype","CORRECT_SETTER","unsafe","ArrayPrototype","ENTRIES","returnMethod","iteratorWithReturn","return","SKIP_CLOSING","ITERATION_SUPPORT","defaultConstructor","IS_IOS","runner","newPromiseCapability","promiseCapability","newPromiseCapabilityModule","perform","iterate","allSettled","capability","promiseResolve","alreadyCalled","scheduler","setInterval","argumentsLength","iteratorMethod","getOwnPropertySymbolsModule","nativeAssign","symbol","chr","webpackPolyfill","paths","moment","symbolMap","2","3","4","5","6","7","8","9","0","numberMap","١","٢","٣","٤","٥","٦","٧","٨","٩","٠","pluralForm","plurals","pluralize","weekdaysParseExact","suffixes","70","80","20","50","100","10","30","60","90","relativeTimeWithPlural","forms","lastDigit","last2Digits","১","২","৩","৪","৫","৬","৭","৮","৯","০","༡","༢","༣","༤","༥","༦","༧","༨","༩","༠","relativeTimeWithMutation","mutationTable","substring","mutation","lastNumber","monthsParseExact","ll","lll","llll","plural","shortMonthsParse","longMonthsParse","processRelativeTime","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","monthsShortDot","monthsStrictRegex","monthsShortStrictRegex","۱","۲","۳","۴","۵","۶","۷","۸","۹","۰","numbersPast","numbersFuture","monthsShortWithDots","monthsShortWithoutDots","૧","૨","૩","૪","૫","૬","૭","૮","૯","૦","१","२","३","४","५","६","७","८","९","०","weekEndings","40","೧","೨","೩","೪","೫","೬","೭","೮","೯","೦","isUpper","eifelerRegelAppliesToNumber","translateSingular","special","relativeTimeWithSingular","translator","words","correctGrammaticalCase","wordKey","relativeTimeMr","၁","၂","၃","၄","၅","၆","၇","၈","၉","၀","੧","੨","੩","੪","੫","੬","੭","੮","੯","੦","monthsNominative","monthsSubjective","௧","௨","௩","௪","௫","௬","௭","௮","௯","௦","numbersNouns","numberNoun","hundred","ten","one","word","processHoursFunction","nominative","accusative","genitive","getTarget","styleTarget","querySelector","HTMLIFrameElement","contentDocument","stylesInDom","modulesToDom","part","css","media","sourceMap","addStyle","insertStyleElement","nonce","nc","insert","textStore","replaceText","applyToSingletonTag","remove","styleSheet","cssNode","singleton","singletonCounter","styleIndex","btoa","newObj","atob","newList","useSourceMap","base64","cssMapping","sourceMapping","sourceURLs","sources","sourceRoot","mediaQuery","dedupe","alreadyImportedModules","nativeObjectCreate","getOwnPropertyNamesModule","getOwnPropertyNamesExternal","getOwnPropertyDescriptorModule","defineWellKnownSymbol","$forEach","HIDDEN","TO_PRIMITIVE","$stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","description","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","for","keyFor","sym","useSetter","useSimple","replacer","$replacer","URL","searchParams","URLSearchParams","username","USE_NATIVE_URL","getIterator","$fetch","Headers","getInternalParamsState","getInternalIteratorState","URL_SEARCH_PARAMS","plus","sequences","percentSequence","percentDecode","sequence","!","(",")","~","%20","parseSearchParams","updateSearchParams","validateArgumentsLength","passed","required","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","updateURL","URLSearchParamsPrototype","append","delete","getAll","found","entriesIndex","sliceIndex","body","getState","getKeys","windowNames","gOPS","$assign","getSymbols","isEnum","factories","partArgs","un","$parseInt","$trim","ws","hex","radix","$parseFloat","log1p","EPSILON","EPSILON32","MAX32","MIN32","fround","$abs","$sign","isRight","inc","strong","getEntry","$iterDefine","SIZE","prev","InternalMap","weak","IS_IE11","uncaughtFrozenStore","ufstore","$WeakMap","$has","UncaughtFrozenStore","findUncaughtFrozen","Reflect","ownKeys","flattenIntoArray","sourceLen","mapper","thisArg","targetIndex","sourceIndex","repeat","fillString","fillStr","intMaxLength","fillLen","stringFiller","isEntries","inLow","inHigh","outLow","outHigh","Memo","_hasWeakSet","WeakSet","_inner","Span","_sentry_utils__WEBPACK_IMPORTED_MODULE_0__","TRACEPARENT_REGEXP","_traceId","_spanId","_sampled","_parent","setSampled","sampled","fromTraceparent","traceparent","parent_1","toTraceparent","span_id","trace_id","selectedText","nodeName","isReadOnly","hasAttribute","setSelectionRange","selection","getSelection","createRange","selectNodeContents","removeAllRanges","addRange","arrayWithoutHoles","iterableToArray","nonIterableSpread","_Symbol$iterator","_Symbol","_typeof","_Object$assign","_extends","entryVirtual","Timeout","clearFn","_id","_clearFn","clearInterval","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","registerImmediate","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","runIfPresent","postMessageIsAsynchronous","oldOnMessage","runtime","Op","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","previousPromise","callInvokeWithMethodAndArg","__await","unwrapped","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","skipTempReset","rootRecord","rval","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","checkCorrectnessOfIteration","microtask","hostReportErrors","PROMISE","getInternalPromiseState","PromiseConstructor","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","PromiseRejectionEvent","FakePromise","INCORRECT_ITERATION","isReject","notified","reactions","ok","exited","reaction","fail","rejection","onHandleUnhandled","onUnhandled","initEvent","isUnhandled","unwrap","internalReject","internalResolve","onRejected","$promiseResolve","CONSTRUCTOR_NAME","queueMicrotaskDescriptor","queueMicrotask","onFinally","getInternalAggregateErrorState","$AggregateError","errors","errorsArray","AggregateError","try","alreadyResolved","alreadyRejected","$indexOf","arrayMethodIsStrict","arrayMethodUsesToLength","nativeIndexOf","NEGATIVE_ZERO","STRICT_METHOD","USES_TO_LENGTH","parseFloatImplementation","whitespaces","trimmedString","parseIntImplementation","hi","fix","stringIncludes","StringPrototype","$includes","notARegExp","HAS_SPECIES_SUPPORT","nativeSlice","fin","_Array$isArray","_getIterator","_isIterable","isIterable","$reduce","IS_RIGHT","$filter","./af","./af.js","./ar","./ar-dz","./ar-dz.js","./ar-kw","./ar-kw.js","./ar-ly","./ar-ly.js","./ar-ma","./ar-ma.js","./ar-sa","./ar-sa.js","./ar-tn","./ar-tn.js","./ar.js","./az","./az.js","./be","./be.js","./bg","./bg.js","./bm","./bm.js","./bn","./bn.js","./bo","./bo.js","./br","./br.js","./bs","./bs.js","./ca","./ca.js","./cs","./cs.js","./cv","./cv.js","./cy","./cy.js","./da","./da.js","./de","./de-at","./de-at.js","./de-ch","./de-ch.js","./de.js","./dv","./dv.js","./el","./el.js","./en-au","./en-au.js","./en-ca","./en-ca.js","./en-gb","./en-gb.js","./en-ie","./en-ie.js","./en-nz","./en-nz.js","./eo","./eo.js","./es","./es-do","./es-do.js","./es-us","./es-us.js","./es.js","./et","./et.js","./eu","./eu.js","./fa","./fa.js","./fi","./fi.js","./fo","./fo.js","./fr","./fr-ca","./fr-ca.js","./fr-ch","./fr-ch.js","./fr.js","./fy","./fy.js","./gd","./gd.js","./gl","./gl.js","./gom-latn","./gom-latn.js","./gu","./gu.js","./he","./he.js","./hi","./hi.js","./hr","./hr.js","./hu","./hu.js","./hy-am","./hy-am.js","./id","./id.js","./is","./is.js","./it","./it.js","./ja","./ja.js","./jv","./jv.js","./ka","./ka.js","./kk","./kk.js","./km","./km.js","./kn","./kn.js","./ko","./ko.js","./ky","./ky.js","./lb","./lb.js","./lo","./lo.js","./lt","./lt.js","./lv","./lv.js","./me","./me.js","./mi","./mi.js","./mk","./mk.js","./ml","./ml.js","./mr","./mr.js","./ms","./ms-my","./ms-my.js","./ms.js","./my","./my.js","./nb","./nb.js","./ne","./ne.js","./nl","./nl-be","./nl-be.js","./nl.js","./nn","./nn.js","./pa-in","./pa-in.js","./pl","./pl.js","./pt","./pt-br","./pt-br.js","./pt.js","./ro","./ro.js","./ru","./ru.js","./sd","./sd.js","./se","./se.js","./si","./si.js","./sk","./sk.js","./sl","./sl.js","./sq","./sq.js","./sr","./sr-cyrl","./sr-cyrl.js","./sr.js","./ss","./ss.js","./sv","./sv.js","./sw","./sw.js","./ta","./ta.js","./te","./te.js","./tet","./tet.js","./th","./th.js","./tl-ph","./tl-ph.js","./tlh","./tlh.js","./tr","./tr.js","./tzl","./tzl.js","./tzm","./tzm-latn","./tzm-latn.js","./tzm.js","./uk","./uk.js","./ur","./ur.js","./uz","./uz-latn","./uz-latn.js","./uz.js","./vi","./vi.js","./x-pseudo","./x-pseudo.js","./yo","./yo.js","./zh-cn","./zh-cn.js","./zh-hk","./zh-hk.js","./zh-tw","./zh-tw.js","webpackContext","req","webpackContextResolve","guid","HALT","createStream","stream","updateStream","derive","recover","deps","parents","endStream","unregister","ap","unregisterStream","updateState","updateDependency","mustSync","combine","streams","valid","dep","notEnded","registerDependency","dependent","s1","s2","scan","reducer","seed","newStream","scanMerge","tuples","tuple","originalModule","$find","SKIPS_HOLES","api","default","exported","locals","___CSS_LOADER_API_IMPORT___","__webpack_amd_options__","nativeSort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","nativeReverse","$findIndex","deleteCount","insertCount","actualDeleteCount","actualStart","arr2","_Array$from","getOwnPropertyDescriptors","FAILS_ON_PRIMITIVES","FunctionPrototype","WrappedWellKnownSymbolModule","EOF","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","getInternalSearchParamsState","getInternalURLState","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","ipv4","numbersSeen","ipv4Piece","swaps","swap","pieceIndex","compress","pointer","char","serializeHost","ignore0","ipv6","maxIndex","currStart","currLength","fragmentPercentEncodeSet"," ","pathPercentEncodeSet","#","?","{","}","userinfoPercentEncodeSet","/",":",";","=","@","[","]","^","|","specialSchemes","ftp","file","http","https","wss","scheme","includesCredentials","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","codePoint","encodedCodePoints","URLConstructor","baseState","urlString","searchParamsState","serializeURL","origin","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","getPathname","search","getSearch","getSearchParams","getHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","regexNonASCII","regexSeparators","OVERFLOW_ERROR","stringFromCharCode","fromCharCode","digitToBasic","digit","adapt","delta","numPoints","baseMinusTMin","encode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","q","qMinusT","baseMinusT","encoded","_babelPolyfill","define","DEFINE_PROPERTY","padStart","padEnd","$fails","wksDefine","enumKeys","_create","gOPNExt","$GOPS","$JSON","_stringify","SymbolRegistry","OPSymbols","setSymbolDesc","protoDesc","IS_OP","es6Symbols","wellKnownSymbols","symbols","$getPrototypeOf","$freeze","$seal","$preventExtensions","$isFrozen","$isSealed","$isExtensible","FProto","nameRE","HAS_INSTANCE","FunctionProto","$Number","BROKEN_COF","TRIM","toNumber","maxCode","digits","aNumberValue","$toFixed","ERROR","multiply","c2","divide","numToString","fractionDigits","z","x2","$toPrecision","toPrecision","precision","_isFinite","isInteger","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","Number","$acosh","acosh","MAX_VALUE","$asinh","asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","hypot","value1","value2","div","sum","larg","$imul","imul","xn","yn","xl","yl","log10","LOG10E","log2","sinh","tanh","trunc","$fromCodePoint","fromCodePoint","raw","callSite","tpl","$at","codePointAt","$endsWith","endsWith","endPosition","$startsWith","startsWith","pv","$toISOString","lz","getUTCMilliseconds","getUTCHours","getUTCSeconds","DateProto","upTo","cloned","$sort","STRICT","$some","$every","$flags","$RegExp","CORRECT_NEW","tiRE","piRE","fiU","proxy","advanceStringIndex","regExpExec","$match","maybeCallNative","rx","fullUnicode","matchStr","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","$replace","searchValue","replaceValue","functionalReplace","accumulatedResult","nextSourcePosition","captures","namedCaptures","replacerArgs","getSubstitution","tailPos","ch","capture","sameValue","SEARCH","$search","previousLastIndex","callRegExpExec","$min","$push","SUPPORTS_Y","SPLIT","$split","internalSplit","lastLength","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","$Promise","_c","_v","_h","unhandled","onunhandledrejection","onrejectionhandled","$reject","$resolve","$index","$isView","isView","viewS","viewT","rApply","fApply","thisArgument","argumentsList","rConstruct","construct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","deleteProperty","Enumerate","enumerate","receiver","existingDescriptor","ownDesc","setProto","flatMap","depthArg","$pad","WEBKIT_BUG","getFlags","RegExpProto","$RegExpStringIterator","_r","matchAll","getDesc","$values","__defineGetter__","__lookupGetter__","__lookupSetter__","clamp","lower","upper","DEG_PER_RAD","RAD_PER_DEG","fscale","iaddh","x0","x1","y0","y1","$x0","$y0","isubh","imulh","$u","$v","u0","v0","u1","v1","umulh","signbit","toMetaKey","ordinaryDefineOwnMetadata","defineMetadata","metadataKey","metadataValue","deleteMetadata","ordinaryHasOwnMetadata","ordinaryGetOwnMetadata","ordinaryGetMetadata","getMetadata","Set","ordinaryOwnMetadataKeys","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","getOwnMetadata","getOwnMetadataKeys","ordinaryHasMetadata","hasMetadata","hasOwnMetadata","$metadata","asap","OBSERVABLE","cleanupSubscription","subscription","cleanup","subscriptionClosed","_o","closeSubscription","Subscription","observer","subscriber","SubscriptionObserver","$Observable","observable","items","Observable","MSIE","$task","ArrayValues","collections","explicit","inModule","$re","regExp","originalFunctionToString","FunctionToString","setupOnce","DEFAULT_IGNORE_ERRORS","inboundfilters_InboundFilters","InboundFilters","esm_scope","hub","esm_hub","getIntegration","client","getClient","clientOptions","_mergeOptions","_shouldDropEvent","_isSentryError","misc","_isIgnoredError","_isBlacklistedUrl","_getEventFilterUrl","_isWhitelistedUrl","ignoreInternal","ignoreErrors","_getPossibleEventMessages","esm_string","blacklistUrls","whitelistUrls","tslib_es6","stacktrace","frames_1","frames","filename","frames_2","error_SentryError","_super","SentryError","_newTarget","DSN_REGEX","dsn_Dsn","Dsn","_fromString","_fromComponents","_validate","withPassword","projectId","components","api_API","API","dsn","_dsnObject","getDsn","getStoreEndpoint","_getBaseUrl","getStoreEndpointPath","getStoreEndpointWithUrlEncodedAuth","auth","sentry_key","sentry_version","esm_object","getRequestHeaders","clientName","clientVersion","header","Content-Type","X-Sentry-Auth","getReportDialogEndpoint","dialogOptions","endpoint","encodedOptions","email","installedIntegrations","Status","baseclient_BaseClient","BaseClient","backendClass","_integrations","_processing","_backend","_dsn","_isEnabled","integrations","defaultIntegrations","userIntegrations","userIntegrationsNames_1","pickedIntegrationsNames_1","defaultIntegration","userIntegration","integration","setupIntegrations","captureException","eventId","_getBackend","eventFromException","_processEvent","finalEvent","captureMessage","eventFromMessage","captureEvent","_isClientProcessing","interval","getTransport","transportFlushed","ready","enabled","getIntegrations","syncpromise","ticked","_prepareEvent","environment","release","dist","maxValueLength","prepared","_addIntegrations","sdk","sdkInfo","integrationsArray","beforeSend","sampleRate","sendEvent","beforeSendResult","_handleAsyncBeforeSend","originalException","processedEvent","fromHttpCode","Success","RateLimit","Invalid","Failed","Unknown","Severity","noop_NoopTransport","NoopTransport","Skipped","basebackend_BaseBackend","BaseBackend","_transport","_setupTransport","_exception","_hint","_message","supportsFetch","Request","Response","fromString","Debug","Info","Warning","Fatal","Critical","Log","tracekit_chrome","gecko","winjs","geckoEval","chromeEval","computeStackTrace","popSize","framesToPop","opera10Regex","opera11Regex","lines","line","column","extractMessage","popFrames","submatch","isNative","columnNumber","failed","exceptionFromStacktrace","prepareFramesForEvent","eventFromStacktrace","localStack","firstFrameFunction","lastFrameFunction","frame","colno","function","in_app","lineno","eventFromUnknownInput","syntheticException","domException","name_1","eventFromString","__serialized__","synthetic","attachStacktrace","promisebuffer_PromiseBuffer","PromiseBuffer","_limit","_buffer","isReady","drain","capturedSetTimeout","base_BaseTransport","BaseTransport","fetch_global","fetch_FetchTransport","FetchTransport","defaultOptions","referrerPolicy","xhr_XHRTransport","XHRTransport","backend_BrowserBackend","BrowserBackend","transportOptions","transport","handled","client_BrowserClient","BrowserClient","platform","packages","showReportDialog","onLoad","onload","callOnHub","esm_captureException","keypressTimeout","lastCapturedEvent","ignoreOnError","shouldIgnoreOnError","sentryWrapped","wrappedArguments","handleEvent","debounceTimer","breadcrumbEventHandler","captureBreadcrumb","category","keypressEventHandler","isContentEditable","trycatch_TryCatch","TryCatch","_ignoreOnError","_wrapTimeFunction","originalCallback","getFunctionName","_wrapRAF","_wrapEventTarget","lastHref","breadcrumbs_global","breadcrumbs_Breadcrumbs","Breadcrumbs","sentry","_instrumentConsole","originalConsoleLevel","breadcrumbData","_instrumentDOM","innerOriginal","_instrumentFetch","isNativeFunc","sandbox","hidden","originalFetch","fetchInput","filterUrl","addSentryBreadcrumb","fetchData","status_code","_instrumentHistory","isChromePackagedApp","chrome","app","hasHistoryApi","captureUrlChange","parsedLoc","parsedTo","parsedFrom","oldOnPopState","currentHref","historyReplacementFunction","originalHistoryFunction","_instrumentXHR","xhrproto","originalOpen","__sentry_xhr__","__sentry_own_request__","originalSend","onreadystatechangeHandler","serializedData","event_1","globalhandlers_GlobalHandlers","GlobalHandlers","_global","_oldOnErrorHandler","_oldOnUnhandledRejectionHandler","_onErrorHandlerInstalled","_onUnhandledRejectionHandlerInstalled","stackTraceLimit","_installGlobalOnErrorHandler","_installGlobalOnUnhandledRejectionHandler","currentHub","hasIntegration","isFailedOwnDelivery","_eventFromIncompleteOnError","_enhanceEventWithInitialFrame","_eventFromIncompleteRejection","linkederrors_LinkedErrors","LinkedErrors","_key","_handler","linkedErrors","_walkErrorTree","useragent_global","useragent_UserAgent","UserAgent","sdk_defaultIntegrations","integrations_namespaceObject","platformTokenMeta","commonRequestHeader","Platform-Code","apiInit","apiMeta","authUrl","catarse","Postgrest","catarseApiMeta","catarseMoments","catarseApiMomentsMeta","commonPayment","commonPaymentApiMeta","commonProject","commonProjectApiMeta","commonAnalytics","commonAnalyticsApiMeta","commonNotification","commonNotificationApiMeta","commonRecommender","commonCommunity","commonProxy","commonProxyApiMeta","models","recommendedProjects1","recommendedProjects2","notificationTemplates","userNotification","commonNotificationTemplate","projectSubscriptionsPerDay","projectSubscribersInfo","projectReward","projectSubscriber","cancelSubscription","commonPaymentInfo","commonPayments","subscriptionsPerMonth","commonCreditCard","commonCreditCards","commonSubscriptionUpgrade","setSubscriptionAnonymity","uuid","country","userBalanceTransfers","contributionDetail","contributionActivity","projectDetail","userDetail","balance","balanceTransaction","balanceTransfer","survey","userCreditCard","bankAccount","bank","goalDetail","rewardDetail","projectReminder","projectReport","contributions","directMessage","teamTotal","recommendedProjects","projectVisitorsPerDay","projectAccount","projectAccountError","projectContribution","projectContributiorsStat","projectPostDetail","projectContributionsPerDay","projectContributionsPerLocation","projectContributionsPerRef","projectFiscalId","projectTransfer","project","adminProject","projectSearch","publicTags","categoryTotals","categoryFollower","teamMember","notification","statistic","successfulProject","finishedProject","userFriend","userFollow","followAllCreators","sentSurveyCount","answeredSurveyCount","followAllFriends","contributor","userFollower","creatorSuggestion","userContribution","userSubscription","subscriptionTransition","shippingFee","deleteProject","cancelProject","city","mailMarketingList","commonUserDetails","rechargeSubscription","unsubscribes","newSubscribersFromPeriod","projectReportExports","currentContribution","contributionVM","getElementById","contribution","payment_method","project_state","reward_sold_out","gateway_data","boleto_expiration_date","userId","states","vm","user_id","project_id","reward_id","createElementsFromDom","nodes","renderer","elements","createElementFromDom","createAttributesObject","attributesObject","attrib","RedrawScheduler","redrawsRequestCounter","requestAnimationFramePolyfill","functionToCall","set_timeout_default","schedule","toHtmlEntities","fromHtmlEntities","reminder","CatarseAnalytics","_dataCache","reduceSearchString","reduce_default","objectToSearchString","_context2","map_default","keys_default","_context3","concat_default","validateEmail","validationErrors","translatedTimeUnits","formatNumber","_context5","idVM","getCurrentProject","currentProject","getUser","getElementsByTagName","getUserID","cumulativeOffset","offsetTop","offsetLeft","offsetParent","authenticityToken","querySelectorAll","authenticityParam","animateScrollTo","scrolled","scrollY","dFrame","set_interval_default","scrollTo","scrollTop","analyticsEvent","eventObj","_analyticsOneTimeEventFired","currentReward","analytics","oneTimeEvent","eventKey","cat","act","windowScroll","fired","sc","same","setRedactor","isInit","_context12","$editor","csrf_token","csrf_param","redactor","formatting","formattingAdd","maxHeight","minHeight","convertVideoLinks","convertUrlLinks","convertImageLinks","plugins","imageUpload","imageGetJson","onblur","onfocus","createRequestRedrawWithCountdown","countdown","titleCase","_context16","newString","trim_default","_context17","includes_default","ObservableStream","observers","privateData","newData","_i4","observeFunction","getElementsByClassName","parentElement","elm","cur","elById","els","sessionStorage","getItem","createPropAcessors","_context18","curObject","assign_default","defineProperty_default","newValue","ObservableRedrawStream","observableStream","RedrawStream","onUpdate","RedrawToggleStream","firstState","secondState","streamAccessor","extractPhoneDDD","phoneNumberStr","extractPhoneNumber","SentryInitSDK","metaSentryUrlDSN","window_1","SENTRY_RELEASE","clientClass","debug","bindClient","Sentry","getCallStack","callStackLines","callStackTrimmedLines","filter_default","createBasicPaginationVMWithAutoRedraw","vmInstance","_nextPage","_firstPage","errorMessage","asyncToGenerator_default","regenerator_default","_callee","_args","_context14","t0","_callee2","_context15","createRequestAutoRedraw","autoRedrawProp","startData","dataUpdater","sleep","promise_default","stripScripts","scripts","buildLink","refStr","_context11","contributionStatusBadge","delivered","received","undelivered","delivery_status","discuss","identifier","disqus_config","existy","slugify","replaceDiacritics","validateCpf","strCPF","remainder","parse_int_default","validateCnpj","cnpjStr","tamanho","numeros","digitos","soma","resultado","cnpj","momentify","momentFromString","european","lastDayOfNextMonth","getUserCommonID","common_id","getApiHost","apiHost","getNewsletterUrl","newsletterUrl","getParams","searchKey","_context13","slice_default","_param$split","_param$split2","slicedToArray_default","toggleProp","alternateState","loaderWithSize","_context7","newFeatureBadge","I18n","fbParse","FB","XFBML","simpleFormat","translatedTime","projUnit","rewardSouldOut","reward","maximum_contributions","paid_count","waiting_payment_count","run_out","rewardRemaning","hashMatch","mobileScreen","screen","redrawHashChange","useAvatarOrDefault","avatarPath","locationActionMatch","action","_context6","navigateToDevise","_context8","navigateTo","storeAction","localStorage","setItem","callStoredAction","removeItem","UIHelper","setupResponsiveIframes","toAnchor","capitalize","paramByName","normalName","setParamByName","keysAndValues","finalQueryObject","keyValue","_keyValue$split","_keyValue$split2","queryString","newurl","setMultParams","objectParams","_keyValue$split3","_keyValue$split4","setAndResetMultParams","setParams","argumentsArray","from_default","resetParams","_keyValue$split5","_keyValue$split6","setAndResetMultParamsArray","removeQuery","for_each_default","removeParamByName","_keyValue$split7","_keyValue$split8","removeMultParams","paramsNamesToRemove","_keyValue$split9","_keyValue$split10","i18nScope","RDTracker","integrationScript","RdIntegration","integrate","rdToken","selfOrEmpty","emptyState","localVnode","_context9","anchorId","anchorEl","getRandomInt","projectStateTextClass","has_cancelation_request","cssClass","online","successful","waiting_funds","rejected","draft","in_analysis","approved","submit","fields","_context4","rule","hasError","fieldProp","fieldError","strip","innerText","storeObject","sessionKey","stringify_default","getStoredObject","removeStoredObject","setProject","getProject","setReward","getReward","applyMonetaryMask","_context10","onlyNumbers","integerPart","decimalPart","noNumbersMask","numbersOnlyMask","monetaryToFloat","propValue","parse_float_default","mask","maskDefinition","maskCharDefinitions","readMask","letter","isStrCharAllowed","isCharAllowed","newChar","maskChar","applyValueMask","maskFunctions","addNewCharFunctions","restrictInput","projectFullPermalink","permalink","isProjectPage","isOnInsights","index_of_default","isOnFiscal","isOnEdit","isOnContribution","setPageTitle","titleEl","rootUrl","aditionalClasses","setCsrfToken","userSignedIn","isDevEnv","DOMParser","parseFromString","eliminateScriptTags","attachEventsToHistory","orig","rv","buildCreditCard","creditCardFields","expirationMonth","expMonth","expirationDate","expYear","card_number","card_holder_name","card_expiration_date","card_cvv","cvv","isMobile","homeVM","_isUpdating","_banners","_getBanners","updateBanners","_x","_updateBanners","newBanners","_i2","newBannerData","getBanners","banners","banner","isUpdating","AdminHomeBannersEntry","_ref","subtitle","cta","image","entry_id_suffix","oninput","AdminHomeBanners","getterSetters","projectEditSaveBtn","hideMarginLeft","margin-left","loading","onSubmit","adminNotifications","templates","loaderTemp","loaderSubmit","selectedItem","selectedItemTemplate","renderedTemplate","parsedTemplate","parsedSubjectTemplate","selectedItemSubjectTemplate","renderTemplate","changeSelectedTo","find_default","default_template","subTpl","subject","default_subject","onSaveSelectedItem","renderSubjectTemplate","maped","templatesCollection","full_text_index","recommended","created_at","project_expires_at","updated_at","goal","progress","category_name","paramToString","filterMain","wrapper_c","wrapper_class","inputWrapperClass","btnClass","onchange","adminFilter","toggler","filterBuilder","main","onsubmit","adminItem","displayDetailBox","listWrapper","isSelected","listItem","listDetail","adminList","filterVM","serverError","loadNextPage","itemComponent","hasInputAction","inputActions","I18nScope","progressMeter","cardMeter","isFinished","projectFiltersVM","covid19","nearMe","near_me","open_for_contributions","sub","notSub","expiring","expires_at","recent","online_date","saved_projects","contributed_by_friends","finished","projects_we_love","projects_we_love_not_sub","nicename","isContextual","keyName","header_badges","covid_19","not_sub","all_modes","setContextFilters","contextFilters","filterKey","getContextFilters","removeContextFilter","currentUser","createdVM","project_user_id","fetchUser","handlePromise","customProp","lUser","displayImage","profile_img_thumbnail","userVM","getUserCreatedProjects","getUserCreditCards","contextVM","toggleDelivery","contribution_id","toggleAnonymous","getUserProjectReminders","without_notification","getUserRecommendedProjects","sample3","loaders","pushProject","popular","projectFilters","curr","_memo","_curr","getUserContributedProjects","getUserSubscribedProjects","user_external_id","getUserBalance","getUserBankAccount","getPublicUserContributedProjects","displayCover","profile_cover_image","public_name","getCurrentUser","getMailMarketingLists","getUserUnsubscribesProjects","isLoggedIn","rewards","fees","noReward","shipping_options","minimum_value","contributionValue","selectedReward","rewardsLoader","getFees","feesFilter","applyMask","statesLoader","shippingFeeById","feeId","rewardVM","canEdit","projectState","is_admin","canAdd","getStates","rewardLoader","rewardId","rewardvm","fetchRewards","rewardsData","fetchCommonRewards","selectReward","feesData","getSelectedReward","updateReward","rewardData","createReward","locationOptions","destination","mapStates","fee","feeState","acronym","feeOthers","feeInternational","shippingFeeForCurrentReward","selectedDestination","currentFee","feeDestination","getValue","setValue","hasShippingOptions","uploadImage","rewardImageFile","formData","deleteImage","goals","goalsData","goalsLoader","addGoal","editing","projectGoalsVM","fetchGoals","goalsRawData","fetchGoalsEdit","goalProp","updateGoal","goalId","goalData","createGoal","userDetails","subscriptionData","projectContributions","project_vm_context","isSubscription","fetchSubData","projectUuid","amount_paid_for_valid_period","total_subscriptions","total_subscribers","new_percent","returning_percent","lProject","fetchParallelData","projectUserId","loadIntegrationsAndSendPageView","eventsArray","SendPageView","_x2","projectIntegrations","trackingFunction","trackingFunctions","projectVM","jsonData","project_data","rewardDetails","goalDetails","routeToProject","setProjectPageTitle","projectName","project_name","fetchProject","lproject","updateProject","projectData","storeSubscribeAction","checkSubscribeAction","actionRoute","sendPageViewForCurrentProject","createIntegration","updateIntegration","updatedIntegration","ViewContentEvent","AddToCartEvent","PurchaseEvent","SubscribeEvent","adminProjectItem","toggleRecommend","project_img","project_online_date","pledged","owner_name","total_published","adminProjectDetail","bankl","opts","changeUserAction","success","projectSubscriberInfo","projectRevert","subscriberInfo","actions","actionUnload","userAddress","totalSubscriptions","posts_count","last_post","bank_name","agency","agency_digit","account","account_digit","account_type","owner_document","state_inscription","address_street","address_number","address_complement","address_city","address_state","address_zip_code","phone_number","total_published_projects","dateFieldMask","filterDateRange","onkeyup","filterNumberRange","dropdown","valueProp","option","filterDropdown","custom_label","adminProjects","listVM","projectListVM","projectFilterVM","categories","form","formDescriber","HeaderMenuSearch","searchParam","formElement","_ref2","menuProfile","contributedProjects","latestProjects","userBalance","userIdVM","amount","userName","toggleMenu","is_admin_role","ExploreLightBox","classCallCheck_default","createClass_default","onClose","queryBase","utm_source","utm_medium","utm_campaign","ExploreLightBoxList","onSelect","category_id","navigateUrl","ExploreLightBoxListItem","_ref3","menu","exploreButtonBehavoir","displayLightBox","optimizeObserver","variantName","menuCss","menuTransparency","withAlert","withFixedAlert","homeAttrs","absoluteHome","menuShort","footer","CheckEmail","userID","confirmedEmail","hideAlert","checkEmail","confirmed_email_at","userCreatedRecently","email_active","padding-top","deactivated_at","adminUser","additional_data","adminUserItem","adminExternalAction","builder","requestOptions","reload","updateKey","reloadItem","updateItem","requestError","unload","btnValue","callToAction","outerLabel","innerLabel","adminResetPassword","newPassword","error_message","adminInputAction","forceValue","errorOnSubmit","successMessage","adminNotificationHistory","notifications","sent_at","cEvent","relation","template_name","adminUserBalanceTransactionsList","transactionsListVM","wrapperClass","intex","total_amount","negativeV","event_name","service_fee","origin_objects","contributitor_name","contributor_name","adminUserDetail","ban","reactivate","adminUsers","userListVM","userFilterVM","gateway","adminContribution","gateway_id","adminContributionUser","user_profile_img","user_name","additionalData","payer_email","paymentStatus","card","displayPaymentMethod","paymentMethodClass","stateClass","payment","first_digits","cartao_bin","last_digits","cartao_final","brand","cartao_bandeira","card_first_digits","card_last_digits","card_brand","cardData","installments","adminContributionItem","itemBuilder","componentName","panel","adminRadioAction","newID","getKey","getFilter","setFilter","radios","getKeyValue","updateKeyValue","setVM","getVM","getLoader","getModel","setLoader","updateModel","newItem","selectKey","addEmpty","setDescription","validation","radio","checked","adminTransaction","gateway_fee","waiting_payment","anonymous","acquirer_name","is_second_slip","adminTransactionHistory","mapEvents","paid_at","pending_refund_at","refunded_at","refused_at","deleted_at","chargeback_at","originalDate","orderedEvents","adminReward","shipping_fee_id","available","deliver_at","adminContributionDetail","loadReward","transfer","newRewardID","refund","modalBox","hideCloseButton","displayModal","adminContributions","contributionListVM","contributionFilterVM","displayChargebackForm","chargebackIds","generateIdsToData","processChargebacksLoader","displayChargebackConfirmationModal","searchChargebackLoader","toChargebackListVM","toChargebackCollection","searchToChargebackPayments","chargebackConfirmationModalContentWrapper","customAttrs","modalTitle","onClickCallback","ctaText","processChargebacks","gateway_payment_ids","search_index","adminSubProject","project_external_id","large_image","zone_online_date","adminSubscription","adminSubscriptionUser","customer","checkout_data","customerData","user_email","paymentMethodIcon","paymentClass","boleto","credit_card","subscriptionStatusIcon","transition_date","filterRowVM","subscription_id","statusClass","started","inactive","canceled","canceling","deleted","statusToShowTransitionDate","shouldShowTransitionDate","subPaymentStatus","adminSubscriptionItem","adminSubscriptionDetail","transitions","paymentTransitionsFilter","payments","paymentsFilter","currentPayment","notificationsLoader","isFirstPage","loadNotifications","notificationsInternal","addNotificationsToInternal","notificationFilterVM","addNotificationsToInternalData","selected","transitionsData","clearSelected","rewardFilterVM","from_status","to_status","payment_method_details","adminSubscriptions","subscriptionListVM","subscriptionFilterVM","billing_data","transfer_id","created_date","transferred_date","getAllBalanceTransfers","allTransfers","adminBalanceTransferItem","disabled","selectItem","unSelectItem","user_public_name","transfer_limit_date","transferred_at","PopNotification","displayNotification","toggleOpt","setPopTimeout","mithril_default","alt","I18nBankAccount","adminBalanceTransferItemDetail","userBankAccount","showPopNotification","popNotificationAttributes","metaBank","last_transition_metadata","transfer_data","bank_account","transitionBankAccount","admin_notes","loadingNotes","conta","conta_dv","agencia","agencia_dv","bank_code","document_number","legal_name","submitNotes","balance_transfer","popNotification","adminBalanceTranfers","balanceTransferListVM","balanceTransferFilterVM","authorizedFilterVM","authorizedCollection","selectedAny","selectedItemsIDs","displayApprovalModal","displayManualModal","displayRejectModal","displayProcessTransfer","selectAllLoading","redrawProp","actionMenuToggle","loadAuthorizedBalances","unSelectAll","selectAll","generateWrapperModal","approveSelectedIDs","transfer_ids","manualTransferSelectedIDs","rejectSelectedIDs","newIDs","item_id","landingSignup","errorClasses","customAction","projectFriends","friendsSample","is_follow","friendsCount","profile_img","projectCard","remainingTextObj","remaining_time","elapsedTextObj","elapsed_time","cardCopy","small","innerWrapper","thumb","descriptionWrapper","author","headline","medium","big","projectOwnerName","owner_public_name","projectLocalizationObject","city_name","state_acronym","projectLocalizationSearchUrl","projectLocalizationName","projectCategoryObject","projectCategorySearchUrl","projectCategoryName","background-image","is_adult_content","showFriends","projectRow","landingQA","showAnswer","question","answer","Flex","stats","projects","flexVM","statsLoader","projectsLoader","addDisqus","total_contributors","total_projects_success","total_contributed","tooltip","opacity","parentOffset","setPosition","elTop","offsetHeight","innerWidth","offsetWidth","paddingLeft","setParentPosition","railsErrors","setRailsErrors","errorGroups","basics","budget","announce_expiration","video","user_about","user_settings","railsErrorsVM","errorsFor","parsedErrors","validatePublish","errors_json","mapRailsErrors","rails_errors","errorsFields","fieldArray","inlineError","linksScope","projectDashboardMenu","editLinksToggle","validating","showPublish","bodyToggleForNav","is_published","hidePublish","projectThumb","thumb_image","_context19","_context20","_context21","projectRoute","editRoute","editLinkClass","optionalOpt","adminProjectDetailsCard","resource","isFinalLap","zone_expires_at","statusTextObj","total_contributions","onlineSuccessModalContent","projectDataStats","visitorsTotal","contributorsByVisitors","contributorsByVisitorsValue","white-space","deleteProjectModalContent","deleteSuccess","confirmed","loaderOpts","_project_id","displayDeleteModal","projectDeleteButton","cancelProjectModalContent","checkError","showRedactor","commentHtml","showNextModal","projectCancelButton","displayCancelModal","projectDataChart","limitDataset","renderChart","vnodeCanvas","getContext","Line","xAxis","dataKey","subLabel","projectDataTable","table","sortIndex","comparator","sortTable","reverse_default","sort_default","defaultSortIndex","heading","rowData","row","projectReminderCount","reminder_count","facebookButton","share","ui","messenger","mobile","copyTextInput","showSuccess","setClickHandler","textarea","previousSibling","execCommand","blur","projectInviteCard","successfulProjectTaxModal","pt","irrf_tax","catarse_fee","projectSuccessfulOnboard","projectIdVM","projectAccounts","projectTransfers","showTaxModal","lProjectAccount","lProjectTransfer","listenToReplace","toRedraw","tax_link","actionSource","toR","lpa","lpt","link_news","link_surveys","projectSuccessfulProgressBar","designStates","processing","lineClass","circleClass","descriptionTextClass","descriptionTextSizeClass","successful_waiting_transfer","designComponent","current_state","processingComponent","successComponent","projectSuccessfulProcessing","projectSuccessfulEnabledWithdraw","balanceUrl","projectSuccessfulNextSteps","lastBalanceTransfer","balanceTransfers","lastBalanceTransferItem","hasAtLeastOneTransfered","balanceCreatedAtDate","projectExpiredAtDate","successfulOnboards","onboardProjectAndCalculatedState","projectSuccessOnboardProcessing","projectSuccessOnboardEnabledWithdraw","projectSuccessOnboard","SolidarityProjectInsightsWelcomeDraft","projectInsights","contributionsPerDay","visitorsPerDay","countDownToRedraw","requestRedraw","lVisitorsPerDay","lContributionsPerDay","contributionsPerLocationTable","lContributionsPerLocation","total_on_percentage","contributionsPerRefTable","lContributionsPerRef","referral_link","defaultValue","isSolidarityProject","is_owner_or_admin","sent_to_analysis_at","projectSuccessfullNextSteps","min-height","can_cancel","subscriptionsPerMonthTable","emptyRow","new_amount","new_subscriptions","slip","projectGoalsBoxDashboard","initialGoalIndex","find_index_default","currentGoalIndex","nextGoal","previousGoal","goalPercentage","insightsInfoBox","newCount","oldCount","countIncrease","arrowClass","inverted","getNewSubscriptionsInsightsFromPeriod","startDate","endDate","start_date","end_date","insightData","subscriptionVM","toStatus","fromStatus","startAt","endAt","subscriptionId","subscriptionAnonymity","set_anonymity_state","setAnonymityModel","set_subscription_anonymity","today","todayMinus7Days","todayMinus14Days","projectInsightsSub","visitorLoader","insightResumeDataLastWeek","mean_amount","subscriptions_count","insightResumeDataLast2Week","subscriptionsPerDay","weekTransitions","lastWeekTransitions","isSubscriptionsPerMonthLoaded","balanceData","subVM","insights","insightsLast2Weeks","lSubscriptionsPerDay","subscriptions","balanceLoader","subscribersDetails","atLeastZero","averageAmount","totalAmountFromLastWeek","totalAmountFromLast2Week","projectDetails","isProjectNotLoader","subData","postsPreview","togglePreview","showPreview","sendNotification","notificationData","comment_html","recipients","project_post","showError","recipientsText","confirmationLabel","rewardText","originalTrust","postForRewardCheckbox","reward_checkbox","chk_label","sublabel","contributions_count","postEntry","showOpenPercentage","deletePost","destinatedTo","delivered_count","open_count","posts","deleteFormSubmit","isProjectLoaded","isProjectPostsLoaded","selectedRewardsHasError","titleHasError","commentHasError","projectPosts","radio_checked","paid_rewards","get_selected_rewards_text","get_selected_rewards","rc","get_selected_reward_ids","external_id","toDeletePost","filterOnlyPaidRewards","subscribed_count","createCheckboxesControlForRewardSelected","filteredRewards","paidRewardsSorted","pr","checkboxesArray","addDataFieldToNoCommonRewards","remapMinimumValue","showRecipientes","rewards_that_can_access_post","wants_to_send_to_ones_who_paid_for_rewards","wants_to_send_to_backers_or_public","has_selected_at_least_one_reward","validation_is_ok","setPostDeletionForm","openedPercentage","surveyScope","surveys","sentCount","answeredCount","l2","toggleOpen","survey_finished_at","canBeCreated","survey_sent_at","cannotBeCreated","newQuestion","survey_question_choices_attributes","toggleDropdown","dashboardQuestions","confirmAddress","questionWithEmptyFields","surveyVM","addDashboardQuestion","deleteDashboardQuestion","updateDashboardQuestion","questionToUpdate","deleteMultipleQuestionOption","splice_default","addMultipleQuestionOption","submitQuestions","confirm_address","survey_open_questions_attributes","survey_multiple_choice_questions_attributes","openQuestionType","multipleQuestionType","rewardCardBig","surveyCreatePreview","openQuestions","multipleChoiceQuestions","choice","sendQuestions","marginbottom","dashboardMultipleChoiceQuestion","addOption","deleteOption","updateOption","idToUpdate","dashboardOpenQuestion","surveyCreate","_vnode$attrs","setQuestionType","toggleShowPreview","choiceDropdown","jobs","press","liveStatistics","pageStatistics","socket","user_image","project_image","projectContributionReportHeader","paymentStateFilter","rewardFilter","deliveryFilter","surveyFilter","mainFilter","FilterMain","mapRewardsToOptions","anonymousBadge","isAnonymous","contributionScope","projectContributionReportContentCard","showDetail","currentTab","selectedContributions","paid","refunded","pending_refund","refused","selectContribution","anyChecked","profileImg","deliveryBadge","public_user_name","has_another","survey_answered_at","finished_at","survey_status","tab","address_neighbourhood","state_name","country_name","multiple_choice_questions","mcQuestion","question_choices","survey_question_choice_id","open_questions","openQuestion","user_created_at","total_contributed_projects","getAllContributions","allContributions","updateStatus","withNullParameters","withNullVm","deliverContributionModalContent","errorContributionModalContent","projectContributionReportContent","showSelectedMenu","displayDeliverModal","displayErrorModal","deliveryMessage","projectsContributionReportVM","_selectedContribution","exceptReceived","contrib","toConsumableArray_default","unselectAll","isFailed","showDownloads","downloadReports","paymentState","isSuccessful","isWaitingFunds","isOnline","paidRewards","InfoProjectContributionLegend","modalToggle","ProjectContributionStateLegendModal","stages","i_class","project_stage","ProjectContributionDeliveryLegendModal","projectContributionReport","projectContributionsListVM","contributionStateOptions","FilterDropdown","lReward","loadMoreBtn","filterText","buttonOptions","DropdownMenu","innerFieldInput","inputState","inputValue","defaultInputOptions","keyCode","onsetValue","inputExtraProps","shouldRenderInnerFieldLabel","filterDropdownNumberRange","firstValue","secondValue","getNumericValue","getLowerValue","getHigherValue","showDropdown","clearFieldValues","renderPlaceholder","lowerValue","higherValue","value_change_placeholder","value_change_both_placeholder","init_lower_value","init_higher_value","dropdownOptions","inner_field_label","applyValueToFilter","value_multiplier","onapply","dropdown_inline_style","z-index","margin-bottom","onmousedown","selectable","inner_field_placeholder","I18nScopePayment","I18nScopePaymentMethod","dashboardSubscriptionCardDetailPaymentHistoryEntry","chargedback","captalize","paymentAmount","paymentMethod","paymentDate","paymentDetails","paymentMethodText","isSlipWithExpiration","expiration_date","isCreditCardWithDetails","paymentStatusText","paymentMethodEndText","subscriptionNextChargeDateMethodInfo","next_charge_at","hasPaymentMethodDetails","subscriptionNextChargeDate","last_payment","dashboardSubscriptionCardDetailPaymentHistory","loadingFirstPage","errorOcurred","paymentsFilterVM","last_payment_data","dashboardSubscriptionCardDetailSubscriptionDetails","total_paid","UserFollowBtn","following","followVM","follow_id","hover","userFollowInsert","userFollowDelete","follow","unfollow","disableClass","disabledClass","enabledClass","onmouseover","onmouseout","ownerMessageContent","sendSuccess","submitDisabled","from_name","from_email","sendMessage","to_user_id","page_title","page_url","contactForm","dashboardSubscriptionCardDetailUserProfile","contactModalC","following_this_user","dashboardSubscriptionCardDetailUserAddress","street","street_number","complementary","zipcode","dashboardSubscriptionCardDetail","userDetailsOptions","user_details","subscriptionLastPaymentStatus","lastPaymentDate","last_payment_data_created_at","lastPaymentStatus","lastPaymentMethod","subscriptionScope","dashboardSubscriptionCard","toggleDetails","filterUserVM","reward_id_to_search","current_reward_external_id","reward_external_id","filterRewVM","cardClass","getAllSubscriptions","allSubs","projectSubscriptionsListVM","SelectSubscriptionReports","reportsExtension","selectedReportTypes","getSelectedReportTypes","selectReportType","report_type","indexIn","isInside","onSend","isSending","reportsTypeSelection","reportTypeCheck","createProjectReportExports","report_type_ext","_x3","RequestedSubscriptionReportsModal","reportsExportingUrl","projectUserEmail","statusCustomFilter","dropdownFilterCustomLabel","projectSubscriptionReport","projectsSubscriptionReportVM","catarseVM","dropdownNumber","isProjectDataLoaded","isRewardsDataLoaded","displayDownloadReportDropdownMenu","displayDownloadReportSelectionModal","wasSubscriptionReportRequestSent","projectUser","loadedRewards","isSendingReportDownloadRequest","sendReportDownloadRequest","reportTypes","reportFileExtension","updateLoader","reportType","subsCollection","statusFilter","textFilter","paymentFilter","totalPaidFilter","paidCountFilter","shouldDisplaySelectReportsToExportModal","shouldDisplayReportsExportingRedirectModal","dropdownMenu","projectSubscriptionReportDownloadEntry","reportTypeTranslatedName","SubscriptionReportForProjectOwner","SubscriptionMonthlyReportForProjectOwner","isExpired","now_default","realState","reportStateBadge","expired","reportIconByState","shouldDisplayDownloadButton","projectSubscriptionReportDownload","listProjectReportExportsVM","projectReportExportsVM","loadingProject","reports","report","projectsDashboard","UnsignedFriendFacebookConnect","largeBg","SequencePaginationVM","vms","collectionData","vmIndex","isLastPageFromVM","searchCitiesGroupedByState","_searchCitiesGroupedByState","inputText","cities","cityGroup","_i6","searchCities","cityGroupToList","_searchCities","_callee3","city_id","t1","citiesByStateOnKey","cityList","_Object$keys2","stateName","firstCity","cityState","SinglePageViewModel","getCollection","_isLoading","_total","retrievedData","ALL_CATEGORIES","filtersMap","ProjectsExploreViewModel","_observer","_categories","_mode","_category","_category_id","_filter","_cityState","_searchParam","_amountFoundOnLocation","_projectsView","_foundCityStates","_lastQuery","mountQuery","_isLoadingLocationsSearch","loadCategories","executeSearch","_search","getCategoryById","dispatchNewQuery","_searchLocations","isLoaded","loaderTimeout","_getCategoryById","_this2","findCagetoryById","intervalWaitingCategoriesToLoad","_loadCategories","_callee4","_this3","newQuery","_executeSearch","_callee5","resetContextFilter","getModelBasedOnFilter","getParametersBaserOnFilter","loadProjects","countProjectsOnCity","_this$_cityState","_this$_cityState$city","_this4","_callee6","projectsFound","makeProjectsSearch","cityOnlyVmInstance","stateOnlyVmInstance","cityOnlyPages","stateOnlyPages","cityOnlyParameters","_objectSpread","stateOnlyParameters","pages","_makeProjectsSearch","_callee7","_countProjectsOnCity","_callee8","filterParameters","_this$_cityState2","_this$_cityState2$cit","parametersWithOnlyCityNotState","_args8","countProjects","_x4","_countProjects","_callee9","selectMinimalFieldsFilterVM","countParameters","_args9","selectFields","_x5","modeFilter","filterFilter","parametersFilter","getParametersFromLocationSearchAndCategory","filterOrderBasedOnFilter","setOpenForContribution","state_order","_this$_cityState3","_this$_cityState3$cit","_this$_cityState4","_this$_cityState4$sta","cityName","stateAcronym","getOrParameters","textSearch","plfts","_this5","_callee10","ExploreSearchFilterSelect","openSearchControl","onSearch","itemToString","mobileLabel","hasItemSelected","noneSelected","foundItems","onToggleSearchBox","stopPropagation","ExploreFilterSelect","showFilterSelect","values_default","splitNumberColumns","onClickExploreFilter","ExploreFilterSelectionColumns","ExploreFilterSelectionSingleColumn","onSelectWithClose","splitPartAmount","splitPartAmountRounded","displayedElementsCount","columnIndex","endPartIndex","endIndex","ExploreProjectsFoundCounter","ExploreProjectsList","isSearch","filterKeyName","isContributedByFriendsFilter","ProjectsExplorerFooter","hasSpecialFooter","icon","iconSrc","footerTitle","startLink","startLinkTitle","ProjectsExploreLoadMoreButton","showNextPageButton","defineDeepObject","objectPath","defineDeepObjectRecursive","deepObject","hasDeeperPath","remainingPath","ExploreSearchParam","ExploreMobileSearch","projectsExplore","hasFBAuth","has_fb_auth","externalLinkCategories","translations","currentLocale","explore_categories","projectsExploreVM","getProjectsViewQuery","pg_search","categoryId","onpushstate","_projectsExploreVM$ci","projectsCollection","projectsView","showProjectsFoundCounter","showConnectToFacebookButton","specialFooterData","hasSeachParam","modeName","searchLocations","foundLocations","isLoadingLocationsSearch","firstPart","secondPart","filterName","amountFoundOnLocation","isTextSearch","projects_explore_objectSpread","slider","selectedSlideIdx","translationSize","sliderTime","incrementSlide","slides","startSliderTimer","translationSizeAndRedraw","clearTheIntervalSettle","decrementSlide","resetSliderTimer","slideClass","slideComponent","effect","sliderClick","slide","translateValue","sliderTransitionStyle","translateStr","slideFx","fadeFx","projectRowWithHeader","isOdd","showFriendsLinkComponent","collectionHeaderComponent","badges","badge","projectsOrLoadingIconComponent","projectsDisplay","__GO_EXPE_NAME","currentCase","subHomeWith6","subHomeWith3","collectionsMapper","sampleNo","forSubPledged","cLoader","aonAndFlex_Sub_3","bind_default","windowEventNOTDispatched","aonAndFlex_Sub_6","blogVM","blogBanner","HomeBannerSlide","projectsHome","userFriendVM","friendListVM","projectShareBox","displayEmbed","displayShareBox","addressTag","addressSearchUrl","isDark","lbl","categoryTag","categorySearchUrl","ProjectWeLovedTag","filterSearchUrl","projectVideo","video_embed_url","projectHighlight","isSub","original_image","projectMode","modeImgSrc","modeTitle","submitReminder","in_reminder","mainClass","buttonClass","hideTextOnMobile","onclickFunc","projectUserCard","contactData","facebook_link","twitter_username","links","parsedLink","projectSidebar","animateProgress","contributors","pledgedIncrement","contributorsIncrement","progressBar","pledgedEl","contributorsEl","incrementProgress","navigate","elapsed","subGoal","totalContributors","hasSubscription","projectHeaderTitle","rewardReceiver","lastStatus","reward_sent_at","userContributedBox","installmentTotalAmount","installments_total_amount","project_owner_name","finishedAt","answeredAt","installment_value","boleto_url","reward_title","reward_description","survey_id","userContributionDetail","chosenReward","countries","addressVM","international","countryID","country_id","stateID","state_id","addressStreet","addressNumber","addressComplement","addressNeighbourhood","addressCity","addressState","addressZipCode","phoneNumber","exportData","defaultCountryID","defaultForeignCountryID","fieldsToIgnore","hasPhoneError","phone","strippedPhone","controlDigit","setFields","countryState","getFields","isInternational","paymentInfoId","sendPaymentRequest","payment_id","X-forwarded-For","sendSubscriptionUpgrade","updateUser","userPayload","cpf","ownerDocument","completeName","address_attributes","displayError","errorMsg","submissionError","paymentInfo","paymentId","retries","resolvePayment","gateway_payment_method","payment_confirmed","isEdit","subscriptionStatus","getPaymentInfoUntilNoError","catalog_payment_id","requestInfo","defaultPaymentMethod","infoR","gateway_errors","creditCardRetries","processCreditCard","cardHash","creditCardHash","card_hash","waitForSavedCreditCard","creditCardId","creditCard","commonPaymentVM","selectedCreditCard","commonData","addVM","encryptionKey","pagarme","encryption_key","phoneDdd","addressCountry","connect","security","encrypt","userCommonId","projectCommonId","credit_card_owner_document","cardOwnerDocument","is_international","neighborhood","country_code","ddi","ddd","rewardCommonId","_ref4","customerID","nTry","intervalID","Konduto","setCustomerID","card_id","credit_card_id","payment_data","trialsToGetPaymentInfo","boleto_barcode","cancelSubscriptionContent","checkboxUpdateIndividual","onToggle","userSubscriptionPaymentHistoryModal","subscriptionNextChargeDateCompact","UserSubscriptionBoxControl","userInteraction","isGeneratingSecondSlip","generateSecondSlip","showLastSubscriptionVersionEditionNextCharge","next_retry_at","payment_status","editHref","userSubscriptionBox","displayPaymentHistoryModal","contactModalInfo","filterProjVM","last_payment_id","showLastSubscriptionVersionValueIfHasOne","is_active","current_paid_subscription","last_paid_sub_amount","paid_value","next_value","showLastSubscriptionVersionPaymentMethodIfHasOne","last_paid_sub_data","showLastSubscriptionVersionRewardTitleIfHasOne","current_reward_data","current_reward_id","reward_description_formated","userSubscriptionBoxControl","userSubscriptionDetail","projectHeader","userProjectSubscriptions","showContributions","activeSubscriptions","sortedSubscriptions","hasContribution","hasBackground","cover_image","projectTabs","isFixed","originalPosition","navDisplay","fixNavBar","viewportOffset","classList","projectSuggestedContributions","suggestionUrl","projectContributorCard","userData","projectSubscribersListVM","projectContributorsListVM","filterStats","subFilterVM","contributionsStats","lContributionsStats","groupedCollection","grouped","projectRewardCard","descriptionExtended","submitContribution","numberValueFloat","valueFloat","valueUrl","storedValue","setInput","toggleDescriptionExtended","isRewardOpened","isLongDescription","isRewardDescriptionExtended","selectDestination","rewardMinValue","extraData","reward_value","uploaded_image","projectReportDisrespectRules","reasonError","detailsError","formName","sendReport","checkScroll","displayFormWithName","projectReportInfringesIntellectualProperty","relationWithViolatedPropertyError","fullNameError","fullAddressError","projectInfringesError","termsAgreedError","relationWithViolatedProperty","fullName","fullAddress","projectInfringes","termsAgreed","assertError","condition","CPF","telephone","businessName","CNPJ","businessRole","projectReportNoRewardReceived","_vnode$state","displayForm","hasPendingAction","checkLogin","validateFunction","business_name","business_role","relation_with_violated_property","full_name","project_infringes","terms_agreed","projectRewardList","row_order","showReport","ProjectGoalsBox","_ref$attrs","goalsDetails","updatedData","_ref3$attrs","goalsDetailsOrEmpty","amountPaidForValidPeriod","viewingGoal","viewingValueGoal","projectAbout","hasRewards","titleText","about_html","projectGoalsBox","fundingPeriod","projectRewards","c_opts","projectComments","loadComments","post_id","postHeader","minimumValueRewardId","project_user_name","projectMain","displayTabContent","tabs","#rewards","#contribution_suggestions","#contributions","#about","#comments","#posts","mobileDefault","AdultPopupModal","userPublicName","userPhotoUrl","onAgree","projectsShow","projectOwner","currentUserIsProjectOwner","displayAdultContentPopup","loadUserSubscriptions","shouldDisplayDashboardMenu","shouldDisplayAdultContentPopup","blurredScreenConditionalStyle","hideDashboardMenu","I18nIntScope","paymentVM","checkEmptyFields","checkedFields","striped","updateContributionData","contributionData","payer_document","payer_name","card_owner_document","savedCreditCards","kondutoExecute","requestPayment","creditCardPaymentSuccess","deferred","creditCardPaymentFail","checkAndPayCreditCard","selectedInstallment","installment","card_key","payment_card_installments","save_card","creditCardMask","applyCreditCardMask","usersVM","fetchedData","resetFieldError","fieldName","errorField","getSlipPaymentDate","paySlip","completed","dataType","errorCatched","getInstallments","getSavedCreditCards","otherSample","creditCards","resetCreditCardFieldError","expMonthOptions","expYearOptions","currentYear","yearsOptions","sendPayment","faq","rewardSelectCard","queryRewardValue","queryRewardId","isReactivation","normalReward","numberValue","currentRewardId","autocomplete","faqBox","isReactivate","questions","selectedQuestion","tKey","scopedQuestions","updatedQuestions","quest","userLink","selectQuestion","projectsContribution","sortedRewards","projectsSubscriptionContribution","paymentBadge","subscriptionEditModal","toggleDescription","vmIsLoading","newSubscription","oldSubscription","showModal","confirm","pay","paymentSlip","isSubscriptionEdit","slipPaymentDate","subscriptionEditConfirmed","showSubscriptionModal","buildSlip","reward_common_id","user_common_id","project_common_id","buttonLabel","slip_expiration_date","cards","patterns","cvvLength","luhn","setCardType","cardFromNumber","reFormatCardNumber","cardNumberProp","$target","chars","currPair","prevPair","selectionStart","error1","selectionEnd","formatCardNumber","upperLength","len1","creditCardVM","cardType","onkeypress","restrictCardNumber","onkeydown","onpaste","odd","currentTime","expiry","typeof_default","creditCardInput","setCreditCardHandlers","paymentCreditCard","loadingInstallments","loadingSavedCreditCards","showForm","creditCardType","documentMask","documentCompanyMask","sendSubscriptionPayment","handleValidity","errorObj","errorsWithout","checkcvv","checkCreditCard","checkCardOwnerDocument","checkCreditCardName","applyCreditCardNameMask","selectCreditCard","hideSave","savedCards","fieldHasError","fieldWithError","buildTooltip","tooltipText","applyDocumentMask","applyCvvMask","isCreditCardSelected","expMonths","expYears","loadPagarme","totalAmountOfInstallment","checkExpiry","paymentForm","isSlip","nationalityRadio","setNational","setInternational","countrySelect","countriesLoader","countryData","changeCountry","countryName","name_en","addressFormInternational","disableInternational","addressFormNational","applyZipcodeMask","lookupZipCode","zipCodeErrorMessage","countryStates","applyPhoneMask","stateSelectedID","addressForm","addressFields","phoneMask","zipcodeMask","internationalProp","zipCode","hideNationality","projectsSubscriptionCheckout","showPaymentForm","isCnpj","currentUserID","valueParam","rewardIdParam","addressChange","validateForm","formatedValue","anonymousCheckbox","ProjectsSubscriptionThankYou","paymentConfirmed","paymentData","UserVM","CommonPaymentVM","payData","analyticsData","projectUserData","link2","link_email","frameborder","userHeader","hideDetails","profileImage","coverImage","userDisplayName","userCreated","showDraft","createdProjects","userCreatedProjects","projects_collection","isLoadingProjects","userContributed","userCard","userAbout","userDetailsData","usersShow","#created","#contributed","surveyPreview","addressScope","surveysShow","contributionId","showThanks","loadSurvey","surveyData","preview","scroll","sendAnswer","survey_address_answers_attributes","addresses_attributes","survey_open_question_answers_attributes","answer_id","survey_open_question_id","survey_multiple_choice_question_answers_attributes","survey_multiple_choice_question_id","generateErrorInstance","submissionErrorMsg","fieldIdxValue","initialValue","fieldOrArray","is_array_default","setSubmissionError","hasSubmissionError","displaySubmissionError","flag","updated","resetFieldErrors","resetErrors","userAboutVM","userAboutEdit","deleteUser","current_password","twitter","email_confirmation","passwordHasError","emailHasError","showEmailForm","uploading","links_attributes","linkAttributes","publishingUserAbout","publishing_user_about","userUploadedImageEl","userCoverImageEl","files","hideCoverImg","dataResponse","validateEmailConfirmation","validatePassword","removeLinks","removeLink","linkId","_destroy","addLink","deleteAccount","setDeleteForm","toRemove","hidePasswordChange","hideDisableAcc","userContributedList","hideSurveys","pagination","userPrivateContributed","onlinePages","successfulPages","failedPages","handleError","contextSubVM","onlineCollection","successfulCollection","failedCollection","userSettingsVM","extractAndSetErrorMsg","bigCard","label_hint","userSettingsResponsible","disableFields","applyBirthDateMask","birth_date","userSettingsAddress","userSettingsSavedCreditCards","setCardDeletionForm","deleteCard","toDeleteCard","userSettingsHelp","userSettings","birthDayMask","publishingUserSettings","publishing_user_settings","hasContributedOrPublished","shouldHideCreditCards","hideCreditCards","isProjectUserEdit","userNotifications","subscribedProjects","projectReminders","mailMarketingLists","showNotifications","unsubscribedNewsProjects","generateListHandler","user_lists","mail_marketing_lists","user_signed","userList","marketing_list","list_id","in_list","should_insert","should_destroy","isInsertInListState","hovering","getUserMarketingListId","currentList","user_marketing_list_id","isOnCurrentList","userLists","reminders","marketing_lists","user_contributed_and_subscribed_projects_count","_item","onmouseenter","subscribed_to_project_posts","found_index","is_unsubscribed","unsubscribed","subscribed_to_friends_contributions","subscribed_to_new_followers","UserOwnerBox","hideAvatar","userBankForm","banks","showOtherBanks","showOtherBanksInput","bankInput","bankCode","popularBanks","bank_id","bank_account_type","Selected","bank_account_id","userBalanceRequestModelContent","bankAccounts","banksLoader","requestLoader","displayDone","displayConfirmation","requestFund","balanceManager","loadBankA","bankAccountManager","updateUserData","bank_account_attributes","input_bank_number","font-weight","userBalances","positiveValue","balanceRequestModalC","userBalanceRequestModalContent","in_period_yet","last_transfer_amount","last_transfer_created_at","month_name","userBalanceTrasactionRow","expanded","createdAt","debit","credit","event_data","subscription_reward_label","subscriber_name","from_user_name","to_user_name","userBalanceTransactions","userBalanceTransactionsList","userBalanceTransactionRow","I18nScopeTransfer","I18nScopeBank","userBalanceWithdrawHistoryItemRequest","initialStateInfoRender","funding_estimated_date","errorStateInfoRender","innerCardInfo","authorized","gateway_error","transferred","cardStatusClassMap","innerCardStatusClassMap","documentMasked","document_type","requested_in","userBalanceWithdrawHistory","explitInArraysOf3","partArray","userBalanceTransfersList","transferList","userBalanceMain","userIdParameters","userBalanceTransactionsListVM","userBalanceTransfersListVM","usersEdit","#projects","#about_me","#settings","#notifications","#balance","online_days","is_solidarity","projectGoalVM","fillFields","projectSolidarityIntegration","genClickChangeMode","SolidarityProjectDescription","percentage","projectGoalEdit","mapErrors","showModeDiff","showTaxesDiff","applyGoalMask","serviceFee","maxlength","projectEditGoal","projectEditWelcome","changeReward","rewardProp","welcome_message_subject","welcome_message_body","updateRewards","projectGoalEditCard","descriptionError","titleError","valueError","destroyed","confirmDelete","alert","acceptNumeric","saveGoal","goal_id","projectGoalCard","projectGoalsEdit","currentGoal","sortedGoals","projectEditGoals","tracker_snippet_html","public_tags","admin_tags","content_rating","show_cans_and_cants","force_show_cans_and_cants","solidarity","projectBasicsVM","admin_tag_list","tag_list","all_tags","all_public_tags","integrations_attributes","loadCategoriesOptionsTo","mapped","generateSearchCity","citiesProp","inputCard","belowChildren","projectBasicsEdit","isAdultContent","selectedTags","tagOptions","isEditingTags","tagEditingLoading","addTag","tagString","searchTagsUrl","triggerTagSearch","reloadProject","editTag","removeTag","tagToRemove","updatedTags","content_rating_value","projectEditBasic","_reloadProject","projectProp","projectDescriptionVM","bigInputCard","cardStyle","projectDescriptionEdit","video_url","I18nVideoScope","projectDescriptionVideoEdit","projectDescriptionVideoVM","projectEditDescription","editComponent","projectVideoVM","projectBudgetEdit","projectEditVideo","projectVideoEdit","projectBudgetVM","projectEditBudget","projectEditUserAbout","useFloatBtn","projectEditUserSettings","userDate","rewardCardEditDescription","dashboardRewardCard","imageFileToUpload","isUploadingRewardImage","isDeletingRewardImage","contributionsMade","limitError","editDescription","showLimited","isSaving","limitEdit","descriptionEdit","availableCount","numberAvailable","toggleLimit","limited","saveReward","maximumContributionsNumber","runOutRewardAvailability","onSelectImageFile","r_with_image","tryDeleteImage","newReward","shouldShowLoaderToUploadImage","isEditingDescription","edit","maximum","shippingFeeInput","feeNumberValue","feeValue","stateInUse","stateData","destinations","othersCount","editRewardCard","minimumValue","isDeletingImage","isUploadingImage","isSavingReward","minimumValueError","deliverAtError","updateOptions","feeData","feeProp","shippingFees","shipping_fees_attributes","showImageToUpload","newFee","shouldAppearLoaderOnImageUploading","monthIndex","feeIndex","RewardsEditListCard","isEditing","edit_reward_card","dashboard_reward_card","jQuery","RewardsEditList","updateRewardSortPosition","_loadRewards","_rewardVM$rewards2","_reward","rewardDataStreams","rewardDataStreamProp","setSorting","sortable","imageInputElementFile","reader","FileReader","dataURL","readAsDataURL","shouldShowAddRewardButton","rewards_edit_list_card_RewardsEditListCard","rewards_edit_list_AddRewardButton","shouldDisplayButton","AddRewardButton","projectEditReward","tips","reward_fields","tip","upload_files_targets","upload_files","projectCardVM","prepareForUpload","reloadCurrentProject","projectCardEdit","uploaderr","projectEditCard","projectEditStart","projectPreview","announceExpirationModal","projectAnnounceExpiration","projectEditTab","ProjectEditIntegrations","findIntegrationByName","GATracking","FBPixelTracking","GATrackingID","FBPixelTrackingID","loadingIntegrations","requestForIntegration","_requestForIntegration","integrationData","integration_id","_save","projectEdit","isUnpublishedAdmin","projectEditWelcomeMessage","projectsPayment","projectsReward","currentproject","monetaryMinimum","fiscalScope","projectsFiscal","projectFiscalData","hasData","debit_notes","informs","inform","note","formattedServiceFee","publishVM","expiresAt","publish","accountL","acceptedIndex","getTerms","terms","term","youtubeLightbox","player","showLightbox","closeVideo","pauseVideo","createPlayer","YT","Player","videoId","playerVars","showInfo","modestBranding","onStateChange","setYoutube","firstScriptTag","onYouTubeIframeAPIReady","selectedPane","selectedCategory","featuredProjects","selectedCategoryIdx","startvm","i18nStart","testimonials","categoryProjects","panes","qa","testimonial","thumbUrl","totals","pane","col_1","col_2","sampleProjects","sample_project_ids","primary","secondary","startVM","paneImages","categoryvm","projectvm","uservm","linkToExternal","loadCategoryProjects","userThumb","projectCategory","projectNameError","projectCategoryError","selectCategory","externalLink","selectPane","validateProjectForm","total_successful_value","successful_projects","member_count","total_cities","teamMembers","team_members","teamMembersCollection","member","img","team","UserFollowCard","friend","avatar","friend_id","userFriends","allLoading","followAll","userFollows","followsListVM","userFollowsListVM","followsVM","userFollowers","followersListVM","userFollowersListVM","followersVM","userCreators","creatorsListVM","creatorsVM","FollowFoundFriends","#creators","#friends","#follows","#followers","follows_count","followers_count","thankYou","recommended_projects","slip_url","setEvents","checkout","user_thumb","contribution_email","subProjectNew","ProjectCardSimple","cardThumbStyle","InlineErrors","messages","inline_error_inlineError","InputImageFile","inputFileElement","accept","click","CardEdit","selectedImageFile","hasErrorOn","getFieldErrors","data-name","input_image_file_InputImageFile","url_default","inline_errors_InlineErrors","project_card_simple_ProjectCardSimple","_enable_super_gross_mode_that_will_cause_bad_things","config_config","useDeprecatedSynchronousErrorHandling","hostReportError","closed","UnsubscriptionError","UnsubscriptionErrorImpl","Subscription_Subscription","_parentOrParents","_subscriptions","_unsubscribe","flattenUnsubscriptionErrors","teardown","EMPTY","subscriptionIndex","errs","rxSubscriber","Subscriber_Subscriber","Subscriber","destinationOrNext","syncErrorValue","syncErrorThrown","syncErrorThrowable","isStopped","Subscriber_SafeSubscriber","_error","_complete","_unsubscribeAndRecycle","SafeSubscriber","_parentSubscriber","observerOrNext","__tryOrSetError","__tryOrUnsub","wrappedComplete","observable_observable","pipeFromArray","Observable_Observable","_isScalar","_subscribe","lift","sink","nextOrObserver","_trySubscribe","closed_1","promiseCtor","getPromiseCtor","pipe","operations","toPromise","ObjectUnsubscribedError","ObjectUnsubscribedErrorImpl","SubjectSubscription_SubjectSubscription","SubjectSubscription","subscriberIndex","Subject_SubjectSubscriber","SubjectSubscriber","Subject_Subject","Subject","thrownError","Subject_AnonymousSubject","copy","asObservable","AnonymousSubject","ProjectPublishByStepsVM","_project","_isLoadingProject","_errors","_errorObserver","_publish","configPublishRequest","_isSavingProject","requiredFields","cardImageFile","projectHasImageUploaded","someInvalidation","requiredFieldsWithoutUploadedImage","clearErrors","small_image","uploadCardImage","rf","saveFields","tryDispatchErrorDisplay","_saveFields","projectDataToSave","manualErrorsSet","_field","setErrorOnField","conditionalI18n","_uploadCardImage","coverImageFile","_x6","railsErrorJson","_i8","_railsErrorJson$field2","_init","_fetchProject","getRowParamenters","project_publish_by_steps_vm_objectSpread","DescriptionEditTips","show","aria-hidden","InputCurrency","onValueChange","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","currencyOnlyNumbers","TextareaHtmlEditor","attrsWithDefaultClasses","textarea_html_editor_objectSpread","onChange","extends_default","newHtml","InputFindLocation","_getCityById","selectedCity","cityInputValue","hasCitiesToDisplay","PreviewProjectPage","MapOperator","map_MapSubscriber","MapSubscriber","AsyncAction_AsyncAction","AsyncAction","work","recycleAsyncId","requestAsyncId","_execute","errored","errorValue","Action","Scheduler","SchedulerAction","async_async","AsyncScheduler","scheduled","DebounceTimeOperator","dueTime","debounceTime_DebounceTimeSubscriber","DebounceTimeSubscriber","debouncedSubscription","lastValue","clearDebounce","dispatchNext","debouncedNext","InputPermalink","currentPermalink","checkPermalinkAvailable","lastValidValue","projectBySlugRequestConfig","autoResetLastValidValue","onValidChange","oneveryinput","fromEvent","resultSelector","setupSubscription","sourceObj","source_1","source_2","source_3","wait1s","AmountEditTips","DescriptionEdit","showDescriptionTips","showAmountTips","preview_project_page_PreviewProjectPage","input_currency_InputCurrency","textarea_html_editor_TextareaHtmlEditor","input_permalink_InputPermalink","newPermalink","input_find_location_InputFindLocation","data-ix","amount_edit_tips_AmountEditTips","description_edit_tips_DescriptionEditTips","AskAboutReward","_attrs$project$user","RewardsEditTips","RewardsEdit","rewards_edit_list_RewardsEditList","rewards_edit_tips_RewardsEditTips","UserInfoEditPublicProfileTips","UserInfoEditSettingsTips","UserInfoEditPublicProfile","getErrorsOn","onSelectProfileImage","profileImageUrl","imageBlobUrl","selectedProfileImageFile","UserInfoEditSettings","objStreams","_loop","statesProp","fieldsMap","newMappedFields","mappedFields","fieldNameToMap","addViewModel","user_settings_responsible","user_settings_address","UserInfoEdit","user_info_edit_public_profile_UserInfoEditPublicProfile","profileImageFile","user_info_edit_public_profile_tips_UserInfoEditPublicProfileTips","user_info_edit_settings_UserInfoEditSettings","user_info_edit_settings_tips_UserInfoEditSettingsTips","UserInfoEditViewModel","_isSaving","userSaveAttributes","hasEmptyField","blankError","trySaveUserAttributesAndValidatePublishProject","_uploadImage","requestConfig","_fetchUser","_trySaveUserAttributesAndValidatePublishProject","userAttributes","saveRequestConfig","validatePublishRequestConfig","hasStateError","hasThrown","Todo","role","Share","projectUrl","projectUrlEncoded","facebookShareLink","messengerShareLink","whatsappShareLink","twitterShareLink","emailShareLink","shareSocial","messager","projectCopyUrl","copyLinkText","data-action","projectUrlElement","copyText","ShareReminder","ProjectsPublishBySteps","projectPublishByStepsVM","userInfoEditVM","showPopError","pop_notification_PopNotification","renderBody","isLoadingProject","publishedNotPermittedSteps","isNotAllowedToPublishedProjects","card_edit_CardEdit","getErrors","description_edit_DescriptionEdit","_ref5","goNext","fieldsToSave","ask_about_reward_AskAboutReward","rewards_edit_RewardsEdit","user_info_edit_UserInfoEdit","_ref6","todo_Todo","share_Share","share_reminder_ShareReminder","src_c","customAttr","firstRun","pageView","postParam","projectParam","projectUserIdParam","userParam","surveyIdParam","thankYouParam","addToAttr","newAttr","Menu","hideFooter","Footer","defaultLocale","adminRoot","adminWrap","AdminContributions","/home-banners","/users","AdminUsers","/subscriptions","AdminSubscriptions","/projects","AdminProjects","/notifications","AdminNotifications","/balance-transfers","AdminBalanceTranfers","urlWithLocale","_m$route","rootEl","isUserProfile","UsersShow","ProjectsHome","footerBig","/explore","ProjectsExplore","/start","Start","/start-sub","SubProjectNew","/projects/:project_id/contributions/new","ProjectsContribution","/projects/:project_id/contributions/fallback_create","/projects/:project_id/contributions/:contribution_id/edit","ProjectsPayment","/projects/:project_id/subscriptions/start","ProjectsSubscriptionContribution","/projects/:project_id/subscriptions/checkout","ProjectsSubscriptionCheckout","/projects/:project_id/subscriptions/thank_you","ThankYou","Insights","ProjectsContributionReport","ProjectsSubscriptionReport","ProjectsSubscriptionReportDownload","Surveys","ProjectsFiscal","Posts","ProjectsShow","SurveysShow","UsersEdit","ProjectEdit","SurveyCreate","Team","Jobs","Press","Publish","getCurrentHub","_scope__WEBPACK_IMPORTED_MODULE_3__","Hub","_version","_stack","_invokeClient","getStackTop","isOlderThan","pushScope","getStack","parentScope","popScope","withScope","getScope","_lastEventId","finalHint","lastEventId","beforeBreadcrumb","finalBreadcrumb","extras","configureScope","oldHub","makeMain","traceHeaders","sentry-trace","getMainCarrier","carrier","registry","getHubFromCarrier","setHubOnCarrier","hasHubOnCarrier","activeDomain","registryHubTopStack"],"mappings":"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AC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,gBAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,UAAA,IACAC,aAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,UAAA,IACAC,aAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,YAAA,IACAC,eAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,UAAA,IACAC,aAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,aAAA,IACAC,gBAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,YAAA,IACAC,eAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,gBAAA,IACAC,OAAA,IACAC,UAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,KAIA,SAAAC,EAAAC,GACA,IAAAr9G,EAAAs9G,EAAAD,GACA,OAAA9hH,EAAAyE,GAEA,SAAAs9G,EAAAD,GACA,IAAA9hH,EAAAa,EAAAqQ,EAAA4wG,GAAA,CACA,IAAAj7G,EAAA,IAAA1C,MAAA,uBAAA29G,EAAA,KAEA,MADAj7G,EAAAs5C,KAAA,mBACAt5C,EAEA,OAAAqK,EAAA4wG,GAEAD,EAAAzoG,KAAA,WACA,OAAAtY,OAAAsY,KAAAlI,IAEA2wG,EAAAn6G,QAAAq6G,EACA5hH,EAAAD,QAAA2hH,EACAA,EAAAp9G,GAAA,sBChQC,WACD,aAGA,IAAAu9G,EAAA,EAAAC,KACA,SAAAC,IACA,SAAAC,IAEA,OADAn+G,UAAAP,OAAA,GAAAO,UAAA,KAAAi+G,GAAAG,EAAAD,EAAAn+G,UAAA,IACAm+G,EAAAp/G,OAAA1B,MAMA,OAEA,SAAA8gH,GACAA,EAAA96F,YAAA66F,EACAC,EAAAp/G,QAAkB0B,GAAAu9G,IAAA3gH,aAAAyB,MAAA,EAAAu/G,cAAAC,eAAAC,QAAuFC,WAAAC,iBAAAC,mBACzGP,EAAAjxG,IAAAixG,EAAA,oBAAAjxG,EAAAixG,EAAA,mBAAAQ,EAAAR,EAAA,mBAAAD,EACAC,EAAAl5F,UAAAk5F,EAAAv1F,SAAAu1F,EAAA55G,SAAA0gB,EAEAnoB,OAAAsjD,iBAAA+9D,GACAl0G,KAAQhN,IAAA,WACR,IAAAkhH,EAAAp/G,OAAA0/G,UAAA,CACA,IAAAA,EAAAP,IACAO,EAAAvxG,KAAA,SAAA7P,GAKA,WAJAA,IACAuhH,EAAAT,GACAM,EAAA1/G,OAAA2/G,WAAA,WAA+CE,EAAAH,KAE/CphH,KAEA8gH,EAAAp/G,OAAA0/G,YAEA,OAAAN,EAAAp/G,OAAA0/G,cAnBA,CANAN,GAEAn+G,UAAAP,OAAA,GAAAO,UAAA,KAAAi+G,GAAAG,EAAAD,EAAAn+G,UAAA,IAEAm+G,EAyBA,SAAAC,EAAAD,EAAA9gH,GAEA,QAAAoD,KADAo+G,EAAAV,EAAA9gH,GACA8gH,EAAAp/G,OAAAw/G,KAAAO,EAAAX,EAAAp/G,OAAAw/G,KAAA99G,OACA,MAAA09G,EAAAp/G,OAAA2/G,YAAAP,EAAAp/G,OAAA2/G,aAgBA,SAAAP,GAEA,QAAA19G,KADA09G,EAAAp/G,OAAAg/D,WACAogD,EAAAp/G,OAAAw/G,KAAAJ,EAAAp/G,OAAAw/G,KAAA99G,GAAA1B,OAAAg/D,WAFA,CAfAogD,GAEA,SAAAU,EAAAV,EAAA9gH,GACA8gH,EAAAp/G,OAAA1B,QACA8gH,EAAAp/G,OAAAg/D,WACA,IAAAogD,EAAAp/G,OAAAD,QAAAq/G,EAAAp/G,OAAAD,MAAA,GAEA,SAAAggH,EAAAX,EAAAY,GACA,IAAAP,EAAAL,EAAAp/G,OAAAy/G,QACA,GAAAA,EAAA/+G,OAAA,GAAA++G,EAAAljG,MAAAtL,KAAA+uG,GAAAP,EAAAjjG,KAAAwiD,IAAA,CACA,IAAA1gE,EAAA8gH,EAAAp/G,OAAAs/G,SACA,GAAAhhH,IAAA4gH,EAAA,SACAY,EAAAV,EAAA9gH,IAQA,SAAA2hH,EAAAh8G,EAAAi8G,GACA,IAAAA,EAAA3jG,MAAA4jG,GAAA,UAAA/+G,MAAA,2EACA,OAKA,SAAAg/G,EAAAF,EAAAZ,GACA,IAAAv/G,EAAAqgH,EAAApgH,OAOA,OANAD,EAAAu/G,SACAv/G,EAAA0/G,QAAAS,EAAA9jG,OAAAikG,GAOA,SAAAC,EAAAlB,EAAAK,GACA,QAAApiH,EAAA,EAAgBA,EAAAoiH,EAAA/+G,OAAoBrD,IACpCoiH,EAAApiH,GAAA2C,OAAAw/G,KAAAJ,EAAAp/G,OAAA0B,IAAA09G,EACAkB,EAAAlB,EAAAK,EAAApiH,GAAA2C,OAAAy/G,SAHA,CALAW,EAAArgH,EAAA0/G,SACAM,EAAAK,MAEAA,EARA,CALAjB,IAAAe,GAAA,WACA,OAAAj8G,EAAAuC,MAAA7D,KAAAu9G,EAAAhyG,QAAAgyG,EAAA9jG,OAAA4iD,SAoBA,SAAA6gD,EAAAT,GACA,QAAA/hH,EAAA,EAAgBA,EAAA+hH,EAAAp/G,OAAAy/G,QAAA/+G,OAAkCrD,WAClD+hH,EAAAp/G,OAAAy/G,QAAApiH,GACA2C,OAAAw/G,KAAAJ,EAAAp/G,OAAA0B,IAEA,QAAAA,KAAA09G,EAAAp/G,OAAAw/G,KAAA,CACA,IAAAe,EAAAnB,EAAAp/G,OAAAw/G,KAAA99G,GACAkQ,EAAA2uG,EAAAvgH,OAAAy/G,QAAAx4G,QAAAm4G,GACAxtG,GAAA,GAAA2uG,EAAAvgH,OAAAy/G,QAAA5tG,OAAAD,EAAA,GAEAwtG,EAAAp/G,OAAAD,MAAA,EACAq/G,EAAAp/G,OAAAw/G,QAGA,SAAArxG,EAAAlK,GAAkB,OAAAg8G,GAAA,SAAAb,GAAiC,OAAAn7G,EAAAm7G,QAAoBz8G,OACvE,SAAAi9G,EAAAR,GAAqB,OAAAa,GAAA,SAAAO,EAAAC,GAAiC,OAAAD,IAAAC,QAAkBrB,EAAAz8G,OACxE,SAAAujB,IAAoB,OAAAvjB,KAAA3C,OAAA1B,MACpB,SAAAurB,IAAmB,OAAO,MAAPlnB,KAAA3C,OAAA1B,OAAA,mBAAAqE,KAAA3C,OAAA1B,MAAAurB,OAAAlnB,KAAA3C,OAAA1B,MAAAurB,SAAAlnB,KAAA3C,OAAA1B,MAEnB,SAAA6hH,EAAAf,GAAwB,OAAAA,EAAAp/G,OACxB,SAAAiR,EAAAmuG,GAAyB,OAAO,IAAPA,EAAAp/G,OAAAD,MACzB,SAAAi/D,EAAAogD,GAA0B,OAAAA,EAAAp/G,OAAAg/D,QAC1B,SAAAqhD,EAAAjB,GAA2B,OAAO,IAAPA,EAAAp/G,OAAAD,MAwC3Bo/G,EAAA,mBAAAA,EACAA,EAAApsD,MAvCA,SAAAmtD,GACA,OAAAD,GAAA,WACA,OAAAC,EAAA/xG,KAAA,SAAA/O,GAAkC,OAAAA,SAChC8gH,IAqCFf,EAAAc,UACAd,EAAAuB,KAnCA,SAAAC,EAAAC,EAAAxB,GACA,IAAAyB,EAAAZ,GAAA,SAAA7gH,GACA,OAAAwhH,EAAAD,EAAAC,EAAAxhH,EAAAY,OAAA1B,UACE8gH,IAIF,OAFA,IAAAyB,EAAA7gH,OAAAD,OAAA8gH,EAAAD,GAEAC,GA6BA1B,EAAA2B,UA1BA,SAAAC,EAAAH,GACA,IAAAV,EAAAa,EAAA5yG,KAAA,SAAA6yG,GACA,IAAA5B,EAAA4B,EAAA,GAEA,OADA,IAAA5B,EAAAp/G,OAAAD,OAAAq/G,UACAA,KAeA,OAZAa,GAAA,WACA,IAAAjhD,EAAA/9D,oBAAAP,OAAA,GAQA,OANAw/G,EAAAhlG,SAAA,SAAAkkG,EAAAz/F,GACAq/C,EAAA/3D,QAAAm4G,IAAA,IACAwB,EAAAG,EAAAphG,GAAA,GAAAihG,EAAAxB,EAAAp/G,OAAA1B,WAIAsiH,IACEV,IAUFf,EAAAD,OAEiC9hH,EAAA,QAAA+hH,EA3JhC,kBCDD/hH,EAAAD,QAAA,SAAA8jH,GACA,IAAAA,EAAAl2B,gBAAA,CACA,IAAA3tF,EAAAW,OAAAY,OAAAsiH,GAEA7jH,EAAAsC,WAAAtC,EAAAsC,aACA3B,OAAAC,eAAAZ,EAAA,UACAa,cACAC,IAAA,WACA,OAAAd,EAAAE,KAGAS,OAAAC,eAAAZ,EAAA,MACAa,cACAC,IAAA,WACA,OAAAd,EAAAC,KAGAU,OAAAC,eAAAZ,EAAA,WACAa,gBAEAb,EAAA2tF,gBAAA,EAEA,OAAA3tF,oBCtBA,IAAA4N,EAAa/N,EAAQ,KAErBG,EAAAD,QAAA6N,mBCFA,IAAA+Q,EAAW9e,EAAQ,KAEnBmsF,EAAA9oF,MAAArB,UAEA7B,EAAAD,QAAA,SAAAy0C,GACA,IAAA3C,EAAA2C,EAAA71B,KACA,OAAA61B,IAAAw3C,GAAAx3C,aAAAtxC,OAAA2uC,IAAAm6C,EAAArtE,OAAAkzB,oBCNAhyC,EAAQ,KACR,IAAAsmG,EAAmBtmG,EAAQ,IAE3BG,EAAAD,QAAAomG,EAAA,SAAAxnF,mCCFA,IAAA2pE,EAAQzoF,EAAQ,IAChBikH,EAAYjkH,EAAQ,KAA8B8e,KAClD0hE,EAAuBxgF,EAAQ,KAI/BkkH,KAEAtS,EAL8B5xG,EAAQ,GAARA,CAE9B,oBAMAqD,MAAA,oBAA4C6gH,QAI5Cz7B,GAAG71C,OAAA,QAAAtrB,SAAAyuB,OAAAmuE,IAAAtS,IACH9yF,KAAA,SAAA8+B,GACA,OAAAqmE,EAAAv+G,KAAAk4C,EAAA55C,UAAAP,OAAA,EAAAO,UAAA,cAKAw8E,EAjBA,yBCNA,IAAA2jC,EAAUnkH,EAAQ,KAClBuS,EAA0BvS,EAAQ,KAIlC,iBAFAuS,IAAA/Q,WAAA+Q,EAAA6xG,QAAA7xG,KAGAA,IAA0BpS,EAAAC,EAASmS,EAAA,MAGnC,IAOA8xG,GAFAF,EAAiBhkH,EAAAC,EAASmS,EAL1B6F,CAEAgiF,OAAA,OACAO,eAIApoF,EAAA+xG,OAAA/xG,EAAA+xG,WAIAnkH,EAAAD,QAAAmkH,oBClBAnkH,EADkCF,EAAQ,IAARA,EAClCukH,IAEA7/G,MAAcvE,EAAAC,EAAS,o7CAAo7C,KAE38CD,EAAAD,mCCNAskH,GACArkH,EAAAD,QAAAskH,mCCDA,IAAAz2G,EAAa/N,EAAQ,KAErBG,EAAAD,QAAA6N,mBCFA,IAAA8S,EAAW7gB,EAAQ,KAEnBmsF,EAAA9oF,MAAArB,UAEA7B,EAAAD,QAAA,SAAAy0C,GACA,IAAA3C,EAAA2C,EAAA9zB,KACA,OAAA8zB,IAAAw3C,GAAAx3C,aAAAtxC,OAAA2uC,IAAAm6C,EAAAtrE,OAAAmxB,oBCNAhyC,EAAQ,KACR,IAAAsmG,EAAmBtmG,EAAQ,IAE3BG,EAAAD,QAAAomG,EAAA,SAAAzlF,mCCFA,IAAA4nE,EAAQzoF,EAAQ,IAChBs8C,EAAgBt8C,EAAQ,IACxB+qC,EAAe/qC,EAAQ,IACvBw6C,EAAYx6C,EAAQ,IACpBuxG,EAA0BvxG,EAAQ,KAElCgM,KACAy4G,EAAAz4G,EAAA6U,KAGA6jG,EAAAlqE,GAAA,WACAxuC,EAAA6U,gBAGA8jG,EAAAnqE,GAAA,WACAxuC,EAAA6U,KAAA,SAGA8wF,EAAAJ,EAAA,QAMA9oB,GAAG71C,OAAA,QAAAtrB,SAAAyuB,OAJH2uE,IAAAC,IAAAhT,IAKA9wF,KAAA,SAAA8pC,GACA,gBAAAA,EACA85D,EAAAlkH,KAAAwqC,EAAArlC,OACA++G,EAAAlkH,KAAAwqC,EAAArlC,MAAA42C,EAAAqO,wBC7BA,IAAA58C,EAAa/N,EAAQ,KAErBG,EAAAD,QAAA6N,mBCFA,IAAA0rC,EAAcz5C,EAAQ,KAEtBmsF,EAAA9oF,MAAArB,UAEA7B,EAAAD,QAAA,SAAAy0C,GACA,IAAA3C,EAAA2C,EAAA8E,QACA,OAAA9E,IAAAw3C,GAAAx3C,aAAAtxC,OAAA2uC,IAAAm6C,EAAA1yC,UAAAzH,oBCNAhyC,EAAQ,KACR,IAAAsmG,EAAmBtmG,EAAQ,IAE3BG,EAAAD,QAAAomG,EAAA,SAAA7sD,sCCFA,IAAAgvC,EAAQzoF,EAAQ,IAChBsD,EAActD,EAAQ,KAEtB4kH,KAAAnrE,QACAztC,GAAA,KAMAy8E,GAAG71C,OAAA,QAAAtrB,SAAAyuB,OAAArtB,OAAA1c,KAAA0c,OAAA1c,EAAAytC,aACHA,QAAA,WAGA,OADAn2C,EAAAoC,aAAAjC,OAAAiC,KAAAjC,QACAmhH,EAAArkH,KAAAmF,0BCfA,IAAAqI,EAAa/N,EAAQ,KAErBG,EAAAD,QAAA6N,mBCFA,IAAAkR,EAAgBjf,EAAQ,KAExBmsF,EAAA9oF,MAAArB,UAEA7B,EAAAD,QAAA,SAAAy0C,GACA,IAAA3C,EAAA2C,EAAA11B,UACA,OAAA01B,IAAAw3C,GAAAx3C,aAAAtxC,OAAA2uC,IAAAm6C,EAAAltE,YAAA+yB,oBCNAhyC,EAAQ,KACR,IAAAsmG,EAAmBtmG,EAAQ,IAE3BG,EAAAD,QAAAomG,EAAA,SAAArnF,wCCFA,IAAAwpE,EAAQzoF,EAAQ,IAChB6kH,EAAiB7kH,EAAQ,KAA8Bif,UACvDuhE,EAAuBxgF,EAAQ,KAI/BkkH,KAEAtS,EAL8B5xG,EAAQ,GAARA,CAE9B,8BAMAqD,MAAA,yBAAwD6gH,QAIxDz7B,GAAG71C,OAAA,QAAAtrB,SAAAyuB,OAAAmuE,IAAAtS,IACH3yF,UAAA,SAAA2+B,GACA,OAAAinE,EAAAn/G,KAAAk4C,EAAA55C,UAAAP,OAAA,EAAAO,UAAA,cAKAw8E,EAjBA,8BCNA,IAAAzyE,EAAa/N,EAAQ,KAErBG,EAAAD,QAAA6N,mBCFA,IAAA6G,EAAa5U,EAAQ,KAErBmsF,EAAA9oF,MAAArB,UAEA7B,EAAAD,QAAA,SAAAy0C,GACA,IAAA3C,EAAA2C,EAAA//B,OACA,OAAA+/B,IAAAw3C,GAAAx3C,aAAAtxC,OAAA2uC,IAAAm6C,EAAAv3E,SAAAo9B,oBCNAhyC,EAAQ,KACR,IAAAsmG,EAAmBtmG,EAAQ,IAE3BG,EAAAD,QAAAomG,EAAA,SAAA1xF,qCCFA,IAAA6zE,EAAQzoF,EAAQ,IAChB+lD,EAAsB/lD,EAAQ,KAC9Bu2C,EAAgBv2C,EAAQ,KACxBi9C,EAAej9C,EAAQ,IACvB+qC,EAAe/qC,EAAQ,IACvBqxD,EAAyBrxD,EAAQ,KACjC0oF,EAAqB1oF,EAAQ,KAC7B2oF,EAAmC3oF,EAAQ,KAC3CwxG,EAA8BxxG,EAAQ,IAEtCuyG,EAAA5pB,EAAA,UACAipB,EAAAJ,EAAA,UAAwD30D,aAAA6xC,EAAA,EAAA/O,EAAA,IAExDriE,EAAAjR,KAAAiR,IACAgD,EAAAjU,KAAAiU,IAOAmoE,GAAG71C,OAAA,QAAAtrB,SAAAyuB,QAAAw8D,IAAAX,IACHh9F,OAAA,SAAA3Q,EAAA6gH,GACA,IAIAC,EAAAC,EAAAvpC,EAAAxiE,EAAAsW,EAAAD,EAJA4qB,EAAAnP,EAAArlC,MACAkd,EAAAq6B,EAAA/C,EAAAz2C,QACAwhH,EAAAl/D,EAAA9hD,EAAA2e,GACA4qE,EAAAxpF,UAAAP,OAWA,GATA,IAAA+pF,EACAu3B,EAAAC,EAAA,EACK,IAAAx3B,GACLu3B,EAAA,EACAC,EAAApiG,EAAAqiG,IAEAF,EAAAv3B,EAAA,EACAw3B,EAAA1kG,EAAAhD,EAAAi5B,EAAAuuE,GAAA,GAAAliG,EAAAqiG,IAEAriG,EAAAmiG,EAAAC,EAtBA,iBAuBA,MAAAr/G,UAtBA,mCAyBA,IADA81E,EAAApqB,EAAAnX,EAAA8qE,GACA/rG,EAAA,EAAeA,EAAA+rG,EAAuB/rG,KACtCsW,EAAA01F,EAAAhsG,KACAihC,GAAAwuC,EAAAjN,EAAAxiE,EAAAihC,EAAA3qB,IAGA,GADAksD,EAAAh4E,OAAAuhH,EACAD,EAAAC,EAAA,CACA,IAAA/rG,EAAAgsG,EAA2BhsG,EAAA2J,EAAAoiG,EAA6B/rG,IAExDqW,EAAArW,EAAA8rG,GADAx1F,EAAAtW,EAAA+rG,KAEA9qE,IAAA5qB,GAAA4qB,EAAA3qB,UACA2qB,EAAA5qB,GAEA,IAAArW,EAAA2J,EAAmB3J,EAAA2J,EAAAoiG,EAAAD,EAA2C9rG,WAAAihC,EAAAjhC,EAAA,QACzD,GAAA8rG,EAAAC,EACL,IAAA/rG,EAAA2J,EAAAoiG,EAAuC/rG,EAAAgsG,EAAiBhsG,IAExDqW,EAAArW,EAAA8rG,EAAA,GADAx1F,EAAAtW,EAAA+rG,EAAA,KAEA9qE,IAAA5qB,GAAA4qB,EAAA3qB,UACA2qB,EAAA5qB,GAGA,IAAArW,EAAA,EAAeA,EAAA8rG,EAAiB9rG,IAChCihC,EAAAjhC,EAAAgsG,GAAAjhH,UAAAiV,EAAA,GAGA,OADAihC,EAAAz2C,OAAAmf,EAAAoiG,EAAAD,EACAtpC,sBCnEA,IAAAi3B,EAAqB1yG,EAAQ,KAY7BG,EAAAD,QAVA,SAAA6sB,GACA,GAAA2lF,EAAA3lF,GAAA,CACA,QAAA3sB,EAAA,EAAA8kH,EAAA,IAAA7hH,MAAA0pB,EAAAtpB,QAAiDrD,EAAA2sB,EAAAtpB,OAAgBrD,IACjE8kH,EAAA9kH,GAAA2sB,EAAA3sB,GAGA,OAAA8kH,qBCRA,IAAAC,EAAkBnlH,EAAQ,KAE1B4yG,EAAkB5yG,EAAQ,KAM1BG,EAAAD,QAJA,SAAAssD,GACA,GAAAomD,EAAA9xG,OAAA0rD,KAAA,uBAAA1rD,OAAAkB,UAAAuG,SAAAhI,KAAAisD,GAAA,OAAA24D,EAAA34D,qBCLArsD,EAAAD,QAAiBF,EAAQ,sBCAzB,IAAA+N,EAAa/N,EAAQ,KAErBG,EAAAD,QAAA6N,iBCEA5N,EAAAD,QAJA,WACA,UAAAyF,UAAA,qECDA,IAAAoI,EAAa/N,EAAQ,KAErBG,EAAAD,QAAA6N,mBCFA/N,EAAQ,KACR,IAAAsX,EAAWtX,EAAQ,IAEnBG,EAAAD,QAAAoX,EAAAnC,KAAAD,qBCHQlV,EAAQ,GAARA,CAIRyoF,CAAG71C,OAAA,OAAA+C,SAAA,CACHzgC,IAAA,WACA,WAAAC,MAAAiV,8BCNA,IAAArc,EAAa/N,EAAQ,KAErBG,EAAAD,QAAA6N,mBCFA,IAAAA,EAAa/N,EAAQ,KAErBG,EAAAD,QAAA6N,mBCFA/N,EAAQ,KACR,IAEAc,EAFWd,EAAQ,IAEnBc,OAEAsjD,EAAAjkD,EAAAD,QAAA,SAAA0xD,EAAArhB,GACA,OAAAzvC,EAAAsjD,iBAAAwN,EAAArhB,IAGAzvC,EAAAsjD,iBAAAnO,OAAAmO,EAAAnO,UAAA,gBCTA,IAAAwyC,EAAQzoF,EAAQ,IAChBu8C,EAAkBv8C,EAAQ,IAK1ByoF,GAAG71C,OAAA,SAAA+C,QAAAI,QAAAwG,EAAAtG,MAAAsG,IACH6H,iBALuBpkD,EAAQ,wBCF/B,IAAA+N,EAAa/N,EAAQ,KAErBG,EAAAD,QAAA6N,mBCFA/N,EAAQ,KACR,IAAAsX,EAAWtX,EAAQ,IAEnBG,EAAAD,QAAAoX,EAAAxW,OAAAskH,2CCHA,IAAA38B,EAAQzoF,EAAQ,IAChBu8C,EAAkBv8C,EAAQ,IAC1B8iG,EAAc9iG,EAAQ,KACtBq1E,EAAsBr1E,EAAQ,IAC9B+7F,EAAqC/7F,EAAQ,KAC7C0oF,EAAqB1oF,EAAQ,KAI7ByoF,GAAG71C,OAAA,SAAA+C,QAAAM,MAAAsG,IACH6oE,0BAAA,SAAAtjH,GAOA,IANA,IAKAH,EAAAoyC,EALAmG,EAAAm7B,EAAAvzE,GACA6U,EAAAolF,EAAAnnD,EACAx7B,EAAA0pF,EAAA5oD,GACAznC,KACAkC,EAAA,EAEAyE,EAAA3V,OAAAkR,aACAo/B,EAAAp9B,EAAAujC,EAAAv4C,EAAAyX,EAAAzE,QACA+zE,EAAAj2E,EAAA9Q,EAAAoyC,GAEA,OAAAthC,sBCrBA,IAAA0tE,EAAiBngF,EAAQ,IACzB67F,EAAgC77F,EAAQ,KACxC0tF,EAAkC1tF,EAAQ,KAC1C85C,EAAe95C,EAAQ,IAGvBG,EAAAD,QAAAigF,EAAA,+BAAAxrC,GACA,IAAAv7B,EAAAyiF,EAAAjnD,EAAAkF,EAAAnF,IACA+jC,EAAAgV,EAAA94C,EACA,OAAA8jC,EAAAt/D,EAAAnI,OAAAynE,EAAA/jC,IAAAv7B,oBCTA,IAAArL,EAAa/N,EAAQ,KAErBG,EAAAD,QAAA6N,mBCFA/N,EAAQ,KACR,IAEAc,EAFWd,EAAQ,IAEnBc,OAEA6V,EAAAxW,EAAAD,QAAA,SAAAy0C,EAAAhzC,GACA,OAAAb,EAAA6V,yBAAAg+B,EAAAhzC,IAGAb,EAAA6V,yBAAAs/B,OAAAt/B,EAAAs/B,UAAA,gBCTA,IAAAwyC,EAAQzoF,EAAQ,IAChBw6C,EAAYx6C,EAAQ,IACpBq1E,EAAsBr1E,EAAQ,IAC9Bs1E,EAAqCt1E,EAAQ,KAAiD40C,EAC9F2H,EAAkBv8C,EAAQ,IAE1BqlH,EAAA7qE,GAAA,WAA6C86B,EAAA,MAK7CmT,GAAG71C,OAAA,SAAA+C,QAAAI,QAJHwG,GAAA8oE,EAIGpvE,MAAAsG,IACH5lC,yBAAA,SAAAg+B,EAAAhzC,GACA,OAAA2zE,EAAAD,EAAA1gC,GAAAhzC,uBCbA,IAAAoM,EAAa/N,EAAQ,KAErBG,EAAAD,QAAA6N,mBCFA/N,EAAQ,KACR,IAAAsX,EAAWtX,EAAQ,IAEnBG,EAAAD,QAAAoX,EAAAxW,OAAA43E,uCCHA,IAAArD,EAAsBr1E,EAAQ,IAC9Bq8F,EAAgCr8F,EAAQ,KAA4C40C,EAEpFrsC,KAAiBA,SAEjBg4F,EAAA,iBAAAp4F,gBAAArH,OAAAsjC,oBACAtjC,OAAAsjC,oBAAAj8B,WAWAhI,EAAAD,QAAA00C,EAAA,SAAAD,GACA,OAAA4rD,GAAA,mBAAAh4F,EAAAhI,KAAAo0C,GAVA,SAAAA,GACA,IACA,OAAA0nD,EAAA1nD,GACG,MAAAjuC,GACH,OAAA65F,EAAA12F,SAJA,CAWA8qC,GACA0nD,EAAAhnB,EAAA1gC,sBCpBA30C,EAAQ,KACR,IAAAgI,EAAahI,EAAQ,KACrBgmD,EAAchmD,EAAQ,IACtBmsF,EAAA9oF,MAAArB,UAEAivD,GACA47C,gBACAU,aAGAptG,EAAAD,QAAA,SAAAy0C,GACA,IAAA3C,EAAA2C,EAAA3sC,OACA,OAAA2sC,IAAAw3C,GAAAx3C,aAAAtxC,OAAA2uC,IAAAm6C,EAAAnkF,QAEAipD,EAAAhvD,eAAA+jD,EAAArR,IAAA3sC,EAAAgqC,oBCdA,IAAAjkC,EAAa/N,EAAQ,KAErBG,EAAAD,QAAA6N,mBCFA/N,EAAQ,KACR,IAAAsmG,EAAmBtmG,EAAQ,IAE3BG,EAAAD,QAAAomG,EAAA,SAAAt+F,wBCHA,IAAA+F,EAAa/N,EAAQ,KAErBG,EAAAD,QAAA6N,mBCFA,IAAAnM,EAAW5B,EAAQ,KAEnBslH,EAAAh5F,SAAAtqB,UAEA7B,EAAAD,QAAA,SAAAy0C,GACA,IAAA3C,EAAA2C,EAAA/yC,KACA,OAAA+yC,IAAA2wE,GAAA3wE,aAAAroB,UAAA0lB,IAAAszE,EAAA1jH,OAAAowC,oBCNAhyC,EAAQ,KACR,IAAAsmG,EAAmBtmG,EAAQ,IAE3BG,EAAAD,QAAAomG,EAAA,YAAA1kG,sBCHQ5B,EAAQ,GAARA,CAKRyoF,CAAG71C,OAAA,WAAAtrB,UAAA,CACH1lB,KALW5B,EAAQ,qCCAnB,IAAAs8C,EAAgBt8C,EAAQ,IACxBkd,EAAeld,EAAQ,IAEvB6J,WACA+2F,KAYAzgG,EAAAD,QAAAosB,SAAA1qB,MAAA,SAAA6nC,GACA,IAAAziC,EAAAs1C,EAAA52C,MACAm7F,EAAAh3F,EAAAtJ,KAAAyD,UAAA,GACAwtD,EAAA,WACA,IAAAhpD,EAAAq4F,EAAA5vF,OAAApH,EAAAtJ,KAAAyD,YACA,OAAA0B,gBAAA8rD,EAfA,SAAA7H,EAAAnmC,EAAAhb,GACA,KAAAgb,KAAAo9E,GAAA,CACA,QAAAv6F,KAAAjG,EAAA,EAA8BA,EAAAojB,EAAgBpjB,IAAAiG,EAAAjG,GAAA,KAAAA,EAAA,IAE9CwgG,EAAAp9E,GAAA8I,SAAA,sBAAAjmB,EAAAvB,KAAA,UACG,OAAA87F,EAAAp9E,GAAAmmC,EAAAnhD,GALH,CAeAxB,EAAAwB,EAAA/E,OAAA+E,GAAAxB,EAAAuC,MAAAkgC,EAAAjhC,IAGA,OADA0U,EAAAlW,EAAAhF,aAAAwvD,EAAAxvD,UAAAgF,EAAAhF,WACAwvD,oBCzBArxD,EAAAD,QAAiBF,EAAQ,sBCAzB,IAAA+N,EAAa/N,EAAQ,KAErBG,EAAAD,QAAA6N,mBCFA/N,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACR,IAAAulH,EAAmCvlH,EAAQ,KAE3CG,EAAAD,QAAAqlH,EAAA3wE,EAAA,6BCLAz0C,EAAAD,QAAiBF,EAAQ,sBCAzB,IAAA+N,EAAa/N,EAAQ,KACrBA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KAERA,EAAQ,KAERG,EAAAD,QAAA6N,mBCRA/N,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACR,IAAAsX,EAAWtX,EAAQ,IAEnBG,EAAAD,QAAAoX,EAAAnW,wBCrB4BnB,EAAQ,GAARA,CAI5B,kDCJ4BA,EAAQ,GAARA,CAI5B,gCCJ4BA,EAAQ,GAARA,CAI5B,uCCJ4BA,EAAQ,GAARA,CAI5B,0BCJ4BA,EAAQ,GAARA,CAG5B,6BCH4BA,EAAQ,GAARA,CAI5B,4BCJ4BA,EAAQ,GAARA,CAI5B,2BCJ4BA,EAAQ,GAARA,CAI5B,4BCJ4BA,EAAQ,GAARA,CAI5B,0BCJ4BA,EAAQ,GAARA,CAI5B,gCCJ4BA,EAAQ,GAARA,CAI5B,gCCJ4BA,EAAQ,GAARA,CAI5B,gCCJqBA,EAAQ,GAARA,CAIrBqM,KAAA,4BCJA,IAAAhK,EAAarC,EAAQ,IACAA,EAAQ,GAARA,CAIrBqC,EAAA6H,KAAA,4BCL4BlK,EAAQ,GAARA,CAI5B,iCCJ4BA,EAAQ,GAARA,CAI5B,4BCJ4BA,EAAQ,GAARA,CAI5B,+BCJ4BA,EAAQ,GAARA,CAI5B,iCCH4BA,EAAQ,GAARA,CAE5B,+BCHA,IAAA+N,EAAa/N,EAAQ,KAErBG,EAAAD,QAAA6N,mBCFA,IAAAA,EAAa/N,EAAQ,KAErBG,EAAAD,QAAA6N,mBCFA/N,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACR,IAAAsX,EAAWtX,EAAQ,IAEnBG,EAAAD,QAAAoX,EAAAwmF,kCCHA99F,EAAQ,KACR,IA4CAwlH,EA5CA/8B,EAAQzoF,EAAQ,IAChBu8C,EAAkBv8C,EAAQ,IAC1Bk+F,EAAqBl+F,EAAQ,KAC7BqC,EAAarC,EAAQ,IACrBokD,EAAuBpkD,EAAQ,KAC/B6xC,EAAe7xC,EAAQ,IACvB2lD,EAAiB3lD,EAAQ,KACzB0d,EAAU1d,EAAQ,IAClBooB,EAAapoB,EAAQ,KACrBylH,EAAgBzlH,EAAQ,KACxB+qF,EAAa/qF,EAAQ,KAA+B+qF,OACpD26B,EAAc1lH,EAAQ,KACtBu6E,EAAqBv6E,EAAQ,IAC7B2lH,EAA4B3lH,EAAQ,KACpC2wD,EAA0B3wD,EAAQ,IAElC4lH,EAAAvjH,EAAAy7F,IACAE,EAAA2nB,EAAA3nB,gBACA6nB,EAAAF,EAAAtlB,SACAxvC,EAAAF,EAAAp2C,IACAurG,EAAAn1D,EAAAxB,UAAA,OACAlrC,EAAA5X,KAAA4X,MACApG,EAAAxR,KAAAwR,IAOAkoG,EAAA,WACAC,EAAA,iBACAC,EAAA,KACAC,EAAA,WACAC,EAAA,WACAC,EAAA,QACAC,EAAA,gBAEAC,EAAA,wCAEAC,EAAA,uCAEAC,EAAA,yCAEAC,EAAA,wBAGAC,EAAA,SAAAj9G,EAAA6Y,GACA,IAAA7P,EAAAk0G,EAAAhyG,EACA,QAAA2N,EAAA7M,OAAA,IACA,QAAA6M,EAAA7M,OAAA6M,EAAA7e,OAAA,SAvBA,eAyBA,KADAgP,EAAAm0G,EAAAtkG,EAAAzY,MAAA,QACA,MAzBA,eA0BAJ,EAAA2uC,KAAA3lC,OAEG,GAAAo0G,EAAAp9G,GAQA,CAEH,GADA6Y,EAAAojG,EAAApjG,GACAgkG,EAAAt6G,KAAAsW,GAAA,MAtCA,eAwCA,WADA7P,EAAAq0G,EAAAxkG,IACA,MAxCA,eAyCA7Y,EAAA2uC,KAAA3lC,MAbG,CACH,GAAA8zG,EAAAv6G,KAAAsW,GAAA,MA7BA,eAgCA,IAFA7P,EAAA,GACAk0G,EAAAlB,EAAAnjG,GACA3N,EAAA,EAAmBA,EAAAgyG,EAAAljH,OAA2BkR,IAC9ClC,GAAAs0G,EAAAJ,EAAAhyG,GAAAqyG,GAEAv9G,EAAA2uC,KAAA3lC,IAUAq0G,EAAA,SAAAxkG,GACA,IACA2kG,EAAAC,EAAAvyG,EAAAilF,EAAAuH,EAAA7wE,EAAA62F,EADAlhF,EAAA3jB,EAAA3M,MAAA,KAMA,GAJAswB,EAAAxiC,QAAA,IAAAwiC,IAAAxiC,OAAA,IACAwiC,EAAA9vB,OAEA8wG,EAAAhhF,EAAAxiC,QACA,SAAA6e,EAEA,IADA4kG,KACAvyG,EAAA,EAAiBA,EAAAsyG,EAAqBtyG,IAAA,CAEtC,QADAilF,EAAA3zD,EAAAtxB,IACA,OAAA2N,EAMA,GALA6+E,EAAA,GACAvH,EAAAn2F,OAAA,QAAAm2F,EAAAnkF,OAAA,KACA0rF,EAAA+kB,EAAAl6G,KAAA4tF,GAAA,KACAA,IAAA/vF,MAAA,GAAAs3F,EAAA,MAEA,KAAAvH,EACAtpE,EAAA,MACK,CACL,SAAA6wE,EAAAilB,EAAA,GAAAjlB,EAAAglB,EAAAE,GAAAr6G,KAAA4tF,GAAA,OAAAt3E,EACAgO,EAAA7Z,SAAAmjF,EAAAuH,GAEA+lB,EAAAxiH,KAAA4rB,GAEA,IAAA3b,EAAA,EAAiBA,EAAAsyG,EAAqBtyG,IAEtC,GADA2b,EAAA42F,EAAAvyG,GACAA,GAAAsyG,EAAA,GACA,GAAA32F,GAAAzS,EAAA,MAAAopG,GAAA,iBACK,GAAA32F,EAAA,gBAGL,IADA62F,EAAAD,EAAA/wG,MACAxB,EAAA,EAAiBA,EAAAuyG,EAAAzjH,OAAwBkR,IACzCwyG,GAAAD,EAAAvyG,GAAAkJ,EAAA,MAAAlJ,GAEA,OAAAwyG,GAIAP,EAAA,SAAAtkG,GACA,IAIAjhB,EAAAoC,EAAA2jH,EAAAC,EAAA/2F,EAAAg3F,EAAAC,EAJA/hG,GAAA,iBACAgiG,EAAA,EACAC,EAAA,KACAC,EAAA,EAGAC,EAAA,WACA,OAAArlG,EAAA7M,OAAAiyG,IAGA,QAAAC,IAAA,CACA,QAAArlG,EAAA7M,OAAA,UACAiyG,GAAA,EAEAD,IADAD,EAGA,KAAAG,KAAA,CACA,MAAAH,EAAA,OACA,QAAAG,IAAA,CAQA,IADAtmH,EAAAoC,EAAA,EACAA,EAAA,GAAA4iH,EAAAr6G,KAAA27G,MACAtmH,EAAA,GAAAA,EAAAoV,SAAAkxG,IAAA,IACAD,IACAjkH,IAEA,QAAAkkH,IAAA,CACA,MAAAlkH,EAAA,OAEA,GADAikH,GAAAjkH,EACA+jH,EAAA,SAEA,IADAJ,EAAA,EACAO,KAAA,CAEA,GADAN,EAAA,KACAD,EAAA,GACA,UAAAO,KAAAP,EAAA,GACA,OADAM,IAGA,IAAAzB,EAAAj6G,KAAA27G,KAAA,OACA,KAAA1B,EAAAj6G,KAAA27G,MAAA,CAEA,GADAr3F,EAAA7Z,SAAAkxG,IAAA,IACA,OAAAN,IAAA/2F,MACA,OAAA+2F,EAAA,OACAA,EAAA,GAAAA,EAAA/2F,EACA,GAAA+2F,EAAA,WACAK,IAEAliG,EAAAgiG,GAAA,IAAAhiG,EAAAgiG,GAAAH,EAEA,KADAD,GACA,GAAAA,GAAAI,IAEA,MAAAJ,EAAA,OACA,MACK,QAAAO,KAEL,GADAD,KACAC,IAAA,YACK,GAAAA,IAAA,OACLniG,EAAAgiG,KAAAnmH,MA3CA,CACA,UAAAomH,EAAA,OACAC,IAEAD,IADAD,GA0CA,UAAAC,EAGA,IAFAH,EAAAE,EAAAC,EACAD,EAAA,EACA,GAAAA,GAAAF,EAAA,GACAC,EAAA/hG,EAAAgiG,GACAhiG,EAAAgiG,KAAAhiG,EAAAiiG,EAAAH,EAAA,GACA9hG,EAAAiiG,IAAAH,GAAAC,OAEG,MAAAC,EAAA,OACH,OAAAhiG,GA6BAoiG,EAAA,SAAAxvE,GACA,IAAA3lC,EAAAkC,EAAA8yG,EAAAI,EAEA,oBAAAzvE,EAAA,CAEA,IADA3lC,KACAkC,EAAA,EAAmBA,EAAA,EAAWA,IAC9BlC,EAAAujD,QAAA5d,EAAA,KACAA,EAAAn0B,EAAAm0B,EAAA,KACK,OAAA3lC,EAAA3N,KAAA,KAEF,oBAAAszC,EAAA,CAGH,IAFA3lC,EAAA,GACAg1G,EAtCA,SAAAK,GAMA,IALA,IAAAC,EAAA,KACA5iE,EAAA,EACA6iE,EAAA,KACAC,EAAA,EACAtzG,EAAA,EACQA,EAAA,EAAWA,IACnB,IAAAmzG,EAAAnzG,IACAszG,EAAA9iE,IACA4iE,EAAAC,EACA7iE,EAAA8iE,GAEAD,EAAA,KACAC,EAAA,IAEA,OAAAD,MAAArzG,KACAszG,GAOA,OAJAA,EAAA9iE,IACA4iE,EAAAC,EACA7iE,EAAA8iE,GAEAF,EAvBA,CAsCA3vE,GACAzjC,EAAA,EAAmBA,EAAA,EAAWA,IAC9BkzG,GAAA,IAAAzvE,EAAAzjC,KACAkzG,UACAJ,IAAA9yG,GACAlC,GAAAkC,EAAA,SACAkzG,OAEAp1G,GAAA2lC,EAAAzjC,GAAApM,SAAA,IACAoM,EAAA,IAAAlC,GAAA,OAGA,UAAAA,EAAA,IACG,OAAA2lC,GAGH4uE,KACAkB,EAAA9/F,KAAwC4+F,GACxCmB,IAAA,EAAA19F,IAAA,EAAAF,IAAA,EAAAC,IAAA,EAAAG,IAAA,IAEAy9F,EAAAhgG,KAAoC8/F,GACpCG,IAAA,EAAAC,IAAA,EAAAC,IAAoB,EAAAC,IAAQ,IAE5BC,EAAArgG,KAAwCggG,GACxCM,IAAA,EAAAC,IAAA,EAAAC,IAAoB,EAAAC,IAAA,EAAAC,IAAA,EAAAC,IAAA,EAAAr9F,KAAA,EAAAs9F,IAAA,EAAAC,IAAA,EAAAC,IAAA,IAGpBnC,EAAA,SAAAY,EAAAptG,GACA,IAAA4lC,EAAA4qC,EAAA48B,EAAA,GACA,OAAAxnE,EAAA,IAAAA,EAAA,MAAAziC,EAAAnD,EAAAotG,KAAAh/G,mBAAAg/G,IAGAwB,GACAC,IAAA,GACAC,KAAA,KACAC,KAAA,GACAC,MAAA,IACAtoB,GAAA,GACAuoB,IAAA,KAGA3C,EAAA,SAAAp9G,GACA,OAAAiU,EAAAyrG,EAAA1/G,EAAAggH,SAGAC,EAAA,SAAAjgH,GACA,UAAAA,EAAAw0F,UAAA,IAAAx0F,EAAA8B,UAGAo+G,EAAA,SAAAlgH,GACA,OAAAA,EAAA2uC,MAAA3uC,EAAAmgH,kBAAA,QAAAngH,EAAAggH,QAGAI,EAAA,SAAAr0G,EAAAzQ,GACA,IAAAk/B,EACA,UAAAzuB,EAAA/R,QAAAsiH,EAAA/5G,KAAAwJ,EAAAC,OAAA,MACA,MAAAwuB,EAAAzuB,EAAAC,OAAA,MAAA1Q,GAAA,KAAAk/B,IAGA6lF,EAAA,SAAAt0G,GACA,IAAAu0G,EACA,OAAAv0G,EAAA/R,OAAA,GAAAomH,EAAAr0G,EAAA3L,MAAA,QACA,GAAA2L,EAAA/R,QACA,OAAAsmH,EAAAv0G,EAAAC,OAAA,YAAAs0G,GAAA,MAAAA,GAAA,MAAAA,IAIAC,EAAA,SAAAvgH,GACA,IAAA6N,EAAA7N,EAAA6N,KACA2yG,EAAA3yG,EAAA7T,QACAwmH,GAAA,QAAAxgH,EAAAggH,QAAA,GAAAQ,GAAAJ,EAAAvyG,EAAA,QACAA,EAAAnB,OAIA+zG,EAAA,SAAAp4C,GACA,YAAAA,GAAA,QAAAA,EAAA3/C,eASAg4F,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MAGAC,GAAA,SAAA/hH,EAAA6Y,EAAAmpG,EAAA1kF,GACA,IAMA4/E,EAAAgB,EAAA+D,EAAAC,EApCA75C,EA8BAhvE,EAAA2oH,GAAAtB,GACAzC,EAAA,EACAp+D,EAAA,GACAsiE,KACAC,KACAC,KAoBA,IAjBAL,IACAhiH,EAAAggH,OAAA,GACAhgH,EAAAw0F,SAAA,GACAx0F,EAAA8B,SAAA,GACA9B,EAAA2uC,KAAA,KACA3uC,EAAAo5E,KAAA,KACAp5E,EAAA6N,QACA7N,EAAA8O,MAAA,KACA9O,EAAAnE,SAAA,KACAmE,EAAAmgH,oBACAtnG,IAAA1d,QAAA4hH,EAAA,KAGAlkG,IAAA1d,QAAA6hH,EAAA,IAEAE,EAAAlB,EAAAnjG,GAEAolG,GAAAf,EAAAljH,QAAA,CAEA,OADAkkH,EAAAhB,EAAAe,GACA5kH,GACA,KAAAqnH,GACA,IAAAxC,IAAA5B,EAAA/5G,KAAA27G,GAGS,IAAA8D,EAGA,MAvVT,iBAqVA3oH,EAAAunH,GACA,SAJA/gE,GAAAq+D,EAAAx1F,cACArvB,EAAAsnH,GAKA,MAEA,KAAAA,GACA,GAAAzC,IAAA3B,EAAAh6G,KAAA27G,IAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GACAr+D,GAAAq+D,EAAAx1F,kBACS,SAAAw1F,EA0BA,IAAA8D,EAKA,MA5XT,iBAwXAniE,EAAA,GACAxmD,EAAAunH,GACA3C,EAAA,EACA,SA7BA,GAAA+D,IACA5E,EAAAp9G,IAAAiU,EAAAyrG,EAAA7/D,IACA,QAAAA,IAAAogE,EAAAjgH,IAAA,OAAAA,EAAAo5E,OACA,QAAAp5E,EAAAggH,SAAAhgH,EAAA2uC,MACA,OAEA,GADA3uC,EAAAggH,OAAAngE,EACAmiE,EAEA,YADA5E,EAAAp9G,IAAA0/G,EAAA1/G,EAAAggH,SAAAhgH,EAAAo5E,OAAAp5E,EAAAo5E,KAAA,OAGAv5B,EAAA,GACA,QAAA7/C,EAAAggH,OACA3mH,EAAAkoH,GACWnE,EAAAp9G,IAAAs9B,KAAA0iF,QAAAhgH,EAAAggH,OACX3mH,EAAAwnH,GACWzD,EAAAp9G,GACX3G,EAAA4nH,GACW,KAAA/D,EAAAe,EAAA,IACX5kH,EAAAynH,GACA7C,MAEAj+G,EAAAmgH,oBACAngH,EAAA6N,KAAA5S,KAAA,IACA5B,EAAAuoH,IAQA,MAEA,KAAAhB,GACA,IAAAtjF,KAAA6iF,kBAAA,KAAAjC,EAAA,MAhYA,iBAiYA,GAAA5gF,EAAA6iF,kBAAA,KAAAjC,EAAA,CACAl+G,EAAAggH,OAAA1iF,EAAA0iF,OACAhgH,EAAA6N,KAAAyvB,EAAAzvB,KAAAzN,QACAJ,EAAA8O,MAAAwuB,EAAAxuB,MACA9O,EAAAnE,SAAA,GACAmE,EAAAmgH,oBACA9mH,EAAAyoH,GACA,MAEAzoH,EAAA,QAAAikC,EAAA0iF,OAAAuB,GAAAR,GACA,SAEA,KAAAF,GACA,QAAA3C,GAAA,KAAAhB,EAAAe,EAAA,GAGS,CACT5kH,EAAA0nH,GACA,SAJA1nH,EAAA6nH,GACAjD,IAIS,MAET,KAAA6C,GACA,QAAA5C,EAAA,CACA7kH,EAAA8nH,GACA,MAEA9nH,EAAAsoH,GACA,SAGA,KAAAZ,GAEA,GADA/gH,EAAAggH,OAAA1iF,EAAA0iF,OACA9B,GAAAnC,EACA/7G,EAAAw0F,SAAAl3D,EAAAk3D,SACAx0F,EAAA8B,SAAAw7B,EAAAx7B,SACA9B,EAAA2uC,KAAArR,EAAAqR,KACA3uC,EAAAo5E,KAAA97C,EAAA87C,KACAp5E,EAAA6N,KAAAyvB,EAAAzvB,KAAAzN,QACAJ,EAAA8O,MAAAwuB,EAAAxuB,WACS,QAAAovG,GAAA,MAAAA,GAAAd,EAAAp9G,GACT3G,EAAA2nH,QACS,QAAA9C,EACTl+G,EAAAw0F,SAAAl3D,EAAAk3D,SACAx0F,EAAA8B,SAAAw7B,EAAAx7B,SACA9B,EAAA2uC,KAAArR,EAAAqR,KACA3uC,EAAAo5E,KAAA97C,EAAA87C,KACAp5E,EAAA6N,KAAAyvB,EAAAzvB,KAAAzN,QACAJ,EAAA8O,MAAA,GACAzV,EAAAwoH,OACS,SAAA3D,EASA,CACTl+G,EAAAw0F,SAAAl3D,EAAAk3D,SACAx0F,EAAA8B,SAAAw7B,EAAAx7B,SACA9B,EAAA2uC,KAAArR,EAAAqR,KACA3uC,EAAAo5E,KAAA97C,EAAA87C,KACAp5E,EAAA6N,KAAAyvB,EAAAzvB,KAAAzN,QACAJ,EAAA6N,KAAAnB,MACArT,EAAAsoH,GACA,SAhBA3hH,EAAAw0F,SAAAl3D,EAAAk3D,SACAx0F,EAAA8B,SAAAw7B,EAAAx7B,SACA9B,EAAA2uC,KAAArR,EAAAqR,KACA3uC,EAAAo5E,KAAA97C,EAAA87C,KACAp5E,EAAA6N,KAAAyvB,EAAAzvB,KAAAzN,QACAJ,EAAA8O,MAAAwuB,EAAAxuB,MACA9O,EAAAnE,SAAA,GACAxC,EAAAyoH,GAUS,MAET,KAAAd,GACA,IAAA5D,EAAAp9G,IAAA,KAAAk+G,GAAA,MAAAA,EAES,SAAAA,EAEA,CACTl+G,EAAAw0F,SAAAl3D,EAAAk3D,SACAx0F,EAAA8B,SAAAw7B,EAAAx7B,SACA9B,EAAA2uC,KAAArR,EAAAqR,KACA3uC,EAAAo5E,KAAA97C,EAAA87C,KACA//E,EAAAsoH,GACA,SAPAtoH,EAAA8nH,QAFA9nH,EAAA6nH,GAUS,MAET,KAAAD,GAEA,GADA5nH,EAAA6nH,GACA,KAAAhD,GAAA,KAAAr+D,EAAA7zC,OAAAiyG,EAAA,YACAA,IACA,MAEA,KAAAiD,GACA,QAAAhD,GAAA,MAAAA,EAAA,CACA7kH,EAAA8nH,GACA,SACS,MAET,KAAAA,GACA,QAAAjD,EAAA,CACAiE,IAAAtiE,EAAA,MAAAA,GACAsiE,KACAF,EAAAjG,EAAAn8D,GACA,QAAAlpD,EAAA,EAAyBA,EAAAsrH,EAAAjoH,OAA6BrD,IAAA,CACtD,IAAA2rH,EAAAL,EAAAtrH,GACA,QAAA2rH,GAAAD,EAAA,CAIA,IAAAE,EAAAjF,EAAAgF,EAAAtD,GACAqD,EAAAriH,EAAA8B,UAAAygH,EACAviH,EAAAw0F,UAAA+tB,OALAF,KAOAxiE,EAAA,QACS,GACTq+D,GAAAnC,GAAA,KAAAmC,GAAA,KAAAA,GAAA,KAAAA,GACA,MAAAA,GAAAd,EAAAp9G,GACA,CACA,GAAAmiH,GAAA,IAAAtiE,EAAA,MArfA,oBAsfAo+D,GAAAjC,EAAAn8D,GAAA7lD,OAAA,EACA6lD,EAAA,GACAxmD,EAAA+nH,QACSvhE,GAAAq+D,EACT,MAEA,KAAAkD,GACA,KAAAC,GACA,GAAAW,GAAA,QAAAhiH,EAAAggH,OAAA,CACA3mH,EAAAooH,GACA,SACS,QAAAvD,GAAAkE,EAOA,IACTlE,GAAAnC,GAAA,KAAAmC,GAAA,KAAAA,GAAA,KAAAA,GACA,MAAAA,GAAAd,EAAAp9G,GACA,CACA,GAAAo9G,EAAAp9G,IAAA,IAAA6/C,EAAA,MA1gBA,eA2gBA,GAAAmiE,GAAA,IAAAniE,IAAAogE,EAAAjgH,IAAA,OAAAA,EAAAo5E,MAAA,OAEA,GADA8oC,EAAAjF,EAAAj9G,EAAA6/C,GACA,OAAAqiE,EAGA,GAFAriE,EAAA,GACAxmD,EAAAqoH,GACAM,EAAA,OACA,SAEA,KAAA9D,EAAAkE,KACA,KAAAlE,IAAAkE,MACAviE,GAAAq+D,MAtBS,CACT,OAAAr+D,EAAA,MAhgBA,eAkgBA,GADAqiE,EAAAjF,EAAAj9G,EAAA6/C,GACA,OAAAqiE,EAGA,GAFAriE,EAAA,GACAxmD,EAAAioH,GACAU,GAAAX,GAAA,OAiBS,MAET,KAAAC,GACA,IAAA9E,EAAAj6G,KAAA27G,GAES,IACTA,GAAAnC,GAAA,KAAAmC,GAAA,KAAAA,GAAA,KAAAA,GACA,MAAAA,GAAAd,EAAAp9G,IACAgiH,EACA,CACA,OAAAniE,EAAA,CACA,IAAAu5B,EAAApsE,SAAA6yC,EAAA,IACA,GAAAu5B,EAAA,YAjiBA,eAkiBAp5E,EAAAo5E,KAAAgkC,EAAAp9G,IAAAo5E,IAAAsmC,EAAA1/G,EAAAggH,QAAA,KAAA5mC,EACAv5B,EAAA,GAEA,GAAAmiE,EAAA,OACA3oH,EAAAqoH,GACA,SACS,MAxiBT,eAyhBA7hE,GAAAq+D,EAgBA,MAEA,KAAAqD,GAEA,GADAvhH,EAAAggH,OAAA,OACA,KAAA9B,GAAA,MAAAA,EAAA7kH,EAAAmoH,OACA,KAAAlkF,GAAA,QAAAA,EAAA0iF,OAyBS,CACT3mH,EAAAsoH,GACA,SA1BA,GAAAzD,GAAAnC,EACA/7G,EAAA2uC,KAAArR,EAAAqR,KACA3uC,EAAA6N,KAAAyvB,EAAAzvB,KAAAzN,QACAJ,EAAA8O,MAAAwuB,EAAAxuB,WACW,QAAAovG,EACXl+G,EAAA2uC,KAAArR,EAAAqR,KACA3uC,EAAA6N,KAAAyvB,EAAAzvB,KAAAzN,QACAJ,EAAA8O,MAAA,GACAzV,EAAAwoH,OACW,SAAA3D,EAMA,CACXmC,EAAAnD,EAAA98G,MAAA69G,GAAA5iH,KAAA,OACA2E,EAAA2uC,KAAArR,EAAAqR,KACA3uC,EAAA6N,KAAAyvB,EAAAzvB,KAAAzN,QACAmgH,EAAAvgH,IAEA3G,EAAAsoH,GACA,SAZA3hH,EAAA2uC,KAAArR,EAAAqR,KACA3uC,EAAA6N,KAAAyvB,EAAAzvB,KAAAzN,QACAJ,EAAA8O,MAAAwuB,EAAAxuB,MACA9O,EAAAnE,SAAA,GACAxC,EAAAyoH,IAaS,MAET,KAAAN,GACA,QAAAtD,GAAA,MAAAA,EAAA,CACA7kH,EAAAooH,GACA,MAEAnkF,GAAA,QAAAA,EAAA0iF,SAAAK,EAAAnD,EAAA98G,MAAA69G,GAAA5iH,KAAA,OACA+kH,EAAA9iF,EAAAzvB,KAAA,OAAA7N,EAAA6N,KAAA5S,KAAAqiC,EAAAzvB,KAAA,IACA7N,EAAA2uC,KAAArR,EAAAqR,MAEAt1C,EAAAsoH,GACA,SAEA,KAAAF,GACA,GAAAvD,GAAAnC,GAAA,KAAAmC,GAAA,MAAAA,GAAA,KAAAA,GAAA,KAAAA,EAAA,CACA,IAAA8D,GAAA5B,EAAAvgE,GACAxmD,EAAAsoH,QACW,OAAA9hE,EAAA,CAEX,GADA7/C,EAAA2uC,KAAA,GACAqzE,EAAA,OACA3oH,EAAAqoH,OACW,CAEX,GADAQ,EAAAjF,EAAAj9G,EAAA6/C,GACA,OAAAqiE,EAEA,GADA,aAAAliH,EAAA2uC,OAAA3uC,EAAA2uC,KAAA,IACAqzE,EAAA,OACAniE,EAAA,GACAxmD,EAAAqoH,GACW,SACF7hE,GAAAq+D,EACT,MAEA,KAAAwD,GACA,GAAAtE,EAAAp9G,IAEA,GADA3G,EAAAsoH,GACA,KAAAzD,GAAA,MAAAA,EAAA,cACS,GAAA8D,GAAA,KAAA9D,EAGA,GAAA8D,GAAA,KAAA9D,GAGA,GAAAA,GAAAnC,IACT1iH,EAAAsoH,GACA,KAAAzD,GAAA,cAJAl+G,EAAAnE,SAAA,GACAxC,EAAAyoH,QAJA9hH,EAAA8O,MAAA,GACAzV,EAAAwoH,GAOS,MAET,KAAAF,GACA,GACAzD,GAAAnC,GAAA,KAAAmC,GACA,MAAAA,GAAAd,EAAAp9G,KACAgiH,IAAA,KAAA9D,GAAA,KAAAA,GACA,CAkBA,GA3XA,QADA71C,GADAA,EA4WAxoB,GA3WAn3B,gBACA,SAAA2/C,GAAA,SAAAA,GAAA,WAAAA,GA2WAk4C,EAAAvgH,GACA,KAAAk+G,GAAA,MAAAA,GAAAd,EAAAp9G,IACAA,EAAA6N,KAAA5S,KAAA,KAEWwlH,EAAA5gE,GACX,KAAAq+D,GAAA,MAAAA,GAAAd,EAAAp9G,IACAA,EAAA6N,KAAA5S,KAAA,KAGA,QAAA+E,EAAAggH,SAAAhgH,EAAA6N,KAAA7T,QAAAomH,EAAAvgE,KACA7/C,EAAA2uC,OAAA3uC,EAAA2uC,KAAA,IACAkR,IAAA7zC,OAAA,QAEAhM,EAAA6N,KAAA5S,KAAA4kD,IAEAA,EAAA,GACA,QAAA7/C,EAAAggH,SAAA9B,GAAAnC,GAAA,KAAAmC,GAAA,KAAAA,GACA,KAAAl+G,EAAA6N,KAAA7T,OAAA,QAAAgG,EAAA6N,KAAA,IACA7N,EAAA6N,KAAA41B,QAGA,KAAAy6E,GACAl+G,EAAA8O,MAAA,GACAzV,EAAAwoH,IACW,KAAA3D,IACXl+G,EAAAnE,SAAA,GACAxC,EAAAyoH,SAGAjiE,GAAAy9D,EAAAY,EAAAS,GACS,MAET,KAAAiD,GACA,KAAA1D,GACAl+G,EAAA8O,MAAA,GACAzV,EAAAwoH,IACS,KAAA3D,GACTl+G,EAAAnE,SAAA,GACAxC,EAAAyoH,IACS5D,GAAAnC,IACT/7G,EAAA6N,KAAA,IAAAyvG,EAAAY,EAAAX,IACS,MAET,KAAAsE,GACAG,GAAA,KAAA9D,EAGSA,GAAAnC,IACT,KAAAmC,GAAAd,EAAAp9G,KAAA8O,OAAA,MACA9O,EAAA8O,OAAA,KAAAovG,EAAA,MACAZ,EAAAY,EAAAX,KALAv9G,EAAAnE,SAAA,GACAxC,EAAAyoH,IAKS,MAET,KAAAA,GACA5D,GAAAnC,IAAA/7G,EAAAnE,UAAAyhH,EAAAY,EAAAO,IAIAR,MAMAuE,GAAA,SAAAxiH,GACA,IAIAyiH,EAAAP,EAJAliF,EAAAkc,EAAAjgD,KAAAumH,GAAA,OACAllF,EAAA/iC,UAAAP,OAAA,EAAAO,UAAA,UACAmoH,EAAAzjG,OAAAjf,GACA3G,EAAA+tD,EAAApnB,GAAsCjlC,KAAA,QAEtC,YAAAuiC,EACA,GAAAA,aAAAklF,GAAAC,EAAApG,EAAA/+E,QAGA,GADA4kF,EAAAH,GAAAU,KAAuCxjG,OAAAqe,IACvC,MAAAphC,UAAAgmH,GAIA,GADAA,EAAAH,GAAA1oH,EAAAqpH,EAAA,KAAAD,GACA,MAAAvmH,UAAAgmH,GACA,IAAA5tB,EAAAj7F,EAAAi7F,aAAA,IAAAC,EACAouB,EAAAvG,EAAA9nB,GACAquB,EAAAhtB,mBAAAt8F,EAAAyV,OACA6zG,EAAAxsB,UAAA,WACA98F,EAAAyV,MAAAmQ,OAAAq1E,IAAA,MAEAxhD,IACA9S,EAAA7wB,KAAAyzG,GAAA9rH,KAAAkpC,GACAA,EAAA6iF,OAAAC,GAAAhsH,KAAAkpC,GACAA,EAAA4O,SAAAm0E,GAAAjsH,KAAAkpC,GACAA,EAAAw0D,SAAAwuB,GAAAlsH,KAAAkpC,GACAA,EAAAl+B,SAAAmhH,GAAAnsH,KAAAkpC,GACAA,EAAA2O,KAAAu0E,GAAApsH,KAAAkpC,GACAA,EAAAmjF,SAAAC,GAAAtsH,KAAAkpC,GACAA,EAAAo5C,KAAAiqC,GAAAvsH,KAAAkpC,GACAA,EAAAzwB,SAAA+zG,GAAAxsH,KAAAkpC,GACAA,EAAAujF,OAAAC,GAAA1sH,KAAAkpC,GACAA,EAAAs0D,aAAAmvB,GAAA3sH,KAAAkpC,GACAA,EAAAjxB,KAAA20G,GAAA5sH,KAAAkpC,KAIA2jF,GAAAnB,GAAAjqH,UAEAqqH,GAAA,WACA,IAAA5iH,EAAAq8G,EAAApgH,MACA+jH,EAAAhgH,EAAAggH,OACAxrB,EAAAx0F,EAAAw0F,SACA1yF,EAAA9B,EAAA8B,SACA6sC,EAAA3uC,EAAA2uC,KACAyqC,EAAAp5E,EAAAo5E,KACAvrE,EAAA7N,EAAA6N,KACAiB,EAAA9O,EAAA8O,MACAjT,EAAAmE,EAAAnE,SACAmd,EAAAgnG,EAAA,IAYA,OAXA,OAAArxE,GACA31B,GAAA,KACAinG,EAAAjgH,KACAgZ,GAAAw7E,GAAA1yF,EAAA,IAAAA,EAAA,SAEAkX,GAAAmlG,EAAAxvE,GACA,OAAAyqC,IAAApgE,GAAA,IAAAogE,IACG,QAAA4mC,IAAAhnG,GAAA,MACHA,GAAAhZ,EAAAmgH,iBAAAtyG,EAAA,GAAAA,EAAA7T,OAAA,IAAA6T,EAAAxS,KAAA,QACA,OAAAyT,IAAAkK,GAAA,IAAAlK,GACA,OAAAjT,IAAAmd,GAAA,IAAAnd,GACAmd,GAGA8pG,GAAA,WACA,IAAA9iH,EAAAq8G,EAAApgH,MACA+jH,EAAAhgH,EAAAggH,OACA5mC,EAAAp5E,EAAAo5E,KACA,WAAA4mC,EAAA,IACA,WAAA3rB,IAAA2rB,EAAAnyG,KAAA,IAAAg1G,OACG,MAAA5lH,GACH,aAEA,cAAA+iH,GAAA5C,EAAAp9G,GACAggH,EAAA,MAAA7B,EAAAn+G,EAAA2uC,OAAA,OAAAyqC,EAAA,IAAAA,EAAA,IADA,QAIA2pC,GAAA,WACA,OAAA1G,EAAApgH,MAAA+jH,OAAA,KAGAgD,GAAA,WACA,OAAA3G,EAAApgH,MAAAu4F,UAGAyuB,GAAA,WACA,OAAA5G,EAAApgH,MAAA6F,UAGAohH,GAAA,WACA,IAAAljH,EAAAq8G,EAAApgH,MACA0yC,EAAA3uC,EAAA2uC,KACAyqC,EAAAp5E,EAAAo5E,KACA,cAAAzqC,EAAA,GACA,OAAAyqC,EAAA+kC,EAAAxvE,GACAwvE,EAAAxvE,GAAA,IAAAyqC,GAGAgqC,GAAA,WACA,IAAAz0E,EAAA0tE,EAAApgH,MAAA0yC,KACA,cAAAA,EAAA,GAAAwvE,EAAAxvE,IAGA00E,GAAA,WACA,IAAAjqC,EAAAijC,EAAApgH,MAAAm9E,KACA,cAAAA,EAAA,GAAAn6D,OAAAm6D,IAGAkqC,GAAA,WACA,IAAAtjH,EAAAq8G,EAAApgH,MACA4R,EAAA7N,EAAA6N,KACA,OAAA7N,EAAAmgH,iBAAAtyG,EAAA,GAAAA,EAAA7T,OAAA,IAAA6T,EAAAxS,KAAA,SAGAmoH,GAAA,WACA,IAAA10G,EAAAutG,EAAApgH,MAAA6S,MACA,OAAAA,EAAA,IAAAA,EAAA,IAGA20G,GAAA,WACA,OAAApH,EAAApgH,MAAAq4F,cAGAovB,GAAA,WACA,IAAA7nH,EAAAwgH,EAAApgH,MAAAJ,SACA,OAAAA,EAAA,IAAAA,EAAA,IAGA+nH,GAAA,SAAAzsH,EAAAisC,GACA,OAAU5rC,IAAAL,EAAA2Z,IAAAsyB,EAAAmH,gBAAAhzC,gBAyHV,GAtHAu7C,GACA6H,EAAAgpE,IAGAx0G,KAAAy0G,GAAAhB,IAAA,SAAAzzG,GACA,IAAAnP,EAAAq8G,EAAApgH,MACAymH,EAAAzjG,OAAA9P,GACA+yG,EAAAH,GAAA/hH,EAAA0iH,GACA,GAAAR,EAAA,MAAAhmH,UAAAgmH,GACA9F,EAAAp8G,EAAAs0F,cAAAqB,mBAAA31F,EAAA8O,UAIA+zG,OAAAe,GAAAd,IAGAl0E,SAAAg1E,GAAAb,IAAA,SAAAn0E,GACA,IAAA5uC,EAAAq8G,EAAApgH,MACA8lH,GAAA/hH,EAAAif,OAAA2vB,GAAA,IAAA8xE,OAIAlsB,SAAAovB,GAAAZ,IAAA,SAAAxuB,GACA,IAAAx0F,EAAAq8G,EAAApgH,MACAihH,EAAAlB,EAAA/8F,OAAAu1E,IACA,IAAA0rB,EAAAlgH,GAAA,CACAA,EAAAw0F,SAAA,GACA,QAAA79F,EAAA,EAAqBA,EAAAumH,EAAAljH,OAAuBrD,IAC5CqJ,EAAAw0F,UAAA8oB,EAAAJ,EAAAvmH,GAAAqoH,OAKAl9G,SAAA8hH,GAAAX,IAAA,SAAAnhH,GACA,IAAA9B,EAAAq8G,EAAApgH,MACAihH,EAAAlB,EAAA/8F,OAAAnd,IACA,IAAAo+G,EAAAlgH,GAAA,CACAA,EAAA8B,SAAA,GACA,QAAAnL,EAAA,EAAqBA,EAAAumH,EAAAljH,OAAuBrD,IAC5CqJ,EAAA8B,UAAAw7G,EAAAJ,EAAAvmH,GAAAqoH,OAKArwE,KAAAi1E,GAAAV,IAAA,SAAAv0E,GACA,IAAA3uC,EAAAq8G,EAAApgH,MACA+D,EAAAmgH,kBACA4B,GAAA/hH,EAAAif,OAAA0vB,GAAAyyE,OAIA+B,SAAAS,GAAAR,IAAA,SAAAD,GACA,IAAAnjH,EAAAq8G,EAAApgH,MACA+D,EAAAmgH,kBACA4B,GAAA/hH,EAAAif,OAAAkkG,GAAA9B,OAIAjoC,KAAAwqC,GAAAP,IAAA,SAAAjqC,GACA,IAAAp5E,EAAAq8G,EAAApgH,MACAikH,EAAAlgH,KAEA,KADAo5E,EAAAn6D,OAAAm6D,IACAp5E,EAAAo5E,KAAA,KACA2oC,GAAA/hH,EAAAo5E,EAAAkoC,QAIA/xG,SAAAq0G,GAAAN,IAAA,SAAA/zG,GACA,IAAAvP,EAAAq8G,EAAApgH,MACA+D,EAAAmgH,mBACAngH,EAAA6N,QACAk0G,GAAA/hH,EAAAuP,EAAA,GAAAmyG,QAIA6B,OAAAK,GAAAJ,IAAA,SAAAD,GACA,IAAAvjH,EAAAq8G,EAAApgH,MAEA,KADAsnH,EAAAtkG,OAAAskG,IAEAvjH,EAAA8O,MAAA,MAEA,KAAAy0G,EAAAv3G,OAAA,KAAAu3G,IAAAnjH,MAAA,IACAJ,EAAA8O,MAAA,GACAizG,GAAA/hH,EAAAujH,EAAA1B,KAEAzF,EAAAp8G,EAAAs0F,cAAAqB,mBAAA31F,EAAA8O,UAIAwlF,aAAAsvB,GAAAH,IAGA10G,KAAA60G,GAAAF,IAAA,SAAA30G,GACA,IAAA/O,EAAAq8G,EAAApgH,MAEA,KADA8S,EAAAkQ,OAAAlQ,KAKA,KAAAA,EAAA/C,OAAA,KAAA+C,IAAA3O,MAAA,IACAJ,EAAAnE,SAAA,GACAkmH,GAAA/hH,EAAA+O,EAAA+yG,KALA9hH,EAAAnE,SAAA,UAYAusC,EAAAu7E,GAAA,qBACA,OAAAf,GAAA9rH,KAAAmF,SACI1E,gBAIJ6wC,EAAAu7E,GAAA,uBACA,OAAAf,GAAA9rH,KAAAmF,SACI1E,gBAEJ4kH,EAAA,CACA,IAAA0H,GAAA1H,EAAA2H,gBACAC,GAAA5H,EAAA6H,gBAIAH,IAAAz7E,EAAAo6E,GAAA,4BAAAyB,GACA,OAAAJ,GAAA/jH,MAAAq8G,EAAA5hH,cAKAwpH,IAAA37E,EAAAo6E,GAAA,4BAAAxiH,GACA,OAAA+jH,GAAAjkH,MAAAq8G,EAAA5hH,cAIAu2E,EAAA0xC,GAAA,OAEAxjC,GAAGpmF,UAAA0zC,QAAAmoD,EAAAjoD,MAAAsG,IACHuhD,IAAAmuB,mCC3+BA,IASA0B,EAAA,eACAC,EAAA,yBACAC,EAAA,kDAEA5pG,EAAA5X,KAAA4X,MACA6pG,EAAAplG,OAAAqlG,aAoCAC,EAAA,SAAAC,GAGA,OAAAA,EAAA,OAAAA,EAAA,KAOAC,EAAA,SAAAC,EAAAC,EAAAh9F,GACA,IAAAnY,EAAA,EAGA,IAFAk1G,EAAA/8F,EAAAnN,EAAAkqG,EAzDA,KAyDAA,GAAA,EACAA,GAAAlqG,EAAAkqG,EAAAC,GACQD,EAAAE,IAAmCp1G,GA/D3C,GAgEAk1G,EAAAlqG,EAAAkqG,EArDApnF,IAuDA,OAAA9iB,EAAAhL,EAAA,GAAAk1G,KA/DA,MAuEAG,EAAA,SAAAhsG,GACA,IAYAliB,EAAAmuH,EAZA9rG,KAMA+rG,GAHAlsG,EAxDA,SAAA9M,GAIA,IAHA,IAAAiN,KACAy0D,EAAA,EACAzzE,EAAA+R,EAAA/R,OACAyzE,EAAAzzE,GAAA,CACA,IAAApC,EAAAmU,EAAAojE,WAAA1B,KACA,GAAA71E,GAAA,OAAAA,GAAA,OAAA61E,EAAAzzE,EAAA,CAEA,IAAA+F,EAAAgM,EAAAojE,WAAA1B,KACA,cAAA1tE,GACAiZ,EAAA/d,OAAA,KAAArD,IAAA,UAAAmI,GAAA,QAIAiZ,EAAA/d,KAAArD,GACA61E,UAGAz0D,EAAA/d,KAAArD,GAGA,OAAAohB,EArBA,CAwDAH,IAGA7e,OAGA5B,EA9EA,IA+EAssH,EAAA,EACAM,EAjFA,GAqFA,IAAAruH,EAAA,EAAaA,EAAAkiB,EAAA7e,OAAkBrD,KAC/BmuH,EAAAjsG,EAAAliB,IACA,KACAqiB,EAAA/d,KAAAopH,EAAAS,IAIA,IAAAG,EAAAjsG,EAAAhf,OACAkrH,EAAAD,EAQA,IALAA,GACAjsG,EAAA/d,KA/FA,KAmGAiqH,EAAAH,GAAA,CAEA,IAAAhuH,EA7GA,WA8GA,IAAAJ,EAAA,EAAeA,EAAAkiB,EAAA7e,OAAkBrD,KACjCmuH,EAAAjsG,EAAAliB,KACAyB,GAAA0sH,EAAA/tH,IACAA,EAAA+tH,GAKA,IAAAK,EAAAD,EAAA,EACA,GAAAnuH,EAAAqB,EAAAoiB,GAvHA,WAuHAkqG,GAAAS,GACA,MAAA5nE,WAAA6mE,GAMA,IAHAM,IAAA3tH,EAAAqB,GAAA+sH,EACA/sH,EAAArB,EAEAJ,EAAA,EAAeA,EAAAkiB,EAAA7e,OAAkBrD,IAAA,CAEjC,IADAmuH,EAAAjsG,EAAAliB,IACAyB,KAAAssH,EAhIA,WAiIA,MAAAnnE,WAAA6mE,GAEA,GAAAU,GAAA1sH,EAAA,CAGA,IADA,IAAAgtH,EAAAV,EACAl1G,EArIA,IAqI8CA,GArI9C,GAqI8C,CAC9C,IAAA3X,EAAA2X,GAAAw1G,EArIA,EAqIAx1G,GAAAw1G,EApIA,MAoIAx1G,EAAAw1G,EACA,GAAAI,EAAAvtH,EAAA,MACA,IAAAwtH,EAAAD,EAAAvtH,EACAytH,EAzIA,GAyIAztH,EACAmhB,EAAA/d,KAAAopH,EAAAE,EAAA1sH,EAAAwtH,EAAAC,KACAF,EAAA5qG,EAAA6qG,EAAAC,GAGAtsG,EAAA/d,KAAAopH,EAAAE,EAAAa,KACAJ,EAAAP,EAAAC,EAAAS,EAAAD,GAAAD,GACAP,EAAA,IACAQ,KAIAR,IACAtsH,EAEA,OAAA4gB,EAAA3d,KAAA,KAGA3E,EAAAD,QAAA,SAAAoiB,GACA,IAEAliB,EAAAgkE,EAFA4qD,KACA/qD,EAAA3hD,EAAA6P,cAAAvtB,QAAAgpH,EAAA,KAAAj4G,MAAA,KAEA,IAAAvV,EAAA,EAAaA,EAAA6jE,EAAAxgE,OAAmBrD,IAChCgkE,EAAAH,EAAA7jE,GACA4uH,EAAAtqH,KAAAipH,EAAA3hH,KAAAo4D,GAAA,OAAAkqD,EAAAlqD,MAEA,OAAA4qD,EAAAlqH,KAAA,uCCtKA3E,EAAAD,QAAiBF,EAAQ,sBCAzB,IAAA+N,EAAa/N,EAAQ,KAErBG,EAAAD,QAAA6N,mBCFA,IAAAo2G,EAAUnkH,EAAQ,KAClBuS,EAA0BvS,EAAQ,KAIlC,iBAFAuS,IAAA/Q,WAAA+Q,EAAA6xG,QAAA7xG,KAGAA,IAA0BpS,EAAAC,EAASmS,EAAA,MAGnC,IAOA8xG,GAFAF,EAAiBhkH,EAAAC,EAASmS,EAL1B6F,CAEAgiF,OAAA,OACAO,eAIApoF,EAAA+xG,OAAA/xG,EAAA+xG,WAIAnkH,EAAAD,QAAAmkH,oBClBAnkH,EADkCF,EAAQ,IAARA,EAClCukH,IAEA7/G,MAAcvE,EAAAC,EAAS,8lBAA8lB,KAErnBD,EAAAD,kDCNAmC,GAQA,GANArC,EAAQ,KAERA,EAAQ,KAERA,EAAQ,KAERqC,EAAA4sH,eACA,UAAA9qH,MAAA,kDAEA9B,EAAA4sH,kBAGA,SAAAC,EAAAh1E,EAAAv4C,EAAAN,GACA64C,EAAAv4C,IAAAb,OAAAquH,eAAAj1E,EAAAv4C,GACAsyC,YACAD,gBACA3yC,UAIA6tH,EAAAxmG,OAAA1mB,UAAA,aAAAotH,UACAF,EAAAxmG,OAAA1mB,UAAA,cAAAqtH,QAEA,gMAAA15G,MAAA,KAAAsI,SAAA,SAAAtc,MACAA,IAAAutH,EAAA7rH,MAAA1B,EAAA2qB,SAAA/rB,KAAAqB,QAAAD,4CC1BA3B,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,K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","file":"catarse.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 814);\n",";(function() {\n\"use strict\"\nfunction Vnode(tag, key, attrs0, children, text, dom) {\n\treturn {tag: tag, key: key, attrs: attrs0, children: children, text: text, dom: dom, domSize: undefined, state: undefined, _state: undefined, events: undefined, instance: undefined, skip: false}\n}\nVnode.normalize = function(node) {\n\tif (Array.isArray(node)) return Vnode(\"[\", undefined, undefined, Vnode.normalizeChildren(node), undefined, undefined)\n\tif (node != null && typeof node !== \"object\") return Vnode(\"#\", undefined, undefined, node === false ? \"\" : node, undefined, undefined)\n\treturn node\n}\nVnode.normalizeChildren = function normalizeChildren(children) {\n\tfor (var i = 0; i < children.length; i++) {\n\t\tchildren[i] = Vnode.normalize(children[i])\n\t}\n\treturn children\n}\nvar selectorParser = /(?:(^|#|\\.)([^#\\.\\[\\]]+))|(\\[(.+?)(?:\\s*=\\s*(\"|'|)((?:\\\\[\"'\\]]|.)*?)\\5)?\\])/g\nvar selectorCache = {}\nvar hasOwn = {}.hasOwnProperty\nfunction isEmpty(object) {\n\tfor (var key in object) if (hasOwn.call(object, key)) return false\n\treturn true\n}\nfunction compileSelector(selector) {\n\tvar match, tag = \"div\", classes = [], attrs = {}\n\twhile (match = selectorParser.exec(selector)) {\n\t\tvar type = match[1], value = match[2]\n\t\tif (type === \"\" && value !== \"\") tag = value\n\t\telse if (type === \"#\") attrs.id = value\n\t\telse if (type === \".\") classes.push(value)\n\t\telse if (match[3][0] === \"[\") {\n\t\t\tvar attrValue = match[6]\n\t\t\tif (attrValue) attrValue = attrValue.replace(/\\\\([\"'])/g, \"$1\").replace(/\\\\\\\\/g, \"\\\\\")\n\t\t\tif (match[4] === \"class\") classes.push(attrValue)\n\t\t\telse attrs[match[4]] = attrValue === \"\" ? attrValue : attrValue || true\n\t\t}\n\t}\n\tif (classes.length > 0) attrs.className = classes.join(\" \")\n\treturn selectorCache[selector] = {tag: tag, attrs: attrs}\n}\nfunction execSelector(state, attrs, children) {\n\tvar hasAttrs = false, childList, text\n\tvar className = attrs.className || attrs.class\n\tif (!isEmpty(state.attrs) && !isEmpty(attrs)) {\n\t\tvar newAttrs = {}\n\t\tfor(var key in attrs) {\n\t\t\tif (hasOwn.call(attrs, key)) {\n\t\t\t\tnewAttrs[key] = attrs[key]\n\t\t\t}\n\t\t}\n\t\tattrs = newAttrs\n\t}\n\tfor (var key in state.attrs) {\n\t\tif (hasOwn.call(state.attrs, key)) {\n\t\t\tattrs[key] = state.attrs[key]\n\t\t}\n\t}\n\tif (className !== undefined) {\n\t\tif (attrs.class !== undefined) {\n\t\t\tattrs.class = undefined\n\t\t\tattrs.className = className\n\t\t}\n\t\tif (state.attrs.className != null) {\n\t\t\tattrs.className = state.attrs.className + \" \" + className\n\t\t}\n\t}\n\tfor (var key in attrs) {\n\t\tif (hasOwn.call(attrs, key) && key !== \"key\") {\n\t\t\thasAttrs = true\n\t\t\tbreak\n\t\t}\n\t}\n\tif (Array.isArray(children) && children.length === 1 && children[0] != null && children[0].tag === \"#\") {\n\t\ttext = children[0].children\n\t} else {\n\t\tchildList = children\n\t}\n\treturn Vnode(state.tag, attrs.key, hasAttrs ? attrs : undefined, childList, text)\n}\nfunction hyperscript(selector) {\n\t// Because sloppy mode sucks\n\tvar attrs = arguments[1], start = 2, children\n\tif (selector == null || typeof selector !== \"string\" && typeof selector !== \"function\" && typeof selector.view !== \"function\") {\n\t\tthrow Error(\"The selector must be either a string or a component.\");\n\t}\n\tif (typeof selector === \"string\") {\n\t\tvar cached = selectorCache[selector] || compileSelector(selector)\n\t}\n\tif (attrs == null) {\n\t\tattrs = {}\n\t} else if (typeof attrs !== \"object\" || attrs.tag != null || Array.isArray(attrs)) {\n\t\tattrs = {}\n\t\tstart = 1\n\t}\n\tif (arguments.length === start + 1) {\n\t\tchildren = arguments[start]\n\t\tif (!Array.isArray(children)) children = [children]\n\t} else {\n\t\tchildren = []\n\t\twhile (start < arguments.length) children.push(arguments[start++])\n\t}\n\tvar normalized = Vnode.normalizeChildren(children)\n\tif (typeof selector === \"string\") {\n\t\treturn execSelector(cached, attrs, normalized)\n\t} else {\n\t\treturn Vnode(selector, attrs.key, attrs, normalized)\n\t}\n}\nhyperscript.trust = function(html) {\n\tif (html == null) html = \"\"\n\treturn Vnode(\"<\", undefined, undefined, html, undefined, undefined)\n}\nhyperscript.fragment = function(attrs1, children) {\n\treturn Vnode(\"[\", attrs1.key, attrs1, Vnode.normalizeChildren(children), undefined, undefined)\n}\nvar m = hyperscript\n/** @constructor */\nvar PromisePolyfill = function(executor) {\n\tif (!(this instanceof PromisePolyfill)) throw new Error(\"Promise must be called with `new`\")\n\tif (typeof executor !== \"function\") throw new TypeError(\"executor must be a function\")\n\tvar self = this, resolvers = [], rejectors = [], resolveCurrent = handler(resolvers, true), rejectCurrent = handler(rejectors, false)\n\tvar instance = self._instance = {resolvers: resolvers, rejectors: rejectors}\n\tvar callAsync = typeof setImmediate === \"function\" ? setImmediate : setTimeout\n\tfunction handler(list, shouldAbsorb) {\n\t\treturn function execute(value) {\n\t\t\tvar then\n\t\t\ttry {\n\t\t\t\tif (shouldAbsorb && value != null && (typeof value === \"object\" || typeof value === \"function\") && typeof (then = value.then) === \"function\") {\n\t\t\t\t\tif (value === self) throw new TypeError(\"Promise can't be resolved w/ itself\")\n\t\t\t\t\texecuteOnce(then.bind(value))\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tcallAsync(function() {\n\t\t\t\t\t\tif (!shouldAbsorb && list.length === 0) console.error(\"Possible unhandled promise rejection:\", value)\n\t\t\t\t\t\tfor (var i = 0; i < list.length; i++) list[i](value)\n\t\t\t\t\t\tresolvers.length = 0, rejectors.length = 0\n\t\t\t\t\t\tinstance.state = shouldAbsorb\n\t\t\t\t\t\tinstance.retry = function() {execute(value)}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\trejectCurrent(e)\n\t\t\t}\n\t\t}\n\t}\n\tfunction executeOnce(then) {\n\t\tvar runs = 0\n\t\tfunction run(fn) {\n\t\t\treturn function(value) {\n\t\t\t\tif (runs++ > 0) return\n\t\t\t\tfn(value)\n\t\t\t}\n\t\t}\n\t\tvar onerror = run(rejectCurrent)\n\t\ttry {then(run(resolveCurrent), onerror)} catch (e) {onerror(e)}\n\t}\n\texecuteOnce(executor)\n}\nPromisePolyfill.prototype.then = function(onFulfilled, onRejection) {\n\tvar self = this, instance = self._instance\n\tfunction handle(callback, list, next, state) {\n\t\tlist.push(function(value) {\n\t\t\tif (typeof callback !== \"function\") next(value)\n\t\t\telse try {resolveNext(callback(value))} catch (e) {if (rejectNext) rejectNext(e)}\n\t\t})\n\t\tif (typeof instance.retry === \"function\" && state === instance.state) instance.retry()\n\t}\n\tvar resolveNext, rejectNext\n\tvar promise = new PromisePolyfill(function(resolve, reject) {resolveNext = resolve, rejectNext = reject})\n\thandle(onFulfilled, instance.resolvers, resolveNext, true), handle(onRejection, instance.rejectors, rejectNext, false)\n\treturn promise\n}\nPromisePolyfill.prototype.catch = function(onRejection) {\n\treturn this.then(null, onRejection)\n}\nPromisePolyfill.resolve = function(value) {\n\tif (value instanceof PromisePolyfill) return value\n\treturn new PromisePolyfill(function(resolve) {resolve(value)})\n}\nPromisePolyfill.reject = function(value) {\n\treturn new PromisePolyfill(function(resolve, reject) {reject(value)})\n}\nPromisePolyfill.all = function(list) {\n\treturn new PromisePolyfill(function(resolve, reject) {\n\t\tvar total = list.length, count = 0, values = []\n\t\tif (list.length === 0) resolve([])\n\t\telse for (var i = 0; i < list.length; i++) {\n\t\t\t(function(i) {\n\t\t\t\tfunction consume(value) {\n\t\t\t\t\tcount++\n\t\t\t\t\tvalues[i] = value\n\t\t\t\t\tif (count === total) resolve(values)\n\t\t\t\t}\n\t\t\t\tif (list[i] != null && (typeof list[i] === \"object\" || typeof list[i] === \"function\") && typeof list[i].then === \"function\") {\n\t\t\t\t\tlist[i].then(consume, reject)\n\t\t\t\t}\n\t\t\t\telse consume(list[i])\n\t\t\t})(i)\n\t\t}\n\t})\n}\nPromisePolyfill.race = function(list) {\n\treturn new PromisePolyfill(function(resolve, reject) {\n\t\tfor (var i = 0; i < list.length; i++) {\n\t\t\tlist[i].then(resolve, reject)\n\t\t}\n\t})\n}\nif (typeof window !== \"undefined\") {\n\tif (typeof window.Promise === \"undefined\") window.Promise = PromisePolyfill\n\tvar PromisePolyfill = window.Promise\n} else if (typeof global !== \"undefined\") {\n\tif (typeof global.Promise === \"undefined\") global.Promise = PromisePolyfill\n\tvar PromisePolyfill = global.Promise\n} else {\n}\nvar buildQueryString = function(object) {\n\tif (Object.prototype.toString.call(object) !== \"[object Object]\") return \"\"\n\tvar args = []\n\tfor (var key0 in object) {\n\t\tdestructure(key0, object[key0])\n\t}\n\treturn args.join(\"&\")\n\tfunction destructure(key0, value) {\n\t\tif (Array.isArray(value)) {\n\t\t\tfor (var i = 0; i < value.length; i++) {\n\t\t\t\tdestructure(key0 + \"[\" + i + \"]\", value[i])\n\t\t\t}\n\t\t}\n\t\telse if (Object.prototype.toString.call(value) === \"[object Object]\") {\n\t\t\tfor (var i in value) {\n\t\t\t\tdestructure(key0 + \"[\" + i + \"]\", value[i])\n\t\t\t}\n\t\t}\n\t\telse args.push(encodeURIComponent(key0) + (value != null && value !== \"\" ? \"=\" + encodeURIComponent(value) : \"\"))\n\t}\n}\nvar FILE_PROTOCOL_REGEX = new RegExp(\"^file://\", \"i\")\nvar _8 = function($window, Promise) {\n\tvar callbackCount = 0\n\tvar oncompletion\n\tfunction setCompletionCallback(callback) {oncompletion = callback}\n\tfunction finalizer() {\n\t\tvar count = 0\n\t\tfunction complete() {if (--count === 0 && typeof oncompletion === \"function\") oncompletion()}\n\t\treturn function finalize(promise0) {\n\t\t\tvar then0 = promise0.then\n\t\t\tpromise0.then = function() {\n\t\t\t\tcount++\n\t\t\t\tvar next = then0.apply(promise0, arguments)\n\t\t\t\tnext.then(complete, function(e) {\n\t\t\t\t\tcomplete()\n\t\t\t\t\tif (count === 0) throw e\n\t\t\t\t})\n\t\t\t\treturn finalize(next)\n\t\t\t}\n\t\t\treturn promise0\n\t\t}\n\t}\n\tfunction normalize(args, extra) {\n\t\tif (typeof args === \"string\") {\n\t\t\tvar url = args\n\t\t\targs = extra || {}\n\t\t\tif (args.url == null) args.url = url\n\t\t}\n\t\treturn args\n\t}\n\tfunction request(args, extra) {\n\t\tvar finalize = finalizer()\n\t\targs = normalize(args, extra)\n\t\tvar promise0 = new Promise(function(resolve, reject) {\n\t\t\tif (args.method == null) args.method = \"GET\"\n\t\t\targs.method = args.method.toUpperCase()\n\t\t\tvar useBody = (args.method === \"GET\" || args.method === \"TRACE\") ? false : (typeof args.useBody === \"boolean\" ? args.useBody : true)\n\t\t\tif (typeof args.serialize !== \"function\") args.serialize = typeof FormData !== \"undefined\" && args.data instanceof FormData ? function(value) {return value} : JSON.stringify\n\t\t\tif (typeof args.deserialize !== \"function\") args.deserialize = deserialize\n\t\t\tif (typeof args.extract !== \"function\") args.extract = extract\n\t\t\targs.url = interpolate(args.url, args.data)\n\t\t\tif (useBody) args.data = args.serialize(args.data)\n\t\t\telse args.url = assemble(args.url, args.data)\n\t\t\tvar xhr = new $window.XMLHttpRequest(),\n\t\t\t\taborted = false,\n\t\t\t\t_abort = xhr.abort\n\t\t\txhr.abort = function abort() {\n\t\t\t\taborted = true\n\t\t\t\t_abort.call(xhr)\n\t\t\t}\n\t\t\txhr.open(args.method, args.url, typeof args.async === \"boolean\" ? args.async : true, typeof args.user === \"string\" ? args.user : undefined, typeof args.password === \"string\" ? args.password : undefined)\n\t\t\tif (args.serialize === JSON.stringify && useBody && !(args.headers && args.headers.hasOwnProperty(\"Content-Type\"))) {\n\t\t\t\txhr.setRequestHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n\t\t\t}\n\t\t\tif (args.deserialize === deserialize && !(args.headers && args.headers.hasOwnProperty(\"Accept\"))) {\n\t\t\t\txhr.setRequestHeader(\"Accept\", \"application/json, text/*\")\n\t\t\t}\n\t\t\tif (args.withCredentials) xhr.withCredentials = args.withCredentials\n\t\t\tfor (var key in args.headers) if ({}.hasOwnProperty.call(args.headers, key)) {\n\t\t\t\txhr.setRequestHeader(key, args.headers[key])\n\t\t\t}\n\t\t\tif (typeof args.config === \"function\") xhr = args.config(xhr, args) || xhr\n\t\t\txhr.onreadystatechange = function() {\n\t\t\t\t// Don't throw errors on xhr.abort().\n\t\t\t\tif(aborted) return\n\t\t\t\tif (xhr.readyState === 4) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tvar response = (args.extract !== extract) ? args.extract(xhr, args) : args.deserialize(args.extract(xhr, args))\n\t\t\t\t\t\tif ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304 || FILE_PROTOCOL_REGEX.test(args.url)) {\n\t\t\t\t\t\t\tresolve(cast(args.type, response))\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar error = new Error(xhr.responseText)\n\t\t\t\t\t\t\tfor (var key in response) error[key] = response[key]\n\t\t\t\t\t\t\treject(error)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch (e) {\n\t\t\t\t\t\treject(e)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (useBody && (args.data != null)) xhr.send(args.data)\n\t\t\telse xhr.send()\n\t\t})\n\t\treturn args.background === true ? promise0 : finalize(promise0)\n\t}\n\tfunction jsonp(args, extra) {\n\t\tvar finalize = finalizer()\n\t\targs = normalize(args, extra)\n\t\tvar promise0 = new Promise(function(resolve, reject) {\n\t\t\tvar callbackName = args.callbackName || \"_mithril_\" + Math.round(Math.random() * 1e16) + \"_\" + callbackCount++\n\t\t\tvar script = $window.document.createElement(\"script\")\n\t\t\t$window[callbackName] = function(data) {\n\t\t\t\tscript.parentNode.removeChild(script)\n\t\t\t\tresolve(cast(args.type, data))\n\t\t\t\tdelete $window[callbackName]\n\t\t\t}\n\t\t\tscript.onerror = function() {\n\t\t\t\tscript.parentNode.removeChild(script)\n\t\t\t\treject(new Error(\"JSONP request failed\"))\n\t\t\t\tdelete $window[callbackName]\n\t\t\t}\n\t\t\tif (args.data == null) args.data = {}\n\t\t\targs.url = interpolate(args.url, args.data)\n\t\t\targs.data[args.callbackKey || \"callback\"] = callbackName\n\t\t\tscript.src = assemble(args.url, args.data)\n\t\t\t$window.document.documentElement.appendChild(script)\n\t\t})\n\t\treturn args.background === true? promise0 : finalize(promise0)\n\t}\n\tfunction interpolate(url, data) {\n\t\tif (data == null) return url\n\t\tvar tokens = url.match(/:[^\\/]+/gi) || []\n\t\tfor (var i = 0; i < tokens.length; i++) {\n\t\t\tvar key = tokens[i].slice(1)\n\t\t\tif (data[key] != null) {\n\t\t\t\turl = url.replace(tokens[i], data[key])\n\t\t\t}\n\t\t}\n\t\treturn url\n\t}\n\tfunction assemble(url, data) {\n\t\tvar querystring = buildQueryString(data)\n\t\tif (querystring !== \"\") {\n\t\t\tvar prefix = url.indexOf(\"?\") < 0 ? \"?\" : \"&\"\n\t\t\turl += prefix + querystring\n\t\t}\n\t\treturn url\n\t}\n\tfunction deserialize(data) {\n\t\ttry {return data !== \"\" ? JSON.parse(data) : null}\n\t\tcatch (e) {throw new Error(data)}\n\t}\n\tfunction extract(xhr) {return xhr.responseText}\n\tfunction cast(type0, data) {\n\t\tif (typeof type0 === \"function\") {\n\t\t\tif (Array.isArray(data)) {\n\t\t\t\tfor (var i = 0; i < data.length; i++) {\n\t\t\t\t\tdata[i] = new type0(data[i])\n\t\t\t\t}\n\t\t\t}\n\t\t\telse return new type0(data)\n\t\t}\n\t\treturn data\n\t}\n\treturn {request: request, jsonp: jsonp, setCompletionCallback: setCompletionCallback}\n}\nvar requestService = _8(window, PromisePolyfill)\nvar coreRenderer = function($window) {\n\tvar $doc = $window.document\n\tvar $emptyFragment = $doc.createDocumentFragment()\n\tvar nameSpace = {\n\t\tsvg: \"http://www.w3.org/2000/svg\",\n\t\tmath: \"http://www.w3.org/1998/Math/MathML\"\n\t}\n\tvar onevent\n\tfunction setEventCallback(callback) {return onevent = callback}\n\tfunction getNameSpace(vnode) {\n\t\treturn vnode.attrs && vnode.attrs.xmlns || nameSpace[vnode.tag]\n\t}\n\t// IE9 - IE11 (at least) throw an UnspecifiedError when accessing document.activeElement when\n\t// inside an iframe. Catch and swallow this error0, and heavy-handidly return null.\n\tfunction activeElement() {\n\t\ttry {\n\t\t\treturn $doc.activeElement\n\t\t} catch (e) {\n\t\t\treturn null\n\t\t}\n\t}\n\t//create\n\tfunction createNodes(parent, vnodes, start, end, hooks, nextSibling, ns) {\n\t\tfor (var i = start; i < end; i++) {\n\t\t\tvar vnode = vnodes[i]\n\t\t\tif (vnode != null) {\n\t\t\t\tcreateNode(parent, vnode, hooks, ns, nextSibling)\n\t\t\t}\n\t\t}\n\t}\n\tfunction createNode(parent, vnode, hooks, ns, nextSibling) {\n\t\tvar tag = vnode.tag\n\t\tif (typeof tag === \"string\") {\n\t\t\tvnode.state = {}\n\t\t\tif (vnode.attrs != null) initLifecycle(vnode.attrs, vnode, hooks)\n\t\t\tswitch (tag) {\n\t\t\t\tcase \"#\": return createText(parent, vnode, nextSibling)\n\t\t\t\tcase \"<\": return createHTML(parent, vnode, nextSibling)\n\t\t\t\tcase \"[\": return createFragment(parent, vnode, hooks, ns, nextSibling)\n\t\t\t\tdefault: return createElement(parent, vnode, hooks, ns, nextSibling)\n\t\t\t}\n\t\t}\n\t\telse return createComponent(parent, vnode, hooks, ns, nextSibling)\n\t}\n\tfunction createText(parent, vnode, nextSibling) {\n\t\tvnode.dom = $doc.createTextNode(vnode.children)\n\t\tinsertNode(parent, vnode.dom, nextSibling)\n\t\treturn vnode.dom\n\t}\n\tfunction createHTML(parent, vnode, nextSibling) {\n\t\tvar match1 = vnode.children.match(/^\\s*?<(\\w+)/im) || []\n\t\tvar parent1 = {caption: \"table\", thead: \"table\", tbody: \"table\", tfoot: \"table\", tr: \"tbody\", th: \"tr\", td: \"tr\", colgroup: \"table\", col: \"colgroup\"}[match1[1]] || \"div\"\n\t\tvar temp = $doc.createElement(parent1)\n\t\ttemp.innerHTML = vnode.children\n\t\tvnode.dom = temp.firstChild\n\t\tvnode.domSize = temp.childNodes.length\n\t\tvar fragment = $doc.createDocumentFragment()\n\t\tvar child\n\t\twhile (child = temp.firstChild) {\n\t\t\tfragment.appendChild(child)\n\t\t}\n\t\tinsertNode(parent, fragment, nextSibling)\n\t\treturn fragment\n\t}\n\tfunction createFragment(parent, vnode, hooks, ns, nextSibling) {\n\t\tvar fragment = $doc.createDocumentFragment()\n\t\tif (vnode.children != null) {\n\t\t\tvar children = vnode.children\n\t\t\tcreateNodes(fragment, children, 0, children.length, hooks, null, ns)\n\t\t}\n\t\tvnode.dom = fragment.firstChild\n\t\tvnode.domSize = fragment.childNodes.length\n\t\tinsertNode(parent, fragment, nextSibling)\n\t\treturn fragment\n\t}\n\tfunction createElement(parent, vnode, hooks, ns, nextSibling) {\n\t\tvar tag = vnode.tag\n\t\tvar attrs2 = vnode.attrs\n\t\tvar is = attrs2 && attrs2.is\n\t\tns = getNameSpace(vnode) || ns\n\t\tvar element = ns ?\n\t\t\tis ? $doc.createElementNS(ns, tag, {is: is}) : $doc.createElementNS(ns, tag) :\n\t\t\tis ? $doc.createElement(tag, {is: is}) : $doc.createElement(tag)\n\t\tvnode.dom = element\n\t\tif (attrs2 != null) {\n\t\t\tsetAttrs(vnode, attrs2, ns)\n\t\t}\n\t\tinsertNode(parent, element, nextSibling)\n\t\tif (vnode.attrs != null && vnode.attrs.contenteditable != null) {\n\t\t\tsetContentEditable(vnode)\n\t\t}\n\t\telse {\n\t\t\tif (vnode.text != null) {\n\t\t\t\tif (vnode.text !== \"\") element.textContent = vnode.text\n\t\t\t\telse vnode.children = [Vnode(\"#\", undefined, undefined, vnode.text, undefined, undefined)]\n\t\t\t}\n\t\t\tif (vnode.children != null) {\n\t\t\t\tvar children = vnode.children\n\t\t\t\tcreateNodes(element, children, 0, children.length, hooks, null, ns)\n\t\t\t\tsetLateAttrs(vnode)\n\t\t\t}\n\t\t}\n\t\treturn element\n\t}\n\tfunction initComponent(vnode, hooks) {\n\t\tvar sentinel\n\t\tif (typeof vnode.tag.view === \"function\") {\n\t\t\tvnode.state = Object.create(vnode.tag)\n\t\t\tsentinel = vnode.state.view\n\t\t\tif (sentinel.$$reentrantLock$$ != null) return $emptyFragment\n\t\t\tsentinel.$$reentrantLock$$ = true\n\t\t} else {\n\t\t\tvnode.state = void 0\n\t\t\tsentinel = vnode.tag\n\t\t\tif (sentinel.$$reentrantLock$$ != null) return $emptyFragment\n\t\t\tsentinel.$$reentrantLock$$ = true\n\t\t\tvnode.state = (vnode.tag.prototype != null && typeof vnode.tag.prototype.view === \"function\") ? new vnode.tag(vnode) : vnode.tag(vnode)\n\t\t}\n\t\tvnode._state = vnode.state\n\t\tif (vnode.attrs != null) initLifecycle(vnode.attrs, vnode, hooks)\n\t\tinitLifecycle(vnode._state, vnode, hooks)\n\t\tvnode.instance = Vnode.normalize(vnode._state.view.call(vnode.state, vnode))\n\t\tif (vnode.instance === vnode) throw Error(\"A view cannot return the vnode it received as argument\")\n\t\tsentinel.$$reentrantLock$$ = null\n\t}\n\tfunction createComponent(parent, vnode, hooks, ns, nextSibling) {\n\t\tinitComponent(vnode, hooks)\n\t\tif (vnode.instance != null) {\n\t\t\tvar element = createNode(parent, vnode.instance, hooks, ns, nextSibling)\n\t\t\tvnode.dom = vnode.instance.dom\n\t\t\tvnode.domSize = vnode.dom != null ? vnode.instance.domSize : 0\n\t\t\tinsertNode(parent, element, nextSibling)\n\t\t\treturn element\n\t\t}\n\t\telse {\n\t\t\tvnode.domSize = 0\n\t\t\treturn $emptyFragment\n\t\t}\n\t}\n\t//update\n\tfunction updateNodes(parent, old, vnodes, recycling, hooks, nextSibling, ns) {\n\t\tif (old === vnodes || old == null && vnodes == null) return\n\t\telse if (old == null) createNodes(parent, vnodes, 0, vnodes.length, hooks, nextSibling, ns)\n\t\telse if (vnodes == null) removeNodes(old, 0, old.length, vnodes)\n\t\telse {\n\t\t\tif (old.length === vnodes.length) {\n\t\t\t\tvar isUnkeyed = false\n\t\t\t\tfor (var i = 0; i < vnodes.length; i++) {\n\t\t\t\t\tif (vnodes[i] != null && old[i] != null) {\n\t\t\t\t\t\tisUnkeyed = vnodes[i].key == null && old[i].key == null\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (isUnkeyed) {\n\t\t\t\t\tfor (var i = 0; i < old.length; i++) {\n\t\t\t\t\t\tif (old[i] === vnodes[i]) continue\n\t\t\t\t\t\telse if (old[i] == null && vnodes[i] != null) createNode(parent, vnodes[i], hooks, ns, getNextSibling(old, i + 1, nextSibling))\n\t\t\t\t\t\telse if (vnodes[i] == null) removeNodes(old, i, i + 1, vnodes)\n\t\t\t\t\t\telse updateNode(parent, old[i], vnodes[i], hooks, getNextSibling(old, i + 1, nextSibling), recycling, ns)\n\t\t\t\t\t}\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\t\t\trecycling = recycling || isRecyclable(old, vnodes)\n\t\t\tif (recycling) {\n\t\t\t\tvar pool = old.pool\n\t\t\t\told = old.concat(old.pool)\n\t\t\t}\n\t\t\tvar oldStart = 0, start = 0, oldEnd = old.length - 1, end = vnodes.length - 1, map\n\t\t\twhile (oldEnd >= oldStart && end >= start) {\n\t\t\t\tvar o = old[oldStart], v = vnodes[start]\n\t\t\t\tif (o === v && !recycling) oldStart++, start++\n\t\t\t\telse if (o == null) oldStart++\n\t\t\t\telse if (v == null) start++\n\t\t\t\telse if (o.key === v.key) {\n\t\t\t\t\tvar shouldRecycle = (pool != null && oldStart >= old.length - pool.length) || ((pool == null) && recycling)\n\t\t\t\t\toldStart++, start++\n\t\t\t\t\tupdateNode(parent, o, v, hooks, getNextSibling(old, oldStart, nextSibling), shouldRecycle, ns)\n\t\t\t\t\tif (recycling && o.tag === v.tag) insertNode(parent, toFragment(o), nextSibling)\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvar o = old[oldEnd]\n\t\t\t\t\tif (o === v && !recycling) oldEnd--, start++\n\t\t\t\t\telse if (o == null) oldEnd--\n\t\t\t\t\telse if (v == null) start++\n\t\t\t\t\telse if (o.key === v.key) {\n\t\t\t\t\t\tvar shouldRecycle = (pool != null && oldEnd >= old.length - pool.length) || ((pool == null) && recycling)\n\t\t\t\t\t\tupdateNode(parent, o, v, hooks, getNextSibling(old, oldEnd + 1, nextSibling), shouldRecycle, ns)\n\t\t\t\t\t\tif (recycling || start < end) insertNode(parent, toFragment(o), getNextSibling(old, oldStart, nextSibling))\n\t\t\t\t\t\toldEnd--, start++\n\t\t\t\t\t}\n\t\t\t\t\telse break\n\t\t\t\t}\n\t\t\t}\n\t\t\twhile (oldEnd >= oldStart && end >= start) {\n\t\t\t\tvar o = old[oldEnd], v = vnodes[end]\n\t\t\t\tif (o === v && !recycling) oldEnd--, end--\n\t\t\t\telse if (o == null) oldEnd--\n\t\t\t\telse if (v == null) end--\n\t\t\t\telse if (o.key === v.key) {\n\t\t\t\t\tvar shouldRecycle = (pool != null && oldEnd >= old.length - pool.length) || ((pool == null) && recycling)\n\t\t\t\t\tupdateNode(parent, o, v, hooks, getNextSibling(old, oldEnd + 1, nextSibling), shouldRecycle, ns)\n\t\t\t\t\tif (recycling && o.tag === v.tag) insertNode(parent, toFragment(o), nextSibling)\n\t\t\t\t\tif (o.dom != null) nextSibling = o.dom\n\t\t\t\t\toldEnd--, end--\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (!map) map = getKeyMap(old, oldEnd)\n\t\t\t\t\tif (v != null) {\n\t\t\t\t\t\tvar oldIndex = map[v.key]\n\t\t\t\t\t\tif (oldIndex != null) {\n\t\t\t\t\t\t\tvar movable = old[oldIndex]\n\t\t\t\t\t\t\tvar shouldRecycle = (pool != null && oldIndex >= old.length - pool.length) || ((pool == null) && recycling)\n\t\t\t\t\t\t\tupdateNode(parent, movable, v, hooks, getNextSibling(old, oldEnd + 1, nextSibling), recycling, ns)\n\t\t\t\t\t\t\tinsertNode(parent, toFragment(movable), nextSibling)\n\t\t\t\t\t\t\told[oldIndex].skip = true\n\t\t\t\t\t\t\tif (movable.dom != null) nextSibling = movable.dom\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar dom = createNode(parent, v, hooks, ns, nextSibling)\n\t\t\t\t\t\t\tnextSibling = dom\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tend--\n\t\t\t\t}\n\t\t\t\tif (end < start) break\n\t\t\t}\n\t\t\tcreateNodes(parent, vnodes, start, end + 1, hooks, nextSibling, ns)\n\t\t\tremoveNodes(old, oldStart, oldEnd + 1, vnodes)\n\t\t}\n\t}\n\tfunction updateNode(parent, old, vnode, hooks, nextSibling, recycling, ns) {\n\t\tvar oldTag = old.tag, tag = vnode.tag\n\t\tif (oldTag === tag) {\n\t\t\tvnode.state = old.state\n\t\t\tvnode._state = old._state\n\t\t\tvnode.events = old.events\n\t\t\tif (!recycling && shouldNotUpdate(vnode, old)) return\n\t\t\tif (typeof oldTag === \"string\") {\n\t\t\t\tif (vnode.attrs != null) {\n\t\t\t\t\tif (recycling) {\n\t\t\t\t\t\tvnode.state = {}\n\t\t\t\t\t\tinitLifecycle(vnode.attrs, vnode, hooks)\n\t\t\t\t\t}\n\t\t\t\t\telse updateLifecycle(vnode.attrs, vnode, hooks)\n\t\t\t\t}\n\t\t\t\tswitch (oldTag) {\n\t\t\t\t\tcase \"#\": updateText(old, vnode); break\n\t\t\t\t\tcase \"<\": updateHTML(parent, old, vnode, nextSibling); break\n\t\t\t\t\tcase \"[\": updateFragment(parent, old, vnode, recycling, hooks, nextSibling, ns); break\n\t\t\t\t\tdefault: updateElement(old, vnode, recycling, hooks, ns)\n\t\t\t\t}\n\t\t\t}\n\t\t\telse updateComponent(parent, old, vnode, hooks, nextSibling, recycling, ns)\n\t\t}\n\t\telse {\n\t\t\tremoveNode(old, null)\n\t\t\tcreateNode(parent, vnode, hooks, ns, nextSibling)\n\t\t}\n\t}\n\tfunction updateText(old, vnode) {\n\t\tif (old.children.toString() !== vnode.children.toString()) {\n\t\t\told.dom.nodeValue = vnode.children\n\t\t}\n\t\tvnode.dom = old.dom\n\t}\n\tfunction updateHTML(parent, old, vnode, nextSibling) {\n\t\tif (old.children !== vnode.children) {\n\t\t\ttoFragment(old)\n\t\t\tcreateHTML(parent, vnode, nextSibling)\n\t\t}\n\t\telse vnode.dom = old.dom, vnode.domSize = old.domSize\n\t}\n\tfunction updateFragment(parent, old, vnode, recycling, hooks, nextSibling, ns) {\n\t\tupdateNodes(parent, old.children, vnode.children, recycling, hooks, nextSibling, ns)\n\t\tvar domSize = 0, children = vnode.children\n\t\tvnode.dom = null\n\t\tif (children != null) {\n\t\t\tfor (var i = 0; i < children.length; i++) {\n\t\t\t\tvar child = children[i]\n\t\t\t\tif (child != null && child.dom != null) {\n\t\t\t\t\tif (vnode.dom == null) vnode.dom = child.dom\n\t\t\t\t\tdomSize += child.domSize || 1\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (domSize !== 1) vnode.domSize = domSize\n\t\t}\n\t}\n\tfunction updateElement(old, vnode, recycling, hooks, ns) {\n\t\tvar element = vnode.dom = old.dom\n\t\tns = getNameSpace(vnode) || ns\n\t\tif (vnode.tag === \"textarea\") {\n\t\t\tif (vnode.attrs == null) vnode.attrs = {}\n\t\t\tif (vnode.text != null) {\n\t\t\t\tvnode.attrs.value = vnode.text //FIXME handle0 multiple children\n\t\t\t\tvnode.text = undefined\n\t\t\t}\n\t\t}\n\t\tupdateAttrs(vnode, old.attrs, vnode.attrs, ns)\n\t\tif (vnode.attrs != null && vnode.attrs.contenteditable != null) {\n\t\t\tsetContentEditable(vnode)\n\t\t}\n\t\telse if (old.text != null && vnode.text != null && vnode.text !== \"\") {\n\t\t\tif (old.text.toString() !== vnode.text.toString()) old.dom.firstChild.nodeValue = vnode.text\n\t\t}\n\t\telse {\n\t\t\tif (old.text != null) old.children = [Vnode(\"#\", undefined, undefined, old.text, undefined, old.dom.firstChild)]\n\t\t\tif (vnode.text != null) vnode.children = [Vnode(\"#\", undefined, undefined, vnode.text, undefined, undefined)]\n\t\t\tupdateNodes(element, old.children, vnode.children, recycling, hooks, null, ns)\n\t\t}\n\t}\n\tfunction updateComponent(parent, old, vnode, hooks, nextSibling, recycling, ns) {\n\t\tif (recycling) {\n\t\t\tinitComponent(vnode, hooks)\n\t\t} else {\n\t\t\tvnode.instance = Vnode.normalize(vnode._state.view.call(vnode.state, vnode))\n\t\t\tif (vnode.instance === vnode) throw Error(\"A view cannot return the vnode it received as argument\")\n\t\t\tif (vnode.attrs != null) updateLifecycle(vnode.attrs, vnode, hooks)\n\t\t\tupdateLifecycle(vnode._state, vnode, hooks)\n\t\t}\n\t\tif (vnode.instance != null) {\n\t\t\tif (old.instance == null) createNode(parent, vnode.instance, hooks, ns, nextSibling)\n\t\t\telse updateNode(parent, old.instance, vnode.instance, hooks, nextSibling, recycling, ns)\n\t\t\tvnode.dom = vnode.instance.dom\n\t\t\tvnode.domSize = vnode.instance.domSize\n\t\t}\n\t\telse if (old.instance != null) {\n\t\t\tremoveNode(old.instance, null)\n\t\t\tvnode.dom = undefined\n\t\t\tvnode.domSize = 0\n\t\t}\n\t\telse {\n\t\t\tvnode.dom = old.dom\n\t\t\tvnode.domSize = old.domSize\n\t\t}\n\t}\n\tfunction isRecyclable(old, vnodes) {\n\t\tif (old.pool != null && Math.abs(old.pool.length - vnodes.length) <= Math.abs(old.length - vnodes.length)) {\n\t\t\tvar oldChildrenLength = old[0] && old[0].children && old[0].children.length || 0\n\t\t\tvar poolChildrenLength = old.pool[0] && old.pool[0].children && old.pool[0].children.length || 0\n\t\t\tvar vnodesChildrenLength = vnodes[0] && vnodes[0].children && vnodes[0].children.length || 0\n\t\t\tif (Math.abs(poolChildrenLength - vnodesChildrenLength) <= Math.abs(oldChildrenLength - vnodesChildrenLength)) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\treturn false\n\t}\n\tfunction getKeyMap(vnodes, end) {\n\t\tvar map = {}, i = 0\n\t\tfor (var i = 0; i < end; i++) {\n\t\t\tvar vnode = vnodes[i]\n\t\t\tif (vnode != null) {\n\t\t\t\tvar key2 = vnode.key\n\t\t\t\tif (key2 != null) map[key2] = i\n\t\t\t}\n\t\t}\n\t\treturn map\n\t}\n\tfunction toFragment(vnode) {\n\t\tvar count0 = vnode.domSize\n\t\tif (count0 != null || vnode.dom == null) {\n\t\t\tvar fragment = $doc.createDocumentFragment()\n\t\t\tif (count0 > 0) {\n\t\t\t\tvar dom = vnode.dom\n\t\t\t\twhile (--count0) fragment.appendChild(dom.nextSibling)\n\t\t\t\tfragment.insertBefore(dom, fragment.firstChild)\n\t\t\t}\n\t\t\treturn fragment\n\t\t}\n\t\telse return vnode.dom\n\t}\n\tfunction getNextSibling(vnodes, i, nextSibling) {\n\t\tfor (; i < vnodes.length; i++) {\n\t\t\tif (vnodes[i] != null && vnodes[i].dom != null) return vnodes[i].dom\n\t\t}\n\t\treturn nextSibling\n\t}\n\tfunction insertNode(parent, dom, nextSibling) {\n\t\tif (nextSibling && nextSibling.parentNode) parent.insertBefore(dom, nextSibling)\n\t\telse parent.appendChild(dom)\n\t}\n\tfunction setContentEditable(vnode) {\n\t\tvar children = vnode.children\n\t\tif (children != null && children.length === 1 && children[0].tag === \"<\") {\n\t\t\tvar content = children[0].children\n\t\t\tif (vnode.dom.innerHTML !== content) vnode.dom.innerHTML = content\n\t\t}\n\t\telse if (vnode.text != null || children != null && children.length !== 0) throw new Error(\"Child node of a contenteditable must be trusted\")\n\t}\n\t//remove\n\tfunction removeNodes(vnodes, start, end, context) {\n\t\tfor (var i = start; i < end; i++) {\n\t\t\tvar vnode = vnodes[i]\n\t\t\tif (vnode != null) {\n\t\t\t\tif (vnode.skip) vnode.skip = false\n\t\t\t\telse removeNode(vnode, context)\n\t\t\t}\n\t\t}\n\t}\n\tfunction removeNode(vnode, context) {\n\t\tvar expected = 1, called = 0\n\t\tif (vnode.attrs && typeof vnode.attrs.onbeforeremove === \"function\") {\n\t\t\tvar result = vnode.attrs.onbeforeremove.call(vnode.state, vnode)\n\t\t\tif (result != null && typeof result.then === \"function\") {\n\t\t\t\texpected++\n\t\t\t\tresult.then(continuation, continuation)\n\t\t\t}\n\t\t}\n\t\tif (typeof vnode.tag !== \"string\" && typeof vnode._state.onbeforeremove === \"function\") {\n\t\t\tvar result = vnode._state.onbeforeremove.call(vnode.state, vnode)\n\t\t\tif (result != null && typeof result.then === \"function\") {\n\t\t\t\texpected++\n\t\t\t\tresult.then(continuation, continuation)\n\t\t\t}\n\t\t}\n\t\tcontinuation()\n\t\tfunction continuation() {\n\t\t\tif (++called === expected) {\n\t\t\t\tonremove(vnode)\n\t\t\t\tif (vnode.dom) {\n\t\t\t\t\tvar count0 = vnode.domSize || 1\n\t\t\t\t\tif (count0 > 1) {\n\t\t\t\t\t\tvar dom = vnode.dom\n\t\t\t\t\t\twhile (--count0) {\n\t\t\t\t\t\t\tremoveNodeFromDOM(dom.nextSibling)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tremoveNodeFromDOM(vnode.dom)\n\t\t\t\t\tif (context != null && vnode.domSize == null && !hasIntegrationMethods(vnode.attrs) && typeof vnode.tag === \"string\") { //TODO test custom elements\n\t\t\t\t\t\tif (!context.pool) context.pool = [vnode]\n\t\t\t\t\t\telse context.pool.push(vnode)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tfunction removeNodeFromDOM(node) {\n\t\tvar parent = node.parentNode\n\t\tif (parent != null) parent.removeChild(node)\n\t}\n\tfunction onremove(vnode) {\n\t\tif (vnode.attrs && typeof vnode.attrs.onremove === \"function\") vnode.attrs.onremove.call(vnode.state, vnode)\n\t\tif (typeof vnode.tag !== \"string\") {\n\t\t\tif (typeof vnode._state.onremove === \"function\") vnode._state.onremove.call(vnode.state, vnode)\n\t\t\tif (vnode.instance != null) onremove(vnode.instance)\n\t\t} else {\n\t\t\tvar children = vnode.children\n\t\t\tif (Array.isArray(children)) {\n\t\t\t\tfor (var i = 0; i < children.length; i++) {\n\t\t\t\t\tvar child = children[i]\n\t\t\t\t\tif (child != null) onremove(child)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t//attrs2\n\tfunction setAttrs(vnode, attrs2, ns) {\n\t\tfor (var key2 in attrs2) {\n\t\t\tsetAttr(vnode, key2, null, attrs2[key2], ns)\n\t\t}\n\t}\n\tfunction setAttr(vnode, key2, old, value, ns) {\n\t\tvar element = vnode.dom\n\t\tif (key2 === \"key\" || key2 === \"is\" || (old === value && !isFormAttribute(vnode, key2)) && typeof value !== \"object\" || typeof value === \"undefined\" || isLifecycleMethod(key2)) return\n\t\tvar nsLastIndex = key2.indexOf(\":\")\n\t\tif (nsLastIndex > -1 && key2.substr(0, nsLastIndex) === \"xlink\") {\n\t\t\telement.setAttributeNS(\"http://www.w3.org/1999/xlink\", key2.slice(nsLastIndex + 1), value)\n\t\t}\n\t\telse if (key2[0] === \"o\" && key2[1] === \"n\" && typeof value === \"function\") updateEvent(vnode, key2, value)\n\t\telse if (key2 === \"style\") updateStyle(element, old, value)\n\t\telse if (key2 in element && !isAttribute(key2) && ns === undefined && !isCustomElement(vnode)) {\n\t\t\tif (key2 === \"value\") {\n\t\t\t\tvar normalized0 = \"\" + value // eslint-disable-line no-implicit-coercion\n\t\t\t\t//setting input[value] to same value by typing on focused element moves cursor to end in Chrome\n\t\t\t\tif ((vnode.tag === \"input\" || vnode.tag === \"textarea\") && vnode.dom.value === normalized0 && vnode.dom === activeElement()) return\n\t\t\t\t//setting select[value] to same value while having select open blinks select dropdown in Chrome\n\t\t\t\tif (vnode.tag === \"select\") {\n\t\t\t\t\tif (value === null) {\n\t\t\t\t\t\tif (vnode.dom.selectedIndex === -1 && vnode.dom === activeElement()) return\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (old !== null && vnode.dom.value === normalized0 && vnode.dom === activeElement()) return\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t//setting option[value] to same value while having select open blinks select dropdown in Chrome\n\t\t\t\tif (vnode.tag === \"option\" && old != null && vnode.dom.value === normalized0) return\n\t\t\t}\n\t\t\t// If you assign an input type1 that is not supported by IE 11 with an assignment expression, an error0 will occur.\n\t\t\tif (vnode.tag === \"input\" && key2 === \"type\") {\n\t\t\t\telement.setAttribute(key2, value)\n\t\t\t\treturn\n\t\t\t}\n\t\t\telement[key2] = value\n\t\t}\n\t\telse {\n\t\t\tif (typeof value === \"boolean\") {\n\t\t\t\tif (value) element.setAttribute(key2, \"\")\n\t\t\t\telse element.removeAttribute(key2)\n\t\t\t}\n\t\t\telse element.setAttribute(key2 === \"className\" ? \"class\" : key2, value)\n\t\t}\n\t}\n\tfunction setLateAttrs(vnode) {\n\t\tvar attrs2 = vnode.attrs\n\t\tif (vnode.tag === \"select\" && attrs2 != null) {\n\t\t\tif (\"value\" in attrs2) setAttr(vnode, \"value\", null, attrs2.value, undefined)\n\t\t\tif (\"selectedIndex\" in attrs2) setAttr(vnode, \"selectedIndex\", null, attrs2.selectedIndex, undefined)\n\t\t}\n\t}\n\tfunction updateAttrs(vnode, old, attrs2, ns) {\n\t\tif (attrs2 != null) {\n\t\t\tfor (var key2 in attrs2) {\n\t\t\t\tsetAttr(vnode, key2, old && old[key2], attrs2[key2], ns)\n\t\t\t}\n\t\t}\n\t\tif (old != null) {\n\t\t\tfor (var key2 in old) {\n\t\t\t\tif (attrs2 == null || !(key2 in attrs2)) {\n\t\t\t\t\tif (key2 === \"className\") key2 = \"class\"\n\t\t\t\t\tif (key2[0] === \"o\" && key2[1] === \"n\" && !isLifecycleMethod(key2)) updateEvent(vnode, key2, undefined)\n\t\t\t\t\telse if (key2 !== \"key\") vnode.dom.removeAttribute(key2)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tfunction isFormAttribute(vnode, attr) {\n\t\treturn attr === \"value\" || attr === \"checked\" || attr === \"selectedIndex\" || attr === \"selected\" && vnode.dom === activeElement()\n\t}\n\tfunction isLifecycleMethod(attr) {\n\t\treturn attr === \"oninit\" || attr === \"oncreate\" || attr === \"onupdate\" || attr === \"onremove\" || attr === \"onbeforeremove\" || attr === \"onbeforeupdate\"\n\t}\n\tfunction isAttribute(attr) {\n\t\treturn attr === \"href\" || attr === \"list\" || attr === \"form\" || attr === \"width\" || attr === \"height\"// || attr === \"type\"\n\t}\n\tfunction isCustomElement(vnode){\n\t\treturn vnode.attrs.is || vnode.tag.indexOf(\"-\") > -1\n\t}\n\tfunction hasIntegrationMethods(source) {\n\t\treturn source != null && (source.oncreate || source.onupdate || source.onbeforeremove || source.onremove)\n\t}\n\t//style\n\tfunction updateStyle(element, old, style) {\n\t\tif (old === style) element.style.cssText = \"\", old = null\n\t\tif (style == null) element.style.cssText = \"\"\n\t\telse if (typeof style === \"string\") element.style.cssText = style\n\t\telse {\n\t\t\tif (typeof old === \"string\") element.style.cssText = \"\"\n\t\t\tfor (var key2 in style) {\n\t\t\t\telement.style[key2] = style[key2]\n\t\t\t}\n\t\t\tif (old != null && typeof old !== \"string\") {\n\t\t\t\tfor (var key2 in old) {\n\t\t\t\t\tif (!(key2 in style)) element.style[key2] = \"\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t//event\n\tfunction updateEvent(vnode, key2, value) {\n\t\tvar element = vnode.dom\n\t\tvar callback = typeof onevent !== \"function\" ? value : function(e) {\n\t\t\tvar result = value.call(element, e)\n\t\t\tonevent.call(element, e)\n\t\t\treturn result\n\t\t}\n\t\tif (key2 in element) element[key2] = typeof value === \"function\" ? callback : null\n\t\telse {\n\t\t\tvar eventName = key2.slice(2)\n\t\t\tif (vnode.events === undefined) vnode.events = {}\n\t\t\tif (vnode.events[key2] === callback) return\n\t\t\tif (vnode.events[key2] != null) element.removeEventListener(eventName, vnode.events[key2], false)\n\t\t\tif (typeof value === \"function\") {\n\t\t\t\tvnode.events[key2] = callback\n\t\t\t\telement.addEventListener(eventName, vnode.events[key2], false)\n\t\t\t}\n\t\t}\n\t}\n\t//lifecycle\n\tfunction initLifecycle(source, vnode, hooks) {\n\t\tif (typeof source.oninit === \"function\") source.oninit.call(vnode.state, vnode)\n\t\tif (typeof source.oncreate === \"function\") hooks.push(source.oncreate.bind(vnode.state, vnode))\n\t}\n\tfunction updateLifecycle(source, vnode, hooks) {\n\t\tif (typeof source.onupdate === \"function\") hooks.push(source.onupdate.bind(vnode.state, vnode))\n\t}\n\tfunction shouldNotUpdate(vnode, old) {\n\t\tvar forceVnodeUpdate, forceComponentUpdate\n\t\tif (vnode.attrs != null && typeof vnode.attrs.onbeforeupdate === \"function\") forceVnodeUpdate = vnode.attrs.onbeforeupdate.call(vnode.state, vnode, old)\n\t\tif (typeof vnode.tag !== \"string\" && typeof vnode._state.onbeforeupdate === \"function\") forceComponentUpdate = vnode._state.onbeforeupdate.call(vnode.state, vnode, old)\n\t\tif (!(forceVnodeUpdate === undefined && forceComponentUpdate === undefined) && !forceVnodeUpdate && !forceComponentUpdate) {\n\t\t\tvnode.dom = old.dom\n\t\t\tvnode.domSize = old.domSize\n\t\t\tvnode.instance = old.instance\n\t\t\treturn true\n\t\t}\n\t\treturn false\n\t}\n\tfunction render(dom, vnodes) {\n\t\tif (!dom) throw new Error(\"Ensure the DOM element being passed to m.route/m.mount/m.render is not undefined.\")\n\t\tvar hooks = []\n\t\tvar active = activeElement()\n\t\tvar namespace = dom.namespaceURI\n\t\t// First time0 rendering into a node clears it out\n\t\tif (dom.vnodes == null) dom.textContent = \"\"\n\t\tif (!Array.isArray(vnodes)) vnodes = [vnodes]\n\t\tupdateNodes(dom, dom.vnodes, Vnode.normalizeChildren(vnodes), false, hooks, null, namespace === \"http://www.w3.org/1999/xhtml\" ? undefined : namespace)\n\t\tdom.vnodes = vnodes\n\t\t// document.activeElement can return null in IE https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement\n\t\tif (active != null && activeElement() !== active) active.focus()\n\t\tfor (var i = 0; i < hooks.length; i++) hooks[i]()\n\t}\n\treturn {render: render, setEventCallback: setEventCallback}\n}\nfunction throttle(callback) {\n\t//60fps translates to 16.6ms, round it down since setTimeout requires int\n\tvar time = 16\n\tvar last = 0, pending = null\n\tvar timeout = typeof requestAnimationFrame === \"function\" ? requestAnimationFrame : setTimeout\n\treturn function() {\n\t\tvar now = Date.now()\n\t\tif (last === 0 || now - last >= time) {\n\t\t\tlast = now\n\t\t\tcallback()\n\t\t}\n\t\telse if (pending === null) {\n\t\t\tpending = timeout(function() {\n\t\t\t\tpending = null\n\t\t\t\tcallback()\n\t\t\t\tlast = Date.now()\n\t\t\t}, time - (now - last))\n\t\t}\n\t}\n}\nvar _11 = function($window) {\n\tvar renderService = coreRenderer($window)\n\trenderService.setEventCallback(function(e) {\n\t\tif (e.redraw === false) e.redraw = undefined\n\t\telse redraw()\n\t})\n\tvar callbacks = []\n\tfunction subscribe(key1, callback) {\n\t\tunsubscribe(key1)\n\t\tcallbacks.push(key1, throttle(callback))\n\t}\n\tfunction unsubscribe(key1) {\n\t\tvar index = callbacks.indexOf(key1)\n\t\tif (index > -1) callbacks.splice(index, 2)\n\t}\n\tfunction redraw() {\n\t\tfor (var i = 1; i < callbacks.length; i += 2) {\n\t\t\tcallbacks[i]()\n\t\t}\n\t}\n\treturn {subscribe: subscribe, unsubscribe: unsubscribe, redraw: redraw, render: renderService.render}\n}\nvar redrawService = _11(window)\nrequestService.setCompletionCallback(redrawService.redraw)\nvar _16 = function(redrawService0) {\n\treturn function(root, component) {\n\t\tif (component === null) {\n\t\t\tredrawService0.render(root, [])\n\t\t\tredrawService0.unsubscribe(root)\n\t\t\treturn\n\t\t}\n\t\t\n\t\tif (component.view == null && typeof component !== \"function\") throw new Error(\"m.mount(element, component) expects a component, not a vnode\")\n\t\t\n\t\tvar run0 = function() {\n\t\t\tredrawService0.render(root, Vnode(component))\n\t\t}\n\t\tredrawService0.subscribe(root, run0)\n\t\tredrawService0.redraw()\n\t}\n}\nm.mount = _16(redrawService)\nvar Promise = PromisePolyfill\nvar parseQueryString = function(string) {\n\tif (string === \"\" || string == null) return {}\n\tif (string.charAt(0) === \"?\") string = string.slice(1)\n\tvar entries = string.split(\"&\"), counters = {}, data0 = {}\n\tfor (var i = 0; i < entries.length; i++) {\n\t\tvar entry = entries[i].split(\"=\")\n\t\tvar key5 = decodeURIComponent(entry[0])\n\t\tvar value = entry.length === 2 ? decodeURIComponent(entry[1]) : \"\"\n\t\tif (value === \"true\") value = true\n\t\telse if (value === \"false\") value = false\n\t\tvar levels = key5.split(/\\]\\[?|\\[/)\n\t\tvar cursor = data0\n\t\tif (key5.indexOf(\"[\") > -1) levels.pop()\n\t\tfor (var j = 0; j < levels.length; j++) {\n\t\t\tvar level = levels[j], nextLevel = levels[j + 1]\n\t\t\tvar isNumber = nextLevel == \"\" || !isNaN(parseInt(nextLevel, 10))\n\t\t\tif (level === \"\") {\n\t\t\t\tvar key5 = levels.slice(0, j).join()\n\t\t\t\tif (counters[key5] == null) {\n\t\t\t\t\tcounters[key5] = Array.isArray(cursor) ? cursor.length : 0\n\t\t\t\t}\n\t\t\t\tlevel = counters[key5]++\n\t\t\t}\n\t\t\t// Disallow direct prototype pollution\n\t\t\telse if (level === \"__proto__\") break\n\t\t\tif (j === levels.length - 1) cursor[level] = value\n\t\t\telse {\n\t\t\t\t// Read own properties exclusively to disallow indirect\n\t\t\t\t// prototype pollution\n\t\t\t\tvar desc = Object.getOwnPropertyDescriptor(cursor, level)\n\t\t\t\tif (desc != null) desc = desc.value\n\t\t\t\tif (desc == null) cursor[level] = desc = isNumber ? [] : {}\n\t\t\t\tcursor = desc\n\t\t\t}\n\t\t}\n\t}\n\treturn data0\n}\nvar coreRouter = function($window) {\n\tvar supportsPushState = typeof $window.history.pushState === \"function\"\n\tvar callAsync0 = typeof setImmediate === \"function\" ? setImmediate : setTimeout\n\tfunction normalize1(fragment0) {\n\t\tvar data = $window.location[fragment0].replace(/(?:%[a-f89][a-f0-9])+/gim, decodeURIComponent)\n\t\tif (fragment0 === \"pathname\" && data[0] !== \"/\") data = \"/\" + data\n\t\treturn data\n\t}\n\tvar asyncId\n\tfunction debounceAsync(callback0) {\n\t\treturn function() {\n\t\t\tif (asyncId != null) return\n\t\t\tasyncId = callAsync0(function() {\n\t\t\t\tasyncId = null\n\t\t\t\tcallback0()\n\t\t\t})\n\t\t}\n\t}\n\tfunction parsePath(path, queryData, hashData) {\n\t\tvar queryIndex = path.indexOf(\"?\")\n\t\tvar hashIndex = path.indexOf(\"#\")\n\t\tvar pathEnd = queryIndex > -1 ? queryIndex : hashIndex > -1 ? hashIndex : path.length\n\t\tif (queryIndex > -1) {\n\t\t\tvar queryEnd = hashIndex > -1 ? hashIndex : path.length\n\t\t\tvar queryParams = parseQueryString(path.slice(queryIndex + 1, queryEnd))\n\t\t\tfor (var key4 in queryParams) queryData[key4] = queryParams[key4]\n\t\t}\n\t\tif (hashIndex > -1) {\n\t\t\tvar hashParams = parseQueryString(path.slice(hashIndex + 1))\n\t\t\tfor (var key4 in hashParams) hashData[key4] = hashParams[key4]\n\t\t}\n\t\treturn path.slice(0, pathEnd)\n\t}\n\tvar router = {prefix: \"#!\"}\n\trouter.getPath = function() {\n\t\tvar type2 = router.prefix.charAt(0)\n\t\tswitch (type2) {\n\t\t\tcase \"#\": return normalize1(\"hash\").slice(router.prefix.length)\n\t\t\tcase \"?\": return normalize1(\"search\").slice(router.prefix.length) + normalize1(\"hash\")\n\t\t\tdefault: return normalize1(\"pathname\").slice(router.prefix.length) + normalize1(\"search\") + normalize1(\"hash\")\n\t\t}\n\t}\n\trouter.setPath = function(path, data, options) {\n\t\tvar queryData = {}, hashData = {}\n\t\tpath = parsePath(path, queryData, hashData)\n\t\tif (data != null) {\n\t\t\tfor (var key4 in data) queryData[key4] = data[key4]\n\t\t\tpath = path.replace(/:([^\\/]+)/g, function(match2, token) {\n\t\t\t\tdelete queryData[token]\n\t\t\t\treturn data[token]\n\t\t\t})\n\t\t}\n\t\tvar query = buildQueryString(queryData)\n\t\tif (query) path += \"?\" + query\n\t\tvar hash = buildQueryString(hashData)\n\t\tif (hash) path += \"#\" + hash\n\t\tif (supportsPushState) {\n\t\t\tvar state = options ? options.state : null\n\t\t\tvar title = options ? options.title : null\n\t\t\t$window.onpopstate()\n\t\t\tif (options && options.replace) $window.history.replaceState(state, title, router.prefix + path)\n\t\t\telse $window.history.pushState(state, title, router.prefix + path)\n\t\t}\n\t\telse $window.location.href = router.prefix + path\n\t}\n\trouter.defineRoutes = function(routes, resolve, reject) {\n\t\tfunction resolveRoute() {\n\t\t\tvar path = router.getPath()\n\t\t\tvar params = {}\n\t\t\tvar pathname = parsePath(path, params, params)\n\t\t\tvar state = $window.history.state\n\t\t\tif (state != null) {\n\t\t\t\tfor (var k in state) params[k] = state[k]\n\t\t\t}\n\t\t\tfor (var route0 in routes) {\n\t\t\t\tvar matcher = new RegExp(\"^\" + route0.replace(/:[^\\/]+?\\.{3}/g, \"(.*?)\").replace(/:[^\\/]+/g, \"([^\\\\/]+)\") + \"\\/?$\")\n\t\t\t\tif (matcher.test(pathname)) {\n\t\t\t\t\tpathname.replace(matcher, function() {\n\t\t\t\t\t\tvar keys = route0.match(/:[^\\/]+/g) || []\n\t\t\t\t\t\tvar values = [].slice.call(arguments, 1, -2)\n\t\t\t\t\t\tfor (var i = 0; i < keys.length; i++) {\n\t\t\t\t\t\t\tparams[keys[i].replace(/:|\\./g, \"\")] = decodeURIComponent(values[i])\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresolve(routes[route0], params, path, route0)\n\t\t\t\t\t})\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\t\t\treject(path, params)\n\t\t}\n\t\tif (supportsPushState) $window.onpopstate = debounceAsync(resolveRoute)\n\t\telse if (router.prefix.charAt(0) === \"#\") $window.onhashchange = resolveRoute\n\t\tresolveRoute()\n\t}\n\treturn router\n}\nvar _20 = function($window, redrawService0) {\n\tvar routeService = coreRouter($window)\n\tvar identity = function(v) {return v}\n\tvar render1, component, attrs3, currentPath, lastUpdate\n\tvar route = function(root, defaultRoute, routes) {\n\t\tif (root == null) throw new Error(\"Ensure the DOM element that was passed to `m.route` is not undefined\")\n\t\tvar run1 = function() {\n\t\t\tif (render1 != null) redrawService0.render(root, render1(Vnode(component, attrs3.key, attrs3)))\n\t\t}\n\t\tvar bail = function(path) {\n\t\t\tif (path !== defaultRoute) routeService.setPath(defaultRoute, null, {replace: true})\n\t\t\telse throw new Error(\"Could not resolve default route \" + defaultRoute)\n\t\t}\n\t\trouteService.defineRoutes(routes, function(payload, params, path) {\n\t\t\tvar update = lastUpdate = function(routeResolver, comp) {\n\t\t\t\tif (update !== lastUpdate) return\n\t\t\t\tcomponent = comp != null && (typeof comp.view === \"function\" || typeof comp === \"function\")? comp : \"div\"\n\t\t\t\tattrs3 = params, currentPath = path, lastUpdate = null\n\t\t\t\trender1 = (routeResolver.render || identity).bind(routeResolver)\n\t\t\t\trun1()\n\t\t\t}\n\t\t\tif (payload.view || typeof payload === \"function\") update({}, payload)\n\t\t\telse {\n\t\t\t\tif (payload.onmatch) {\n\t\t\t\t\tPromise.resolve(payload.onmatch(params, path)).then(function(resolved) {\n\t\t\t\t\t\tupdate(payload, resolved)\n\t\t\t\t\t}, bail)\n\t\t\t\t}\n\t\t\t\telse update(payload, \"div\")\n\t\t\t}\n\t\t}, bail)\n\t\tredrawService0.subscribe(root, run1)\n\t}\n\troute.set = function(path, data, options) {\n\t\tif (lastUpdate != null) {\n\t\t\toptions = options || {}\n\t\t\toptions.replace = true\n\t\t}\n\t\tlastUpdate = null\n\t\trouteService.setPath(path, data, options)\n\t}\n\troute.get = function() {return currentPath}\n\troute.prefix = function(prefix0) {routeService.prefix = prefix0}\n\troute.link = function(vnode1) {\n\t\tvnode1.dom.setAttribute(\"href\", routeService.prefix + vnode1.attrs.href)\n\t\tvnode1.dom.onclick = function(e) {\n\t\t\tif (e.ctrlKey || e.metaKey || e.shiftKey || e.which === 2) return\n\t\t\te.preventDefault()\n\t\t\te.redraw = false\n\t\t\tvar href = this.getAttribute(\"href\")\n\t\t\tif (href.indexOf(routeService.prefix) === 0) href = href.slice(routeService.prefix.length)\n\t\t\troute.set(href, undefined, undefined)\n\t\t}\n\t}\n\troute.param = function(key3) {\n\t\tif(typeof attrs3 !== \"undefined\" && typeof key3 !== \"undefined\") return attrs3[key3]\n\t\treturn attrs3\n\t}\n\treturn route\n}\nm.route = _20(window, redrawService)\nm.withAttr = function(attrName, callback1, context) {\n\treturn function(e) {\n\t\tcallback1.call(context || this, attrName in e.currentTarget ? e.currentTarget[attrName] : e.currentTarget.getAttribute(attrName))\n\t}\n}\nvar _28 = coreRenderer(window)\nm.render = _28.render\nm.redraw = redrawService.redraw\nm.request = requestService.request\nm.jsonp = requestService.jsonp\nm.parseQueryString = parseQueryString\nm.buildQueryString = buildQueryString\nm.version = \"1.1.7\"\nm.vnode = Vnode\nif (typeof module !== \"undefined\") module[\"exports\"] = m\nelse window.m = m\n}());","// Underscore.js 1.9.1\n// http://underscorejs.org\n// (c) 2009-2018 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n// Underscore may be freely distributed under the MIT license.\n\n(function() {\n\n // Baseline setup\n // --------------\n\n // Establish the root object, `window` (`self`) in the browser, `global`\n // on the server, or `this` in some virtual machines. We use `self`\n // instead of `window` for `WebWorker` support.\n var root = typeof self == 'object' && self.self === self && self ||\n typeof global == 'object' && global.global === global && global ||\n this ||\n {};\n\n // Save the previous value of the `_` variable.\n var previousUnderscore = root._;\n\n // Save bytes in the minified (but not gzipped) version:\n var ArrayProto = Array.prototype, ObjProto = Object.prototype;\n var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null;\n\n // Create quick reference variables for speed access to core prototypes.\n var push = ArrayProto.push,\n slice = ArrayProto.slice,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n // All **ECMAScript 5** native function implementations that we hope to use\n // are declared here.\n var nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeCreate = Object.create;\n\n // Naked function reference for surrogate-prototype-swapping.\n var Ctor = function(){};\n\n // Create a safe reference to the Underscore object for use below.\n var _ = function(obj) {\n if (obj instanceof _) return obj;\n if (!(this instanceof _)) return new _(obj);\n this._wrapped = obj;\n };\n\n // Export the Underscore object for **Node.js**, with\n // backwards-compatibility for their old module API. If we're in\n // the browser, add `_` as a global object.\n // (`nodeType` is checked to ensure that `module`\n // and `exports` are not HTML elements.)\n if (typeof exports != 'undefined' && !exports.nodeType) {\n if (typeof module != 'undefined' && !module.nodeType && module.exports) {\n exports = module.exports = _;\n }\n exports._ = _;\n } else {\n root._ = _;\n }\n\n // Current version.\n _.VERSION = '1.9.1';\n\n // Internal function that returns an efficient (for current engines) version\n // of the passed-in callback, to be repeatedly applied in other Underscore\n // functions.\n var optimizeCb = function(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n // The 2-argument case is omitted because we’re not using it.\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n };\n\n var builtinIteratee;\n\n // An internal function to generate callbacks that can be applied to each\n // element in a collection, returning the desired result — either `identity`,\n // an arbitrary callback, a property matcher, or a property accessor.\n var cb = function(value, context, argCount) {\n if (_.iteratee !== builtinIteratee) return _.iteratee(value, context);\n if (value == null) return _.identity;\n if (_.isFunction(value)) return optimizeCb(value, context, argCount);\n if (_.isObject(value) && !_.isArray(value)) return _.matcher(value);\n return _.property(value);\n };\n\n // External wrapper for our callback generator. Users may customize\n // `_.iteratee` if they want additional predicate/iteratee shorthand styles.\n // This abstraction hides the internal-only argCount argument.\n _.iteratee = builtinIteratee = function(value, context) {\n return cb(value, context, Infinity);\n };\n\n // Some functions take a variable number of arguments, or a few expected\n // arguments at the beginning and then a variable number of values to operate\n // on. This helper accumulates all remaining arguments past the function’s\n // argument length (or an explicit `startIndex`), into an array that becomes\n // the last argument. Similar to ES6’s \"rest parameter\".\n var restArguments = function(func, startIndex) {\n startIndex = startIndex == null ? func.length - 1 : +startIndex;\n return function() {\n var length = Math.max(arguments.length - startIndex, 0),\n rest = Array(length),\n index = 0;\n for (; index < length; index++) {\n rest[index] = arguments[index + startIndex];\n }\n switch (startIndex) {\n case 0: return func.call(this, rest);\n case 1: return func.call(this, arguments[0], rest);\n case 2: return func.call(this, arguments[0], arguments[1], rest);\n }\n var args = Array(startIndex + 1);\n for (index = 0; index < startIndex; index++) {\n args[index] = arguments[index];\n }\n args[startIndex] = rest;\n return func.apply(this, args);\n };\n };\n\n // An internal function for creating a new object that inherits from another.\n var baseCreate = function(prototype) {\n if (!_.isObject(prototype)) return {};\n if (nativeCreate) return nativeCreate(prototype);\n Ctor.prototype = prototype;\n var result = new Ctor;\n Ctor.prototype = null;\n return result;\n };\n\n var shallowProperty = function(key) {\n return function(obj) {\n return obj == null ? void 0 : obj[key];\n };\n };\n\n var has = function(obj, path) {\n return obj != null && hasOwnProperty.call(obj, path);\n }\n\n var deepGet = function(obj, path) {\n var length = path.length;\n for (var i = 0; i < length; i++) {\n if (obj == null) return void 0;\n obj = obj[path[i]];\n }\n return length ? obj : void 0;\n };\n\n // Helper for collection methods to determine whether a collection\n // should be iterated as an array or as an object.\n // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\n var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n var getLength = shallowProperty('length');\n var isArrayLike = function(collection) {\n var length = getLength(collection);\n return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;\n };\n\n // Collection Functions\n // --------------------\n\n // The cornerstone, an `each` implementation, aka `forEach`.\n // Handles raw objects in addition to array-likes. Treats all\n // sparse array-likes as if they were dense.\n _.each = _.forEach = function(obj, iteratee, context) {\n iteratee = optimizeCb(iteratee, context);\n var i, length;\n if (isArrayLike(obj)) {\n for (i = 0, length = obj.length; i < length; i++) {\n iteratee(obj[i], i, obj);\n }\n } else {\n var keys = _.keys(obj);\n for (i = 0, length = keys.length; i < length; i++) {\n iteratee(obj[keys[i]], keys[i], obj);\n }\n }\n return obj;\n };\n\n // Return the results of applying the iteratee to each element.\n _.map = _.collect = function(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length,\n results = Array(length);\n for (var index = 0; index < length; index++) {\n var currentKey = keys ? keys[index] : index;\n results[index] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n };\n\n // Create a reducing function iterating left or right.\n var createReduce = function(dir) {\n // Wrap code that reassigns argument variables in a separate function than\n // the one that accesses `arguments.length` to avoid a perf hit. (#1991)\n var reducer = function(obj, iteratee, memo, initial) {\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length,\n index = dir > 0 ? 0 : length - 1;\n if (!initial) {\n memo = obj[keys ? keys[index] : index];\n index += dir;\n }\n for (; index >= 0 && index < length; index += dir) {\n var currentKey = keys ? keys[index] : index;\n memo = iteratee(memo, obj[currentKey], currentKey, obj);\n }\n return memo;\n };\n\n return function(obj, iteratee, memo, context) {\n var initial = arguments.length >= 3;\n return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial);\n };\n };\n\n // **Reduce** builds up a single result from a list of values, aka `inject`,\n // or `foldl`.\n _.reduce = _.foldl = _.inject = createReduce(1);\n\n // The right-associative version of reduce, also known as `foldr`.\n _.reduceRight = _.foldr = createReduce(-1);\n\n // Return the first value which passes a truth test. Aliased as `detect`.\n _.find = _.detect = function(obj, predicate, context) {\n var keyFinder = isArrayLike(obj) ? _.findIndex : _.findKey;\n var key = keyFinder(obj, predicate, context);\n if (key !== void 0 && key !== -1) return obj[key];\n };\n\n // Return all the elements that pass a truth test.\n // Aliased as `select`.\n _.filter = _.select = function(obj, predicate, context) {\n var results = [];\n predicate = cb(predicate, context);\n _.each(obj, function(value, index, list) {\n if (predicate(value, index, list)) results.push(value);\n });\n return results;\n };\n\n // Return all the elements for which a truth test fails.\n _.reject = function(obj, predicate, context) {\n return _.filter(obj, _.negate(cb(predicate)), context);\n };\n\n // Determine whether all of the elements match a truth test.\n // Aliased as `all`.\n _.every = _.all = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = keys ? keys[index] : index;\n if (!predicate(obj[currentKey], currentKey, obj)) return false;\n }\n return true;\n };\n\n // Determine if at least one element in the object matches a truth test.\n // Aliased as `any`.\n _.some = _.any = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = keys ? keys[index] : index;\n if (predicate(obj[currentKey], currentKey, obj)) return true;\n }\n return false;\n };\n\n // Determine if the array or object contains a given item (using `===`).\n // Aliased as `includes` and `include`.\n _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) {\n if (!isArrayLike(obj)) obj = _.values(obj);\n if (typeof fromIndex != 'number' || guard) fromIndex = 0;\n return _.indexOf(obj, item, fromIndex) >= 0;\n };\n\n // Invoke a method (with arguments) on every item in a collection.\n _.invoke = restArguments(function(obj, path, args) {\n var contextPath, func;\n if (_.isFunction(path)) {\n func = path;\n } else if (_.isArray(path)) {\n contextPath = path.slice(0, -1);\n path = path[path.length - 1];\n }\n return _.map(obj, function(context) {\n var method = func;\n if (!method) {\n if (contextPath && contextPath.length) {\n context = deepGet(context, contextPath);\n }\n if (context == null) return void 0;\n method = context[path];\n }\n return method == null ? method : method.apply(context, args);\n });\n });\n\n // Convenience version of a common use case of `map`: fetching a property.\n _.pluck = function(obj, key) {\n return _.map(obj, _.property(key));\n };\n\n // Convenience version of a common use case of `filter`: selecting only objects\n // containing specific `key:value` pairs.\n _.where = function(obj, attrs) {\n return _.filter(obj, _.matcher(attrs));\n };\n\n // Convenience version of a common use case of `find`: getting the first object\n // containing specific `key:value` pairs.\n _.findWhere = function(obj, attrs) {\n return _.find(obj, _.matcher(attrs));\n };\n\n // Return the maximum element (or element-based computation).\n _.max = function(obj, iteratee, context) {\n var result = -Infinity, lastComputed = -Infinity,\n value, computed;\n if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) {\n obj = isArrayLike(obj) ? obj : _.values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value > result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n _.each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed > lastComputed || computed === -Infinity && result === -Infinity) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n };\n\n // Return the minimum element (or element-based computation).\n _.min = function(obj, iteratee, context) {\n var result = Infinity, lastComputed = Infinity,\n value, computed;\n if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) {\n obj = isArrayLike(obj) ? obj : _.values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value < result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n _.each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed < lastComputed || computed === Infinity && result === Infinity) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n };\n\n // Shuffle a collection.\n _.shuffle = function(obj) {\n return _.sample(obj, Infinity);\n };\n\n // Sample **n** random values from a collection using the modern version of the\n // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n // If **n** is not specified, returns a single random element.\n // The internal `guard` argument allows it to work with `map`.\n _.sample = function(obj, n, guard) {\n if (n == null || guard) {\n if (!isArrayLike(obj)) obj = _.values(obj);\n return obj[_.random(obj.length - 1)];\n }\n var sample = isArrayLike(obj) ? _.clone(obj) : _.values(obj);\n var length = getLength(sample);\n n = Math.max(Math.min(n, length), 0);\n var last = length - 1;\n for (var index = 0; index < n; index++) {\n var rand = _.random(index, last);\n var temp = sample[index];\n sample[index] = sample[rand];\n sample[rand] = temp;\n }\n return sample.slice(0, n);\n };\n\n // Sort the object's values by a criterion produced by an iteratee.\n _.sortBy = function(obj, iteratee, context) {\n var index = 0;\n iteratee = cb(iteratee, context);\n return _.pluck(_.map(obj, function(value, key, list) {\n return {\n value: value,\n index: index++,\n criteria: iteratee(value, key, list)\n };\n }).sort(function(left, right) {\n var a = left.criteria;\n var b = right.criteria;\n if (a !== b) {\n if (a > b || a === void 0) return 1;\n if (a < b || b === void 0) return -1;\n }\n return left.index - right.index;\n }), 'value');\n };\n\n // An internal function used for aggregate \"group by\" operations.\n var group = function(behavior, partition) {\n return function(obj, iteratee, context) {\n var result = partition ? [[], []] : {};\n iteratee = cb(iteratee, context);\n _.each(obj, function(value, index) {\n var key = iteratee(value, index, obj);\n behavior(result, value, key);\n });\n return result;\n };\n };\n\n // Groups the object's values by a criterion. Pass either a string attribute\n // to group by, or a function that returns the criterion.\n _.groupBy = group(function(result, value, key) {\n if (has(result, key)) result[key].push(value); else result[key] = [value];\n });\n\n // Indexes the object's values by a criterion, similar to `groupBy`, but for\n // when you know that your index values will be unique.\n _.indexBy = group(function(result, value, key) {\n result[key] = value;\n });\n\n // Counts instances of an object that group by a certain criterion. Pass\n // either a string attribute to count by, or a function that returns the\n // criterion.\n _.countBy = group(function(result, value, key) {\n if (has(result, key)) result[key]++; else result[key] = 1;\n });\n\n var reStrSymbol = /[^\\ud800-\\udfff]|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff]/g;\n // Safely create a real, live array from anything iterable.\n _.toArray = function(obj) {\n if (!obj) return [];\n if (_.isArray(obj)) return slice.call(obj);\n if (_.isString(obj)) {\n // Keep surrogate pair characters together\n return obj.match(reStrSymbol);\n }\n if (isArrayLike(obj)) return _.map(obj, _.identity);\n return _.values(obj);\n };\n\n // Return the number of elements in an object.\n _.size = function(obj) {\n if (obj == null) return 0;\n return isArrayLike(obj) ? obj.length : _.keys(obj).length;\n };\n\n // Split a collection into two arrays: one whose elements all satisfy the given\n // predicate, and one whose elements all do not satisfy the predicate.\n _.partition = group(function(result, value, pass) {\n result[pass ? 0 : 1].push(value);\n }, true);\n\n // Array Functions\n // ---------------\n\n // Get the first element of an array. Passing **n** will return the first N\n // values in the array. Aliased as `head` and `take`. The **guard** check\n // allows it to work with `_.map`.\n _.first = _.head = _.take = function(array, n, guard) {\n if (array == null || array.length < 1) return n == null ? void 0 : [];\n if (n == null || guard) return array[0];\n return _.initial(array, array.length - n);\n };\n\n // Returns everything but the last entry of the array. Especially useful on\n // the arguments object. Passing **n** will return all the values in\n // the array, excluding the last N.\n _.initial = function(array, n, guard) {\n return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n };\n\n // Get the last element of an array. Passing **n** will return the last N\n // values in the array.\n _.last = function(array, n, guard) {\n if (array == null || array.length < 1) return n == null ? void 0 : [];\n if (n == null || guard) return array[array.length - 1];\n return _.rest(array, Math.max(0, array.length - n));\n };\n\n // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.\n // Especially useful on the arguments object. Passing an **n** will return\n // the rest N values in the array.\n _.rest = _.tail = _.drop = function(array, n, guard) {\n return slice.call(array, n == null || guard ? 1 : n);\n };\n\n // Trim out all falsy values from an array.\n _.compact = function(array) {\n return _.filter(array, Boolean);\n };\n\n // Internal implementation of a recursive `flatten` function.\n var flatten = function(input, shallow, strict, output) {\n output = output || [];\n var idx = output.length;\n for (var i = 0, length = getLength(input); i < length; i++) {\n var value = input[i];\n if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {\n // Flatten current level of array or arguments object.\n if (shallow) {\n var j = 0, len = value.length;\n while (j < len) output[idx++] = value[j++];\n } else {\n flatten(value, shallow, strict, output);\n idx = output.length;\n }\n } else if (!strict) {\n output[idx++] = value;\n }\n }\n return output;\n };\n\n // Flatten out an array, either recursively (by default), or just one level.\n _.flatten = function(array, shallow) {\n return flatten(array, shallow, false);\n };\n\n // Return a version of the array that does not contain the specified value(s).\n _.without = restArguments(function(array, otherArrays) {\n return _.difference(array, otherArrays);\n });\n\n // Produce a duplicate-free version of the array. If the array has already\n // been sorted, you have the option of using a faster algorithm.\n // The faster algorithm will not work with an iteratee if the iteratee\n // is not a one-to-one function, so providing an iteratee will disable\n // the faster algorithm.\n // Aliased as `unique`.\n _.uniq = _.unique = function(array, isSorted, iteratee, context) {\n if (!_.isBoolean(isSorted)) {\n context = iteratee;\n iteratee = isSorted;\n isSorted = false;\n }\n if (iteratee != null) iteratee = cb(iteratee, context);\n var result = [];\n var seen = [];\n for (var i = 0, length = getLength(array); i < length; i++) {\n var value = array[i],\n computed = iteratee ? iteratee(value, i, array) : value;\n if (isSorted && !iteratee) {\n if (!i || seen !== computed) result.push(value);\n seen = computed;\n } else if (iteratee) {\n if (!_.contains(seen, computed)) {\n seen.push(computed);\n result.push(value);\n }\n } else if (!_.contains(result, value)) {\n result.push(value);\n }\n }\n return result;\n };\n\n // Produce an array that contains the union: each distinct element from all of\n // the passed-in arrays.\n _.union = restArguments(function(arrays) {\n return _.uniq(flatten(arrays, true, true));\n });\n\n // Produce an array that contains every item shared between all the\n // passed-in arrays.\n _.intersection = function(array) {\n var result = [];\n var argsLength = arguments.length;\n for (var i = 0, length = getLength(array); i < length; i++) {\n var item = array[i];\n if (_.contains(result, item)) continue;\n var j;\n for (j = 1; j < argsLength; j++) {\n if (!_.contains(arguments[j], item)) break;\n }\n if (j === argsLength) result.push(item);\n }\n return result;\n };\n\n // Take the difference between one array and a number of other arrays.\n // Only the elements present in just the first array will remain.\n _.difference = restArguments(function(array, rest) {\n rest = flatten(rest, true, true);\n return _.filter(array, function(value){\n return !_.contains(rest, value);\n });\n });\n\n // Complement of _.zip. Unzip accepts an array of arrays and groups\n // each array's elements on shared indices.\n _.unzip = function(array) {\n var length = array && _.max(array, getLength).length || 0;\n var result = Array(length);\n\n for (var index = 0; index < length; index++) {\n result[index] = _.pluck(array, index);\n }\n return result;\n };\n\n // Zip together multiple lists into a single array -- elements that share\n // an index go together.\n _.zip = restArguments(_.unzip);\n\n // Converts lists into objects. Pass either a single array of `[key, value]`\n // pairs, or two parallel arrays of the same length -- one of keys, and one of\n // the corresponding values. Passing by pairs is the reverse of _.pairs.\n _.object = function(list, values) {\n var result = {};\n for (var i = 0, length = getLength(list); i < length; i++) {\n if (values) {\n result[list[i]] = values[i];\n } else {\n result[list[i][0]] = list[i][1];\n }\n }\n return result;\n };\n\n // Generator function to create the findIndex and findLastIndex functions.\n var createPredicateIndexFinder = function(dir) {\n return function(array, predicate, context) {\n predicate = cb(predicate, context);\n var length = getLength(array);\n var index = dir > 0 ? 0 : length - 1;\n for (; index >= 0 && index < length; index += dir) {\n if (predicate(array[index], index, array)) return index;\n }\n return -1;\n };\n };\n\n // Returns the first index on an array-like that passes a predicate test.\n _.findIndex = createPredicateIndexFinder(1);\n _.findLastIndex = createPredicateIndexFinder(-1);\n\n // Use a comparator function to figure out the smallest index at which\n // an object should be inserted so as to maintain order. Uses binary search.\n _.sortedIndex = function(array, obj, iteratee, context) {\n iteratee = cb(iteratee, context, 1);\n var value = iteratee(obj);\n var low = 0, high = getLength(array);\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n }\n return low;\n };\n\n // Generator function to create the indexOf and lastIndexOf functions.\n var createIndexFinder = function(dir, predicateFind, sortedIndex) {\n return function(array, item, idx) {\n var i = 0, length = getLength(array);\n if (typeof idx == 'number') {\n if (dir > 0) {\n i = idx >= 0 ? idx : Math.max(idx + length, i);\n } else {\n length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;\n }\n } else if (sortedIndex && idx && length) {\n idx = sortedIndex(array, item);\n return array[idx] === item ? idx : -1;\n }\n if (item !== item) {\n idx = predicateFind(slice.call(array, i, length), _.isNaN);\n return idx >= 0 ? idx + i : -1;\n }\n for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {\n if (array[idx] === item) return idx;\n }\n return -1;\n };\n };\n\n // Return the position of the first occurrence of an item in an array,\n // or -1 if the item is not included in the array.\n // If the array is large and already in sort order, pass `true`\n // for **isSorted** to use binary search.\n _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex);\n _.lastIndexOf = createIndexFinder(-1, _.findLastIndex);\n\n // Generate an integer Array containing an arithmetic progression. A port of\n // the native Python `range()` function. See\n // [the Python documentation](http://docs.python.org/library/functions.html#range).\n _.range = function(start, stop, step) {\n if (stop == null) {\n stop = start || 0;\n start = 0;\n }\n if (!step) {\n step = stop < start ? -1 : 1;\n }\n\n var length = Math.max(Math.ceil((stop - start) / step), 0);\n var range = Array(length);\n\n for (var idx = 0; idx < length; idx++, start += step) {\n range[idx] = start;\n }\n\n return range;\n };\n\n // Chunk a single array into multiple arrays, each containing `count` or fewer\n // items.\n _.chunk = function(array, count) {\n if (count == null || count < 1) return [];\n var result = [];\n var i = 0, length = array.length;\n while (i < length) {\n result.push(slice.call(array, i, i += count));\n }\n return result;\n };\n\n // Function (ahem) Functions\n // ------------------\n\n // Determines whether to execute a function as a constructor\n // or a normal function with the provided arguments.\n var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) {\n if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);\n var self = baseCreate(sourceFunc.prototype);\n var result = sourceFunc.apply(self, args);\n if (_.isObject(result)) return result;\n return self;\n };\n\n // Create a function bound to a given object (assigning `this`, and arguments,\n // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if\n // available.\n _.bind = restArguments(function(func, context, args) {\n if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function');\n var bound = restArguments(function(callArgs) {\n return executeBound(func, bound, context, this, args.concat(callArgs));\n });\n return bound;\n });\n\n // Partially apply a function by creating a version that has had some of its\n // arguments pre-filled, without changing its dynamic `this` context. _ acts\n // as a placeholder by default, allowing any combination of arguments to be\n // pre-filled. Set `_.partial.placeholder` for a custom placeholder argument.\n _.partial = restArguments(function(func, boundArgs) {\n var placeholder = _.partial.placeholder;\n var bound = function() {\n var position = 0, length = boundArgs.length;\n var args = Array(length);\n for (var i = 0; i < length; i++) {\n args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i];\n }\n while (position < arguments.length) args.push(arguments[position++]);\n return executeBound(func, bound, this, this, args);\n };\n return bound;\n });\n\n _.partial.placeholder = _;\n\n // Bind a number of an object's methods to that object. Remaining arguments\n // are the method names to be bound. Useful for ensuring that all callbacks\n // defined on an object belong to it.\n _.bindAll = restArguments(function(obj, keys) {\n keys = flatten(keys, false, false);\n var index = keys.length;\n if (index < 1) throw new Error('bindAll must be passed function names');\n while (index--) {\n var key = keys[index];\n obj[key] = _.bind(obj[key], obj);\n }\n });\n\n // Memoize an expensive function by storing its results.\n _.memoize = function(func, hasher) {\n var memoize = function(key) {\n var cache = memoize.cache;\n var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n if (!has(cache, address)) cache[address] = func.apply(this, arguments);\n return cache[address];\n };\n memoize.cache = {};\n return memoize;\n };\n\n // Delays a function for the given number of milliseconds, and then calls\n // it with the arguments supplied.\n _.delay = restArguments(function(func, wait, args) {\n return setTimeout(function() {\n return func.apply(null, args);\n }, wait);\n });\n\n // Defers a function, scheduling it to run after the current call stack has\n // cleared.\n _.defer = _.partial(_.delay, _, 1);\n\n // Returns a function, that, when invoked, will only be triggered at most once\n // during a given window of time. Normally, the throttled function will run\n // as much as it can, without ever going more than once per `wait` duration;\n // but if you'd like to disable the execution on the leading edge, pass\n // `{leading: false}`. To disable execution on the trailing edge, ditto.\n _.throttle = function(func, wait, options) {\n var timeout, context, args, result;\n var previous = 0;\n if (!options) options = {};\n\n var later = function() {\n previous = options.leading === false ? 0 : _.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n\n var throttled = function() {\n var now = _.now();\n if (!previous && options.leading === false) previous = now;\n var remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n\n throttled.cancel = function() {\n clearTimeout(timeout);\n previous = 0;\n timeout = context = args = null;\n };\n\n return throttled;\n };\n\n // Returns a function, that, as long as it continues to be invoked, will not\n // be triggered. The function will be called after it stops being called for\n // N milliseconds. If `immediate` is passed, trigger the function on the\n // leading edge, instead of the trailing.\n _.debounce = function(func, wait, immediate) {\n var timeout, result;\n\n var later = function(context, args) {\n timeout = null;\n if (args) result = func.apply(context, args);\n };\n\n var debounced = restArguments(function(args) {\n if (timeout) clearTimeout(timeout);\n if (immediate) {\n var callNow = !timeout;\n timeout = setTimeout(later, wait);\n if (callNow) result = func.apply(this, args);\n } else {\n timeout = _.delay(later, wait, this, args);\n }\n\n return result;\n });\n\n debounced.cancel = function() {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return debounced;\n };\n\n // Returns the first function passed as an argument to the second,\n // allowing you to adjust arguments, run code before and after, and\n // conditionally execute the original function.\n _.wrap = function(func, wrapper) {\n return _.partial(wrapper, func);\n };\n\n // Returns a negated version of the passed-in predicate.\n _.negate = function(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n };\n };\n\n // Returns a function that is the composition of a list of functions, each\n // consuming the return value of the function that follows.\n _.compose = function() {\n var args = arguments;\n var start = args.length - 1;\n return function() {\n var i = start;\n var result = args[start].apply(this, arguments);\n while (i--) result = args[i].call(this, result);\n return result;\n };\n };\n\n // Returns a function that will only be executed on and after the Nth call.\n _.after = function(times, func) {\n return function() {\n if (--times < 1) {\n return func.apply(this, arguments);\n }\n };\n };\n\n // Returns a function that will only be executed up to (but not including) the Nth call.\n _.before = function(times, func) {\n var memo;\n return function() {\n if (--times > 0) {\n memo = func.apply(this, arguments);\n }\n if (times <= 1) func = null;\n return memo;\n };\n };\n\n // Returns a function that will be executed at most one time, no matter how\n // often you call it. Useful for lazy initialization.\n _.once = _.partial(_.before, 2);\n\n _.restArguments = restArguments;\n\n // Object Functions\n // ----------------\n\n // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\n var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\n var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\n var collectNonEnumProps = function(obj, keys) {\n var nonEnumIdx = nonEnumerableProps.length;\n var constructor = obj.constructor;\n var proto = _.isFunction(constructor) && constructor.prototype || ObjProto;\n\n // Constructor is a special case.\n var prop = 'constructor';\n if (has(obj, prop) && !_.contains(keys, prop)) keys.push(prop);\n\n while (nonEnumIdx--) {\n prop = nonEnumerableProps[nonEnumIdx];\n if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) {\n keys.push(prop);\n }\n }\n };\n\n // Retrieve the names of an object's own properties.\n // Delegates to **ECMAScript 5**'s native `Object.keys`.\n _.keys = function(obj) {\n if (!_.isObject(obj)) return [];\n if (nativeKeys) return nativeKeys(obj);\n var keys = [];\n for (var key in obj) if (has(obj, key)) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n };\n\n // Retrieve all the property names of an object.\n _.allKeys = function(obj) {\n if (!_.isObject(obj)) return [];\n var keys = [];\n for (var key in obj) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n };\n\n // Retrieve the values of an object's properties.\n _.values = function(obj) {\n var keys = _.keys(obj);\n var length = keys.length;\n var values = Array(length);\n for (var i = 0; i < length; i++) {\n values[i] = obj[keys[i]];\n }\n return values;\n };\n\n // Returns the results of applying the iteratee to each element of the object.\n // In contrast to _.map it returns an object.\n _.mapObject = function(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var keys = _.keys(obj),\n length = keys.length,\n results = {};\n for (var index = 0; index < length; index++) {\n var currentKey = keys[index];\n results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n };\n\n // Convert an object into a list of `[key, value]` pairs.\n // The opposite of _.object.\n _.pairs = function(obj) {\n var keys = _.keys(obj);\n var length = keys.length;\n var pairs = Array(length);\n for (var i = 0; i < length; i++) {\n pairs[i] = [keys[i], obj[keys[i]]];\n }\n return pairs;\n };\n\n // Invert the keys and values of an object. The values must be serializable.\n _.invert = function(obj) {\n var result = {};\n var keys = _.keys(obj);\n for (var i = 0, length = keys.length; i < length; i++) {\n result[obj[keys[i]]] = keys[i];\n }\n return result;\n };\n\n // Return a sorted list of the function names available on the object.\n // Aliased as `methods`.\n _.functions = _.methods = function(obj) {\n var names = [];\n for (var key in obj) {\n if (_.isFunction(obj[key])) names.push(key);\n }\n return names.sort();\n };\n\n // An internal function for creating assigner functions.\n var createAssigner = function(keysFunc, defaults) {\n return function(obj) {\n var length = arguments.length;\n if (defaults) obj = Object(obj);\n if (length < 2 || obj == null) return obj;\n for (var index = 1; index < length; index++) {\n var source = arguments[index],\n keys = keysFunc(source),\n l = keys.length;\n for (var i = 0; i < l; i++) {\n var key = keys[i];\n if (!defaults || obj[key] === void 0) obj[key] = source[key];\n }\n }\n return obj;\n };\n };\n\n // Extend a given object with all the properties in passed-in object(s).\n _.extend = createAssigner(_.allKeys);\n\n // Assigns a given object with all the own properties in the passed-in object(s).\n // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n _.extendOwn = _.assign = createAssigner(_.keys);\n\n // Returns the first key on an object that passes a predicate test.\n _.findKey = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var keys = _.keys(obj), key;\n for (var i = 0, length = keys.length; i < length; i++) {\n key = keys[i];\n if (predicate(obj[key], key, obj)) return key;\n }\n };\n\n // Internal pick helper function to determine if `obj` has key `key`.\n var keyInObj = function(value, key, obj) {\n return key in obj;\n };\n\n // Return a copy of the object only containing the whitelisted properties.\n _.pick = restArguments(function(obj, keys) {\n var result = {}, iteratee = keys[0];\n if (obj == null) return result;\n if (_.isFunction(iteratee)) {\n if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]);\n keys = _.allKeys(obj);\n } else {\n iteratee = keyInObj;\n keys = flatten(keys, false, false);\n obj = Object(obj);\n }\n for (var i = 0, length = keys.length; i < length; i++) {\n var key = keys[i];\n var value = obj[key];\n if (iteratee(value, key, obj)) result[key] = value;\n }\n return result;\n });\n\n // Return a copy of the object without the blacklisted properties.\n _.omit = restArguments(function(obj, keys) {\n var iteratee = keys[0], context;\n if (_.isFunction(iteratee)) {\n iteratee = _.negate(iteratee);\n if (keys.length > 1) context = keys[1];\n } else {\n keys = _.map(flatten(keys, false, false), String);\n iteratee = function(value, key) {\n return !_.contains(keys, key);\n };\n }\n return _.pick(obj, iteratee, context);\n });\n\n // Fill in a given object with default properties.\n _.defaults = createAssigner(_.allKeys, true);\n\n // Creates an object that inherits from the given prototype object.\n // If additional properties are provided then they will be added to the\n // created object.\n _.create = function(prototype, props) {\n var result = baseCreate(prototype);\n if (props) _.extendOwn(result, props);\n return result;\n };\n\n // Create a (shallow-cloned) duplicate of an object.\n _.clone = function(obj) {\n if (!_.isObject(obj)) return obj;\n return _.isArray(obj) ? obj.slice() : _.extend({}, obj);\n };\n\n // Invokes interceptor with the obj, and then returns obj.\n // The primary purpose of this method is to \"tap into\" a method chain, in\n // order to perform operations on intermediate results within the chain.\n _.tap = function(obj, interceptor) {\n interceptor(obj);\n return obj;\n };\n\n // Returns whether an object has a given set of `key:value` pairs.\n _.isMatch = function(object, attrs) {\n var keys = _.keys(attrs), length = keys.length;\n if (object == null) return !length;\n var obj = Object(object);\n for (var i = 0; i < length; i++) {\n var key = keys[i];\n if (attrs[key] !== obj[key] || !(key in obj)) return false;\n }\n return true;\n };\n\n\n // Internal recursive comparison function for `isEqual`.\n var eq, deepEq;\n eq = function(a, b, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) return false;\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) return b !== b;\n // Exhaust primitive checks\n var type = typeof a;\n if (type !== 'function' && type !== 'object' && typeof b != 'object') return false;\n return deepEq(a, b, aStack, bStack);\n };\n\n // Internal recursive comparison function for `isEqual`.\n deepEq = function(a, b, aStack, bStack) {\n // Unwrap any wrapped objects.\n if (a instanceof _) a = a._wrapped;\n if (b instanceof _) b = b._wrapped;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case '[object RegExp]':\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case '[object String]':\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return '' + a === '' + b;\n case '[object Number]':\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case '[object Date]':\n case '[object Boolean]':\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n case '[object Symbol]':\n return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b);\n }\n\n var areArrays = className === '[object Array]';\n if (!areArrays) {\n if (typeof a != 'object' || typeof b != 'object') return false;\n\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor &&\n _.isFunction(bCtor) && bCtor instanceof bCtor)\n && ('constructor' in a && 'constructor' in b)) {\n return false;\n }\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b;\n }\n\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], aStack, bStack)) return false;\n }\n } else {\n // Deep compare objects.\n var keys = _.keys(a), key;\n length = keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (_.keys(b).length !== length) return false;\n while (length--) {\n // Deep compare each member\n key = keys[length];\n if (!(has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n };\n\n // Perform a deep comparison to check if two objects are equal.\n _.isEqual = function(a, b) {\n return eq(a, b);\n };\n\n // Is a given array, string, or object empty?\n // An \"empty\" object has no enumerable own-properties.\n _.isEmpty = function(obj) {\n if (obj == null) return true;\n if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0;\n return _.keys(obj).length === 0;\n };\n\n // Is a given value a DOM element?\n _.isElement = function(obj) {\n return !!(obj && obj.nodeType === 1);\n };\n\n // Is a given value an array?\n // Delegates to ECMA5's native Array.isArray\n _.isArray = nativeIsArray || function(obj) {\n return toString.call(obj) === '[object Array]';\n };\n\n // Is a given variable an object?\n _.isObject = function(obj) {\n var type = typeof obj;\n return type === 'function' || type === 'object' && !!obj;\n };\n\n // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError, isMap, isWeakMap, isSet, isWeakSet.\n _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error', 'Symbol', 'Map', 'WeakMap', 'Set', 'WeakSet'], function(name) {\n _['is' + name] = function(obj) {\n return toString.call(obj) === '[object ' + name + ']';\n };\n });\n\n // Define a fallback version of the method in browsers (ahem, IE < 9), where\n // there isn't any inspectable \"Arguments\" type.\n if (!_.isArguments(arguments)) {\n _.isArguments = function(obj) {\n return has(obj, 'callee');\n };\n }\n\n // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8,\n // IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).\n var nodelist = root.document && root.document.childNodes;\n if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') {\n _.isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n }\n\n // Is a given object a finite number?\n _.isFinite = function(obj) {\n return !_.isSymbol(obj) && isFinite(obj) && !isNaN(parseFloat(obj));\n };\n\n // Is the given value `NaN`?\n _.isNaN = function(obj) {\n return _.isNumber(obj) && isNaN(obj);\n };\n\n // Is a given value a boolean?\n _.isBoolean = function(obj) {\n return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n };\n\n // Is a given value equal to null?\n _.isNull = function(obj) {\n return obj === null;\n };\n\n // Is a given variable undefined?\n _.isUndefined = function(obj) {\n return obj === void 0;\n };\n\n // Shortcut function for checking if an object has a given property directly\n // on itself (in other words, not on a prototype).\n _.has = function(obj, path) {\n if (!_.isArray(path)) {\n return has(obj, path);\n }\n var length = path.length;\n for (var i = 0; i < length; i++) {\n var key = path[i];\n if (obj == null || !hasOwnProperty.call(obj, key)) {\n return false;\n }\n obj = obj[key];\n }\n return !!length;\n };\n\n // Utility Functions\n // -----------------\n\n // Run Underscore.js in *noConflict* mode, returning the `_` variable to its\n // previous owner. Returns a reference to the Underscore object.\n _.noConflict = function() {\n root._ = previousUnderscore;\n return this;\n };\n\n // Keep the identity function around for default iteratees.\n _.identity = function(value) {\n return value;\n };\n\n // Predicate-generating functions. Often useful outside of Underscore.\n _.constant = function(value) {\n return function() {\n return value;\n };\n };\n\n _.noop = function(){};\n\n // Creates a function that, when passed an object, will traverse that object’s\n // properties down the given `path`, specified as an array of keys or indexes.\n _.property = function(path) {\n if (!_.isArray(path)) {\n return shallowProperty(path);\n }\n return function(obj) {\n return deepGet(obj, path);\n };\n };\n\n // Generates a function for a given object that returns a given property.\n _.propertyOf = function(obj) {\n if (obj == null) {\n return function(){};\n }\n return function(path) {\n return !_.isArray(path) ? obj[path] : deepGet(obj, path);\n };\n };\n\n // Returns a predicate for checking whether an object has a given set of\n // `key:value` pairs.\n _.matcher = _.matches = function(attrs) {\n attrs = _.extendOwn({}, attrs);\n return function(obj) {\n return _.isMatch(obj, attrs);\n };\n };\n\n // Run a function **n** times.\n _.times = function(n, iteratee, context) {\n var accum = Array(Math.max(0, n));\n iteratee = optimizeCb(iteratee, context, 1);\n for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n return accum;\n };\n\n // Return a random integer between min and max (inclusive).\n _.random = function(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n return min + Math.floor(Math.random() * (max - min + 1));\n };\n\n // A (possibly faster) way to get the current timestamp as an integer.\n _.now = Date.now || function() {\n return new Date().getTime();\n };\n\n // List of HTML entities for escaping.\n var escapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n };\n var unescapeMap = _.invert(escapeMap);\n\n // Functions for escaping and unescaping strings to/from HTML interpolation.\n var createEscaper = function(map) {\n var escaper = function(match) {\n return map[match];\n };\n // Regexes for identifying a key that needs to be escaped.\n var source = '(?:' + _.keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function(string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n };\n _.escape = createEscaper(escapeMap);\n _.unescape = createEscaper(unescapeMap);\n\n // Traverses the children of `obj` along `path`. If a child is a function, it\n // is invoked with its parent as context. Returns the value of the final\n // child, or `fallback` if any child is undefined.\n _.result = function(obj, path, fallback) {\n if (!_.isArray(path)) path = [path];\n var length = path.length;\n if (!length) {\n return _.isFunction(fallback) ? fallback.call(obj) : fallback;\n }\n for (var i = 0; i < length; i++) {\n var prop = obj == null ? void 0 : obj[path[i]];\n if (prop === void 0) {\n prop = fallback;\n i = length; // Ensure we don't continue iterating.\n }\n obj = _.isFunction(prop) ? prop.call(obj) : prop;\n }\n return obj;\n };\n\n // Generate a unique integer id (unique within the entire client session).\n // Useful for temporary DOM ids.\n var idCounter = 0;\n _.uniqueId = function(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n };\n\n // By default, Underscore uses ERB-style template delimiters, change the\n // following template settings to use alternative delimiters.\n _.templateSettings = {\n evaluate: /<%([\\s\\S]+?)%>/g,\n interpolate: /<%=([\\s\\S]+?)%>/g,\n escape: /<%-([\\s\\S]+?)%>/g\n };\n\n // When customizing `templateSettings`, if you don't want to define an\n // interpolation, evaluation or escaping regex, we need one that is\n // guaranteed not to match.\n var noMatch = /(.)^/;\n\n // Certain characters need to be escaped so that they can be put into a\n // string literal.\n var escapes = {\n \"'\": \"'\",\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n var escapeRegExp = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\n var escapeChar = function(match) {\n return '\\\\' + escapes[match];\n };\n\n // JavaScript micro-templating, similar to John Resig's implementation.\n // Underscore templating handles arbitrary delimiters, preserves whitespace,\n // and correctly escapes quotes within interpolated code.\n // NB: `oldSettings` only exists for backwards compatibility.\n _.template = function(text, settings, oldSettings) {\n if (!settings && oldSettings) settings = oldSettings;\n settings = _.defaults({}, settings, _.templateSettings);\n\n // Combine delimiters into one regular expression via alternation.\n var matcher = RegExp([\n (settings.escape || noMatch).source,\n (settings.interpolate || noMatch).source,\n (settings.evaluate || noMatch).source\n ].join('|') + '|$', 'g');\n\n // Compile the template source, escaping string literals appropriately.\n var index = 0;\n var source = \"__p+='\";\n text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n source += text.slice(index, offset).replace(escapeRegExp, escapeChar);\n index = offset + match.length;\n\n if (escape) {\n source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n } else if (interpolate) {\n source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n } else if (evaluate) {\n source += \"';\\n\" + evaluate + \"\\n__p+='\";\n }\n\n // Adobe VMs need the match returned to produce the correct offset.\n return match;\n });\n source += \"';\\n\";\n\n // If a variable is not specified, place data values in local scope.\n if (!settings.variable) source = 'with(obj||{}){\\n' + source + '}\\n';\n\n source = \"var __t,__p='',__j=Array.prototype.join,\" +\n \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n source + 'return __p;\\n';\n\n var render;\n try {\n render = new Function(settings.variable || 'obj', '_', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n\n var template = function(data) {\n return render.call(this, data, _);\n };\n\n // Provide the compiled source as a convenience for precompilation.\n var argument = settings.variable || 'obj';\n template.source = 'function(' + argument + '){\\n' + source + '}';\n\n return template;\n };\n\n // Add a \"chain\" function. Start chaining a wrapped Underscore object.\n _.chain = function(obj) {\n var instance = _(obj);\n instance._chain = true;\n return instance;\n };\n\n // OOP\n // ---------------\n // If Underscore is called as a function, it returns a wrapped object that\n // can be used OO-style. This wrapper holds altered versions of all the\n // underscore functions. Wrapped objects may be chained.\n\n // Helper function to continue chaining intermediate results.\n var chainResult = function(instance, obj) {\n return instance._chain ? _(obj).chain() : obj;\n };\n\n // Add your own custom functions to the Underscore object.\n _.mixin = function(obj) {\n _.each(_.functions(obj), function(name) {\n var func = _[name] = obj[name];\n _.prototype[name] = function() {\n var args = [this._wrapped];\n push.apply(args, arguments);\n return chainResult(this, func.apply(_, args));\n };\n });\n return _;\n };\n\n // Add all of the Underscore functions to the wrapper object.\n _.mixin(_);\n\n // Add all mutator Array functions to the wrapper.\n _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n method.apply(obj, arguments);\n if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];\n return chainResult(this, obj);\n };\n });\n\n // Add all accessor Array functions to the wrapper.\n _.each(['concat', 'join', 'slice'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n return chainResult(this, method.apply(this._wrapped, arguments));\n };\n });\n\n // Extracts the result from a wrapped and chained object.\n _.prototype.value = function() {\n return this._wrapped;\n };\n\n // Provide unwrapping proxy for some methods used in engine operations\n // such as arithmetic and JSON stringification.\n _.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\n _.prototype.toString = function() {\n return String(this._wrapped);\n };\n\n // AMD registration happens at the end for compatibility with AMD loaders\n // that may not enforce next-turn semantics on modules. Even though general\n // practice for AMD registration is to be anonymous, underscore registers\n // as a named module because, like jQuery, it is a base library that is\n // popular enough to be bundled in a third party lib, but not be part of\n // an AMD load request. Those cases could generate an error when an\n // anonymous define() is called outside of a loader request.\n if (typeof define == 'function' && define.amd) {\n define('underscore', [], function() {\n return _;\n });\n }\n}());\n","\"use strict\"\n\nmodule.exports = require(\"./stream/stream\")\n","module.exports = require(\"core-js-pure/stable/instance/concat\");","module.exports = require(\"core-js-pure/stable/instance/map\");","//! moment.js\n//! version : 2.19.4\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\nvar hookCallback;\n\nfunction hooks () {\n return hookCallback.apply(null, arguments);\n}\n\n// This is done to register the method called with moment()\n// without creating circular dependencies.\nfunction setHookCallback (callback) {\n hookCallback = callback;\n}\n\nfunction isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n}\n\nfunction isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n}\n\nfunction isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n}\n\nfunction isUndefined(input) {\n return input === void 0;\n}\n\nfunction isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n}\n\nfunction isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n}\n\nfunction map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n}\n\nfunction hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n}\n\nfunction extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n}\n\nfunction createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n}\n\nfunction defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null,\n rfc2822 : false,\n weekdayMismatch : false\n };\n}\n\nfunction getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n}\n\nvar some;\nif (Array.prototype.some) {\n some = Array.prototype.some;\n} else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n}\n\nfunction isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n}\n\nfunction createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n}\n\n// Plugins that add properties should also add the key here (null value),\n// so we can properly clone ourselves.\nvar momentProperties = hooks.momentProperties = [];\n\nfunction copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n}\n\nvar updateInProgress = false;\n\n// Moment prototype object\nfunction Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n}\n\nfunction isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n}\n\nfunction absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n}\n\nfunction toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n}\n\n// compare two arrays, return the number of differences\nfunction compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n}\n\nfunction warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n}\n\nfunction deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n}\n\nvar deprecations = {};\n\nfunction deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n}\n\nhooks.suppressDeprecationWarnings = false;\nhooks.deprecationHandler = null;\n\nfunction isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n}\n\nfunction set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n}\n\nfunction mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n}\n\nfunction Locale(config) {\n if (config != null) {\n this.set(config);\n }\n}\n\nvar keys;\n\nif (Object.keys) {\n keys = Object.keys;\n} else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n}\n\nvar defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n};\n\nfunction calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n}\n\nvar defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n};\n\nfunction longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n}\n\nvar defaultInvalidDate = 'Invalid date';\n\nfunction invalidDate () {\n return this._invalidDate;\n}\n\nvar defaultOrdinal = '%d';\nvar defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\nfunction ordinal (number) {\n return this._ordinal.replace('%d', number);\n}\n\nvar defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n};\n\nfunction relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n}\n\nfunction pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n}\n\nvar aliases = {};\n\nfunction addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n}\n\nfunction normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n}\n\nfunction normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n}\n\nvar priorities = {};\n\nfunction addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n}\n\nfunction getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n}\n\nfunction zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n}\n\nvar formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\nvar localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\nvar formatFunctions = {};\n\nvar formatTokenFunctions = {};\n\n// token: 'M'\n// padded: ['MM', 2]\n// ordinal: 'Mo'\n// callback: function () { this.month() + 1 }\nfunction addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n}\n\nfunction removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n}\n\nfunction makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n}\n\n// format date using native date object\nfunction formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n}\n\nfunction expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n}\n\nvar match1 = /\\d/; // 0 - 9\nvar match2 = /\\d\\d/; // 00 - 99\nvar match3 = /\\d{3}/; // 000 - 999\nvar match4 = /\\d{4}/; // 0000 - 9999\nvar match6 = /[+-]?\\d{6}/; // -999999 - 999999\nvar match1to2 = /\\d\\d?/; // 0 - 99\nvar match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\nvar match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\nvar match1to3 = /\\d{1,3}/; // 0 - 999\nvar match1to4 = /\\d{1,4}/; // 0 - 9999\nvar match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\nvar matchUnsigned = /\\d+/; // 0 - inf\nvar matchSigned = /[+-]?\\d+/; // -inf - inf\n\nvar matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\nvar matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\nvar matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n// any word (or two) characters or numbers including two/three word month in arabic.\n// includes scottish gaelic two word and hyphenated months\nvar matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n\nvar regexes = {};\n\nfunction addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n}\n\nfunction getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n}\n\n// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\nfunction unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n}\n\nfunction regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nvar tokens = {};\n\nfunction addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n}\n\nfunction addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n}\n\nfunction addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n}\n\nvar YEAR = 0;\nvar MONTH = 1;\nvar DATE = 2;\nvar HOUR = 3;\nvar MINUTE = 4;\nvar SECOND = 5;\nvar MILLISECOND = 6;\nvar WEEK = 7;\nvar WEEKDAY = 8;\n\n// FORMATTING\n\naddFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n});\n\naddFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n});\n\naddFormatToken(0, ['YYYY', 4], 0, 'year');\naddFormatToken(0, ['YYYYY', 5], 0, 'year');\naddFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n// ALIASES\n\naddUnitAlias('year', 'y');\n\n// PRIORITIES\n\naddUnitPriority('year', 1);\n\n// PARSING\n\naddRegexToken('Y', matchSigned);\naddRegexToken('YY', match1to2, match2);\naddRegexToken('YYYY', match1to4, match4);\naddRegexToken('YYYYY', match1to6, match6);\naddRegexToken('YYYYYY', match1to6, match6);\n\naddParseToken(['YYYYY', 'YYYYYY'], YEAR);\naddParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n});\naddParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n});\naddParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n});\n\n// HELPERS\n\nfunction daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n}\n\nfunction isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n}\n\n// HOOKS\n\nhooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n};\n\n// MOMENTS\n\nvar getSetYear = makeGetSet('FullYear', true);\n\nfunction getIsLeapYear () {\n return isLeapYear(this.year());\n}\n\nfunction makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n}\n\nfunction get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n}\n\nfunction set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n}\n\n// MOMENTS\n\nfunction stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n}\n\n\nfunction stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n}\n\nfunction mod(n, x) {\n return ((n % x) + x) % x;\n}\n\nvar indexOf;\n\nif (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n} else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n}\n\nfunction daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n}\n\n// FORMATTING\n\naddFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n});\n\naddFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n});\n\naddFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n});\n\n// ALIASES\n\naddUnitAlias('month', 'M');\n\n// PRIORITY\n\naddUnitPriority('month', 8);\n\n// PARSING\n\naddRegexToken('M', match1to2);\naddRegexToken('MM', match1to2, match2);\naddRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n});\naddRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n});\n\naddParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n});\n\naddParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n});\n\n// LOCALES\n\nvar MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\nvar defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\nfunction localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n}\n\nvar defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\nfunction localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n}\n\nfunction handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n}\n\nfunction localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n}\n\n// MOMENTS\n\nfunction setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n}\n\nfunction getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n}\n\nfunction getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n}\n\nvar defaultMonthsShortRegex = matchWord;\nfunction monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n}\n\nvar defaultMonthsRegex = matchWord;\nfunction monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n}\n\nfunction computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n}\n\nfunction createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date = new Date(y, m, d, h, M, s, ms);\n\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n return date;\n}\n\nfunction createUTCDate (y) {\n var date = new Date(Date.UTC.apply(null, arguments));\n\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n return date;\n}\n\n// start-of-first-week - start-of-year\nfunction firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n}\n\n// https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\nfunction dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n}\n\nfunction weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n}\n\nfunction weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n}\n\n// FORMATTING\n\naddFormatToken('w', ['ww', 2], 'wo', 'week');\naddFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n// ALIASES\n\naddUnitAlias('week', 'w');\naddUnitAlias('isoWeek', 'W');\n\n// PRIORITIES\n\naddUnitPriority('week', 5);\naddUnitPriority('isoWeek', 5);\n\n// PARSING\n\naddRegexToken('w', match1to2);\naddRegexToken('ww', match1to2, match2);\naddRegexToken('W', match1to2);\naddRegexToken('WW', match1to2, match2);\n\naddWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n});\n\n// HELPERS\n\n// LOCALES\n\nfunction localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n}\n\nvar defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n};\n\nfunction localeFirstDayOfWeek () {\n return this._week.dow;\n}\n\nfunction localeFirstDayOfYear () {\n return this._week.doy;\n}\n\n// MOMENTS\n\nfunction getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n}\n\nfunction getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n}\n\n// FORMATTING\n\naddFormatToken('d', 0, 'do', 'day');\n\naddFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n});\n\naddFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n});\n\naddFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n});\n\naddFormatToken('e', 0, 0, 'weekday');\naddFormatToken('E', 0, 0, 'isoWeekday');\n\n// ALIASES\n\naddUnitAlias('day', 'd');\naddUnitAlias('weekday', 'e');\naddUnitAlias('isoWeekday', 'E');\n\n// PRIORITY\naddUnitPriority('day', 11);\naddUnitPriority('weekday', 11);\naddUnitPriority('isoWeekday', 11);\n\n// PARSING\n\naddRegexToken('d', match1to2);\naddRegexToken('e', match1to2);\naddRegexToken('E', match1to2);\naddRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n});\naddRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n});\naddRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n});\n\naddWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n});\n\naddWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n});\n\n// HELPERS\n\nfunction parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n}\n\nfunction parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n}\n\n// LOCALES\n\nvar defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\nfunction localeWeekdays (m, format) {\n if (!m) {\n return isArray(this._weekdays) ? this._weekdays :\n this._weekdays['standalone'];\n }\n return isArray(this._weekdays) ? this._weekdays[m.day()] :\n this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n}\n\nvar defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\nfunction localeWeekdaysShort (m) {\n return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n}\n\nvar defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\nfunction localeWeekdaysMin (m) {\n return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n}\n\nfunction handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n}\n\nfunction localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n}\n\n// MOMENTS\n\nfunction getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n}\n\nfunction getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n}\n\nfunction getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n}\n\nvar defaultWeekdaysRegex = matchWord;\nfunction weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n}\n\nvar defaultWeekdaysShortRegex = matchWord;\nfunction weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n}\n\nvar defaultWeekdaysMinRegex = matchWord;\nfunction weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n}\n\n\nfunction computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n}\n\n// FORMATTING\n\nfunction hFormat() {\n return this.hours() % 12 || 12;\n}\n\nfunction kFormat() {\n return this.hours() || 24;\n}\n\naddFormatToken('H', ['HH', 2], 0, 'hour');\naddFormatToken('h', ['hh', 2], 0, hFormat);\naddFormatToken('k', ['kk', 2], 0, kFormat);\n\naddFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n});\n\naddFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n});\n\naddFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n});\n\naddFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n});\n\nfunction meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n}\n\nmeridiem('a', true);\nmeridiem('A', false);\n\n// ALIASES\n\naddUnitAlias('hour', 'h');\n\n// PRIORITY\naddUnitPriority('hour', 13);\n\n// PARSING\n\nfunction matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n}\n\naddRegexToken('a', matchMeridiem);\naddRegexToken('A', matchMeridiem);\naddRegexToken('H', match1to2);\naddRegexToken('h', match1to2);\naddRegexToken('k', match1to2);\naddRegexToken('HH', match1to2, match2);\naddRegexToken('hh', match1to2, match2);\naddRegexToken('kk', match1to2, match2);\n\naddRegexToken('hmm', match3to4);\naddRegexToken('hmmss', match5to6);\naddRegexToken('Hmm', match3to4);\naddRegexToken('Hmmss', match5to6);\n\naddParseToken(['H', 'HH'], HOUR);\naddParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n});\naddParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n});\naddParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n});\naddParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n});\naddParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n});\naddParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n});\naddParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n});\n\n// LOCALES\n\nfunction localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n}\n\nvar defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\nfunction localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n}\n\n\n// MOMENTS\n\n// Setting the hour should keep the time, because the user explicitly\n// specified which hour he wants. So trying to maintain the same hour (in\n// a new timezone) makes sense. Adding/subtracting hours does not follow\n// this rule.\nvar getSetHour = makeGetSet('Hours', true);\n\n// months\n// week\n// weekdays\n// meridiem\nvar baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n};\n\n// internal storage for locale config files\nvar locales = {};\nvar localeFamilies = {};\nvar globalLocale;\n\nfunction normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n}\n\n// pick the locale from the array\n// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\nfunction chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return null;\n}\n\nfunction loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n}\n\n// This function will load locale and then set the global locale. If\n// no arguments are passed in, it will simply return the current global\n// locale key.\nfunction getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n }\n\n return globalLocale._abbr;\n}\n\nfunction defineLocale (name, config) {\n if (config !== null) {\n var parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n}\n\nfunction updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n}\n\n// returns locale data\nfunction getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n}\n\nfunction listLocales() {\n return keys(locales);\n}\n\nfunction checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n}\n\n// Pick the first defined of two or three arguments.\nfunction defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n}\n\nfunction currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n}\n\n// convert an array to a date.\n// the array should mirror the parameters below\n// note: all values past the year are optional and will default to the lowest possible value.\n// [year, month, day , hour, minute, second, millisecond]\nfunction configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n}\n\nfunction dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from begining of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to begining of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n}\n\n// iso 8601 regex\n// 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\nvar extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\nvar basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\nvar tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\nvar isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n];\n\n// iso time formats and regexes\nvar isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n];\n\nvar aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n// date from iso format\nfunction configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n}\n\n// RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\nvar rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\nfunction extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n}\n\nfunction untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n}\n\nfunction preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').trim();\n}\n\nfunction checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n}\n\nvar obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n};\n\nfunction calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n}\n\n// date and time from ref 2822 format\nfunction configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n}\n\n// date from iso format or fallback\nfunction configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n}\n\nhooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n);\n\n// constant that refers to the ISO standard\nhooks.ISO_8601 = function () {};\n\n// constant that refers to the RFC 2822 form\nhooks.RFC_2822 = function () {};\n\n// date from string and format string\nfunction configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n}\n\n\nfunction meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n}\n\n// date from string and array of format strings\nfunction configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n}\n\nfunction configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n}\n\nfunction createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n}\n\nfunction prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n}\n\nfunction configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n}\n\nfunction createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n}\n\nfunction createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n}\n\nvar prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n);\n\nvar prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n);\n\n// Pick a moment m from moments so that m[fn](other) is true for all\n// other. This relies on the function fn to be transitive.\n//\n// moments should either be an array of moment objects or an array, whose\n// first element is an array of moment objects.\nfunction pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n}\n\n// TODO: Use [].sort instead?\nfunction min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n}\n\nfunction max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n}\n\nvar now = function () {\n return Date.now ? Date.now() : +(new Date());\n};\n\nvar ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\nfunction isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n}\n\nfunction isValid$1() {\n return this._isValid;\n}\n\nfunction createInvalid$1() {\n return createDuration(NaN);\n}\n\nfunction Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n}\n\nfunction isDuration (obj) {\n return obj instanceof Duration;\n}\n\nfunction absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n}\n\n// FORMATTING\n\nfunction offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n}\n\noffset('Z', ':');\noffset('ZZ', '');\n\n// PARSING\n\naddRegexToken('Z', matchShortOffset);\naddRegexToken('ZZ', matchShortOffset);\naddParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n});\n\n// HELPERS\n\n// timezone chunker\n// '+10:00' > ['10', '00']\n// '-1530' > ['-15', '30']\nvar chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\nfunction offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n}\n\n// Return a moment from input, that is local/utc/zone equivalent to model.\nfunction cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n}\n\nfunction getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n}\n\n// HOOKS\n\n// This function will be called whenever a moment is mutated.\n// It is intended to keep the offset in sync with the timezone.\nhooks.updateOffset = function () {};\n\n// MOMENTS\n\n// keepLocalTime = true means only change the timezone, without\n// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n// +0200, so we adjust the time as needed, to be valid.\n//\n// Keeping the time actually adds/subtracts (one hour)\n// from the actual represented time. That is why we call updateOffset\n// a second time. In case it wants us to change the offset again\n// _changeInProgress == true case, then we have to adjust, because\n// there is no such time in the given timezone.\nfunction getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n}\n\nfunction getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n}\n\nfunction setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n}\n\nfunction setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n}\n\nfunction setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n}\n\nfunction hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n}\n\nfunction isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n}\n\nfunction isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n}\n\nfunction isLocal () {\n return this.isValid() ? !this._isUTC : false;\n}\n\nfunction isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n}\n\nfunction isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n}\n\n// ASP.NET json date format regex\nvar aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n// from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n// and further modified to allow for strings containing both week and day\nvar isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\nfunction createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n}\n\ncreateDuration.fn = Duration.prototype;\ncreateDuration.invalid = createInvalid$1;\n\nfunction parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n}\n\nfunction positiveMomentsDifference(base, other) {\n var res = {milliseconds: 0, months: 0};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n}\n\nfunction momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n}\n\n// TODO: remove 'name' arg after deprecation is removed\nfunction createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n}\n\nfunction addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n}\n\nvar add = createAdder(1, 'add');\nvar subtract = createAdder(-1, 'subtract');\n\nfunction getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n}\n\nfunction calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n}\n\nfunction clone () {\n return new Moment(this);\n}\n\nfunction isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n}\n\nfunction isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n}\n\nfunction isBetween (from, to, units, inclusivity) {\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\n}\n\nfunction isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units || 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n}\n\nfunction isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input,units);\n}\n\nfunction isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input,units);\n}\n\nfunction diff (input, units, asFloat) {\n var that,\n zoneDelta,\n delta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n}\n\nfunction monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n}\n\nhooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\nhooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\nfunction toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n}\n\nfunction toISOString() {\n if (!this.isValid()) {\n return null;\n }\n var m = this.clone().utc();\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n return this.toDate().toISOString();\n }\n return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');\n}\n\n/**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\nfunction inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n}\n\nfunction format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n}\n\nfunction from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n}\n\nfunction fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n}\n\nfunction to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n}\n\nfunction toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n}\n\n// If passed a locale key, it will set the locale for this\n// instance. Otherwise, it will return the locale configuration\n// variables for this instance.\nfunction locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n}\n\nvar lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n);\n\nfunction localeData () {\n return this._locale;\n}\n\nfunction startOf (units) {\n units = normalizeUnits(units);\n // the following switch intentionally omits break keywords\n // to utilize falling through the cases.\n switch (units) {\n case 'year':\n this.month(0);\n /* falls through */\n case 'quarter':\n case 'month':\n this.date(1);\n /* falls through */\n case 'week':\n case 'isoWeek':\n case 'day':\n case 'date':\n this.hours(0);\n /* falls through */\n case 'hour':\n this.minutes(0);\n /* falls through */\n case 'minute':\n this.seconds(0);\n /* falls through */\n case 'second':\n this.milliseconds(0);\n }\n\n // weeks are a special case\n if (units === 'week') {\n this.weekday(0);\n }\n if (units === 'isoWeek') {\n this.isoWeekday(1);\n }\n\n // quarters are also special\n if (units === 'quarter') {\n this.month(Math.floor(this.month() / 3) * 3);\n }\n\n return this;\n}\n\nfunction endOf (units) {\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond') {\n return this;\n }\n\n // 'date' is an alias for 'day', so it should be considered as such.\n if (units === 'date') {\n units = 'day';\n }\n\n return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n}\n\nfunction valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n}\n\nfunction unix () {\n return Math.floor(this.valueOf() / 1000);\n}\n\nfunction toDate () {\n return new Date(this.valueOf());\n}\n\nfunction toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n}\n\nfunction toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n}\n\nfunction toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n}\n\nfunction isValid$2 () {\n return isValid(this);\n}\n\nfunction parsingFlags () {\n return extend({}, getParsingFlags(this));\n}\n\nfunction invalidAt () {\n return getParsingFlags(this).overflow;\n}\n\nfunction creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n}\n\n// FORMATTING\n\naddFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n});\n\naddFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n});\n\nfunction addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n}\n\naddWeekYearFormatToken('gggg', 'weekYear');\naddWeekYearFormatToken('ggggg', 'weekYear');\naddWeekYearFormatToken('GGGG', 'isoWeekYear');\naddWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n// ALIASES\n\naddUnitAlias('weekYear', 'gg');\naddUnitAlias('isoWeekYear', 'GG');\n\n// PRIORITY\n\naddUnitPriority('weekYear', 1);\naddUnitPriority('isoWeekYear', 1);\n\n\n// PARSING\n\naddRegexToken('G', matchSigned);\naddRegexToken('g', matchSigned);\naddRegexToken('GG', match1to2, match2);\naddRegexToken('gg', match1to2, match2);\naddRegexToken('GGGG', match1to4, match4);\naddRegexToken('gggg', match1to4, match4);\naddRegexToken('GGGGG', match1to6, match6);\naddRegexToken('ggggg', match1to6, match6);\n\naddWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n});\n\naddWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n});\n\n// MOMENTS\n\nfunction getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n}\n\nfunction getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n}\n\nfunction getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n}\n\nfunction getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n}\n\nfunction getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n}\n\nfunction setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n}\n\n// FORMATTING\n\naddFormatToken('Q', 0, 'Qo', 'quarter');\n\n// ALIASES\n\naddUnitAlias('quarter', 'Q');\n\n// PRIORITY\n\naddUnitPriority('quarter', 7);\n\n// PARSING\n\naddRegexToken('Q', match1);\naddParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n});\n\n// MOMENTS\n\nfunction getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n}\n\n// FORMATTING\n\naddFormatToken('D', ['DD', 2], 'Do', 'date');\n\n// ALIASES\n\naddUnitAlias('date', 'D');\n\n// PRIOROITY\naddUnitPriority('date', 9);\n\n// PARSING\n\naddRegexToken('D', match1to2);\naddRegexToken('DD', match1to2, match2);\naddRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n});\n\naddParseToken(['D', 'DD'], DATE);\naddParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n});\n\n// MOMENTS\n\nvar getSetDayOfMonth = makeGetSet('Date', true);\n\n// FORMATTING\n\naddFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n// ALIASES\n\naddUnitAlias('dayOfYear', 'DDD');\n\n// PRIORITY\naddUnitPriority('dayOfYear', 4);\n\n// PARSING\n\naddRegexToken('DDD', match1to3);\naddRegexToken('DDDD', match3);\naddParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n});\n\n// HELPERS\n\n// MOMENTS\n\nfunction getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n}\n\n// FORMATTING\n\naddFormatToken('m', ['mm', 2], 0, 'minute');\n\n// ALIASES\n\naddUnitAlias('minute', 'm');\n\n// PRIORITY\n\naddUnitPriority('minute', 14);\n\n// PARSING\n\naddRegexToken('m', match1to2);\naddRegexToken('mm', match1to2, match2);\naddParseToken(['m', 'mm'], MINUTE);\n\n// MOMENTS\n\nvar getSetMinute = makeGetSet('Minutes', false);\n\n// FORMATTING\n\naddFormatToken('s', ['ss', 2], 0, 'second');\n\n// ALIASES\n\naddUnitAlias('second', 's');\n\n// PRIORITY\n\naddUnitPriority('second', 15);\n\n// PARSING\n\naddRegexToken('s', match1to2);\naddRegexToken('ss', match1to2, match2);\naddParseToken(['s', 'ss'], SECOND);\n\n// MOMENTS\n\nvar getSetSecond = makeGetSet('Seconds', false);\n\n// FORMATTING\n\naddFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n});\n\naddFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n});\n\naddFormatToken(0, ['SSS', 3], 0, 'millisecond');\naddFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n});\naddFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n});\naddFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n});\naddFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n});\naddFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n});\naddFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n});\n\n\n// ALIASES\n\naddUnitAlias('millisecond', 'ms');\n\n// PRIORITY\n\naddUnitPriority('millisecond', 16);\n\n// PARSING\n\naddRegexToken('S', match1to3, match1);\naddRegexToken('SS', match1to3, match2);\naddRegexToken('SSS', match1to3, match3);\n\nvar token;\nfor (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n}\n\nfunction parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n}\n\nfor (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n}\n// MOMENTS\n\nvar getSetMillisecond = makeGetSet('Milliseconds', false);\n\n// FORMATTING\n\naddFormatToken('z', 0, 0, 'zoneAbbr');\naddFormatToken('zz', 0, 0, 'zoneName');\n\n// MOMENTS\n\nfunction getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n}\n\nfunction getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n}\n\nvar proto = Moment.prototype;\n\nproto.add = add;\nproto.calendar = calendar$1;\nproto.clone = clone;\nproto.diff = diff;\nproto.endOf = endOf;\nproto.format = format;\nproto.from = from;\nproto.fromNow = fromNow;\nproto.to = to;\nproto.toNow = toNow;\nproto.get = stringGet;\nproto.invalidAt = invalidAt;\nproto.isAfter = isAfter;\nproto.isBefore = isBefore;\nproto.isBetween = isBetween;\nproto.isSame = isSame;\nproto.isSameOrAfter = isSameOrAfter;\nproto.isSameOrBefore = isSameOrBefore;\nproto.isValid = isValid$2;\nproto.lang = lang;\nproto.locale = locale;\nproto.localeData = localeData;\nproto.max = prototypeMax;\nproto.min = prototypeMin;\nproto.parsingFlags = parsingFlags;\nproto.set = stringSet;\nproto.startOf = startOf;\nproto.subtract = subtract;\nproto.toArray = toArray;\nproto.toObject = toObject;\nproto.toDate = toDate;\nproto.toISOString = toISOString;\nproto.inspect = inspect;\nproto.toJSON = toJSON;\nproto.toString = toString;\nproto.unix = unix;\nproto.valueOf = valueOf;\nproto.creationData = creationData;\n\n// Year\nproto.year = getSetYear;\nproto.isLeapYear = getIsLeapYear;\n\n// Week Year\nproto.weekYear = getSetWeekYear;\nproto.isoWeekYear = getSetISOWeekYear;\n\n// Quarter\nproto.quarter = proto.quarters = getSetQuarter;\n\n// Month\nproto.month = getSetMonth;\nproto.daysInMonth = getDaysInMonth;\n\n// Week\nproto.week = proto.weeks = getSetWeek;\nproto.isoWeek = proto.isoWeeks = getSetISOWeek;\nproto.weeksInYear = getWeeksInYear;\nproto.isoWeeksInYear = getISOWeeksInYear;\n\n// Day\nproto.date = getSetDayOfMonth;\nproto.day = proto.days = getSetDayOfWeek;\nproto.weekday = getSetLocaleDayOfWeek;\nproto.isoWeekday = getSetISODayOfWeek;\nproto.dayOfYear = getSetDayOfYear;\n\n// Hour\nproto.hour = proto.hours = getSetHour;\n\n// Minute\nproto.minute = proto.minutes = getSetMinute;\n\n// Second\nproto.second = proto.seconds = getSetSecond;\n\n// Millisecond\nproto.millisecond = proto.milliseconds = getSetMillisecond;\n\n// Offset\nproto.utcOffset = getSetOffset;\nproto.utc = setOffsetToUTC;\nproto.local = setOffsetToLocal;\nproto.parseZone = setOffsetToParsedOffset;\nproto.hasAlignedHourOffset = hasAlignedHourOffset;\nproto.isDST = isDaylightSavingTime;\nproto.isLocal = isLocal;\nproto.isUtcOffset = isUtcOffset;\nproto.isUtc = isUtc;\nproto.isUTC = isUtc;\n\n// Timezone\nproto.zoneAbbr = getZoneAbbr;\nproto.zoneName = getZoneName;\n\n// Deprecations\nproto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\nproto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\nproto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\nproto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\nproto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\nfunction createUnix (input) {\n return createLocal(input * 1000);\n}\n\nfunction createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n}\n\nfunction preParsePostFormat (string) {\n return string;\n}\n\nvar proto$1 = Locale.prototype;\n\nproto$1.calendar = calendar;\nproto$1.longDateFormat = longDateFormat;\nproto$1.invalidDate = invalidDate;\nproto$1.ordinal = ordinal;\nproto$1.preparse = preParsePostFormat;\nproto$1.postformat = preParsePostFormat;\nproto$1.relativeTime = relativeTime;\nproto$1.pastFuture = pastFuture;\nproto$1.set = set;\n\n// Month\nproto$1.months = localeMonths;\nproto$1.monthsShort = localeMonthsShort;\nproto$1.monthsParse = localeMonthsParse;\nproto$1.monthsRegex = monthsRegex;\nproto$1.monthsShortRegex = monthsShortRegex;\n\n// Week\nproto$1.week = localeWeek;\nproto$1.firstDayOfYear = localeFirstDayOfYear;\nproto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n// Day of Week\nproto$1.weekdays = localeWeekdays;\nproto$1.weekdaysMin = localeWeekdaysMin;\nproto$1.weekdaysShort = localeWeekdaysShort;\nproto$1.weekdaysParse = localeWeekdaysParse;\n\nproto$1.weekdaysRegex = weekdaysRegex;\nproto$1.weekdaysShortRegex = weekdaysShortRegex;\nproto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n// Hours\nproto$1.isPM = localeIsPM;\nproto$1.meridiem = localeMeridiem;\n\nfunction get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n}\n\nfunction listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n}\n\n// ()\n// (5)\n// (fmt, 5)\n// (fmt)\n// (true)\n// (true, 5)\n// (true, fmt, 5)\n// (true, fmt)\nfunction listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n}\n\nfunction listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n}\n\nfunction listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n}\n\nfunction listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n}\n\nfunction listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n}\n\nfunction listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n}\n\ngetSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n});\n\n// Side effect imports\nhooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\nhooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\nvar mathAbs = Math.abs;\n\nfunction abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n}\n\nfunction addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n}\n\n// supports only 2.0-style add(1, 's') or add(duration)\nfunction add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n}\n\n// supports only 2.0-style subtract(1, 's') or subtract(duration)\nfunction subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n}\n\nfunction absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n}\n\nfunction bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n}\n\nfunction daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n}\n\nfunction monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n}\n\nfunction as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n return units === 'month' ? months : months / 12;\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n}\n\n// TODO: Use this.as('ms')?\nfunction valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n}\n\nfunction makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n}\n\nvar asMilliseconds = makeAs('ms');\nvar asSeconds = makeAs('s');\nvar asMinutes = makeAs('m');\nvar asHours = makeAs('h');\nvar asDays = makeAs('d');\nvar asWeeks = makeAs('w');\nvar asMonths = makeAs('M');\nvar asYears = makeAs('y');\n\nfunction clone$1 () {\n return createDuration(this);\n}\n\nfunction get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n}\n\nfunction makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n}\n\nvar milliseconds = makeGetter('milliseconds');\nvar seconds = makeGetter('seconds');\nvar minutes = makeGetter('minutes');\nvar hours = makeGetter('hours');\nvar days = makeGetter('days');\nvar months = makeGetter('months');\nvar years = makeGetter('years');\n\nfunction weeks () {\n return absFloor(this.days() / 7);\n}\n\nvar round = Math.round;\nvar thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n};\n\n// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\nfunction substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n}\n\nfunction relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n}\n\n// This function allows you to set the rounding function for relative time strings\nfunction getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n}\n\n// This function allows you to set a threshold for relative time strings\nfunction getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n}\n\nfunction humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n}\n\nvar abs$1 = Math.abs;\n\nfunction sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n}\n\nfunction toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n}\n\nvar proto$2 = Duration.prototype;\n\nproto$2.isValid = isValid$1;\nproto$2.abs = abs;\nproto$2.add = add$1;\nproto$2.subtract = subtract$1;\nproto$2.as = as;\nproto$2.asMilliseconds = asMilliseconds;\nproto$2.asSeconds = asSeconds;\nproto$2.asMinutes = asMinutes;\nproto$2.asHours = asHours;\nproto$2.asDays = asDays;\nproto$2.asWeeks = asWeeks;\nproto$2.asMonths = asMonths;\nproto$2.asYears = asYears;\nproto$2.valueOf = valueOf$1;\nproto$2._bubble = bubble;\nproto$2.clone = clone$1;\nproto$2.get = get$2;\nproto$2.milliseconds = milliseconds;\nproto$2.seconds = seconds;\nproto$2.minutes = minutes;\nproto$2.hours = hours;\nproto$2.days = days;\nproto$2.weeks = weeks;\nproto$2.months = months;\nproto$2.years = years;\nproto$2.humanize = humanize;\nproto$2.toISOString = toISOString$1;\nproto$2.toString = toISOString$1;\nproto$2.toJSON = toISOString$1;\nproto$2.locale = locale;\nproto$2.localeData = localeData;\n\n// Deprecations\nproto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\nproto$2.lang = lang;\n\n// Side effect imports\n\n// FORMATTING\n\naddFormatToken('X', 0, 0, 'unix');\naddFormatToken('x', 0, 0, 'valueOf');\n\n// PARSING\n\naddRegexToken('x', matchSigned);\naddRegexToken('X', matchTimestamp);\naddParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n});\naddParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n});\n\n// Side effect imports\n\n\nhooks.version = '2.19.4';\n\nsetHookCallback(createLocal);\n\nhooks.fn = proto;\nhooks.min = min;\nhooks.max = max;\nhooks.now = now;\nhooks.utc = createUTC;\nhooks.unix = createUnix;\nhooks.months = listMonths;\nhooks.isDate = isDate;\nhooks.locale = getSetGlobalLocale;\nhooks.invalid = createInvalid;\nhooks.duration = createDuration;\nhooks.isMoment = isMoment;\nhooks.weekdays = listWeekdays;\nhooks.parseZone = createInZone;\nhooks.localeData = getLocale;\nhooks.isDuration = isDuration;\nhooks.monthsShort = listMonthsShort;\nhooks.weekdaysMin = listWeekdaysMin;\nhooks.defineLocale = defineLocale;\nhooks.updateLocale = updateLocale;\nhooks.locales = listLocales;\nhooks.weekdaysShort = listWeekdaysShort;\nhooks.normalizeUnits = normalizeUnits;\nhooks.relativeTimeRounding = getSetRelativeTimeRounding;\nhooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\nhooks.calendarFormat = getCalendarFormat;\nhooks.prototype = proto;\n\nreturn hooks;\n\n})));\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = require(\"regenerator-runtime\");\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","var _Object$defineProperty = require(\"../core-js/object/define-property\");\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n\n _Object$defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","var _Object$defineProperty = require(\"../core-js/object/define-property\");\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","var _Promise = require(\"../core-js/promise\");\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n _Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new _Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","module.exports = require(\"core-js-pure/stable/instance/filter\");","module.exports = require(\"core-js-pure/stable/instance/find\");","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","module.exports = require(\"core-js-pure/stable/parse-int\");","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof NativeConstructor) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return NativeConstructor.apply(this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? global : STATIC ? global[TARGET] : (global[TARGET] || {}).prototype;\n\n var target = GLOBAL ? path : path[TARGET] || (path[TARGET] = {});\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && has(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (USE_NATIVE && typeof targetProperty === typeof sourceProperty) continue;\n\n // bind timers to global for call from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, global);\n // wrap global constructors for prevent changs in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && typeof sourceProperty == 'function') resultProperty = bind(Function.call, sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n target[key] = resultProperty;\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!has(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n path[VIRTUAL_PROTOTYPE][key] = sourceProperty;\n // export real prototype methods\n if (options.real && targetPrototype && !targetPrototype[key]) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","module.exports = require(\"core-js-pure/stable/instance/trim\");","module.exports = require(\"core-js-pure/stable/instance/slice\");","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require(\"core-js-pure/stable/set-timeout\");","module.exports = require(\"core-js-pure/stable/instance/reduce\");","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","module.exports = require(\"core-js-pure/stable/promise\");","/// <reference lib=\"dom\" />\nimport { isString } from './is';\n/**\n * Requires a module which is protected _against bundler minification.\n *\n * @param request The module path to resolve\n */\nexport function dynamicRequire(mod, request) {\n // tslint:disable-next-line: no-unsafe-any\n return mod.require(request);\n}\n/**\n * Checks whether we're in the Node.js or Browser environment\n *\n * @returns Answer to given question\n */\nexport function isNodeEnv() {\n // tslint:disable:strict-type-predicates\n return Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]';\n}\nvar fallbackGlobalObject = {};\n/**\n * Safely get global scope object\n *\n * @returns Global scope object\n */\nexport function getGlobalObject() {\n return (isNodeEnv()\n ? global\n : typeof window !== 'undefined'\n ? window\n : typeof self !== 'undefined'\n ? self\n : fallbackGlobalObject);\n}\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nexport function uuid4() {\n var global = getGlobalObject();\n var crypto = global.crypto || global.msCrypto;\n if (!(crypto === void 0) && crypto.getRandomValues) {\n // Use window.crypto API if available\n var arr = new Uint16Array(8);\n crypto.getRandomValues(arr);\n // set 4 in byte 7\n // tslint:disable-next-line:no-bitwise\n arr[3] = (arr[3] & 0xfff) | 0x4000;\n // set 2 most significant bits of byte 9 to '10'\n // tslint:disable-next-line:no-bitwise\n arr[4] = (arr[4] & 0x3fff) | 0x8000;\n var pad = function (num) {\n var v = num.toString(16);\n while (v.length < 4) {\n v = \"0\" + v;\n }\n return v;\n };\n return (pad(arr[0]) + pad(arr[1]) + pad(arr[2]) + pad(arr[3]) + pad(arr[4]) + pad(arr[5]) + pad(arr[6]) + pad(arr[7]));\n }\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n // tslint:disable-next-line:no-bitwise\n var r = (Math.random() * 16) | 0;\n // tslint:disable-next-line:no-bitwise\n var v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n/**\n * Parses string form of URL into an object\n * // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B\n * // intentionally using regex and not <a/> href parsing trick because React Native and other\n * // environments where DOM might not be available\n * @returns parsed URL object\n */\nexport function parseUrl(url) {\n if (!url) {\n return {};\n }\n var match = url.match(/^(([^:\\/?#]+):)?(\\/\\/([^\\/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n if (!match) {\n return {};\n }\n // coerce to undefined values to empty string so we don't get 'undefined'\n var query = match[6] || '';\n var fragment = match[8] || '';\n return {\n host: match[4],\n path: match[5],\n protocol: match[2],\n relative: match[5] + query + fragment,\n };\n}\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nexport function getEventDescription(event) {\n if (event.message) {\n return event.message;\n }\n if (event.exception && event.exception.values && event.exception.values[0]) {\n var exception = event.exception.values[0];\n if (exception.type && exception.value) {\n return exception.type + \": \" + exception.value;\n }\n return exception.type || exception.value || event.event_id || '<unknown>';\n }\n return event.event_id || '<unknown>';\n}\n/** JSDoc */\nexport function consoleSandbox(callback) {\n var global = getGlobalObject();\n var levels = ['debug', 'info', 'warn', 'error', 'log', 'assert'];\n if (!('console' in global)) {\n return callback();\n }\n var originalConsole = global.console;\n var wrappedLevels = {};\n // Restore all wrapped console methods\n levels.forEach(function (level) {\n if (level in global.console && originalConsole[level].__sentry__) {\n wrappedLevels[level] = originalConsole[level].__sentry_wrapped__;\n originalConsole[level] = originalConsole[level].__sentry_original__;\n }\n });\n // Perform callback manipulations\n var result = callback();\n // Revert restoration to wrapped state\n Object.keys(wrappedLevels).forEach(function (level) {\n originalConsole[level] = wrappedLevels[level];\n });\n return result;\n}\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nexport function addExceptionTypeValue(event, value, type) {\n event.exception = event.exception || {};\n event.exception.values = event.exception.values || [];\n event.exception.values[0] = event.exception.values[0] || {};\n event.exception.values[0].value = event.exception.values[0].value || value || '';\n event.exception.values[0].type = event.exception.values[0].type || type || 'Error';\n}\n/**\n * Adds exception mechanism to a given event.\n * @param event The event to modify.\n * @param mechanism Mechanism of the mechanism.\n * @hidden\n */\nexport function addExceptionMechanism(event, mechanism) {\n if (mechanism === void 0) { mechanism = {}; }\n // TODO: Use real type with `keyof Mechanism` thingy and maybe make it better?\n try {\n // @ts-ignore\n // tslint:disable:no-non-null-assertion\n event.exception.values[0].mechanism = event.exception.values[0].mechanism || {};\n Object.keys(mechanism).forEach(function (key) {\n // @ts-ignore\n event.exception.values[0].mechanism[key] = mechanism[key];\n });\n }\n catch (_oO) {\n // no-empty\n }\n}\n/**\n * A safe form of location.href\n */\nexport function getLocationHref() {\n try {\n return document.location.href;\n }\n catch (oO) {\n return '';\n }\n}\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nexport function htmlTreeAsString(elem) {\n // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n try {\n var currentElem = elem;\n var MAX_TRAVERSE_HEIGHT = 5;\n var MAX_OUTPUT_LEN = 80;\n var out = [];\n var height = 0;\n var len = 0;\n var separator = ' > ';\n var sepLength = separator.length;\n var nextStr = void 0;\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem);\n // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds MAX_OUTPUT_LEN\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)) {\n break;\n }\n out.push(nextStr);\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n return out.reverse().join(separator);\n }\n catch (_oO) {\n return '<unknown>';\n }\n}\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(elem) {\n var out = [];\n var className;\n var classes;\n var key;\n var attr;\n var i;\n if (!elem || !elem.tagName) {\n return '';\n }\n out.push(elem.tagName.toLowerCase());\n if (elem.id) {\n out.push(\"#\" + elem.id);\n }\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push(\".\" + classes[i]);\n }\n }\n var attrWhitelist = ['type', 'name', 'title', 'alt'];\n for (i = 0; i < attrWhitelist.length; i++) {\n key = attrWhitelist[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push(\"[\" + key + \"=\\\"\" + attr + \"\\\"]\");\n }\n }\n return out.join('');\n}\n//# sourceMappingURL=misc.js.map","module.exports = {};\n","module.exports = require(\"core-js-pure/stable/instance/index-of\");","module.exports = require(\"core-js-pure/stable/object/keys\");","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","module.exports = require(\"core-js-pure/stable/instance/for-each\");","var path = require('../internals/path');\n\nmodule.exports = function (CONSTRUCTOR) {\n return path[CONSTRUCTOR + 'Prototype'];\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","/// <reference lib=\"dom\" />\n/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isError(wat) {\n switch (Object.prototype.toString.call(wat)) {\n case '[object Error]':\n return true;\n case '[object Exception]':\n return true;\n case '[object DOMException]':\n return true;\n default:\n return wat instanceof Error;\n }\n}\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isErrorEvent(wat) {\n return Object.prototype.toString.call(wat) === '[object ErrorEvent]';\n}\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMError(wat) {\n return Object.prototype.toString.call(wat) === '[object DOMError]';\n}\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMException(wat) {\n return Object.prototype.toString.call(wat) === '[object DOMException]';\n}\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isString(wat) {\n return Object.prototype.toString.call(wat) === '[object String]';\n}\n/**\n * Checks whether given value's is a primitive (undefined, null, number, boolean, string)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPrimitive(wat) {\n return wat === null || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n/**\n * Checks whether given value's type is an object literal\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPlainObject(wat) {\n return Object.prototype.toString.call(wat) === '[object Object]';\n}\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isEvent(wat) {\n // tslint:disable-next-line:strict-type-predicates\n return typeof Event !== 'undefined' && wat instanceof Event;\n}\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isElement(wat) {\n // tslint:disable-next-line:strict-type-predicates\n return typeof Element !== 'undefined' && wat instanceof Element;\n}\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isRegExp(wat) {\n return Object.prototype.toString.call(wat) === '[object RegExp]';\n}\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nexport function isThenable(wat) {\n // tslint:disable:no-unsafe-any\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n // tslint:enable:no-unsafe-any\n}\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isSyntheticEvent(wat) {\n // tslint:disable-next-line:no-unsafe-any\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n//# sourceMappingURL=is.js.map","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '</' + tag + '>';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","module.exports = require(\"core-js-pure/stable/set-interval\");","module.exports = require(\"core-js-pure/stable/object/get-own-property-descriptors\");","module.exports = require(\"core-js-pure/stable/object/get-own-property-descriptor\");","module.exports = require(\"core-js-pure/stable/object/get-own-property-symbols\");","var core = module.exports = { version: '2.6.11' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n","module.exports = require(\"core-js-pure/stable/object/assign\");","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('mithril/stream'), require('underscore'), require('mithril')) :\n\ttypeof define === 'function' && define.amd ? define(['mithril/stream', 'underscore', 'mithril'], factory) :\n\t(global.Postgrest = factory(global.prop,global._,global.m));\n}(this, (function (prop,_,mithril) { 'use strict';\n\nprop = prop && prop.hasOwnProperty('default') ? prop['default'] : prop;\n_ = _ && _.hasOwnProperty('default') ? _['default'] : _;\nmithril = mithril && mithril.hasOwnProperty('default') ? mithril['default'] : mithril;\n\nvar filtersVM = function filtersVM(attributes) {\n var newVM = {},\n filter = function filter() {\n var innerProp = prop(''),\n filterProp = function filterProp(value) {\n if (arguments.length > 0) {\n innerProp(value);\n return newVM;\n }\n return innerProp();\n };\n // Just so we can have a default to_filter and avoid if _.isFunction calls\n filterProp.toFilter = function () {\n return _.isString(filterProp()) ? filterProp().trim() : filterProp();\n };\n\n function objectToLogicOperation(obj) {\n return '(' + Object.keys(obj).map(function (key) {\n if (key === 'or' || key === 'and') {\n return '' + key + objectToLogicOperation(obj[key]);\n } else {\n return '' + Object.keys(obj[key]).map(function (innerKey) {\n if (innerKey === 'or' || innerKey === 'and') {\n return '' + innerKey + objectToLogicOperation(obj[key][innerKey]);\n } else {\n return key + '.' + innerKey + '.' + obj[key][innerKey];\n }\n }).join(',');\n }\n }).join(',') + ')';\n }\n\n filterProp.logicOperators = function () {\n return objectToLogicOperation(filterProp.toFilter());\n };\n\n return filterProp;\n },\n getters = _.reduce(attributes, function (memo, operator, attr) {\n // The operator between is implemented with two properties, one for greater than value and another for lesser than value.\n // Both properties are sent in the queurystring with the same name,\n // that's why we need the special case here, so we can use a simple map as argument to filtersVM.\n if (operator === 'between') {\n memo[attr] = {\n lte: filter(),\n gte: filter()\n };\n } else {\n memo[attr] = filter();\n }\n return memo;\n }, {\n order: filter()\n }),\n parametersWithoutOrder = function parametersWithoutOrder() {\n return _.reduce(getters, function (memo, getter, attr) {\n if (attr !== 'order') {\n var operator = attributes[attr];\n\n if (_.isFunction(getter.toFilter) && (getter.toFilter() === undefined || getter.toFilter() === '')) {\n return memo;\n }\n\n // Bellow we use different formatting rules for the value depending on the operator\n // These rules are used regardless of the toFilter function,\n // so the user can use a custom toFilter without having to worry with basic filter syntax\n if (operator === 'ilike' || operator === 'like') {\n memo[attr] = operator + '.*' + getter.toFilter() + '*';\n } else if (operator === '@@') {\n memo[attr] = operator + '.' + getter.toFilter().replace(/\\s+/g, '&');\n } else if (operator === 'between') {\n if (!getter.lte.toFilter() && !getter.gte.toFilter()) {\n return memo;\n }\n memo[attr] = [];\n if (getter.gte()) {\n memo[attr].push('gte.' + getter.gte.toFilter());\n }\n if (getter.lte()) {\n memo[attr].push('lte.' + getter.lte.toFilter());\n }\n } else if (operator === 'is.null') {\n memo[attr] = getter.toFilter() === null ? 'is.null' : 'not.is.null';\n } else if (operator === 'or' || operator === 'and') {\n memo[operator] = getter.logicOperators();\n } else if (operator === 'select') {\n memo[operator] = getter.toFilter();\n } else {\n memo[attr] = operator + '.' + getter.toFilter();\n }\n }\n return memo;\n }, {});\n },\n parameters = function parameters() {\n // The order parameters have a special syntax (just like an order by SQL clause)\n // https://github.com/begriffs/postgrest/wiki/Routing#filtering-and-ordering\n var order = function order() {\n return getters.order() && _.reduce(getters.order(), function (memo, direction, attr) {\n memo.push(attr + '.' + direction);\n return memo;\n }, []).join(',');\n },\n orderParameter = order() ? {\n order: order()\n } : {};\n\n return _.extend({}, orderParameter, parametersWithoutOrder());\n };\n\n return _.extend(newVM, getters, {\n parameters: parameters,\n parametersWithoutOrder: parametersWithoutOrder\n });\n};\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar paginationVM = function paginationVM(mithilInstance) {\n return function (model, order) {\n var extraHeaders = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var authenticate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n\n var collection = prop([]),\n defaultOrder = order || 'id.desc',\n filters = prop({\n order: defaultOrder\n }),\n isLoading = prop(false),\n page = prop(1),\n resultsCount = prop(),\n pageRequest = authenticate ? model.getPageWithToken : model.getPage,\n total = prop();\n\n var fetch = function fetch() {\n return new Promise(function (resolve, reject) {\n\n var getTotal = function getTotal(xhr) {\n if (!xhr || xhr.status === 0) {\n return JSON.stringify({\n hint: null,\n details: null,\n code: 0,\n message: 'Connection error'\n });\n }\n var rangeHeader = xhr.getResponseHeader('Content-Range');\n if (_.isString(rangeHeader)) {\n var _rangeHeader$split = rangeHeader.split('/'),\n _rangeHeader$split2 = _slicedToArray(_rangeHeader$split, 2),\n headerSize = _rangeHeader$split2[0],\n headerCount = _rangeHeader$split2[1],\n _headerSize$split = headerSize.split('-'),\n _headerSize$split2 = _slicedToArray(_headerSize$split, 2),\n headerFrom = _headerSize$split2[0],\n headerTo = _headerSize$split2[1],\n to = parseInt(headerTo) + 1 || 0,\n from = parseInt(headerFrom) || 0;\n\n total(parseInt(headerCount));\n resultsCount(to - from);\n }\n\n try {\n return JSON.parse(xhr.responseText);\n } catch (ex) {\n return JSON.stringify({\n hint: null,\n details: null,\n code: 0,\n message: xhr.responseText\n });\n }\n };\n isLoading(true);\n pageRequest(filters(), page(), {\n background: false,\n extract: getTotal\n }, extraHeaders).then(function (data) {\n collection(_.union(collection(), data));\n isLoading(false);\n resolve(collection());\n }).catch(function (error) {\n isLoading(false);\n total(0);\n reject(error);\n });\n });\n },\n firstPage = function firstPage(parameters) {\n filters(_.extend({\n order: defaultOrder\n }, parameters));\n collection([]);\n page(1);\n return fetch();\n },\n isLastPage = function isLastPage() {\n return model.pageSize() > resultsCount();\n },\n nextPage = function nextPage() {\n page(page() + 1);\n return fetch();\n };\n\n return {\n collection: collection,\n firstPage: firstPage,\n isLoading: isLoading,\n nextPage: nextPage,\n isLastPage: isLastPage,\n total: total,\n resultsCount: resultsCount\n };\n };\n};\n\n/**\n * This takes the mithril instance that will handle redraw \n * on occurence of a dom element event or some m.request\n * call.\n * @param {Mithril} mithrilInstance \n */\nfunction Postgrest(mithrilInstance) {\n var m = mithrilInstance || mithril;\n var postgrest = {};\n var token = prop(),\n mergeConfig = function mergeConfig(config, options) {\n return options && _.isFunction(options.config) ? _.compose(options.config, config) : config;\n },\n addHeaders = function addHeaders(headers) {\n return function (xhr) {\n _.each(headers, function (value, key) {\n xhr.setRequestHeader(key, value);\n });\n return xhr;\n };\n },\n addConfigHeaders = function addConfigHeaders(headers, options) {\n return _.extend({}, options, {\n config: mergeConfig(addHeaders(headers), options)\n });\n },\n createLoader = function createLoader(requestFunction, options) {\n var defaultState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var loader = prop(defaultState);\n loader.load = function () {\n\n return new Promise(function (resolve, reject) {\n loader(true);\n requestFunction(_.extend({}, options, {\n background: false\n })).then(function (data) {\n loader(false);\n resolve(data);\n }).catch(function (error) {\n loader(false);\n reject(error);\n });\n });\n };\n return loader;\n },\n representationHeader = {\n 'Prefer': 'return=representation'\n };\n\n postgrest.token = token;\n\n postgrest.init = function (apiPrefix, authenticationOptions) {\n var globalHeader = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n postgrest.request = function (options) {\n var errorHandler = function errorHandler(xhr) {\n try {\n return JSON.parse(xhr.responseText);\n } catch (ex) {\n return JSON.stringify({\n hint: null,\n details: null,\n code: 0,\n message: xhr.responseText\n });\n }\n };\n var configHeadersToAdd = addConfigHeaders(globalHeader, _.extend({ extract: errorHandler }, options, {\n url: apiPrefix + options.url\n }));\n return m.request(configHeadersToAdd);\n };\n\n var authenticationRequested = prop(false);\n postgrest.authenticate = function (delegatedDeferred) {\n var deferred = delegatedDeferred || new Promise(function (resolve, reject) {\n var workingCall = function workingCall() {\n if (token()) {\n resolve({ token: token() });\n } else if (!authenticationRequested()) {\n\n authenticationRequested(true);\n m.request(_.extend({}, authenticationOptions)).then(function (data) {\n authenticationRequested(false);\n token(data.token);\n resolve({ token: token() });\n }).catch(function (data) {\n authenticationRequested(false);\n reject(data);\n });\n } else {\n setTimeout(workingCall, 250);\n }\n };\n workingCall();\n });\n return deferred;\n };\n\n postgrest.requestWithToken = function (options) {\n\n return postgrest.authenticate().then(function () {\n return postgrest.request(addConfigHeaders({\n 'Authorization': 'Bearer ' + token()\n }, options));\n }).catch(function () {\n return postgrest.request(options);\n });\n };\n\n postgrest.loader = _.partial(createLoader, postgrest.request);\n\n postgrest.loaderWithToken = _.partial(createLoader, postgrest.requestWithToken);\n\n postgrest.model = function (name) {\n var paginationHeaders = function paginationHeaders(page, pageSize) {\n if (!pageSize) {\n return;\n }\n\n var toRange = function toRange() {\n var from = (page - 1) * pageSize,\n to = from + pageSize - 1;\n return from + '-' + to;\n };\n\n return {\n 'Range-unit': 'items',\n 'Range': toRange()\n };\n },\n pageSize = prop(10),\n nameOptions = {\n url: '/' + name\n },\n getOptions = function getOptions(data, page, pageSize, options) {\n var headers = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\n\n var extraHeaders = _.extend({}, {\n 'Prefer': 'count=none'\n }, headers, paginationHeaders(page, pageSize));\n return addConfigHeaders(extraHeaders, _.extend({}, options, nameOptions, {\n method: 'GET',\n data: data\n }));\n },\n querystring = function querystring(filters, options) {\n options.url += '?' + m.buildQueryString(filters);\n return options;\n },\n options = function options(_options) {\n return postgrest.request(_.extend({}, _options, nameOptions, {\n method: 'OPTIONS'\n }));\n },\n postOptions = function postOptions(attributes, options) {\n var headers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var extraHeaders = _.extend({}, representationHeader, headers);\n return addConfigHeaders(extraHeaders, _.extend({}, options, nameOptions, {\n method: 'POST',\n data: attributes\n }));\n },\n deleteOptions = function deleteOptions(filters, options) {\n var headers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var extraHeaders = _.extend({}, representationHeader, headers);\n return querystring(filters, addConfigHeaders(extraHeaders, _.extend({}, options, nameOptions, {\n method: 'DELETE'\n })));\n },\n patchOptions = function patchOptions(filters, attributes, options) {\n var headers = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var extraHeaders = _.extend({}, representationHeader, headers);\n return querystring(filters, addConfigHeaders(extraHeaders, _.extend({}, options, nameOptions, {\n method: 'PATCH',\n data: attributes\n })));\n },\n getPageOptions = function getPageOptions(data, page, options) {\n var headers = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n return getOptions(data, page || 1, pageSize(), options, headers);\n },\n getRowOptions = function getRowOptions(data, options) {\n var headers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n return getOptions(data, 1, 1, options, headers);\n };\n\n return {\n pageSize: pageSize,\n getPageOptions: getPageOptions,\n getRowOptions: getRowOptions,\n patchOptions: patchOptions,\n postOptions: postOptions,\n deleteOptions: deleteOptions,\n getPage: _.compose(postgrest.request, getPageOptions),\n getRow: _.compose(postgrest.request, getRowOptions),\n patch: _.compose(postgrest.request, patchOptions),\n post: _.compose(postgrest.request, postOptions),\n deleteRequest: _.compose(postgrest.request, deleteOptions),\n getPageWithToken: _.compose(postgrest.requestWithToken, getPageOptions),\n getRowWithToken: _.compose(postgrest.requestWithToken, getRowOptions),\n patchWithToken: _.compose(postgrest.requestWithToken, patchOptions),\n postWithToken: _.compose(postgrest.requestWithToken, postOptions),\n deleteWithToken: _.compose(postgrest.requestWithToken, deleteOptions),\n options: options\n };\n };\n\n return postgrest;\n };\n\n postgrest.filtersVM = filtersVM;\n postgrest.paginationVM = paginationVM(mithrilInstance);\n\n return postgrest;\n}\n\nreturn Postgrest;\n\n})));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlcyI6WyJzcmMvKiovKi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gKGdsb2JhbCwgZmFjdG9yeSkge1xuXHR0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgPyBtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkocmVxdWlyZSgnbWl0aHJpbC9zdHJlYW0nKSwgcmVxdWlyZSgndW5kZXJzY29yZScpLCByZXF1aXJlKCdtaXRocmlsJykpIDpcblx0dHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKFsnbWl0aHJpbC9zdHJlYW0nLCAndW5kZXJzY29yZScsICdtaXRocmlsJ10sIGZhY3RvcnkpIDpcblx0KGdsb2JhbC5Qb3N0Z3Jlc3QgPSBmYWN0b3J5KGdsb2JhbC5wcm9wLGdsb2JhbC5fLGdsb2JhbC5tKSk7XG59KHRoaXMsIChmdW5jdGlvbiAocHJvcCxfLG1pdGhyaWwpIHsgJ3VzZSBzdHJpY3QnO1xuXG5wcm9wID0gcHJvcCAmJiBwcm9wLmhhc093blByb3BlcnR5KCdkZWZhdWx0JykgPyBwcm9wWydkZWZhdWx0J10gOiBwcm9wO1xuXyA9IF8gJiYgXy5oYXNPd25Qcm9wZXJ0eSgnZGVmYXVsdCcpID8gX1snZGVmYXVsdCddIDogXztcbm1pdGhyaWwgPSBtaXRocmlsICYmIG1pdGhyaWwuaGFzT3duUHJvcGVydHkoJ2RlZmF1bHQnKSA/IG1pdGhyaWxbJ2RlZmF1bHQnXSA6IG1pdGhyaWw7XG5cbnZhciBmaWx0ZXJzVk0gPSBmdW5jdGlvbiBmaWx0ZXJzVk0oYXR0cmlidXRlcykge1xuICAgIHZhciBuZXdWTSA9IHt9LFxuICAgICAgICBmaWx0ZXIgPSBmdW5jdGlvbiBmaWx0ZXIoKSB7XG4gICAgICAgIHZhciBpbm5lclByb3AgPSBwcm9wKCcnKSxcbiAgICAgICAgICAgIGZpbHRlclByb3AgPSBmdW5jdGlvbiBmaWx0ZXJQcm9wKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBpbm5lclByb3AodmFsdWUpO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXdWTTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpbm5lclByb3AoKTtcbiAgICAgICAgfTtcbiAgICAgICAgLy8gSnVzdCBzbyB3ZSBjYW4gaGF2ZSBhIGRlZmF1bHQgdG9fZmlsdGVyIGFuZCBhdm9pZCBpZiBfLmlzRnVuY3Rpb24gY2FsbHNcbiAgICAgICAgZmlsdGVyUHJvcC50b0ZpbHRlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBfLmlzU3RyaW5nKGZpbHRlclByb3AoKSkgPyBmaWx0ZXJQcm9wKCkudHJpbSgpIDogZmlsdGVyUHJvcCgpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGZ1bmN0aW9uIG9iamVjdFRvTG9naWNPcGVyYXRpb24ob2JqKSB7XG4gICAgICAgICAgICByZXR1cm4gJygnICsgT2JqZWN0LmtleXMob2JqKS5tYXAoZnVuY3Rpb24gKGtleSkge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09ICdvcicgfHwga2V5ID09PSAnYW5kJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJycgKyBrZXkgKyBvYmplY3RUb0xvZ2ljT3BlcmF0aW9uKG9ialtrZXldKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJycgKyBPYmplY3Qua2V5cyhvYmpba2V5XSkubWFwKGZ1bmN0aW9uIChpbm5lcktleSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlubmVyS2V5ID09PSAnb3InIHx8IGlubmVyS2V5ID09PSAnYW5kJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnJyArIGlubmVyS2V5ICsgb2JqZWN0VG9Mb2dpY09wZXJhdGlvbihvYmpba2V5XVtpbm5lcktleV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ga2V5ICsgJy4nICsgaW5uZXJLZXkgKyAnLicgKyBvYmpba2V5XVtpbm5lcktleV07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pLmpvaW4oJywnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KS5qb2luKCcsJykgKyAnKSc7XG4gICAgICAgIH1cblxuICAgICAgICBmaWx0ZXJQcm9wLmxvZ2ljT3BlcmF0b3JzID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIG9iamVjdFRvTG9naWNPcGVyYXRpb24oZmlsdGVyUHJvcC50b0ZpbHRlcigpKTtcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gZmlsdGVyUHJvcDtcbiAgICB9LFxuICAgICAgICBnZXR0ZXJzID0gXy5yZWR1Y2UoYXR0cmlidXRlcywgZnVuY3Rpb24gKG1lbW8sIG9wZXJhdG9yLCBhdHRyKSB7XG4gICAgICAgIC8vIFRoZSBvcGVyYXRvciBiZXR3ZWVuIGlzIGltcGxlbWVudGVkIHdpdGggdHdvIHByb3BlcnRpZXMsIG9uZSBmb3IgZ3JlYXRlciB0aGFuIHZhbHVlIGFuZCBhbm90aGVyIGZvciBsZXNzZXIgdGhhbiB2YWx1ZS5cbiAgICAgICAgLy8gQm90aCBwcm9wZXJ0aWVzIGFyZSBzZW50IGluIHRoZSBxdWV1cnlzdHJpbmcgd2l0aCB0aGUgc2FtZSBuYW1lLFxuICAgICAgICAvLyB0aGF0J3Mgd2h5IHdlIG5lZWQgdGhlIHNwZWNpYWwgY2FzZSBoZXJlLCBzbyB3ZSBjYW4gdXNlIGEgc2ltcGxlIG1hcCBhcyBhcmd1bWVudCB0byBmaWx0ZXJzVk0uXG4gICAgICAgIGlmIChvcGVyYXRvciA9PT0gJ2JldHdlZW4nKSB7XG4gICAgICAgICAgICBtZW1vW2F0dHJdID0ge1xuICAgICAgICAgICAgICAgIGx0ZTogZmlsdGVyKCksXG4gICAgICAgICAgICAgICAgZ3RlOiBmaWx0ZXIoKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1lbW9bYXR0cl0gPSBmaWx0ZXIoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWVtbztcbiAgICB9LCB7XG4gICAgICAgIG9yZGVyOiBmaWx0ZXIoKVxuICAgIH0pLFxuICAgICAgICBwYXJhbWV0ZXJzV2l0aG91dE9yZGVyID0gZnVuY3Rpb24gcGFyYW1ldGVyc1dpdGhvdXRPcmRlcigpIHtcbiAgICAgICAgcmV0dXJuIF8ucmVkdWNlKGdldHRlcnMsIGZ1bmN0aW9uIChtZW1vLCBnZXR0ZXIsIGF0dHIpIHtcbiAgICAgICAgICAgIGlmIChhdHRyICE9PSAnb3JkZXInKSB7XG4gICAgICAgICAgICAgICAgdmFyIG9wZXJhdG9yID0gYXR0cmlidXRlc1thdHRyXTtcblxuICAgICAgICAgICAgICAgIGlmIChfLmlzRnVuY3Rpb24oZ2V0dGVyLnRvRmlsdGVyKSAmJiAoZ2V0dGVyLnRvRmlsdGVyKCkgPT09IHVuZGVmaW5lZCB8fCBnZXR0ZXIudG9GaWx0ZXIoKSA9PT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtZW1vO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIEJlbGxvdyB3ZSB1c2UgZGlmZmVyZW50IGZvcm1hdHRpbmcgcnVsZXMgZm9yIHRoZSB2YWx1ZSBkZXBlbmRpbmcgb24gdGhlIG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgLy8gVGhlc2UgcnVsZXMgYXJlIHVzZWQgcmVnYXJkbGVzcyBvZiB0aGUgdG9GaWx0ZXIgZnVuY3Rpb24sXG4gICAgICAgICAgICAgICAgLy8gc28gdGhlIHVzZXIgY2FuIHVzZSBhIGN1c3RvbSB0b0ZpbHRlciB3aXRob3V0IGhhdmluZyB0byB3b3JyeSB3aXRoIGJhc2ljIGZpbHRlciBzeW50YXhcbiAgICAgICAgICAgICAgICBpZiAob3BlcmF0b3IgPT09ICdpbGlrZScgfHwgb3BlcmF0b3IgPT09ICdsaWtlJykge1xuICAgICAgICAgICAgICAgICAgICBtZW1vW2F0dHJdID0gb3BlcmF0b3IgKyAnLionICsgZ2V0dGVyLnRvRmlsdGVyKCkgKyAnKic7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChvcGVyYXRvciA9PT0gJ0BAJykge1xuICAgICAgICAgICAgICAgICAgICBtZW1vW2F0dHJdID0gb3BlcmF0b3IgKyAnLicgKyBnZXR0ZXIudG9GaWx0ZXIoKS5yZXBsYWNlKC9cXHMrL2csICcmJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChvcGVyYXRvciA9PT0gJ2JldHdlZW4nKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghZ2V0dGVyLmx0ZS50b0ZpbHRlcigpICYmICFnZXR0ZXIuZ3RlLnRvRmlsdGVyKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBtZW1vO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG1lbW9bYXR0cl0gPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGdldHRlci5ndGUoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWVtb1thdHRyXS5wdXNoKCdndGUuJyArIGdldHRlci5ndGUudG9GaWx0ZXIoKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGdldHRlci5sdGUoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWVtb1thdHRyXS5wdXNoKCdsdGUuJyArIGdldHRlci5sdGUudG9GaWx0ZXIoKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG9wZXJhdG9yID09PSAnaXMubnVsbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgbWVtb1thdHRyXSA9IGdldHRlci50b0ZpbHRlcigpID09PSBudWxsID8gJ2lzLm51bGwnIDogJ25vdC5pcy5udWxsJztcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG9wZXJhdG9yID09PSAnb3InIHx8IG9wZXJhdG9yID09PSAnYW5kJykge1xuICAgICAgICAgICAgICAgICAgICBtZW1vW29wZXJhdG9yXSA9IGdldHRlci5sb2dpY09wZXJhdG9ycygpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAob3BlcmF0b3IgPT09ICdzZWxlY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIG1lbW9bb3BlcmF0b3JdID0gZ2V0dGVyLnRvRmlsdGVyKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbWVtb1thdHRyXSA9IG9wZXJhdG9yICsgJy4nICsgZ2V0dGVyLnRvRmlsdGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG1lbW87XG4gICAgICAgIH0sIHt9KTtcbiAgICB9LFxuICAgICAgICBwYXJhbWV0ZXJzID0gZnVuY3Rpb24gcGFyYW1ldGVycygpIHtcbiAgICAgICAgLy8gVGhlIG9yZGVyIHBhcmFtZXRlcnMgaGF2ZSBhIHNwZWNpYWwgc3ludGF4IChqdXN0IGxpa2UgYW4gb3JkZXIgYnkgU1FMIGNsYXVzZSlcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2JlZ3JpZmZzL3Bvc3RncmVzdC93aWtpL1JvdXRpbmcjZmlsdGVyaW5nLWFuZC1vcmRlcmluZ1xuICAgICAgICB2YXIgb3JkZXIgPSBmdW5jdGlvbiBvcmRlcigpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXR0ZXJzLm9yZGVyKCkgJiYgXy5yZWR1Y2UoZ2V0dGVycy5vcmRlcigpLCBmdW5jdGlvbiAobWVtbywgZGlyZWN0aW9uLCBhdHRyKSB7XG4gICAgICAgICAgICAgICAgbWVtby5wdXNoKGF0dHIgKyAnLicgKyBkaXJlY3Rpb24pO1xuICAgICAgICAgICAgICAgIHJldHVybiBtZW1vO1xuICAgICAgICAgICAgfSwgW10pLmpvaW4oJywnKTtcbiAgICAgICAgfSxcbiAgICAgICAgICAgIG9yZGVyUGFyYW1ldGVyID0gb3JkZXIoKSA/IHtcbiAgICAgICAgICAgIG9yZGVyOiBvcmRlcigpXG4gICAgICAgIH0gOiB7fTtcblxuICAgICAgICByZXR1cm4gXy5leHRlbmQoe30sIG9yZGVyUGFyYW1ldGVyLCBwYXJhbWV0ZXJzV2l0aG91dE9yZGVyKCkpO1xuICAgIH07XG5cbiAgICByZXR1cm4gXy5leHRlbmQobmV3Vk0sIGdldHRlcnMsIHtcbiAgICAgICAgcGFyYW1ldGVyczogcGFyYW1ldGVycyxcbiAgICAgICAgcGFyYW1ldGVyc1dpdGhvdXRPcmRlcjogcGFyYW1ldGVyc1dpdGhvdXRPcmRlclxuICAgIH0pO1xufTtcblxudmFyIF9zbGljZWRUb0FycmF5ID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBzbGljZUl0ZXJhdG9yKGFyciwgaSkgeyB2YXIgX2FyciA9IFtdOyB2YXIgX24gPSB0cnVlOyB2YXIgX2QgPSBmYWxzZTsgdmFyIF9lID0gdW5kZWZpbmVkOyB0cnkgeyBmb3IgKHZhciBfaSA9IGFycltTeW1ib2wuaXRlcmF0b3JdKCksIF9zOyAhKF9uID0gKF9zID0gX2kubmV4dCgpKS5kb25lKTsgX24gPSB0cnVlKSB7IF9hcnIucHVzaChfcy52YWx1ZSk7IGlmIChpICYmIF9hcnIubGVuZ3RoID09PSBpKSBicmVhazsgfSB9IGNhdGNoIChlcnIpIHsgX2QgPSB0cnVlOyBfZSA9IGVycjsgfSBmaW5hbGx5IHsgdHJ5IHsgaWYgKCFfbiAmJiBfaVtcInJldHVyblwiXSkgX2lbXCJyZXR1cm5cIl0oKTsgfSBmaW5hbGx5IHsgaWYgKF9kKSB0aHJvdyBfZTsgfSB9IHJldHVybiBfYXJyOyB9IHJldHVybiBmdW5jdGlvbiAoYXJyLCBpKSB7IGlmIChBcnJheS5pc0FycmF5KGFycikpIHsgcmV0dXJuIGFycjsgfSBlbHNlIGlmIChTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGFycikpIHsgcmV0dXJuIHNsaWNlSXRlcmF0b3IoYXJyLCBpKTsgfSBlbHNlIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2VcIik7IH0gfTsgfSgpO1xuXG52YXIgcGFnaW5hdGlvblZNID0gZnVuY3Rpb24gcGFnaW5hdGlvblZNKG1pdGhpbEluc3RhbmNlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChtb2RlbCwgb3JkZXIpIHtcbiAgICAgICAgdmFyIGV4dHJhSGVhZGVycyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDoge307XG4gICAgICAgIHZhciBhdXRoZW50aWNhdGUgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IHRydWU7XG5cbiAgICAgICAgdmFyIGNvbGxlY3Rpb24gPSBwcm9wKFtdKSxcbiAgICAgICAgICAgIGRlZmF1bHRPcmRlciA9IG9yZGVyIHx8ICdpZC5kZXNjJyxcbiAgICAgICAgICAgIGZpbHRlcnMgPSBwcm9wKHtcbiAgICAgICAgICAgIG9yZGVyOiBkZWZhdWx0T3JkZXJcbiAgICAgICAgfSksXG4gICAgICAgICAgICBpc0xvYWRpbmcgPSBwcm9wKGZhbHNlKSxcbiAgICAgICAgICAgIHBhZ2UgPSBwcm9wKDEpLFxuICAgICAgICAgICAgcmVzdWx0c0NvdW50ID0gcHJvcCgpLFxuICAgICAgICAgICAgcGFnZVJlcXVlc3QgPSBhdXRoZW50aWNhdGUgPyBtb2RlbC5nZXRQYWdlV2l0aFRva2VuIDogbW9kZWwuZ2V0UGFnZSxcbiAgICAgICAgICAgIHRvdGFsID0gcHJvcCgpO1xuXG4gICAgICAgIHZhciBmZXRjaCA9IGZ1bmN0aW9uIGZldGNoKCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuICAgICAgICAgICAgICAgIHZhciBnZXRUb3RhbCA9IGZ1bmN0aW9uIGdldFRvdGFsKHhocikge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXhociB8fCB4aHIuc3RhdHVzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsczogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICdDb25uZWN0aW9uIGVycm9yJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdmFyIHJhbmdlSGVhZGVyID0geGhyLmdldFJlc3BvbnNlSGVhZGVyKCdDb250ZW50LVJhbmdlJyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChfLmlzU3RyaW5nKHJhbmdlSGVhZGVyKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9yYW5nZUhlYWRlciRzcGxpdCA9IHJhbmdlSGVhZGVyLnNwbGl0KCcvJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3JhbmdlSGVhZGVyJHNwbGl0MiA9IF9zbGljZWRUb0FycmF5KF9yYW5nZUhlYWRlciRzcGxpdCwgMiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyU2l6ZSA9IF9yYW5nZUhlYWRlciRzcGxpdDJbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyQ291bnQgPSBfcmFuZ2VIZWFkZXIkc3BsaXQyWzFdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9oZWFkZXJTaXplJHNwbGl0ID0gaGVhZGVyU2l6ZS5zcGxpdCgnLScpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9oZWFkZXJTaXplJHNwbGl0MiA9IF9zbGljZWRUb0FycmF5KF9oZWFkZXJTaXplJHNwbGl0LCAyKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJGcm9tID0gX2hlYWRlclNpemUkc3BsaXQyWzBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlclRvID0gX2hlYWRlclNpemUkc3BsaXQyWzFdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvID0gcGFyc2VJbnQoaGVhZGVyVG8pICsgMSB8fCAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gPSBwYXJzZUludChoZWFkZXJGcm9tKSB8fCAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3RhbChwYXJzZUludChoZWFkZXJDb3VudCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0c0NvdW50KHRvIC0gZnJvbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoeGhyLnJlc3BvbnNlVGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsczogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHhoci5yZXNwb25zZVRleHRcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBpc0xvYWRpbmcodHJ1ZSk7XG4gICAgICAgICAgICAgICAgcGFnZVJlcXVlc3QoZmlsdGVycygpLCBwYWdlKCksIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGV4dHJhY3Q6IGdldFRvdGFsXG4gICAgICAgICAgICAgICAgfSwgZXh0cmFIZWFkZXJzKS50aGVuKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24oXy51bmlvbihjb2xsZWN0aW9uKCksIGRhdGEpKTtcbiAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShjb2xsZWN0aW9uKCkpO1xuICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICB0b3RhbCgwKTtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICAgICAgZmlyc3RQYWdlID0gZnVuY3Rpb24gZmlyc3RQYWdlKHBhcmFtZXRlcnMpIHtcbiAgICAgICAgICAgIGZpbHRlcnMoXy5leHRlbmQoe1xuICAgICAgICAgICAgICAgIG9yZGVyOiBkZWZhdWx0T3JkZXJcbiAgICAgICAgICAgIH0sIHBhcmFtZXRlcnMpKTtcbiAgICAgICAgICAgIGNvbGxlY3Rpb24oW10pO1xuICAgICAgICAgICAgcGFnZSgxKTtcbiAgICAgICAgICAgIHJldHVybiBmZXRjaCgpO1xuICAgICAgICB9LFxuICAgICAgICAgICAgaXNMYXN0UGFnZSA9IGZ1bmN0aW9uIGlzTGFzdFBhZ2UoKSB7XG4gICAgICAgICAgICByZXR1cm4gbW9kZWwucGFnZVNpemUoKSA+IHJlc3VsdHNDb3VudCgpO1xuICAgICAgICB9LFxuICAgICAgICAgICAgbmV4dFBhZ2UgPSBmdW5jdGlvbiBuZXh0UGFnZSgpIHtcbiAgICAgICAgICAgIHBhZ2UocGFnZSgpICsgMSk7XG4gICAgICAgICAgICByZXR1cm4gZmV0Y2goKTtcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbixcbiAgICAgICAgICAgIGZpcnN0UGFnZTogZmlyc3RQYWdlLFxuICAgICAgICAgICAgaXNMb2FkaW5nOiBpc0xvYWRpbmcsXG4gICAgICAgICAgICBuZXh0UGFnZTogbmV4dFBhZ2UsXG4gICAgICAgICAgICBpc0xhc3RQYWdlOiBpc0xhc3RQYWdlLFxuICAgICAgICAgICAgdG90YWw6IHRvdGFsLFxuICAgICAgICAgICAgcmVzdWx0c0NvdW50OiByZXN1bHRzQ291bnRcbiAgICAgICAgfTtcbiAgICB9O1xufTtcblxuLyoqXG4gKiBUaGlzIHRha2VzIHRoZSBtaXRocmlsIGluc3RhbmNlIHRoYXQgd2lsbCBoYW5kbGUgcmVkcmF3IFxuICogb24gb2NjdXJlbmNlIG9mIGEgZG9tIGVsZW1lbnQgZXZlbnQgb3Igc29tZSBtLnJlcXVlc3RcbiAqIGNhbGwuXG4gKiBAcGFyYW0ge01pdGhyaWx9IG1pdGhyaWxJbnN0YW5jZSBcbiAqL1xuZnVuY3Rpb24gUG9zdGdyZXN0KG1pdGhyaWxJbnN0YW5jZSkge1xuICAgIHZhciBtID0gbWl0aHJpbEluc3RhbmNlIHx8IG1pdGhyaWw7XG4gICAgdmFyIHBvc3RncmVzdCA9IHt9O1xuICAgIHZhciB0b2tlbiA9IHByb3AoKSxcbiAgICAgICAgbWVyZ2VDb25maWcgPSBmdW5jdGlvbiBtZXJnZUNvbmZpZyhjb25maWcsIG9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIG9wdGlvbnMgJiYgXy5pc0Z1bmN0aW9uKG9wdGlvbnMuY29uZmlnKSA/IF8uY29tcG9zZShvcHRpb25zLmNvbmZpZywgY29uZmlnKSA6IGNvbmZpZztcbiAgICB9LFxuICAgICAgICBhZGRIZWFkZXJzID0gZnVuY3Rpb24gYWRkSGVhZGVycyhoZWFkZXJzKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAoeGhyKSB7XG4gICAgICAgICAgICBfLmVhY2goaGVhZGVycywgZnVuY3Rpb24gKHZhbHVlLCBrZXkpIHtcbiAgICAgICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcihrZXksIHZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHhocjtcbiAgICAgICAgfTtcbiAgICB9LFxuICAgICAgICBhZGRDb25maWdIZWFkZXJzID0gZnVuY3Rpb24gYWRkQ29uZmlnSGVhZGVycyhoZWFkZXJzLCBvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBfLmV4dGVuZCh7fSwgb3B0aW9ucywge1xuICAgICAgICAgICAgY29uZmlnOiBtZXJnZUNvbmZpZyhhZGRIZWFkZXJzKGhlYWRlcnMpLCBvcHRpb25zKVxuICAgICAgICB9KTtcbiAgICB9LFxuICAgICAgICBjcmVhdGVMb2FkZXIgPSBmdW5jdGlvbiBjcmVhdGVMb2FkZXIocmVxdWVzdEZ1bmN0aW9uLCBvcHRpb25zKSB7XG4gICAgICAgIHZhciBkZWZhdWx0U3RhdGUgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IGZhbHNlO1xuXG4gICAgICAgIHZhciBsb2FkZXIgPSBwcm9wKGRlZmF1bHRTdGF0ZSk7XG4gICAgICAgIGxvYWRlci5sb2FkID0gZnVuY3Rpb24gKCkge1xuXG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgICAgIGxvYWRlcih0cnVlKTtcbiAgICAgICAgICAgICAgICByZXF1ZXN0RnVuY3Rpb24oXy5leHRlbmQoe30sIG9wdGlvbnMsIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZmFsc2VcbiAgICAgICAgICAgICAgICB9KSkudGhlbihmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICBsb2FkZXIoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGRhdGEpO1xuICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICBsb2FkZXIoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBsb2FkZXI7XG4gICAgfSxcbiAgICAgICAgcmVwcmVzZW50YXRpb25IZWFkZXIgPSB7XG4gICAgICAgICdQcmVmZXInOiAncmV0dXJuPXJlcHJlc2VudGF0aW9uJ1xuICAgIH07XG5cbiAgICBwb3N0Z3Jlc3QudG9rZW4gPSB0b2tlbjtcblxuICAgIHBvc3RncmVzdC5pbml0ID0gZnVuY3Rpb24gKGFwaVByZWZpeCwgYXV0aGVudGljYXRpb25PcHRpb25zKSB7XG4gICAgICAgIHZhciBnbG9iYWxIZWFkZXIgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IHt9O1xuXG4gICAgICAgIHBvc3RncmVzdC5yZXF1ZXN0ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgICAgICAgICAgIHZhciBlcnJvckhhbmRsZXIgPSBmdW5jdGlvbiBlcnJvckhhbmRsZXIoeGhyKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoeGhyLnJlc3BvbnNlVGV4dCk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhpbnQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHhoci5yZXNwb25zZVRleHRcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHZhciBjb25maWdIZWFkZXJzVG9BZGQgPSBhZGRDb25maWdIZWFkZXJzKGdsb2JhbEhlYWRlciwgXy5leHRlbmQoeyBleHRyYWN0OiBlcnJvckhhbmRsZXIgfSwgb3B0aW9ucywge1xuICAgICAgICAgICAgICAgIHVybDogYXBpUHJlZml4ICsgb3B0aW9ucy51cmxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIHJldHVybiBtLnJlcXVlc3QoY29uZmlnSGVhZGVyc1RvQWRkKTtcbiAgICAgICAgfTtcblxuICAgICAgICB2YXIgYXV0aGVudGljYXRpb25SZXF1ZXN0ZWQgPSBwcm9wKGZhbHNlKTtcbiAgICAgICAgcG9zdGdyZXN0LmF1dGhlbnRpY2F0ZSA9IGZ1bmN0aW9uIChkZWxlZ2F0ZWREZWZlcnJlZCkge1xuICAgICAgICAgICAgdmFyIGRlZmVycmVkID0gZGVsZWdhdGVkRGVmZXJyZWQgfHwgbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgICAgIHZhciB3b3JraW5nQ2FsbCA9IGZ1bmN0aW9uIHdvcmtpbmdDYWxsKCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodG9rZW4oKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh7IHRva2VuOiB0b2tlbigpIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFhdXRoZW50aWNhdGlvblJlcXVlc3RlZCgpKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhlbnRpY2F0aW9uUmVxdWVzdGVkKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbS5yZXF1ZXN0KF8uZXh0ZW5kKHt9LCBhdXRoZW50aWNhdGlvbk9wdGlvbnMpKS50aGVuKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aGVudGljYXRpb25SZXF1ZXN0ZWQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuKGRhdGEudG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoeyB0b2tlbjogdG9rZW4oKSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aGVudGljYXRpb25SZXF1ZXN0ZWQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCh3b3JraW5nQ2FsbCwgMjUwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgd29ya2luZ0NhbGwoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGRlZmVycmVkO1xuICAgICAgICB9O1xuXG4gICAgICAgIHBvc3RncmVzdC5yZXF1ZXN0V2l0aFRva2VuID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcblxuICAgICAgICAgICAgcmV0dXJuIHBvc3RncmVzdC5hdXRoZW50aWNhdGUoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcG9zdGdyZXN0LnJlcXVlc3QoYWRkQ29uZmlnSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgICAgICdBdXRob3JpemF0aW9uJzogJ0JlYXJlciAnICsgdG9rZW4oKVxuICAgICAgICAgICAgICAgIH0sIG9wdGlvbnMpKTtcbiAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcG9zdGdyZXN0LnJlcXVlc3Qob3B0aW9ucyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcblxuICAgICAgICBwb3N0Z3Jlc3QubG9hZGVyID0gXy5wYXJ0aWFsKGNyZWF0ZUxvYWRlciwgcG9zdGdyZXN0LnJlcXVlc3QpO1xuXG4gICAgICAgIHBvc3RncmVzdC5sb2FkZXJXaXRoVG9rZW4gPSBfLnBhcnRpYWwoY3JlYXRlTG9hZGVyLCBwb3N0Z3Jlc3QucmVxdWVzdFdpdGhUb2tlbik7XG5cbiAgICAgICAgcG9zdGdyZXN0Lm1vZGVsID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgICAgICAgIHZhciBwYWdpbmF0aW9uSGVhZGVycyA9IGZ1bmN0aW9uIHBhZ2luYXRpb25IZWFkZXJzKHBhZ2UsIHBhZ2VTaXplKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFwYWdlU2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdmFyIHRvUmFuZ2UgPSBmdW5jdGlvbiB0b1JhbmdlKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgZnJvbSA9IChwYWdlIC0gMSkgKiBwYWdlU2l6ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvID0gZnJvbSArIHBhZ2VTaXplIC0gMTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZyb20gKyAnLScgKyB0bztcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgJ1JhbmdlLXVuaXQnOiAnaXRlbXMnLFxuICAgICAgICAgICAgICAgICAgICAnUmFuZ2UnOiB0b1JhbmdlKClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBwYWdlU2l6ZSA9IHByb3AoMTApLFxuICAgICAgICAgICAgICAgIG5hbWVPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIHVybDogJy8nICsgbmFtZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBnZXRPcHRpb25zID0gZnVuY3Rpb24gZ2V0T3B0aW9ucyhkYXRhLCBwYWdlLCBwYWdlU2l6ZSwgb3B0aW9ucykge1xuICAgICAgICAgICAgICAgIHZhciBoZWFkZXJzID0gYXJndW1lbnRzLmxlbmd0aCA+IDQgJiYgYXJndW1lbnRzWzRdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbNF0gOiB7fTtcblxuICAgICAgICAgICAgICAgIHZhciBleHRyYUhlYWRlcnMgPSBfLmV4dGVuZCh7fSwge1xuICAgICAgICAgICAgICAgICAgICAnUHJlZmVyJzogJ2NvdW50PW5vbmUnXG4gICAgICAgICAgICAgICAgfSwgaGVhZGVycywgcGFnaW5hdGlvbkhlYWRlcnMocGFnZSwgcGFnZVNpemUpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWRkQ29uZmlnSGVhZGVycyhleHRyYUhlYWRlcnMsIF8uZXh0ZW5kKHt9LCBvcHRpb25zLCBuYW1lT3B0aW9ucywge1xuICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiBkYXRhXG4gICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBxdWVyeXN0cmluZyA9IGZ1bmN0aW9uIHF1ZXJ5c3RyaW5nKGZpbHRlcnMsIG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zLnVybCArPSAnPycgKyBtLmJ1aWxkUXVlcnlTdHJpbmcoZmlsdGVycyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbnM7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9wdGlvbnMgPSBmdW5jdGlvbiBvcHRpb25zKF9vcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBvc3RncmVzdC5yZXF1ZXN0KF8uZXh0ZW5kKHt9LCBfb3B0aW9ucywgbmFtZU9wdGlvbnMsIHtcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnT1BUSU9OUydcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBvc3RPcHRpb25zID0gZnVuY3Rpb24gcG9zdE9wdGlvbnMoYXR0cmlidXRlcywgb3B0aW9ucykge1xuICAgICAgICAgICAgICAgIHZhciBoZWFkZXJzID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiB7fTtcblxuICAgICAgICAgICAgICAgIHZhciBleHRyYUhlYWRlcnMgPSBfLmV4dGVuZCh7fSwgcmVwcmVzZW50YXRpb25IZWFkZXIsIGhlYWRlcnMpO1xuICAgICAgICAgICAgICAgIHJldHVybiBhZGRDb25maWdIZWFkZXJzKGV4dHJhSGVhZGVycywgXy5leHRlbmQoe30sIG9wdGlvbnMsIG5hbWVPcHRpb25zLCB7XG4gICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiBhdHRyaWJ1dGVzXG4gICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBkZWxldGVPcHRpb25zID0gZnVuY3Rpb24gZGVsZXRlT3B0aW9ucyhmaWx0ZXJzLCBvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgdmFyIGhlYWRlcnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IHt9O1xuXG4gICAgICAgICAgICAgICAgdmFyIGV4dHJhSGVhZGVycyA9IF8uZXh0ZW5kKHt9LCByZXByZXNlbnRhdGlvbkhlYWRlciwgaGVhZGVycyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHF1ZXJ5c3RyaW5nKGZpbHRlcnMsIGFkZENvbmZpZ0hlYWRlcnMoZXh0cmFIZWFkZXJzLCBfLmV4dGVuZCh7fSwgb3B0aW9ucywgbmFtZU9wdGlvbnMsIHtcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnREVMRVRFJ1xuICAgICAgICAgICAgICAgIH0pKSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBhdGNoT3B0aW9ucyA9IGZ1bmN0aW9uIHBhdGNoT3B0aW9ucyhmaWx0ZXJzLCBhdHRyaWJ1dGVzLCBvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgdmFyIGhlYWRlcnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IHt9O1xuXG4gICAgICAgICAgICAgICAgdmFyIGV4dHJhSGVhZGVycyA9IF8uZXh0ZW5kKHt9LCByZXByZXNlbnRhdGlvbkhlYWRlciwgaGVhZGVycyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHF1ZXJ5c3RyaW5nKGZpbHRlcnMsIGFkZENvbmZpZ0hlYWRlcnMoZXh0cmFIZWFkZXJzLCBfLmV4dGVuZCh7fSwgb3B0aW9ucywgbmFtZU9wdGlvbnMsIHtcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiBhdHRyaWJ1dGVzXG4gICAgICAgICAgICAgICAgfSkpKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZ2V0UGFnZU9wdGlvbnMgPSBmdW5jdGlvbiBnZXRQYWdlT3B0aW9ucyhkYXRhLCBwYWdlLCBvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgdmFyIGhlYWRlcnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IHt9O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldE9wdGlvbnMoZGF0YSwgcGFnZSB8fCAxLCBwYWdlU2l6ZSgpLCBvcHRpb25zLCBoZWFkZXJzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZ2V0Um93T3B0aW9ucyA9IGZ1bmN0aW9uIGdldFJvd09wdGlvbnMoZGF0YSwgb3B0aW9ucykge1xuICAgICAgICAgICAgICAgIHZhciBoZWFkZXJzID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiB7fTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBnZXRPcHRpb25zKGRhdGEsIDEsIDEsIG9wdGlvbnMsIGhlYWRlcnMpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBwYWdlU2l6ZTogcGFnZVNpemUsXG4gICAgICAgICAgICAgICAgZ2V0UGFnZU9wdGlvbnM6IGdldFBhZ2VPcHRpb25zLFxuICAgICAgICAgICAgICAgIGdldFJvd09wdGlvbnM6IGdldFJvd09wdGlvbnMsXG4gICAgICAgICAgICAgICAgcGF0Y2hPcHRpb25zOiBwYXRjaE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgcG9zdE9wdGlvbnM6IHBvc3RPcHRpb25zLFxuICAgICAgICAgICAgICAgIGRlbGV0ZU9wdGlvbnM6IGRlbGV0ZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgZ2V0UGFnZTogXy5jb21wb3NlKHBvc3RncmVzdC5yZXF1ZXN0LCBnZXRQYWdlT3B0aW9ucyksXG4gICAgICAgICAgICAgICAgZ2V0Um93OiBfLmNvbXBvc2UocG9zdGdyZXN0LnJlcXVlc3QsIGdldFJvd09wdGlvbnMpLFxuICAgICAgICAgICAgICAgIHBhdGNoOiBfLmNvbXBvc2UocG9zdGdyZXN0LnJlcXVlc3QsIHBhdGNoT3B0aW9ucyksXG4gICAgICAgICAgICAgICAgcG9zdDogXy5jb21wb3NlKHBvc3RncmVzdC5yZXF1ZXN0LCBwb3N0T3B0aW9ucyksXG4gICAgICAgICAgICAgICAgZGVsZXRlUmVxdWVzdDogXy5jb21wb3NlKHBvc3RncmVzdC5yZXF1ZXN0LCBkZWxldGVPcHRpb25zKSxcbiAgICAgICAgICAgICAgICBnZXRQYWdlV2l0aFRva2VuOiBfLmNvbXBvc2UocG9zdGdyZXN0LnJlcXVlc3RXaXRoVG9rZW4sIGdldFBhZ2VPcHRpb25zKSxcbiAgICAgICAgICAgICAgICBnZXRSb3dXaXRoVG9rZW46IF8uY29tcG9zZShwb3N0Z3Jlc3QucmVxdWVzdFdpdGhUb2tlbiwgZ2V0Um93T3B0aW9ucyksXG4gICAgICAgICAgICAgICAgcGF0Y2hXaXRoVG9rZW46IF8uY29tcG9zZShwb3N0Z3Jlc3QucmVxdWVzdFdpdGhUb2tlbiwgcGF0Y2hPcHRpb25zKSxcbiAgICAgICAgICAgICAgICBwb3N0V2l0aFRva2VuOiBfLmNvbXBvc2UocG9zdGdyZXN0LnJlcXVlc3RXaXRoVG9rZW4sIHBvc3RPcHRpb25zKSxcbiAgICAgICAgICAgICAgICBkZWxldGVXaXRoVG9rZW46IF8uY29tcG9zZShwb3N0Z3Jlc3QucmVxdWVzdFdpdGhUb2tlbiwgZGVsZXRlT3B0aW9ucyksXG4gICAgICAgICAgICAgICAgb3B0aW9uczogb3B0aW9uc1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gcG9zdGdyZXN0O1xuICAgIH07XG5cbiAgICBwb3N0Z3Jlc3QuZmlsdGVyc1ZNID0gZmlsdGVyc1ZNO1xuICAgIHBvc3RncmVzdC5wYWdpbmF0aW9uVk0gPSBwYWdpbmF0aW9uVk0obWl0aHJpbEluc3RhbmNlKTtcblxuICAgIHJldHVybiBwb3N0Z3Jlc3Q7XG59XG5cbnJldHVybiBQb3N0Z3Jlc3Q7XG5cbn0pKSk7XG4iXSwiZmlsZSI6InNyYy8qKi8qLmpzIn0=\n","import { isElement, isError, isEvent, isPrimitive, isSyntheticEvent } from './is';\nimport { Memo } from './memo';\nimport { htmlTreeAsString } from './misc';\nimport { truncate } from './string';\n/**\n * Wrap a given object method with a higher-order function\n *\n * @param source An object that contains a method to be wrapped.\n * @param name A name of method to be wrapped.\n * @param replacement A function that should be used to wrap a given method.\n * @returns void\n */\nexport function fill(source, name, replacement) {\n if (!(name in source)) {\n return;\n }\n var original = source[name];\n var wrapped = replacement(original);\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n // tslint:disable-next-line:strict-type-predicates\n if (typeof wrapped === 'function') {\n try {\n wrapped.prototype = wrapped.prototype || {};\n Object.defineProperties(wrapped, {\n __sentry__: {\n enumerable: false,\n value: true,\n },\n __sentry_original__: {\n enumerable: false,\n value: original,\n },\n __sentry_wrapped__: {\n enumerable: false,\n value: wrapped,\n },\n });\n }\n catch (_Oo) {\n // This can throw if multiple fill happens on a global object like XMLHttpRequest\n // Fixes https://github.com/getsentry/sentry-javascript/issues/2043\n }\n }\n source[name] = wrapped;\n}\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nexport function urlEncode(object) {\n return Object.keys(object)\n .map(\n // tslint:disable-next-line:no-unsafe-any\n function (key) { return encodeURIComponent(key) + \"=\" + encodeURIComponent(object[key]); })\n .join('&');\n}\n/**\n * Transforms any object into an object literal with all it's attributes\n * attached to it.\n *\n * @param value Initial source that we have to transform in order to be usable by the serializer\n */\nfunction getWalkSource(value) {\n if (isError(value)) {\n var error = value;\n var err = {\n message: error.message,\n name: error.name,\n stack: error.stack,\n };\n for (var i in error) {\n if (Object.prototype.hasOwnProperty.call(error, i)) {\n err[i] = error[i];\n }\n }\n return err;\n }\n if (isEvent(value)) {\n var source = {};\n source.type = value.type;\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n source.target = isElement(value.target)\n ? htmlTreeAsString(value.target)\n : Object.prototype.toString.call(value.target);\n }\n catch (_oO) {\n source.target = '<unknown>';\n }\n try {\n source.currentTarget = isElement(value.currentTarget)\n ? htmlTreeAsString(value.currentTarget)\n : Object.prototype.toString.call(value.currentTarget);\n }\n catch (_oO) {\n source.currentTarget = '<unknown>';\n }\n // tslint:disable-next-line:strict-type-predicates\n if (typeof CustomEvent !== 'undefined' && value instanceof CustomEvent) {\n source.detail = value.detail;\n }\n for (var i in value) {\n if (Object.prototype.hasOwnProperty.call(value, i)) {\n source[i] = value[i];\n }\n }\n return source;\n }\n return value;\n}\n/** Calculates bytes size of input string */\nfunction utf8Length(value) {\n // tslint:disable-next-line:no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n/** Calculates bytes size of input object */\nfunction jsonSize(value) {\n return utf8Length(JSON.stringify(value));\n}\n/** JSDoc */\nexport function normalizeToSize(object, \n// Default Node.js REPL depth\ndepth, \n// 100kB, as 200kB is max payload size, so half sounds reasonable\nmaxSize) {\n if (depth === void 0) { depth = 3; }\n if (maxSize === void 0) { maxSize = 100 * 1024; }\n var serialized = normalize(object, depth);\n if (jsonSize(serialized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n return serialized;\n}\n/** Transforms any input value into a string form, either primitive value or a type of the input */\nfunction serializeValue(value) {\n var type = Object.prototype.toString.call(value);\n // Node.js REPL notation\n if (typeof value === 'string') {\n return value;\n }\n if (type === '[object Object]') {\n return '[Object]';\n }\n if (type === '[object Array]') {\n return '[Array]';\n }\n var normalized = normalizeValue(value);\n return isPrimitive(normalized) ? normalized : type;\n}\n/**\n * normalizeValue()\n *\n * Takes unserializable input and make it serializable friendly\n *\n * - translates undefined/NaN values to \"[undefined]\"/\"[NaN]\" respectively,\n * - serializes Error objects\n * - filter global objects\n */\n// tslint:disable-next-line:cyclomatic-complexity\nfunction normalizeValue(value, key) {\n if (key === 'domain' && typeof value === 'object' && value._events) {\n return '[Domain]';\n }\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n // tslint:disable-next-line:no-tautology-expression\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n if (value === void 0) {\n return '[undefined]';\n }\n if (typeof value === 'function') {\n return \"[Function: \" + (value.name || '<unknown-function-name>') + \"]\";\n }\n return value;\n}\n/**\n * Walks an object to perform a normalization on it\n *\n * @param key of object that's walked in current iteration\n * @param value object to be walked\n * @param depth Optional number indicating how deep should walking be performed\n * @param memo Optional Memo class handling decycling\n */\nexport function walk(key, value, depth, memo) {\n if (depth === void 0) { depth = +Infinity; }\n if (memo === void 0) { memo = new Memo(); }\n // If we reach the maximum depth, serialize whatever has left\n if (depth === 0) {\n return serializeValue(value);\n }\n // If value implements `toJSON` method, call it and return early\n // tslint:disable:no-unsafe-any\n if (value !== null && value !== undefined && typeof value.toJSON === 'function') {\n return value.toJSON();\n }\n // tslint:enable:no-unsafe-any\n // If normalized value is a primitive, there are no branches left to walk, so we can just bail out, as theres no point in going down that branch any further\n var normalized = normalizeValue(value, key);\n if (isPrimitive(normalized)) {\n return normalized;\n }\n // Create source that we will use for next itterations, either objectified error object (Error type with extracted keys:value pairs) or the input itself\n var source = getWalkSource(value);\n // Create an accumulator that will act as a parent for all future itterations of that branch\n var acc = Array.isArray(value) ? [] : {};\n // If we already walked that branch, bail out, as it's circular reference\n if (memo.memoize(value)) {\n return '[Circular ~]';\n }\n // Walk all keys of the source\n for (var innerKey in source) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(source, innerKey)) {\n continue;\n }\n // Recursively walk through all the child nodes\n acc[innerKey] = walk(innerKey, source[innerKey], depth - 1, memo);\n }\n // Once walked through all the branches, remove the parent from memo storage\n memo.unmemoize(value);\n // Return accumulated values\n return acc;\n}\n/**\n * normalize()\n *\n * - Creates a copy to prevent original input mutation\n * - Skip non-enumerablers\n * - Calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializeable values (undefined/NaN/Functions) to serializable format\n * - Translates known global objects/Classes to a string representations\n * - Takes care of Error objects serialization\n * - Optionally limit depth of final output\n */\nexport function normalize(input, depth) {\n try {\n // tslint:disable-next-line:no-unsafe-any\n return JSON.parse(JSON.stringify(input, function (key, value) { return walk(key, value, depth); }));\n }\n catch (_oO) {\n return '**non-serializable**';\n }\n}\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nexport function extractExceptionKeysForMessage(exception, maxLength) {\n if (maxLength === void 0) { maxLength = 40; }\n // tslint:disable:strict-type-predicates\n var keys = Object.keys(getWalkSource(exception));\n keys.sort();\n if (!keys.length) {\n return '[object has no keys]';\n }\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n for (var includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n var serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n return '';\n}\n//# sourceMappingURL=object.js.map","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n","var Map = require('./es6.map');\nvar $export = require('./_export');\nvar shared = require('./_shared')('metadata');\nvar store = shared.store || (shared.store = new (require('./es6.weak-map'))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return undefined;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\nvar toMetaKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n","module.exports = require(\"core-js-pure/stable/date/now\");","module.exports = require(\"core-js-pure/stable/parse-float\");","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n if (it) {\n var target = STATIC ? it : it.prototype;\n if (!has(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n createNonEnumerableProperty(target, 'toString', toString);\n }\n }\n};\n","module.exports = false;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","module.exports = require(\"core-js-pure/stable/object/define-property\");","module.exports = require(\"core-js-pure/stable/object/define-properties\");","module.exports = require(\"core-js-pure/stable/instance/includes\");","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","module.exports = true;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","module.exports = {};\n","var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n if (options && options.enumerable) target[key] = value;\n else createNonEnumerableProperty(target, key, value);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","require('./es.array.iterator');\nvar DOMIterables = require('../internals/dom-iterables');\nvar global = require('../internals/global');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype && classof(CollectionPrototype) !== TO_STRING_TAG) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n Iterators[COLLECTION_NAME] = Iterators.Array;\n}\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","module.exports = {};\n","module.exports = require(\"core-js-pure/stable/instance/find-index\");","module.exports = require(\"core-js-pure/stable/instance/splice\");","module.exports = require(\"core-js-pure/stable/instance/bind\");","/*!\n * Chart.js\n * http://chartjs.org/\n * Version: 1.0.2\n *\n * Copyright 2015 Nick Downie\n * Released under the MIT license\n * https://github.com/nnnick/Chart.js/blob/master/LICENSE.md\n */\n\n\n(function(){\n\n\t\"use strict\";\n\n\t//Declare root variable - window in the browser, global on the server\n\tvar root = this,\n\t\tprevious = root.Chart;\n\n\t//Occupy the global variable of Chart, and create a simple base class\n\tvar Chart = function(context){\n\t\tvar chart = this;\n\t\tthis.canvas = context.canvas;\n\n\t\tthis.ctx = context;\n\n\t\t//Variables global to the chart\n\t\tvar computeDimension = function(element,dimension)\n\t\t{\n\t\t\tif (element['offset'+dimension])\n\t\t\t{\n\t\t\t\treturn element['offset'+dimension];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\treturn document.defaultView.getComputedStyle(element).getPropertyValue(dimension);\n\t\t\t}\n\t\t}\n\n\t\tvar width = this.width = computeDimension(context.canvas,'Width');\n\t\tvar height = this.height = computeDimension(context.canvas,'Height');\n\n\t\t// Firefox requires this to work correctly\n\t\tcontext.canvas.width = width;\n\t\tcontext.canvas.height = height;\n\n\t\tvar width = this.width = context.canvas.width;\n\t\tvar height = this.height = context.canvas.height;\n\t\tthis.aspectRatio = this.width / this.height;\n\t\t//High pixel density displays - multiply the size of the canvas height/width by the device pixel ratio, then scale.\n\t\thelpers.retinaScale(this);\n\n\t\treturn this;\n\t};\n\t//Globally expose the defaults to allow for user updating/changing\n\tChart.defaults = {\n\t\tglobal: {\n\t\t\t// Boolean - Whether to animate the chart\n\t\t\tanimation: true,\n\n\t\t\t// Number - Number of animation steps\n\t\t\tanimationSteps: 60,\n\n\t\t\t// String - Animation easing effect\n\t\t\tanimationEasing: \"easeOutQuart\",\n\n\t\t\t// Boolean - If we should show the scale at all\n\t\t\tshowScale: true,\n\n\t\t\t// Boolean - If we want to override with a hard coded scale\n\t\t\tscaleOverride: false,\n\n\t\t\t// ** Required if scaleOverride is true **\n\t\t\t// Number - The number of steps in a hard coded scale\n\t\t\tscaleSteps: null,\n\t\t\t// Number - The value jump in the hard coded scale\n\t\t\tscaleStepWidth: null,\n\t\t\t// Number - The scale starting value\n\t\t\tscaleStartValue: null,\n\n\t\t\t// String - Colour of the scale line\n\t\t\tscaleLineColor: \"rgba(0,0,0,.1)\",\n\n\t\t\t// Number - Pixel width of the scale line\n\t\t\tscaleLineWidth: 1,\n\n\t\t\t// Boolean - Whether to show labels on the scale\n\t\t\tscaleShowLabels: true,\n\n\t\t\t// Interpolated JS string - can access value\n\t\t\tscaleLabel: \"<%=value%>\",\n\n\t\t\t// Boolean - Whether the scale should stick to integers, and not show any floats even if drawing space is there\n\t\t\tscaleIntegersOnly: true,\n\n\t\t\t// Boolean - Whether the scale should start at zero, or an order of magnitude down from the lowest value\n\t\t\tscaleBeginAtZero: false,\n\n\t\t\t// String - Scale label font declaration for the scale label\n\t\t\tscaleFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n\n\t\t\t// Number - Scale label font size in pixels\n\t\t\tscaleFontSize: 12,\n\n\t\t\t// String - Scale label font weight style\n\t\t\tscaleFontStyle: \"normal\",\n\n\t\t\t// String - Scale label font colour\n\t\t\tscaleFontColor: \"#666\",\n\n\t\t\t// Boolean - whether or not the chart should be responsive and resize when the browser does.\n\t\t\tresponsive: false,\n\n\t\t\t// Boolean - whether to maintain the starting aspect ratio or not when responsive, if set to false, will take up entire container\n\t\t\tmaintainAspectRatio: true,\n\n\t\t\t// Boolean - Determines whether to draw tooltips on the canvas or not - attaches events to touchmove & mousemove\n\t\t\tshowTooltips: true,\n\n\t\t\t// Boolean - Determines whether to draw built-in tooltip or call custom tooltip function\n\t\t\tcustomTooltips: false,\n\n\t\t\t// Array - Array of string names to attach tooltip events\n\t\t\ttooltipEvents: [\"mousemove\", \"touchstart\", \"touchmove\", \"mouseout\"],\n\n\t\t\t// String - Tooltip background colour\n\t\t\ttooltipFillColor: \"rgba(0,0,0,0.8)\",\n\n\t\t\t// String - Tooltip label font declaration for the scale label\n\t\t\ttooltipFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n\n\t\t\t// Number - Tooltip label font size in pixels\n\t\t\ttooltipFontSize: 14,\n\n\t\t\t// String - Tooltip font weight style\n\t\t\ttooltipFontStyle: \"normal\",\n\n\t\t\t// String - Tooltip label font colour\n\t\t\ttooltipFontColor: \"#fff\",\n\n\t\t\t// String - Tooltip title font declaration for the scale label\n\t\t\ttooltipTitleFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n\n\t\t\t// Number - Tooltip title font size in pixels\n\t\t\ttooltipTitleFontSize: 14,\n\n\t\t\t// String - Tooltip title font weight style\n\t\t\ttooltipTitleFontStyle: \"bold\",\n\n\t\t\t// String - Tooltip title font colour\n\t\t\ttooltipTitleFontColor: \"#fff\",\n\n\t\t\t// Number - pixel width of padding around tooltip text\n\t\t\ttooltipYPadding: 6,\n\n\t\t\t// Number - pixel width of padding around tooltip text\n\t\t\ttooltipXPadding: 6,\n\n\t\t\t// Number - Size of the caret on the tooltip\n\t\t\ttooltipCaretSize: 8,\n\n\t\t\t// Number - Pixel radius of the tooltip border\n\t\t\ttooltipCornerRadius: 6,\n\n\t\t\t// Number - Pixel offset from point x to tooltip edge\n\t\t\ttooltipXOffset: 10,\n\n\t\t\t// String - Template string for single tooltips\n\t\t\ttooltipTemplate: \"<%if (label){%><%=label%>: <%}%><%= value %>\",\n\n\t\t\t// String - Template string for single tooltips\n\t\t\tmultiTooltipTemplate: \"<%= value %>\",\n\n\t\t\t// String - Colour behind the legend colour block\n\t\t\tmultiTooltipKeyBackground: '#fff',\n\n\t\t\t// Function - Will fire on animation progression.\n\t\t\tonAnimationProgress: function(){},\n\n\t\t\t// Function - Will fire on animation completion.\n\t\t\tonAnimationComplete: function(){}\n\n\t\t}\n\t};\n\n\t//Create a dictionary of chart types, to allow for extension of existing types\n\tChart.types = {};\n\n\t//Global Chart helpers object for utility methods and classes\n\tvar helpers = Chart.helpers = {};\n\n\t\t//-- Basic js utility methods\n\tvar each = helpers.each = function(loopable,callback,self){\n\t\t\tvar additionalArgs = Array.prototype.slice.call(arguments, 3);\n\t\t\t// Check to see if null or undefined firstly.\n\t\t\tif (loopable){\n\t\t\t\tif (loopable.length === +loopable.length){\n\t\t\t\t\tvar i;\n\t\t\t\t\tfor (i=0; i<loopable.length; i++){\n\t\t\t\t\t\tcallback.apply(self,[loopable[i], i].concat(additionalArgs));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse{\n\t\t\t\t\tfor (var item in loopable){\n\t\t\t\t\t\tcallback.apply(self,[loopable[item],item].concat(additionalArgs));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tclone = helpers.clone = function(obj){\n\t\t\tvar objClone = {};\n\t\t\teach(obj,function(value,key){\n\t\t\t\tif (obj.hasOwnProperty(key)) objClone[key] = value;\n\t\t\t});\n\t\t\treturn objClone;\n\t\t},\n\t\textend = helpers.extend = function(base){\n\t\t\teach(Array.prototype.slice.call(arguments,1), function(extensionObject) {\n\t\t\t\teach(extensionObject,function(value,key){\n\t\t\t\t\tif (extensionObject.hasOwnProperty(key)) base[key] = value;\n\t\t\t\t});\n\t\t\t});\n\t\t\treturn base;\n\t\t},\n\t\tmerge = helpers.merge = function(base,master){\n\t\t\t//Merge properties in left object over to a shallow clone of object right.\n\t\t\tvar args = Array.prototype.slice.call(arguments,0);\n\t\t\targs.unshift({});\n\t\t\treturn extend.apply(null, args);\n\t\t},\n\t\tindexOf = helpers.indexOf = function(arrayToSearch, item){\n\t\t\tif (Array.prototype.indexOf) {\n\t\t\t\treturn arrayToSearch.indexOf(item);\n\t\t\t}\n\t\t\telse{\n\t\t\t\tfor (var i = 0; i < arrayToSearch.length; i++) {\n\t\t\t\t\tif (arrayToSearch[i] === item) return i;\n\t\t\t\t}\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t},\n\t\twhere = helpers.where = function(collection, filterCallback){\n\t\t\tvar filtered = [];\n\n\t\t\thelpers.each(collection, function(item){\n\t\t\t\tif (filterCallback(item)){\n\t\t\t\t\tfiltered.push(item);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn filtered;\n\t\t},\n\t\tfindNextWhere = helpers.findNextWhere = function(arrayToSearch, filterCallback, startIndex){\n\t\t\t// Default to start of the array\n\t\t\tif (!startIndex){\n\t\t\t\tstartIndex = -1;\n\t\t\t}\n\t\t\tfor (var i = startIndex + 1; i < arrayToSearch.length; i++) {\n\t\t\t\tvar currentItem = arrayToSearch[i];\n\t\t\t\tif (filterCallback(currentItem)){\n\t\t\t\t\treturn currentItem;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tfindPreviousWhere = helpers.findPreviousWhere = function(arrayToSearch, filterCallback, startIndex){\n\t\t\t// Default to end of the array\n\t\t\tif (!startIndex){\n\t\t\t\tstartIndex = arrayToSearch.length;\n\t\t\t}\n\t\t\tfor (var i = startIndex - 1; i >= 0; i--) {\n\t\t\t\tvar currentItem = arrayToSearch[i];\n\t\t\t\tif (filterCallback(currentItem)){\n\t\t\t\t\treturn currentItem;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tinherits = helpers.inherits = function(extensions){\n\t\t\t//Basic javascript inheritance based on the model created in Backbone.js\n\t\t\tvar parent = this;\n\t\t\tvar ChartElement = (extensions && extensions.hasOwnProperty(\"constructor\")) ? extensions.constructor : function(){ return parent.apply(this, arguments); };\n\n\t\t\tvar Surrogate = function(){ this.constructor = ChartElement;};\n\t\t\tSurrogate.prototype = parent.prototype;\n\t\t\tChartElement.prototype = new Surrogate();\n\n\t\t\tChartElement.extend = inherits;\n\n\t\t\tif (extensions) extend(ChartElement.prototype, extensions);\n\n\t\t\tChartElement.__super__ = parent.prototype;\n\n\t\t\treturn ChartElement;\n\t\t},\n\t\tnoop = helpers.noop = function(){},\n\t\tuid = helpers.uid = (function(){\n\t\t\tvar id=0;\n\t\t\treturn function(){\n\t\t\t\treturn \"chart-\" + id++;\n\t\t\t};\n\t\t})(),\n\t\twarn = helpers.warn = function(str){\n\t\t\t//Method for warning of errors\n\t\t\tif (window.console && typeof window.console.warn == \"function\") console.warn(str);\n\t\t},\n\t\tamd = helpers.amd = (typeof define == 'function' && define.amd),\n\t\t//-- Math methods\n\t\tisNumber = helpers.isNumber = function(n){\n\t\t\treturn !isNaN(parseFloat(n)) && isFinite(n);\n\t\t},\n\t\tmax = helpers.max = function(array){\n\t\t\treturn Math.max.apply( Math, array );\n\t\t},\n\t\tmin = helpers.min = function(array){\n\t\t\treturn Math.min.apply( Math, array );\n\t\t},\n\t\tcap = helpers.cap = function(valueToCap,maxValue,minValue){\n\t\t\tif(isNumber(maxValue)) {\n\t\t\t\tif( valueToCap > maxValue ) {\n\t\t\t\t\treturn maxValue;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if(isNumber(minValue)){\n\t\t\t\tif ( valueToCap < minValue ){\n\t\t\t\t\treturn minValue;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn valueToCap;\n\t\t},\n\t\tgetDecimalPlaces = helpers.getDecimalPlaces = function(num){\n\t\t\tif (num%1!==0 && isNumber(num)){\n\t\t\t\treturn num.toString().split(\".\")[1].length;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t},\n\t\ttoRadians = helpers.radians = function(degrees){\n\t\t\treturn degrees * (Math.PI/180);\n\t\t},\n\t\t// Gets the angle from vertical upright to the point about a centre.\n\t\tgetAngleFromPoint = helpers.getAngleFromPoint = function(centrePoint, anglePoint){\n\t\t\tvar distanceFromXCenter = anglePoint.x - centrePoint.x,\n\t\t\t\tdistanceFromYCenter = anglePoint.y - centrePoint.y,\n\t\t\t\tradialDistanceFromCenter = Math.sqrt( distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n\n\n\t\t\tvar angle = Math.PI * 2 + Math.atan2(distanceFromYCenter, distanceFromXCenter);\n\n\t\t\t//If the segment is in the top left quadrant, we need to add another rotation to the angle\n\t\t\tif (distanceFromXCenter < 0 && distanceFromYCenter < 0){\n\t\t\t\tangle += Math.PI*2;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tangle: angle,\n\t\t\t\tdistance: radialDistanceFromCenter\n\t\t\t};\n\t\t},\n\t\taliasPixel = helpers.aliasPixel = function(pixelWidth){\n\t\t\treturn (pixelWidth % 2 === 0) ? 0 : 0.5;\n\t\t},\n\t\tsplineCurve = helpers.splineCurve = function(FirstPoint,MiddlePoint,AfterPoint,t){\n\t\t\t//Props to Rob Spencer at scaled innovation for his post on splining between points\n\t\t\t//http://scaledinnovation.com/analytics/splines/aboutSplines.html\n\t\t\tvar d01=Math.sqrt(Math.pow(MiddlePoint.x-FirstPoint.x,2)+Math.pow(MiddlePoint.y-FirstPoint.y,2)),\n\t\t\t\td12=Math.sqrt(Math.pow(AfterPoint.x-MiddlePoint.x,2)+Math.pow(AfterPoint.y-MiddlePoint.y,2)),\n\t\t\t\tfa=t*d01/(d01+d12),// scaling factor for triangle Ta\n\t\t\t\tfb=t*d12/(d01+d12);\n\t\t\treturn {\n\t\t\t\tinner : {\n\t\t\t\t\tx : MiddlePoint.x-fa*(AfterPoint.x-FirstPoint.x),\n\t\t\t\t\ty : MiddlePoint.y-fa*(AfterPoint.y-FirstPoint.y)\n\t\t\t\t},\n\t\t\t\touter : {\n\t\t\t\t\tx: MiddlePoint.x+fb*(AfterPoint.x-FirstPoint.x),\n\t\t\t\t\ty : MiddlePoint.y+fb*(AfterPoint.y-FirstPoint.y)\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t\tcalculateOrderOfMagnitude = helpers.calculateOrderOfMagnitude = function(val){\n\t\t\treturn Math.floor(Math.log(val) / Math.LN10);\n\t\t},\n\t\tcalculateScaleRange = helpers.calculateScaleRange = function(valuesArray, drawingSize, textSize, startFromZero, integersOnly){\n\n\t\t\t//Set a minimum step of two - a point at the top of the graph, and a point at the base\n\t\t\tvar minSteps = 2,\n\t\t\t\tmaxSteps = Math.floor(drawingSize/(textSize * 1.5)),\n\t\t\t\tskipFitting = (minSteps >= maxSteps);\n\n\t\t\tvar maxValue = max(valuesArray),\n\t\t\t\tminValue = min(valuesArray);\n\n\t\t\t// We need some degree of seperation here to calculate the scales if all the values are the same\n\t\t\t// Adding/minusing 0.5 will give us a range of 1.\n\t\t\tif (maxValue === minValue){\n\t\t\t\tmaxValue += 0.5;\n\t\t\t\t// So we don't end up with a graph with a negative start value if we've said always start from zero\n\t\t\t\tif (minValue >= 0.5 && !startFromZero){\n\t\t\t\t\tminValue -= 0.5;\n\t\t\t\t}\n\t\t\t\telse{\n\t\t\t\t\t// Make up a whole number above the values\n\t\t\t\t\tmaxValue += 0.5;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar\tvalueRange = Math.abs(maxValue - minValue),\n\t\t\t\trangeOrderOfMagnitude = calculateOrderOfMagnitude(valueRange),\n\t\t\t\tgraphMax = Math.ceil(maxValue / (1 * Math.pow(10, rangeOrderOfMagnitude))) * Math.pow(10, rangeOrderOfMagnitude),\n\t\t\t\tgraphMin = (startFromZero) ? 0 : Math.floor(minValue / (1 * Math.pow(10, rangeOrderOfMagnitude))) * Math.pow(10, rangeOrderOfMagnitude),\n\t\t\t\tgraphRange = graphMax - graphMin,\n\t\t\t\tstepValue = Math.pow(10, rangeOrderOfMagnitude),\n\t\t\t\tnumberOfSteps = Math.round(graphRange / stepValue);\n\n\t\t\t//If we have more space on the graph we'll use it to give more definition to the data\n\t\t\twhile((numberOfSteps > maxSteps || (numberOfSteps * 2) < maxSteps) && !skipFitting) {\n\t\t\t\tif(numberOfSteps > maxSteps){\n\t\t\t\t\tstepValue *=2;\n\t\t\t\t\tnumberOfSteps = Math.round(graphRange/stepValue);\n\t\t\t\t\t// Don't ever deal with a decimal number of steps - cancel fitting and just use the minimum number of steps.\n\t\t\t\t\tif (numberOfSteps % 1 !== 0){\n\t\t\t\t\t\tskipFitting = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t//We can fit in double the amount of scale points on the scale\n\t\t\t\telse{\n\t\t\t\t\t//If user has declared ints only, and the step value isn't a decimal\n\t\t\t\t\tif (integersOnly && rangeOrderOfMagnitude >= 0){\n\t\t\t\t\t\t//If the user has said integers only, we need to check that making the scale more granular wouldn't make it a float\n\t\t\t\t\t\tif(stepValue/2 % 1 === 0){\n\t\t\t\t\t\t\tstepValue /=2;\n\t\t\t\t\t\t\tnumberOfSteps = Math.round(graphRange/stepValue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t//If it would make it a float break out of the loop\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t//If the scale doesn't have to be an int, make the scale more granular anyway.\n\t\t\t\t\telse{\n\t\t\t\t\t\tstepValue /=2;\n\t\t\t\t\t\tnumberOfSteps = Math.round(graphRange/stepValue);\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (skipFitting){\n\t\t\t\tnumberOfSteps = minSteps;\n\t\t\t\tstepValue = graphRange / numberOfSteps;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tsteps : numberOfSteps,\n\t\t\t\tstepValue : stepValue,\n\t\t\t\tmin : graphMin,\n\t\t\t\tmax\t: graphMin + (numberOfSteps * stepValue)\n\t\t\t};\n\n\t\t},\n\t\t/* jshint ignore:start */\n\t\t// Blows up jshint errors based on the new Function constructor\n\t\t//Templating methods\n\t\t//Javascript micro templating by John Resig - source at http://ejohn.org/blog/javascript-micro-templating/\n\t\ttemplate = helpers.template = function(templateString, valuesObject){\n\n\t\t\t// If templateString is function rather than string-template - call the function for valuesObject\n\n\t\t\tif(templateString instanceof Function){\n\t\t\t \treturn templateString(valuesObject);\n\t\t \t}\n\n\t\t\tvar cache = {};\n\t\t\tfunction tmpl(str, data){\n\t\t\t\t// Figure out if we're getting a template, or if we need to\n\t\t\t\t// load the template - and be sure to cache the result.\n\t\t\t\tvar fn = !/\\W/.test(str) ?\n\t\t\t\tcache[str] = cache[str] :\n\n\t\t\t\t// Generate a reusable function that will serve as a template\n\t\t\t\t// generator (and which will be cached).\n\t\t\t\tnew Function(\"obj\",\n\t\t\t\t\t\"var p=[],print=function(){p.push.apply(p,arguments);};\" +\n\n\t\t\t\t\t// Introduce the data as local variables using with(){}\n\t\t\t\t\t\"with(obj){p.push('\" +\n\n\t\t\t\t\t// Convert the template into pure JavaScript\n\t\t\t\t\tstr\n\t\t\t\t\t\t.replace(/[\\r\\t\\n]/g, \" \")\n\t\t\t\t\t\t.split(\"<%\").join(\"\\t\")\n\t\t\t\t\t\t.replace(/((^|%>)[^\\t]*)'/g, \"$1\\r\")\n\t\t\t\t\t\t.replace(/\\t=(.*?)%>/g, \"',$1,'\")\n\t\t\t\t\t\t.split(\"\\t\").join(\"');\")\n\t\t\t\t\t\t.split(\"%>\").join(\"p.push('\")\n\t\t\t\t\t\t.split(\"\\r\").join(\"\\\\'\") +\n\t\t\t\t\t\"');}return p.join('');\"\n\t\t\t\t);\n\n\t\t\t\t// Provide some basic currying to the user\n\t\t\t\treturn data ? fn( data ) : fn;\n\t\t\t}\n\t\t\treturn tmpl(templateString,valuesObject);\n\t\t},\n\t\t/* jshint ignore:end */\n\t\tgenerateLabels = helpers.generateLabels = function(templateString,numberOfSteps,graphMin,stepValue){\n\t\t\tvar labelsArray = new Array(numberOfSteps);\n\t\t\tif (labelTemplateString){\n\t\t\t\teach(labelsArray,function(val,index){\n\t\t\t\t\tlabelsArray[index] = template(templateString,{value: (graphMin + (stepValue*(index+1)))});\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn labelsArray;\n\t\t},\n\t\t//--Animation methods\n\t\t//Easing functions adapted from Robert Penner's easing equations\n\t\t//http://www.robertpenner.com/easing/\n\t\teasingEffects = helpers.easingEffects = {\n\t\t\tlinear: function (t) {\n\t\t\t\treturn t;\n\t\t\t},\n\t\t\teaseInQuad: function (t) {\n\t\t\t\treturn t * t;\n\t\t\t},\n\t\t\teaseOutQuad: function (t) {\n\t\t\t\treturn -1 * t * (t - 2);\n\t\t\t},\n\t\t\teaseInOutQuad: function (t) {\n\t\t\t\tif ((t /= 1 / 2) < 1) return 1 / 2 * t * t;\n\t\t\t\treturn -1 / 2 * ((--t) * (t - 2) - 1);\n\t\t\t},\n\t\t\teaseInCubic: function (t) {\n\t\t\t\treturn t * t * t;\n\t\t\t},\n\t\t\teaseOutCubic: function (t) {\n\t\t\t\treturn 1 * ((t = t / 1 - 1) * t * t + 1);\n\t\t\t},\n\t\t\teaseInOutCubic: function (t) {\n\t\t\t\tif ((t /= 1 / 2) < 1) return 1 / 2 * t * t * t;\n\t\t\t\treturn 1 / 2 * ((t -= 2) * t * t + 2);\n\t\t\t},\n\t\t\teaseInQuart: function (t) {\n\t\t\t\treturn t * t * t * t;\n\t\t\t},\n\t\t\teaseOutQuart: function (t) {\n\t\t\t\treturn -1 * ((t = t / 1 - 1) * t * t * t - 1);\n\t\t\t},\n\t\t\teaseInOutQuart: function (t) {\n\t\t\t\tif ((t /= 1 / 2) < 1) return 1 / 2 * t * t * t * t;\n\t\t\t\treturn -1 / 2 * ((t -= 2) * t * t * t - 2);\n\t\t\t},\n\t\t\teaseInQuint: function (t) {\n\t\t\t\treturn 1 * (t /= 1) * t * t * t * t;\n\t\t\t},\n\t\t\teaseOutQuint: function (t) {\n\t\t\t\treturn 1 * ((t = t / 1 - 1) * t * t * t * t + 1);\n\t\t\t},\n\t\t\teaseInOutQuint: function (t) {\n\t\t\t\tif ((t /= 1 / 2) < 1) return 1 / 2 * t * t * t * t * t;\n\t\t\t\treturn 1 / 2 * ((t -= 2) * t * t * t * t + 2);\n\t\t\t},\n\t\t\teaseInSine: function (t) {\n\t\t\t\treturn -1 * Math.cos(t / 1 * (Math.PI / 2)) + 1;\n\t\t\t},\n\t\t\teaseOutSine: function (t) {\n\t\t\t\treturn 1 * Math.sin(t / 1 * (Math.PI / 2));\n\t\t\t},\n\t\t\teaseInOutSine: function (t) {\n\t\t\t\treturn -1 / 2 * (Math.cos(Math.PI * t / 1) - 1);\n\t\t\t},\n\t\t\teaseInExpo: function (t) {\n\t\t\t\treturn (t === 0) ? 1 : 1 * Math.pow(2, 10 * (t / 1 - 1));\n\t\t\t},\n\t\t\teaseOutExpo: function (t) {\n\t\t\t\treturn (t === 1) ? 1 : 1 * (-Math.pow(2, -10 * t / 1) + 1);\n\t\t\t},\n\t\t\teaseInOutExpo: function (t) {\n\t\t\t\tif (t === 0) return 0;\n\t\t\t\tif (t === 1) return 1;\n\t\t\t\tif ((t /= 1 / 2) < 1) return 1 / 2 * Math.pow(2, 10 * (t - 1));\n\t\t\t\treturn 1 / 2 * (-Math.pow(2, -10 * --t) + 2);\n\t\t\t},\n\t\t\teaseInCirc: function (t) {\n\t\t\t\tif (t >= 1) return t;\n\t\t\t\treturn -1 * (Math.sqrt(1 - (t /= 1) * t) - 1);\n\t\t\t},\n\t\t\teaseOutCirc: function (t) {\n\t\t\t\treturn 1 * Math.sqrt(1 - (t = t / 1 - 1) * t);\n\t\t\t},\n\t\t\teaseInOutCirc: function (t) {\n\t\t\t\tif ((t /= 1 / 2) < 1) return -1 / 2 * (Math.sqrt(1 - t * t) - 1);\n\t\t\t\treturn 1 / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1);\n\t\t\t},\n\t\t\teaseInElastic: function (t) {\n\t\t\t\tvar s = 1.70158;\n\t\t\t\tvar p = 0;\n\t\t\t\tvar a = 1;\n\t\t\t\tif (t === 0) return 0;\n\t\t\t\tif ((t /= 1) == 1) return 1;\n\t\t\t\tif (!p) p = 1 * 0.3;\n\t\t\t\tif (a < Math.abs(1)) {\n\t\t\t\t\ta = 1;\n\t\t\t\t\ts = p / 4;\n\t\t\t\t} else s = p / (2 * Math.PI) * Math.asin(1 / a);\n\t\t\t\treturn -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * 1 - s) * (2 * Math.PI) / p));\n\t\t\t},\n\t\t\teaseOutElastic: function (t) {\n\t\t\t\tvar s = 1.70158;\n\t\t\t\tvar p = 0;\n\t\t\t\tvar a = 1;\n\t\t\t\tif (t === 0) return 0;\n\t\t\t\tif ((t /= 1) == 1) return 1;\n\t\t\t\tif (!p) p = 1 * 0.3;\n\t\t\t\tif (a < Math.abs(1)) {\n\t\t\t\t\ta = 1;\n\t\t\t\t\ts = p / 4;\n\t\t\t\t} else s = p / (2 * Math.PI) * Math.asin(1 / a);\n\t\t\t\treturn a * Math.pow(2, -10 * t) * Math.sin((t * 1 - s) * (2 * Math.PI) / p) + 1;\n\t\t\t},\n\t\t\teaseInOutElastic: function (t) {\n\t\t\t\tvar s = 1.70158;\n\t\t\t\tvar p = 0;\n\t\t\t\tvar a = 1;\n\t\t\t\tif (t === 0) return 0;\n\t\t\t\tif ((t /= 1 / 2) == 2) return 1;\n\t\t\t\tif (!p) p = 1 * (0.3 * 1.5);\n\t\t\t\tif (a < Math.abs(1)) {\n\t\t\t\t\ta = 1;\n\t\t\t\t\ts = p / 4;\n\t\t\t\t} else s = p / (2 * Math.PI) * Math.asin(1 / a);\n\t\t\t\tif (t < 1) return -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * 1 - s) * (2 * Math.PI) / p));\n\t\t\t\treturn a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * 1 - s) * (2 * Math.PI) / p) * 0.5 + 1;\n\t\t\t},\n\t\t\teaseInBack: function (t) {\n\t\t\t\tvar s = 1.70158;\n\t\t\t\treturn 1 * (t /= 1) * t * ((s + 1) * t - s);\n\t\t\t},\n\t\t\teaseOutBack: function (t) {\n\t\t\t\tvar s = 1.70158;\n\t\t\t\treturn 1 * ((t = t / 1 - 1) * t * ((s + 1) * t + s) + 1);\n\t\t\t},\n\t\t\teaseInOutBack: function (t) {\n\t\t\t\tvar s = 1.70158;\n\t\t\t\tif ((t /= 1 / 2) < 1) return 1 / 2 * (t * t * (((s *= (1.525)) + 1) * t - s));\n\t\t\t\treturn 1 / 2 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n\t\t\t},\n\t\t\teaseInBounce: function (t) {\n\t\t\t\treturn 1 - easingEffects.easeOutBounce(1 - t);\n\t\t\t},\n\t\t\teaseOutBounce: function (t) {\n\t\t\t\tif ((t /= 1) < (1 / 2.75)) {\n\t\t\t\t\treturn 1 * (7.5625 * t * t);\n\t\t\t\t} else if (t < (2 / 2.75)) {\n\t\t\t\t\treturn 1 * (7.5625 * (t -= (1.5 / 2.75)) * t + 0.75);\n\t\t\t\t} else if (t < (2.5 / 2.75)) {\n\t\t\t\t\treturn 1 * (7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375);\n\t\t\t\t} else {\n\t\t\t\t\treturn 1 * (7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375);\n\t\t\t\t}\n\t\t\t},\n\t\t\teaseInOutBounce: function (t) {\n\t\t\t\tif (t < 1 / 2) return easingEffects.easeInBounce(t * 2) * 0.5;\n\t\t\t\treturn easingEffects.easeOutBounce(t * 2 - 1) * 0.5 + 1 * 0.5;\n\t\t\t}\n\t\t},\n\t\t//Request animation polyfill - http://www.paulirish.com/2011/requestanimationframe-for-smart-animating/\n\t\trequestAnimFrame = helpers.requestAnimFrame = (function(){\n\t\t\treturn window.requestAnimationFrame ||\n\t\t\t\twindow.webkitRequestAnimationFrame ||\n\t\t\t\twindow.mozRequestAnimationFrame ||\n\t\t\t\twindow.oRequestAnimationFrame ||\n\t\t\t\twindow.msRequestAnimationFrame ||\n\t\t\t\tfunction(callback) {\n\t\t\t\t\treturn window.setTimeout(callback, 1000 / 60);\n\t\t\t\t};\n\t\t})(),\n\t\tcancelAnimFrame = helpers.cancelAnimFrame = (function(){\n\t\t\treturn window.cancelAnimationFrame ||\n\t\t\t\twindow.webkitCancelAnimationFrame ||\n\t\t\t\twindow.mozCancelAnimationFrame ||\n\t\t\t\twindow.oCancelAnimationFrame ||\n\t\t\t\twindow.msCancelAnimationFrame ||\n\t\t\t\tfunction(callback) {\n\t\t\t\t\treturn window.clearTimeout(callback, 1000 / 60);\n\t\t\t\t};\n\t\t})(),\n\t\tanimationLoop = helpers.animationLoop = function(callback,totalSteps,easingString,onProgress,onComplete,chartInstance){\n\n\t\t\tvar currentStep = 0,\n\t\t\t\teasingFunction = easingEffects[easingString] || easingEffects.linear;\n\n\t\t\tvar animationFrame = function(){\n\t\t\t\tcurrentStep++;\n\t\t\t\tvar stepDecimal = currentStep/totalSteps;\n\t\t\t\tvar easeDecimal = easingFunction(stepDecimal);\n\n\t\t\t\tcallback.call(chartInstance,easeDecimal,stepDecimal, currentStep);\n\t\t\t\tonProgress.call(chartInstance,easeDecimal,stepDecimal);\n\t\t\t\tif (currentStep < totalSteps){\n\t\t\t\t\tchartInstance.animationFrame = requestAnimFrame(animationFrame);\n\t\t\t\t} else{\n\t\t\t\t\tonComplete.apply(chartInstance);\n\t\t\t\t}\n\t\t\t};\n\t\t\trequestAnimFrame(animationFrame);\n\t\t},\n\t\t//-- DOM methods\n\t\tgetRelativePosition = helpers.getRelativePosition = function(evt){\n\t\t\tvar mouseX, mouseY;\n\t\t\tvar e = evt.originalEvent || evt,\n\t\t\t\tcanvas = evt.currentTarget || evt.srcElement,\n\t\t\t\tboundingRect = canvas.getBoundingClientRect();\n\n\t\t\tif (e.touches){\n\t\t\t\tmouseX = e.touches[0].clientX - boundingRect.left;\n\t\t\t\tmouseY = e.touches[0].clientY - boundingRect.top;\n\n\t\t\t}\n\t\t\telse{\n\t\t\t\tmouseX = e.clientX - boundingRect.left;\n\t\t\t\tmouseY = e.clientY - boundingRect.top;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tx : mouseX,\n\t\t\t\ty : mouseY\n\t\t\t};\n\n\t\t},\n\t\taddEvent = helpers.addEvent = function(node,eventType,method){\n\t\t\tif (node.addEventListener){\n\t\t\t\tnode.addEventListener(eventType,method);\n\t\t\t} else if (node.attachEvent){\n\t\t\t\tnode.attachEvent(\"on\"+eventType, method);\n\t\t\t} else {\n\t\t\t\tnode[\"on\"+eventType] = method;\n\t\t\t}\n\t\t},\n\t\tremoveEvent = helpers.removeEvent = function(node, eventType, handler){\n\t\t\tif (node.removeEventListener){\n\t\t\t\tnode.removeEventListener(eventType, handler, false);\n\t\t\t} else if (node.detachEvent){\n\t\t\t\tnode.detachEvent(\"on\"+eventType,handler);\n\t\t\t} else{\n\t\t\t\tnode[\"on\" + eventType] = noop;\n\t\t\t}\n\t\t},\n\t\tbindEvents = helpers.bindEvents = function(chartInstance, arrayOfEvents, handler){\n\t\t\t// Create the events object if it's not already present\n\t\t\tif (!chartInstance.events) chartInstance.events = {};\n\n\t\t\teach(arrayOfEvents,function(eventName){\n\t\t\t\tchartInstance.events[eventName] = function(){\n\t\t\t\t\thandler.apply(chartInstance, arguments);\n\t\t\t\t};\n\t\t\t\taddEvent(chartInstance.chart.canvas,eventName,chartInstance.events[eventName]);\n\t\t\t});\n\t\t},\n\t\tunbindEvents = helpers.unbindEvents = function (chartInstance, arrayOfEvents) {\n\t\t\teach(arrayOfEvents, function(handler,eventName){\n\t\t\t\tremoveEvent(chartInstance.chart.canvas, eventName, handler);\n\t\t\t});\n\t\t},\n\t\tgetMaximumWidth = helpers.getMaximumWidth = function(domNode){\n\t\t\tvar container = domNode.parentNode;\n\t\t\t// TODO = check cross browser stuff with this.\n\t\t\treturn container.clientWidth;\n\t\t},\n\t\tgetMaximumHeight = helpers.getMaximumHeight = function(domNode){\n\t\t\tvar container = domNode.parentNode;\n\t\t\t// TODO = check cross browser stuff with this.\n\t\t\treturn container.clientHeight;\n\t\t},\n\t\tgetMaximumSize = helpers.getMaximumSize = helpers.getMaximumWidth, // legacy support\n\t\tretinaScale = helpers.retinaScale = function(chart){\n\t\t\tvar ctx = chart.ctx,\n\t\t\t\twidth = chart.canvas.width,\n\t\t\t\theight = chart.canvas.height;\n\n\t\t\tif (window.devicePixelRatio) {\n\t\t\t\tctx.canvas.style.width = width + \"px\";\n\t\t\t\tctx.canvas.style.height = height + \"px\";\n\t\t\t\tctx.canvas.height = height * window.devicePixelRatio;\n\t\t\t\tctx.canvas.width = width * window.devicePixelRatio;\n\t\t\t\tctx.scale(window.devicePixelRatio, window.devicePixelRatio);\n\t\t\t}\n\t\t},\n\t\t//-- Canvas methods\n\t\tclear = helpers.clear = function(chart){\n\t\t\tchart.ctx.clearRect(0,0,chart.width,chart.height);\n\t\t},\n\t\tfontString = helpers.fontString = function(pixelSize,fontStyle,fontFamily){\n\t\t\treturn fontStyle + \" \" + pixelSize+\"px \" + fontFamily;\n\t\t},\n\t\tlongestText = helpers.longestText = function(ctx,font,arrayOfStrings){\n\t\t\tctx.font = font;\n\t\t\tvar longest = 0;\n\t\t\teach(arrayOfStrings,function(string){\n\t\t\t\tvar textWidth = ctx.measureText(string).width;\n\t\t\t\tlongest = (textWidth > longest) ? textWidth : longest;\n\t\t\t});\n\t\t\treturn longest;\n\t\t},\n\t\tdrawRoundedRectangle = helpers.drawRoundedRectangle = function(ctx,x,y,width,height,radius){\n\t\t\tctx.beginPath();\n\t\t\tctx.moveTo(x + radius, y);\n\t\t\tctx.lineTo(x + width - radius, y);\n\t\t\tctx.quadraticCurveTo(x + width, y, x + width, y + radius);\n\t\t\tctx.lineTo(x + width, y + height - radius);\n\t\t\tctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);\n\t\t\tctx.lineTo(x + radius, y + height);\n\t\t\tctx.quadraticCurveTo(x, y + height, x, y + height - radius);\n\t\t\tctx.lineTo(x, y + radius);\n\t\t\tctx.quadraticCurveTo(x, y, x + radius, y);\n\t\t\tctx.closePath();\n\t\t};\n\n\n\t//Store a reference to each instance - allowing us to globally resize chart instances on window resize.\n\t//Destroy method on the chart will remove the instance of the chart from this reference.\n\tChart.instances = {};\n\n\tChart.Type = function(data,options,chart){\n\t\tthis.options = options;\n\t\tthis.chart = chart;\n\t\tthis.id = uid();\n\t\t//Add the chart instance to the global namespace\n\t\tChart.instances[this.id] = this;\n\n\t\t// Initialize is always called when a chart type is created\n\t\t// By default it is a no op, but it should be extended\n\t\tif (options.responsive){\n\t\t\tthis.resize();\n\t\t}\n\t\tthis.initialize.call(this,data);\n\t};\n\n\t//Core methods that'll be a part of every chart type\n\textend(Chart.Type.prototype,{\n\t\tinitialize : function(){return this;},\n\t\tclear : function(){\n\t\t\tclear(this.chart);\n\t\t\treturn this;\n\t\t},\n\t\tstop : function(){\n\t\t\t// Stops any current animation loop occuring\n\t\t\tcancelAnimFrame(this.animationFrame);\n\t\t\treturn this;\n\t\t},\n\t\tresize : function(callback){\n\t\t\tthis.stop();\n\t\t\tvar canvas = this.chart.canvas,\n\t\t\t\tnewWidth = getMaximumWidth(this.chart.canvas),\n\t\t\t\tnewHeight = this.options.maintainAspectRatio ? newWidth / this.chart.aspectRatio : getMaximumHeight(this.chart.canvas);\n\n\t\t\tcanvas.width = this.chart.width = newWidth;\n\t\t\tcanvas.height = this.chart.height = newHeight;\n\n\t\t\tretinaScale(this.chart);\n\n\t\t\tif (typeof callback === \"function\"){\n\t\t\t\tcallback.apply(this, Array.prototype.slice.call(arguments, 1));\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\t\treflow : noop,\n\t\trender : function(reflow){\n\t\t\tif (reflow){\n\t\t\t\tthis.reflow();\n\t\t\t}\n\t\t\tif (this.options.animation && !reflow){\n\t\t\t\thelpers.animationLoop(\n\t\t\t\t\tthis.draw,\n\t\t\t\t\tthis.options.animationSteps,\n\t\t\t\t\tthis.options.animationEasing,\n\t\t\t\t\tthis.options.onAnimationProgress,\n\t\t\t\t\tthis.options.onAnimationComplete,\n\t\t\t\t\tthis\n\t\t\t\t);\n\t\t\t}\n\t\t\telse{\n\t\t\t\tthis.draw();\n\t\t\t\tthis.options.onAnimationComplete.call(this);\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\t\tgenerateLegend : function(){\n\t\t\treturn template(this.options.legendTemplate,this);\n\t\t},\n\t\tdestroy : function(){\n\t\t\tthis.clear();\n\t\t\tunbindEvents(this, this.events);\n\t\t\tvar canvas = this.chart.canvas;\n\n\t\t\t// Reset canvas height/width attributes starts a fresh with the canvas context\n\t\t\tcanvas.width = this.chart.width;\n\t\t\tcanvas.height = this.chart.height;\n\n\t\t\t// < IE9 doesn't support removeProperty\n\t\t\tif (canvas.style.removeProperty) {\n\t\t\t\tcanvas.style.removeProperty('width');\n\t\t\t\tcanvas.style.removeProperty('height');\n\t\t\t} else {\n\t\t\t\tcanvas.style.removeAttribute('width');\n\t\t\t\tcanvas.style.removeAttribute('height');\n\t\t\t}\n\n\t\t\tdelete Chart.instances[this.id];\n\t\t},\n\t\tshowTooltip : function(ChartElements, forceRedraw){\n\t\t\t// Only redraw the chart if we've actually changed what we're hovering on.\n\t\t\tif (typeof this.activeElements === 'undefined') this.activeElements = [];\n\n\t\t\tvar isChanged = (function(Elements){\n\t\t\t\tvar changed = false;\n\n\t\t\t\tif (Elements.length !== this.activeElements.length){\n\t\t\t\t\tchanged = true;\n\t\t\t\t\treturn changed;\n\t\t\t\t}\n\n\t\t\t\teach(Elements, function(element, index){\n\t\t\t\t\tif (element !== this.activeElements[index]){\n\t\t\t\t\t\tchanged = true;\n\t\t\t\t\t}\n\t\t\t\t}, this);\n\t\t\t\treturn changed;\n\t\t\t}).call(this, ChartElements);\n\n\t\t\tif (!isChanged && !forceRedraw){\n\t\t\t\treturn;\n\t\t\t}\n\t\t\telse{\n\t\t\t\tthis.activeElements = ChartElements;\n\t\t\t}\n\t\t\tthis.draw();\n\t\t\tif(this.options.customTooltips){\n\t\t\t\tthis.options.customTooltips(false);\n\t\t\t}\n\t\t\tif (ChartElements.length > 0){\n\t\t\t\t// If we have multiple datasets, show a MultiTooltip for all of the data points at that index\n\t\t\t\tif (this.datasets && this.datasets.length > 1) {\n\t\t\t\t\tvar dataArray,\n\t\t\t\t\t\tdataIndex;\n\n\t\t\t\t\tfor (var i = this.datasets.length - 1; i >= 0; i--) {\n\t\t\t\t\t\tdataArray = this.datasets[i].points || this.datasets[i].bars || this.datasets[i].segments;\n\t\t\t\t\t\tdataIndex = indexOf(dataArray, ChartElements[0]);\n\t\t\t\t\t\tif (dataIndex !== -1){\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tvar tooltipLabels = [],\n\t\t\t\t\t\ttooltipColors = [],\n\t\t\t\t\t\tmedianPosition = (function(index) {\n\n\t\t\t\t\t\t\t// Get all the points at that particular index\n\t\t\t\t\t\t\tvar Elements = [],\n\t\t\t\t\t\t\t\tdataCollection,\n\t\t\t\t\t\t\t\txPositions = [],\n\t\t\t\t\t\t\t\tyPositions = [],\n\t\t\t\t\t\t\t\txMax,\n\t\t\t\t\t\t\t\tyMax,\n\t\t\t\t\t\t\t\txMin,\n\t\t\t\t\t\t\t\tyMin;\n\t\t\t\t\t\t\thelpers.each(this.datasets, function(dataset){\n\t\t\t\t\t\t\t\tdataCollection = dataset.points || dataset.bars || dataset.segments;\n\t\t\t\t\t\t\t\tif (dataCollection[dataIndex] && dataCollection[dataIndex].hasValue()){\n\t\t\t\t\t\t\t\t\tElements.push(dataCollection[dataIndex]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\thelpers.each(Elements, function(element) {\n\t\t\t\t\t\t\t\txPositions.push(element.x);\n\t\t\t\t\t\t\t\tyPositions.push(element.y);\n\n\n\t\t\t\t\t\t\t\t//Include any colour information about the element\n\t\t\t\t\t\t\t\ttooltipLabels.push(helpers.template(this.options.multiTooltipTemplate, element));\n\t\t\t\t\t\t\t\ttooltipColors.push({\n\t\t\t\t\t\t\t\t\tfill: element._saved.fillColor || element.fillColor,\n\t\t\t\t\t\t\t\t\tstroke: element._saved.strokeColor || element.strokeColor\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t}, this);\n\n\t\t\t\t\t\t\tyMin = min(yPositions);\n\t\t\t\t\t\t\tyMax = max(yPositions);\n\n\t\t\t\t\t\t\txMin = min(xPositions);\n\t\t\t\t\t\t\txMax = max(xPositions);\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tx: (xMin > this.chart.width/2) ? xMin : xMax,\n\t\t\t\t\t\t\t\ty: (yMin + yMax)/2\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}).call(this, dataIndex);\n\n\t\t\t\t\tnew Chart.MultiTooltip({\n\t\t\t\t\t\tx: medianPosition.x,\n\t\t\t\t\t\ty: medianPosition.y,\n\t\t\t\t\t\txPadding: this.options.tooltipXPadding,\n\t\t\t\t\t\tyPadding: this.options.tooltipYPadding,\n\t\t\t\t\t\txOffset: this.options.tooltipXOffset,\n\t\t\t\t\t\tfillColor: this.options.tooltipFillColor,\n\t\t\t\t\t\ttextColor: this.options.tooltipFontColor,\n\t\t\t\t\t\tfontFamily: this.options.tooltipFontFamily,\n\t\t\t\t\t\tfontStyle: this.options.tooltipFontStyle,\n\t\t\t\t\t\tfontSize: this.options.tooltipFontSize,\n\t\t\t\t\t\ttitleTextColor: this.options.tooltipTitleFontColor,\n\t\t\t\t\t\ttitleFontFamily: this.options.tooltipTitleFontFamily,\n\t\t\t\t\t\ttitleFontStyle: this.options.tooltipTitleFontStyle,\n\t\t\t\t\t\ttitleFontSize: this.options.tooltipTitleFontSize,\n\t\t\t\t\t\tcornerRadius: this.options.tooltipCornerRadius,\n\t\t\t\t\t\tlabels: tooltipLabels,\n\t\t\t\t\t\tlegendColors: tooltipColors,\n\t\t\t\t\t\tlegendColorBackground : this.options.multiTooltipKeyBackground,\n\t\t\t\t\t\ttitle: ChartElements[0].label,\n\t\t\t\t\t\tchart: this.chart,\n\t\t\t\t\t\tctx: this.chart.ctx,\n\t\t\t\t\t\tcustom: this.options.customTooltips\n\t\t\t\t\t}).draw();\n\n\t\t\t\t} else {\n\t\t\t\t\teach(ChartElements, function(Element) {\n\t\t\t\t\t\tvar tooltipPosition = Element.tooltipPosition();\n\t\t\t\t\t\tnew Chart.Tooltip({\n\t\t\t\t\t\t\tx: Math.round(tooltipPosition.x),\n\t\t\t\t\t\t\ty: Math.round(tooltipPosition.y),\n\t\t\t\t\t\t\txPadding: this.options.tooltipXPadding,\n\t\t\t\t\t\t\tyPadding: this.options.tooltipYPadding,\n\t\t\t\t\t\t\tfillColor: this.options.tooltipFillColor,\n\t\t\t\t\t\t\ttextColor: this.options.tooltipFontColor,\n\t\t\t\t\t\t\tfontFamily: this.options.tooltipFontFamily,\n\t\t\t\t\t\t\tfontStyle: this.options.tooltipFontStyle,\n\t\t\t\t\t\t\tfontSize: this.options.tooltipFontSize,\n\t\t\t\t\t\t\tcaretHeight: this.options.tooltipCaretSize,\n\t\t\t\t\t\t\tcornerRadius: this.options.tooltipCornerRadius,\n\t\t\t\t\t\t\ttext: template(this.options.tooltipTemplate, Element),\n\t\t\t\t\t\t\tchart: this.chart,\n\t\t\t\t\t\t\tcustom: this.options.customTooltips\n\t\t\t\t\t\t}).draw();\n\t\t\t\t\t}, this);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\t\ttoBase64Image : function(){\n\t\t\treturn this.chart.canvas.toDataURL.apply(this.chart.canvas, arguments);\n\t\t}\n\t});\n\n\tChart.Type.extend = function(extensions){\n\n\t\tvar parent = this;\n\n\t\tvar ChartType = function(){\n\t\t\treturn parent.apply(this,arguments);\n\t\t};\n\n\t\t//Copy the prototype object of the this class\n\t\tChartType.prototype = clone(parent.prototype);\n\t\t//Now overwrite some of the properties in the base class with the new extensions\n\t\textend(ChartType.prototype, extensions);\n\n\t\tChartType.extend = Chart.Type.extend;\n\n\t\tif (extensions.name || parent.prototype.name){\n\n\t\t\tvar chartName = extensions.name || parent.prototype.name;\n\t\t\t//Assign any potential default values of the new chart type\n\n\t\t\t//If none are defined, we'll use a clone of the chart type this is being extended from.\n\t\t\t//I.e. if we extend a line chart, we'll use the defaults from the line chart if our new chart\n\t\t\t//doesn't define some defaults of their own.\n\n\t\t\tvar baseDefaults = (Chart.defaults[parent.prototype.name]) ? clone(Chart.defaults[parent.prototype.name]) : {};\n\n\t\t\tChart.defaults[chartName] = extend(baseDefaults,extensions.defaults);\n\n\t\t\tChart.types[chartName] = ChartType;\n\n\t\t\t//Register this new chart type in the Chart prototype\n\t\t\tChart.prototype[chartName] = function(data,options){\n\t\t\t\tvar config = merge(Chart.defaults.global, Chart.defaults[chartName], options || {});\n\t\t\t\treturn new ChartType(data,config,this);\n\t\t\t};\n\t\t} else{\n\t\t\twarn(\"Name not provided for this chart, so it hasn't been registered\");\n\t\t}\n\t\treturn parent;\n\t};\n\n\tChart.Element = function(configuration){\n\t\textend(this,configuration);\n\t\tthis.initialize.apply(this,arguments);\n\t\tthis.save();\n\t};\n\textend(Chart.Element.prototype,{\n\t\tinitialize : function(){},\n\t\trestore : function(props){\n\t\t\tif (!props){\n\t\t\t\textend(this,this._saved);\n\t\t\t} else {\n\t\t\t\teach(props,function(key){\n\t\t\t\t\tthis[key] = this._saved[key];\n\t\t\t\t},this);\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\t\tsave : function(){\n\t\t\tthis._saved = clone(this);\n\t\t\tdelete this._saved._saved;\n\t\t\treturn this;\n\t\t},\n\t\tupdate : function(newProps){\n\t\t\teach(newProps,function(value,key){\n\t\t\t\tthis._saved[key] = this[key];\n\t\t\t\tthis[key] = value;\n\t\t\t},this);\n\t\t\treturn this;\n\t\t},\n\t\ttransition : function(props,ease){\n\t\t\teach(props,function(value,key){\n\t\t\t\tthis[key] = ((value - this._saved[key]) * ease) + this._saved[key];\n\t\t\t},this);\n\t\t\treturn this;\n\t\t},\n\t\ttooltipPosition : function(){\n\t\t\treturn {\n\t\t\t\tx : this.x,\n\t\t\t\ty : this.y\n\t\t\t};\n\t\t},\n\t\thasValue: function(){\n\t\t\treturn isNumber(this.value);\n\t\t}\n\t});\n\n\tChart.Element.extend = inherits;\n\n\n\tChart.Point = Chart.Element.extend({\n\t\tdisplay: true,\n\t\tinRange: function(chartX,chartY){\n\t\t\tvar hitDetectionRange = this.hitDetectionRadius + this.radius;\n\t\t\treturn ((Math.pow(chartX-this.x, 2)+Math.pow(chartY-this.y, 2)) < Math.pow(hitDetectionRange,2));\n\t\t},\n\t\tdraw : function(){\n\t\t\tif (this.display){\n\t\t\t\tvar ctx = this.ctx;\n\t\t\t\tctx.beginPath();\n\n\t\t\t\tctx.arc(this.x, this.y, this.radius, 0, Math.PI*2);\n\t\t\t\tctx.closePath();\n\n\t\t\t\tctx.strokeStyle = this.strokeColor;\n\t\t\t\tctx.lineWidth = this.strokeWidth;\n\n\t\t\t\tctx.fillStyle = this.fillColor;\n\n\t\t\t\tctx.fill();\n\t\t\t\tctx.stroke();\n\t\t\t}\n\n\n\t\t\t//Quick debug for bezier curve splining\n\t\t\t//Highlights control points and the line between them.\n\t\t\t//Handy for dev - stripped in the min version.\n\n\t\t\t// ctx.save();\n\t\t\t// ctx.fillStyle = \"black\";\n\t\t\t// ctx.strokeStyle = \"black\"\n\t\t\t// ctx.beginPath();\n\t\t\t// ctx.arc(this.controlPoints.inner.x,this.controlPoints.inner.y, 2, 0, Math.PI*2);\n\t\t\t// ctx.fill();\n\n\t\t\t// ctx.beginPath();\n\t\t\t// ctx.arc(this.controlPoints.outer.x,this.controlPoints.outer.y, 2, 0, Math.PI*2);\n\t\t\t// ctx.fill();\n\n\t\t\t// ctx.moveTo(this.controlPoints.inner.x,this.controlPoints.inner.y);\n\t\t\t// ctx.lineTo(this.x, this.y);\n\t\t\t// ctx.lineTo(this.controlPoints.outer.x,this.controlPoints.outer.y);\n\t\t\t// ctx.stroke();\n\n\t\t\t// ctx.restore();\n\n\n\n\t\t}\n\t});\n\n\tChart.Arc = Chart.Element.extend({\n\t\tinRange : function(chartX,chartY){\n\n\t\t\tvar pointRelativePosition = helpers.getAngleFromPoint(this, {\n\t\t\t\tx: chartX,\n\t\t\t\ty: chartY\n\t\t\t});\n\n\t\t\t//Check if within the range of the open/close angle\n\t\t\tvar betweenAngles = (pointRelativePosition.angle >= this.startAngle && pointRelativePosition.angle <= this.endAngle),\n\t\t\t\twithinRadius = (pointRelativePosition.distance >= this.innerRadius && pointRelativePosition.distance <= this.outerRadius);\n\n\t\t\treturn (betweenAngles && withinRadius);\n\t\t\t//Ensure within the outside of the arc centre, but inside arc outer\n\t\t},\n\t\ttooltipPosition : function(){\n\t\t\tvar centreAngle = this.startAngle + ((this.endAngle - this.startAngle) / 2),\n\t\t\t\trangeFromCentre = (this.outerRadius - this.innerRadius) / 2 + this.innerRadius;\n\t\t\treturn {\n\t\t\t\tx : this.x + (Math.cos(centreAngle) * rangeFromCentre),\n\t\t\t\ty : this.y + (Math.sin(centreAngle) * rangeFromCentre)\n\t\t\t};\n\t\t},\n\t\tdraw : function(animationPercent){\n\n\t\t\tvar easingDecimal = animationPercent || 1;\n\n\t\t\tvar ctx = this.ctx;\n\n\t\t\tctx.beginPath();\n\n\t\t\tctx.arc(this.x, this.y, this.outerRadius, this.startAngle, this.endAngle);\n\n\t\t\tctx.arc(this.x, this.y, this.innerRadius, this.endAngle, this.startAngle, true);\n\n\t\t\tctx.closePath();\n\t\t\tctx.strokeStyle = this.strokeColor;\n\t\t\tctx.lineWidth = this.strokeWidth;\n\n\t\t\tctx.fillStyle = this.fillColor;\n\n\t\t\tctx.fill();\n\t\t\tctx.lineJoin = 'bevel';\n\n\t\t\tif (this.showStroke){\n\t\t\t\tctx.stroke();\n\t\t\t}\n\t\t}\n\t});\n\n\tChart.Rectangle = Chart.Element.extend({\n\t\tdraw : function(){\n\t\t\tvar ctx = this.ctx,\n\t\t\t\thalfWidth = this.width/2,\n\t\t\t\tleftX = this.x - halfWidth,\n\t\t\t\trightX = this.x + halfWidth,\n\t\t\t\ttop = this.base - (this.base - this.y),\n\t\t\t\thalfStroke = this.strokeWidth / 2;\n\n\t\t\t// Canvas doesn't allow us to stroke inside the width so we can\n\t\t\t// adjust the sizes to fit if we're setting a stroke on the line\n\t\t\tif (this.showStroke){\n\t\t\t\tleftX += halfStroke;\n\t\t\t\trightX -= halfStroke;\n\t\t\t\ttop += halfStroke;\n\t\t\t}\n\n\t\t\tctx.beginPath();\n\n\t\t\tctx.fillStyle = this.fillColor;\n\t\t\tctx.strokeStyle = this.strokeColor;\n\t\t\tctx.lineWidth = this.strokeWidth;\n\n\t\t\t// It'd be nice to keep this class totally generic to any rectangle\n\t\t\t// and simply specify which border to miss out.\n\t\t\tctx.moveTo(leftX, this.base);\n\t\t\tctx.lineTo(leftX, top);\n\t\t\tctx.lineTo(rightX, top);\n\t\t\tctx.lineTo(rightX, this.base);\n\t\t\tctx.fill();\n\t\t\tif (this.showStroke){\n\t\t\t\tctx.stroke();\n\t\t\t}\n\t\t},\n\t\theight : function(){\n\t\t\treturn this.base - this.y;\n\t\t},\n\t\tinRange : function(chartX,chartY){\n\t\t\treturn (chartX >= this.x - this.width/2 && chartX <= this.x + this.width/2) && (chartY >= this.y && chartY <= this.base);\n\t\t}\n\t});\n\n\tChart.Tooltip = Chart.Element.extend({\n\t\tdraw : function(){\n\n\t\t\tvar ctx = this.chart.ctx;\n\n\t\t\tctx.font = fontString(this.fontSize,this.fontStyle,this.fontFamily);\n\n\t\t\tthis.xAlign = \"center\";\n\t\t\tthis.yAlign = \"above\";\n\n\t\t\t//Distance between the actual element.y position and the start of the tooltip caret\n\t\t\tvar caretPadding = this.caretPadding = 2;\n\n\t\t\tvar tooltipWidth = ctx.measureText(this.text).width + 2*this.xPadding,\n\t\t\t\ttooltipRectHeight = this.fontSize + 2*this.yPadding,\n\t\t\t\ttooltipHeight = tooltipRectHeight + this.caretHeight + caretPadding;\n\n\t\t\tif (this.x + tooltipWidth/2 >this.chart.width){\n\t\t\t\tthis.xAlign = \"left\";\n\t\t\t} else if (this.x - tooltipWidth/2 < 0){\n\t\t\t\tthis.xAlign = \"right\";\n\t\t\t}\n\n\t\t\tif (this.y - tooltipHeight < 0){\n\t\t\t\tthis.yAlign = \"below\";\n\t\t\t}\n\n\n\t\t\tvar tooltipX = this.x - tooltipWidth/2,\n\t\t\t\ttooltipY = this.y - tooltipHeight;\n\n\t\t\tctx.fillStyle = this.fillColor;\n\n\t\t\t// Custom Tooltips\n\t\t\tif(this.custom){\n\t\t\t\tthis.custom(this);\n\t\t\t}\n\t\t\telse{\n\t\t\t\tswitch(this.yAlign)\n\t\t\t\t{\n\t\t\t\tcase \"above\":\n\t\t\t\t\t//Draw a caret above the x/y\n\t\t\t\t\tctx.beginPath();\n\t\t\t\t\tctx.moveTo(this.x,this.y - caretPadding);\n\t\t\t\t\tctx.lineTo(this.x + this.caretHeight, this.y - (caretPadding + this.caretHeight));\n\t\t\t\t\tctx.lineTo(this.x - this.caretHeight, this.y - (caretPadding + this.caretHeight));\n\t\t\t\t\tctx.closePath();\n\t\t\t\t\tctx.fill();\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"below\":\n\t\t\t\t\ttooltipY = this.y + caretPadding + this.caretHeight;\n\t\t\t\t\t//Draw a caret below the x/y\n\t\t\t\t\tctx.beginPath();\n\t\t\t\t\tctx.moveTo(this.x, this.y + caretPadding);\n\t\t\t\t\tctx.lineTo(this.x + this.caretHeight, this.y + caretPadding + this.caretHeight);\n\t\t\t\t\tctx.lineTo(this.x - this.caretHeight, this.y + caretPadding + this.caretHeight);\n\t\t\t\t\tctx.closePath();\n\t\t\t\t\tctx.fill();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tswitch(this.xAlign)\n\t\t\t\t{\n\t\t\t\tcase \"left\":\n\t\t\t\t\ttooltipX = this.x - tooltipWidth + (this.cornerRadius + this.caretHeight);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"right\":\n\t\t\t\t\ttooltipX = this.x - (this.cornerRadius + this.caretHeight);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tdrawRoundedRectangle(ctx,tooltipX,tooltipY,tooltipWidth,tooltipRectHeight,this.cornerRadius);\n\n\t\t\t\tctx.fill();\n\n\t\t\t\tctx.fillStyle = this.textColor;\n\t\t\t\tctx.textAlign = \"center\";\n\t\t\t\tctx.textBaseline = \"middle\";\n\t\t\t\tctx.fillText(this.text, tooltipX + tooltipWidth/2, tooltipY + tooltipRectHeight/2);\n\t\t\t}\n\t\t}\n\t});\n\n\tChart.MultiTooltip = Chart.Element.extend({\n\t\tinitialize : function(){\n\t\t\tthis.font = fontString(this.fontSize,this.fontStyle,this.fontFamily);\n\n\t\t\tthis.titleFont = fontString(this.titleFontSize,this.titleFontStyle,this.titleFontFamily);\n\n\t\t\tthis.height = (this.labels.length * this.fontSize) + ((this.labels.length-1) * (this.fontSize/2)) + (this.yPadding*2) + this.titleFontSize *1.5;\n\n\t\t\tthis.ctx.font = this.titleFont;\n\n\t\t\tvar titleWidth = this.ctx.measureText(this.title).width,\n\t\t\t\t//Label has a legend square as well so account for this.\n\t\t\t\tlabelWidth = longestText(this.ctx,this.font,this.labels) + this.fontSize + 3,\n\t\t\t\tlongestTextWidth = max([labelWidth,titleWidth]);\n\n\t\t\tthis.width = longestTextWidth + (this.xPadding*2);\n\n\n\t\t\tvar halfHeight = this.height/2;\n\n\t\t\t//Check to ensure the height will fit on the canvas\n\t\t\tif (this.y - halfHeight < 0 ){\n\t\t\t\tthis.y = halfHeight;\n\t\t\t} else if (this.y + halfHeight > this.chart.height){\n\t\t\t\tthis.y = this.chart.height - halfHeight;\n\t\t\t}\n\n\t\t\t//Decide whether to align left or right based on position on canvas\n\t\t\tif (this.x > this.chart.width/2){\n\t\t\t\tthis.x -= this.xOffset + this.width;\n\t\t\t} else {\n\t\t\t\tthis.x += this.xOffset;\n\t\t\t}\n\n\n\t\t},\n\t\tgetLineHeight : function(index){\n\t\t\tvar baseLineHeight = this.y - (this.height/2) + this.yPadding,\n\t\t\t\tafterTitleIndex = index-1;\n\n\t\t\t//If the index is zero, we're getting the title\n\t\t\tif (index === 0){\n\t\t\t\treturn baseLineHeight + this.titleFontSize/2;\n\t\t\t} else{\n\t\t\t\treturn baseLineHeight + ((this.fontSize*1.5*afterTitleIndex) + this.fontSize/2) + this.titleFontSize * 1.5;\n\t\t\t}\n\n\t\t},\n\t\tdraw : function(){\n\t\t\t// Custom Tooltips\n\t\t\tif(this.custom){\n\t\t\t\tthis.custom(this);\n\t\t\t}\n\t\t\telse{\n\t\t\t\tdrawRoundedRectangle(this.ctx,this.x,this.y - this.height/2,this.width,this.height,this.cornerRadius);\n\t\t\t\tvar ctx = this.ctx;\n\t\t\t\tctx.fillStyle = this.fillColor;\n\t\t\t\tctx.fill();\n\t\t\t\tctx.closePath();\n\n\t\t\t\tctx.textAlign = \"left\";\n\t\t\t\tctx.textBaseline = \"middle\";\n\t\t\t\tctx.fillStyle = this.titleTextColor;\n\t\t\t\tctx.font = this.titleFont;\n\n\t\t\t\tctx.fillText(this.title,this.x + this.xPadding, this.getLineHeight(0));\n\n\t\t\t\tctx.font = this.font;\n\t\t\t\thelpers.each(this.labels,function(label,index){\n\t\t\t\t\tctx.fillStyle = this.textColor;\n\t\t\t\t\tctx.fillText(label,this.x + this.xPadding + this.fontSize + 3, this.getLineHeight(index + 1));\n\n\t\t\t\t\t//A bit gnarly, but clearing this rectangle breaks when using explorercanvas (clears whole canvas)\n\t\t\t\t\t//ctx.clearRect(this.x + this.xPadding, this.getLineHeight(index + 1) - this.fontSize/2, this.fontSize, this.fontSize);\n\t\t\t\t\t//Instead we'll make a white filled block to put the legendColour palette over.\n\n\t\t\t\t\tctx.fillStyle = this.legendColorBackground;\n\t\t\t\t\tctx.fillRect(this.x + this.xPadding, this.getLineHeight(index + 1) - this.fontSize/2, this.fontSize, this.fontSize);\n\n\t\t\t\t\tctx.fillStyle = this.legendColors[index].fill;\n\t\t\t\t\tctx.fillRect(this.x + this.xPadding, this.getLineHeight(index + 1) - this.fontSize/2, this.fontSize, this.fontSize);\n\n\n\t\t\t\t},this);\n\t\t\t}\n\t\t}\n\t});\n\n\tChart.Scale = Chart.Element.extend({\n\t\tinitialize : function(){\n\t\t\tthis.fit();\n\t\t},\n\t\tbuildYLabels : function(){\n\t\t\tthis.yLabels = [];\n\n\t\t\tvar stepDecimalPlaces = getDecimalPlaces(this.stepValue);\n\n\t\t\tfor (var i=0; i<=this.steps; i++){\n\t\t\t\tthis.yLabels.push(template(this.templateString,{value:(this.min + (i * this.stepValue)).toFixed(stepDecimalPlaces)}));\n\t\t\t}\n\t\t\tthis.yLabelWidth = (this.display && this.showLabels) ? longestText(this.ctx,this.font,this.yLabels) : 0;\n\t\t},\n\t\taddXLabel : function(label){\n\t\t\tthis.xLabels.push(label);\n\t\t\tthis.valuesCount++;\n\t\t\tthis.fit();\n\t\t},\n\t\tremoveXLabel : function(){\n\t\t\tthis.xLabels.shift();\n\t\t\tthis.valuesCount--;\n\t\t\tthis.fit();\n\t\t},\n\t\t// Fitting loop to rotate x Labels and figure out what fits there, and also calculate how many Y steps to use\n\t\tfit: function(){\n\t\t\t// First we need the width of the yLabels, assuming the xLabels aren't rotated\n\n\t\t\t// To do that we need the base line at the top and base of the chart, assuming there is no x label rotation\n\t\t\tthis.startPoint = (this.display) ? this.fontSize : 0;\n\t\t\tthis.endPoint = (this.display) ? this.height - (this.fontSize * 1.5) - 5 : this.height; // -5 to pad labels\n\n\t\t\t// Apply padding settings to the start and end point.\n\t\t\tthis.startPoint += this.padding;\n\t\t\tthis.endPoint -= this.padding;\n\n\t\t\t// Cache the starting height, so can determine if we need to recalculate the scale yAxis\n\t\t\tvar cachedHeight = this.endPoint - this.startPoint,\n\t\t\t\tcachedYLabelWidth;\n\n\t\t\t// Build the current yLabels so we have an idea of what size they'll be to start\n\t\t\t/*\n\t\t\t *\tThis sets what is returned from calculateScaleRange as static properties of this class:\n\t\t\t *\n\t\t\t\tthis.steps;\n\t\t\t\tthis.stepValue;\n\t\t\t\tthis.min;\n\t\t\t\tthis.max;\n\t\t\t *\n\t\t\t */\n\t\t\tthis.calculateYRange(cachedHeight);\n\n\t\t\t// With these properties set we can now build the array of yLabels\n\t\t\t// and also the width of the largest yLabel\n\t\t\tthis.buildYLabels();\n\n\t\t\tthis.calculateXLabelRotation();\n\n\t\t\twhile((cachedHeight > this.endPoint - this.startPoint)){\n\t\t\t\tcachedHeight = this.endPoint - this.startPoint;\n\t\t\t\tcachedYLabelWidth = this.yLabelWidth;\n\n\t\t\t\tthis.calculateYRange(cachedHeight);\n\t\t\t\tthis.buildYLabels();\n\n\t\t\t\t// Only go through the xLabel loop again if the yLabel width has changed\n\t\t\t\tif (cachedYLabelWidth < this.yLabelWidth){\n\t\t\t\t\tthis.calculateXLabelRotation();\n\t\t\t\t}\n\t\t\t}\n\n\t\t},\n\t\tcalculateXLabelRotation : function(){\n\t\t\t//Get the width of each grid by calculating the difference\n\t\t\t//between x offsets between 0 and 1.\n\n\t\t\tthis.ctx.font = this.font;\n\n\t\t\tvar firstWidth = this.ctx.measureText(this.xLabels[0]).width,\n\t\t\t\tlastWidth = this.ctx.measureText(this.xLabels[this.xLabels.length - 1]).width,\n\t\t\t\tfirstRotated,\n\t\t\t\tlastRotated;\n\n\n\t\t\tthis.xScalePaddingRight = lastWidth/2 + 3;\n\t\t\tthis.xScalePaddingLeft = (firstWidth/2 > this.yLabelWidth + 10) ? firstWidth/2 : this.yLabelWidth + 10;\n\n\t\t\tthis.xLabelRotation = 0;\n\t\t\tif (this.display){\n\t\t\t\tvar originalLabelWidth = longestText(this.ctx,this.font,this.xLabels),\n\t\t\t\t\tcosRotation,\n\t\t\t\t\tfirstRotatedWidth;\n\t\t\t\tthis.xLabelWidth = originalLabelWidth;\n\t\t\t\t//Allow 3 pixels x2 padding either side for label readability\n\t\t\t\tvar xGridWidth = Math.floor(this.calculateX(1) - this.calculateX(0)) - 6;\n\n\t\t\t\t//Max label rotate should be 90 - also act as a loop counter\n\t\t\t\twhile ((this.xLabelWidth > xGridWidth && this.xLabelRotation === 0) || (this.xLabelWidth > xGridWidth && this.xLabelRotation <= 90 && this.xLabelRotation > 0)){\n\t\t\t\t\tcosRotation = Math.cos(toRadians(this.xLabelRotation));\n\n\t\t\t\t\tfirstRotated = cosRotation * firstWidth;\n\t\t\t\t\tlastRotated = cosRotation * lastWidth;\n\n\t\t\t\t\t// We're right aligning the text now.\n\t\t\t\t\tif (firstRotated + this.fontSize / 2 > this.yLabelWidth + 8){\n\t\t\t\t\t\tthis.xScalePaddingLeft = firstRotated + this.fontSize / 2;\n\t\t\t\t\t}\n\t\t\t\t\tthis.xScalePaddingRight = this.fontSize/2;\n\n\n\t\t\t\t\tthis.xLabelRotation++;\n\t\t\t\t\tthis.xLabelWidth = cosRotation * originalLabelWidth;\n\n\t\t\t\t}\n\t\t\t\tif (this.xLabelRotation > 0){\n\t\t\t\t\tthis.endPoint -= Math.sin(toRadians(this.xLabelRotation))*originalLabelWidth + 3;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse{\n\t\t\t\tthis.xLabelWidth = 0;\n\t\t\t\tthis.xScalePaddingRight = this.padding;\n\t\t\t\tthis.xScalePaddingLeft = this.padding;\n\t\t\t}\n\n\t\t},\n\t\t// Needs to be overidden in each Chart type\n\t\t// Otherwise we need to pass all the data into the scale class\n\t\tcalculateYRange: noop,\n\t\tdrawingArea: function(){\n\t\t\treturn this.startPoint - this.endPoint;\n\t\t},\n\t\tcalculateY : function(value){\n\t\t\tvar scalingFactor = this.drawingArea() / (this.min - this.max);\n\t\t\treturn this.endPoint - (scalingFactor * (value - this.min));\n\t\t},\n\t\tcalculateX : function(index){\n\t\t\tvar isRotated = (this.xLabelRotation > 0),\n\t\t\t\t// innerWidth = (this.offsetGridLines) ? this.width - offsetLeft - this.padding : this.width - (offsetLeft + halfLabelWidth * 2) - this.padding,\n\t\t\t\tinnerWidth = this.width - (this.xScalePaddingLeft + this.xScalePaddingRight),\n\t\t\t\tvalueWidth = innerWidth/Math.max((this.valuesCount - ((this.offsetGridLines) ? 0 : 1)), 1),\n\t\t\t\tvalueOffset = (valueWidth * index) + this.xScalePaddingLeft;\n\n\t\t\tif (this.offsetGridLines){\n\t\t\t\tvalueOffset += (valueWidth/2);\n\t\t\t}\n\n\t\t\treturn Math.round(valueOffset);\n\t\t},\n\t\tupdate : function(newProps){\n\t\t\thelpers.extend(this, newProps);\n\t\t\tthis.fit();\n\t\t},\n\t\tdraw : function(){\n\t\t\tvar ctx = this.ctx,\n\t\t\t\tyLabelGap = (this.endPoint - this.startPoint) / this.steps,\n\t\t\t\txStart = Math.round(this.xScalePaddingLeft);\n\t\t\tif (this.display){\n\t\t\t\tctx.fillStyle = this.textColor;\n\t\t\t\tctx.font = this.font;\n\t\t\t\teach(this.yLabels,function(labelString,index){\n\t\t\t\t\tvar yLabelCenter = this.endPoint - (yLabelGap * index),\n\t\t\t\t\t\tlinePositionY = Math.round(yLabelCenter),\n\t\t\t\t\t\tdrawHorizontalLine = this.showHorizontalLines;\n\n\t\t\t\t\tctx.textAlign = \"right\";\n\t\t\t\t\tctx.textBaseline = \"middle\";\n\t\t\t\t\tif (this.showLabels){\n\t\t\t\t\t\tctx.fillText(labelString,xStart - 10,yLabelCenter);\n\t\t\t\t\t}\n\n\t\t\t\t\t// This is X axis, so draw it\n\t\t\t\t\tif (index === 0 && !drawHorizontalLine){\n\t\t\t\t\t\tdrawHorizontalLine = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (drawHorizontalLine){\n\t\t\t\t\t\tctx.beginPath();\n\t\t\t\t\t}\n\n\t\t\t\t\tif (index > 0){\n\t\t\t\t\t\t// This is a grid line in the centre, so drop that\n\t\t\t\t\t\tctx.lineWidth = this.gridLineWidth;\n\t\t\t\t\t\tctx.strokeStyle = this.gridLineColor;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// This is the first line on the scale\n\t\t\t\t\t\tctx.lineWidth = this.lineWidth;\n\t\t\t\t\t\tctx.strokeStyle = this.lineColor;\n\t\t\t\t\t}\n\n\t\t\t\t\tlinePositionY += helpers.aliasPixel(ctx.lineWidth);\n\n\t\t\t\t\tif(drawHorizontalLine){\n\t\t\t\t\t\tctx.moveTo(xStart, linePositionY);\n\t\t\t\t\t\tctx.lineTo(this.width, linePositionY);\n\t\t\t\t\t\tctx.stroke();\n\t\t\t\t\t\tctx.closePath();\n\t\t\t\t\t}\n\n\t\t\t\t\tctx.lineWidth = this.lineWidth;\n\t\t\t\t\tctx.strokeStyle = this.lineColor;\n\t\t\t\t\tctx.beginPath();\n\t\t\t\t\tctx.moveTo(xStart - 5, linePositionY);\n\t\t\t\t\tctx.lineTo(xStart, linePositionY);\n\t\t\t\t\tctx.stroke();\n\t\t\t\t\tctx.closePath();\n\n\t\t\t\t},this);\n\n\t\t\t\teach(this.xLabels,function(label,index){\n\t\t\t\t\tvar xPos = this.calculateX(index) + aliasPixel(this.lineWidth),\n\t\t\t\t\t\t// Check to see if line/bar here and decide where to place the line\n\t\t\t\t\t\tlinePos = this.calculateX(index - (this.offsetGridLines ? 0.5 : 0)) + aliasPixel(this.lineWidth),\n\t\t\t\t\t\tisRotated = (this.xLabelRotation > 0),\n\t\t\t\t\t\tdrawVerticalLine = this.showVerticalLines;\n\n\t\t\t\t\t// This is Y axis, so draw it\n\t\t\t\t\tif (index === 0 && !drawVerticalLine){\n\t\t\t\t\t\tdrawVerticalLine = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (drawVerticalLine){\n\t\t\t\t\t\tctx.beginPath();\n\t\t\t\t\t}\n\n\t\t\t\t\tif (index > 0){\n\t\t\t\t\t\t// This is a grid line in the centre, so drop that\n\t\t\t\t\t\tctx.lineWidth = this.gridLineWidth;\n\t\t\t\t\t\tctx.strokeStyle = this.gridLineColor;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// This is the first line on the scale\n\t\t\t\t\t\tctx.lineWidth = this.lineWidth;\n\t\t\t\t\t\tctx.strokeStyle = this.lineColor;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (drawVerticalLine){\n\t\t\t\t\t\tctx.moveTo(linePos,this.endPoint);\n\t\t\t\t\t\tctx.lineTo(linePos,this.startPoint - 3);\n\t\t\t\t\t\tctx.stroke();\n\t\t\t\t\t\tctx.closePath();\n\t\t\t\t\t}\n\n\n\t\t\t\t\tctx.lineWidth = this.lineWidth;\n\t\t\t\t\tctx.strokeStyle = this.lineColor;\n\n\n\t\t\t\t\t// Small lines at the bottom of the base grid line\n\t\t\t\t\tctx.beginPath();\n\t\t\t\t\tctx.moveTo(linePos,this.endPoint);\n\t\t\t\t\tctx.lineTo(linePos,this.endPoint + 5);\n\t\t\t\t\tctx.stroke();\n\t\t\t\t\tctx.closePath();\n\n\t\t\t\t\tctx.save();\n\t\t\t\t\tctx.translate(xPos,(isRotated) ? this.endPoint + 12 : this.endPoint + 8);\n\t\t\t\t\tctx.rotate(toRadians(this.xLabelRotation)*-1);\n\t\t\t\t\tctx.font = this.font;\n\t\t\t\t\tctx.textAlign = (isRotated) ? \"right\" : \"center\";\n\t\t\t\t\tctx.textBaseline = (isRotated) ? \"middle\" : \"top\";\n\t\t\t\t\tctx.fillText(label, 0, 0);\n\t\t\t\t\tctx.restore();\n\t\t\t\t},this);\n\n\t\t\t}\n\t\t}\n\n\t});\n\n\tChart.RadialScale = Chart.Element.extend({\n\t\tinitialize: function(){\n\t\t\tthis.size = min([this.height, this.width]);\n\t\t\tthis.drawingArea = (this.display) ? (this.size/2) - (this.fontSize/2 + this.backdropPaddingY) : (this.size/2);\n\t\t},\n\t\tcalculateCenterOffset: function(value){\n\t\t\t// Take into account half font size + the yPadding of the top value\n\t\t\tvar scalingFactor = this.drawingArea / (this.max - this.min);\n\n\t\t\treturn (value - this.min) * scalingFactor;\n\t\t},\n\t\tupdate : function(){\n\t\t\tif (!this.lineArc){\n\t\t\t\tthis.setScaleSize();\n\t\t\t} else {\n\t\t\t\tthis.drawingArea = (this.display) ? (this.size/2) - (this.fontSize/2 + this.backdropPaddingY) : (this.size/2);\n\t\t\t}\n\t\t\tthis.buildYLabels();\n\t\t},\n\t\tbuildYLabels: function(){\n\t\t\tthis.yLabels = [];\n\n\t\t\tvar stepDecimalPlaces = getDecimalPlaces(this.stepValue);\n\n\t\t\tfor (var i=0; i<=this.steps; i++){\n\t\t\t\tthis.yLabels.push(template(this.templateString,{value:(this.min + (i * this.stepValue)).toFixed(stepDecimalPlaces)}));\n\t\t\t}\n\t\t},\n\t\tgetCircumference : function(){\n\t\t\treturn ((Math.PI*2) / this.valuesCount);\n\t\t},\n\t\tsetScaleSize: function(){\n\t\t\t/*\n\t\t\t * Right, this is really confusing and there is a lot of maths going on here\n\t\t\t * The gist of the problem is here: https://gist.github.com/nnnick/696cc9c55f4b0beb8fe9\n\t\t\t *\n\t\t\t * Reaction: https://dl.dropboxusercontent.com/u/34601363/toomuchscience.gif\n\t\t\t *\n\t\t\t * Solution:\n\t\t\t *\n\t\t\t * We assume the radius of the polygon is half the size of the canvas at first\n\t\t\t * at each index we check if the text overlaps.\n\t\t\t *\n\t\t\t * Where it does, we store that angle and that index.\n\t\t\t *\n\t\t\t * After finding the largest index and angle we calculate how much we need to remove\n\t\t\t * from the shape radius to move the point inwards by that x.\n\t\t\t *\n\t\t\t * We average the left and right distances to get the maximum shape radius that can fit in the box\n\t\t\t * along with labels.\n\t\t\t *\n\t\t\t * Once we have that, we can find the centre point for the chart, by taking the x text protrusion\n\t\t\t * on each side, removing that from the size, halving it and adding the left x protrusion width.\n\t\t\t *\n\t\t\t * This will mean we have a shape fitted to the canvas, as large as it can be with the labels\n\t\t\t * and position it in the most space efficient manner\n\t\t\t *\n\t\t\t * https://dl.dropboxusercontent.com/u/34601363/yeahscience.gif\n\t\t\t */\n\n\n\t\t\t// Get maximum radius of the polygon. Either half the height (minus the text width) or half the width.\n\t\t\t// Use this to calculate the offset + change. - Make sure L/R protrusion is at least 0 to stop issues with centre points\n\t\t\tvar largestPossibleRadius = min([(this.height/2 - this.pointLabelFontSize - 5), this.width/2]),\n\t\t\t\tpointPosition,\n\t\t\t\ti,\n\t\t\t\ttextWidth,\n\t\t\t\thalfTextWidth,\n\t\t\t\tfurthestRight = this.width,\n\t\t\t\tfurthestRightIndex,\n\t\t\t\tfurthestRightAngle,\n\t\t\t\tfurthestLeft = 0,\n\t\t\t\tfurthestLeftIndex,\n\t\t\t\tfurthestLeftAngle,\n\t\t\t\txProtrusionLeft,\n\t\t\t\txProtrusionRight,\n\t\t\t\tradiusReductionRight,\n\t\t\t\tradiusReductionLeft,\n\t\t\t\tmaxWidthRadius;\n\t\t\tthis.ctx.font = fontString(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily);\n\t\t\tfor (i=0;i<this.valuesCount;i++){\n\t\t\t\t// 5px to space the text slightly out - similar to what we do in the draw function.\n\t\t\t\tpointPosition = this.getPointPosition(i, largestPossibleRadius);\n\t\t\t\ttextWidth = this.ctx.measureText(template(this.templateString, { value: this.labels[i] })).width + 5;\n\t\t\t\tif (i === 0 || i === this.valuesCount/2){\n\t\t\t\t\t// If we're at index zero, or exactly the middle, we're at exactly the top/bottom\n\t\t\t\t\t// of the radar chart, so text will be aligned centrally, so we'll half it and compare\n\t\t\t\t\t// w/left and right text sizes\n\t\t\t\t\thalfTextWidth = textWidth/2;\n\t\t\t\t\tif (pointPosition.x + halfTextWidth > furthestRight) {\n\t\t\t\t\t\tfurthestRight = pointPosition.x + halfTextWidth;\n\t\t\t\t\t\tfurthestRightIndex = i;\n\t\t\t\t\t}\n\t\t\t\t\tif (pointPosition.x - halfTextWidth < furthestLeft) {\n\t\t\t\t\t\tfurthestLeft = pointPosition.x - halfTextWidth;\n\t\t\t\t\t\tfurthestLeftIndex = i;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (i < this.valuesCount/2) {\n\t\t\t\t\t// Less than half the values means we'll left align the text\n\t\t\t\t\tif (pointPosition.x + textWidth > furthestRight) {\n\t\t\t\t\t\tfurthestRight = pointPosition.x + textWidth;\n\t\t\t\t\t\tfurthestRightIndex = i;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (i > this.valuesCount/2){\n\t\t\t\t\t// More than half the values means we'll right align the text\n\t\t\t\t\tif (pointPosition.x - textWidth < furthestLeft) {\n\t\t\t\t\t\tfurthestLeft = pointPosition.x - textWidth;\n\t\t\t\t\t\tfurthestLeftIndex = i;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\txProtrusionLeft = furthestLeft;\n\n\t\t\txProtrusionRight = Math.ceil(furthestRight - this.width);\n\n\t\t\tfurthestRightAngle = this.getIndexAngle(furthestRightIndex);\n\n\t\t\tfurthestLeftAngle = this.getIndexAngle(furthestLeftIndex);\n\n\t\t\tradiusReductionRight = xProtrusionRight / Math.sin(furthestRightAngle + Math.PI/2);\n\n\t\t\tradiusReductionLeft = xProtrusionLeft / Math.sin(furthestLeftAngle + Math.PI/2);\n\n\t\t\t// Ensure we actually need to reduce the size of the chart\n\t\t\tradiusReductionRight = (isNumber(radiusReductionRight)) ? radiusReductionRight : 0;\n\t\t\tradiusReductionLeft = (isNumber(radiusReductionLeft)) ? radiusReductionLeft : 0;\n\n\t\t\tthis.drawingArea = largestPossibleRadius - (radiusReductionLeft + radiusReductionRight)/2;\n\n\t\t\t//this.drawingArea = min([maxWidthRadius, (this.height - (2 * (this.pointLabelFontSize + 5)))/2])\n\t\t\tthis.setCenterPoint(radiusReductionLeft, radiusReductionRight);\n\n\t\t},\n\t\tsetCenterPoint: function(leftMovement, rightMovement){\n\n\t\t\tvar maxRight = this.width - rightMovement - this.drawingArea,\n\t\t\t\tmaxLeft = leftMovement + this.drawingArea;\n\n\t\t\tthis.xCenter = (maxLeft + maxRight)/2;\n\t\t\t// Always vertically in the centre as the text height doesn't change\n\t\t\tthis.yCenter = (this.height/2);\n\t\t},\n\n\t\tgetIndexAngle : function(index){\n\t\t\tvar angleMultiplier = (Math.PI * 2) / this.valuesCount;\n\t\t\t// Start from the top instead of right, so remove a quarter of the circle\n\n\t\t\treturn index * angleMultiplier - (Math.PI/2);\n\t\t},\n\t\tgetPointPosition : function(index, distanceFromCenter){\n\t\t\tvar thisAngle = this.getIndexAngle(index);\n\t\t\treturn {\n\t\t\t\tx : (Math.cos(thisAngle) * distanceFromCenter) + this.xCenter,\n\t\t\t\ty : (Math.sin(thisAngle) * distanceFromCenter) + this.yCenter\n\t\t\t};\n\t\t},\n\t\tdraw: function(){\n\t\t\tif (this.display){\n\t\t\t\tvar ctx = this.ctx;\n\t\t\t\teach(this.yLabels, function(label, index){\n\t\t\t\t\t// Don't draw a centre value\n\t\t\t\t\tif (index > 0){\n\t\t\t\t\t\tvar yCenterOffset = index * (this.drawingArea/this.steps),\n\t\t\t\t\t\t\tyHeight = this.yCenter - yCenterOffset,\n\t\t\t\t\t\t\tpointPosition;\n\n\t\t\t\t\t\t// Draw circular lines around the scale\n\t\t\t\t\t\tif (this.lineWidth > 0){\n\t\t\t\t\t\t\tctx.strokeStyle = this.lineColor;\n\t\t\t\t\t\t\tctx.lineWidth = this.lineWidth;\n\n\t\t\t\t\t\t\tif(this.lineArc){\n\t\t\t\t\t\t\t\tctx.beginPath();\n\t\t\t\t\t\t\t\tctx.arc(this.xCenter, this.yCenter, yCenterOffset, 0, Math.PI*2);\n\t\t\t\t\t\t\t\tctx.closePath();\n\t\t\t\t\t\t\t\tctx.stroke();\n\t\t\t\t\t\t\t} else{\n\t\t\t\t\t\t\t\tctx.beginPath();\n\t\t\t\t\t\t\t\tfor (var i=0;i<this.valuesCount;i++)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpointPosition = this.getPointPosition(i, this.calculateCenterOffset(this.min + (index * this.stepValue)));\n\t\t\t\t\t\t\t\t\tif (i === 0){\n\t\t\t\t\t\t\t\t\t\tctx.moveTo(pointPosition.x, pointPosition.y);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tctx.lineTo(pointPosition.x, pointPosition.y);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tctx.closePath();\n\t\t\t\t\t\t\t\tctx.stroke();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(this.showLabels){\n\t\t\t\t\t\t\tctx.font = fontString(this.fontSize,this.fontStyle,this.fontFamily);\n\t\t\t\t\t\t\tif (this.showLabelBackdrop){\n\t\t\t\t\t\t\t\tvar labelWidth = ctx.measureText(label).width;\n\t\t\t\t\t\t\t\tctx.fillStyle = this.backdropColor;\n\t\t\t\t\t\t\t\tctx.fillRect(\n\t\t\t\t\t\t\t\t\tthis.xCenter - labelWidth/2 - this.backdropPaddingX,\n\t\t\t\t\t\t\t\t\tyHeight - this.fontSize/2 - this.backdropPaddingY,\n\t\t\t\t\t\t\t\t\tlabelWidth + this.backdropPaddingX*2,\n\t\t\t\t\t\t\t\t\tthis.fontSize + this.backdropPaddingY*2\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tctx.textAlign = 'center';\n\t\t\t\t\t\t\tctx.textBaseline = \"middle\";\n\t\t\t\t\t\t\tctx.fillStyle = this.fontColor;\n\t\t\t\t\t\t\tctx.fillText(label, this.xCenter, yHeight);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}, this);\n\n\t\t\t\tif (!this.lineArc){\n\t\t\t\t\tctx.lineWidth = this.angleLineWidth;\n\t\t\t\t\tctx.strokeStyle = this.angleLineColor;\n\t\t\t\t\tfor (var i = this.valuesCount - 1; i >= 0; i--) {\n\t\t\t\t\t\tif (this.angleLineWidth > 0){\n\t\t\t\t\t\t\tvar outerPosition = this.getPointPosition(i, this.calculateCenterOffset(this.max));\n\t\t\t\t\t\t\tctx.beginPath();\n\t\t\t\t\t\t\tctx.moveTo(this.xCenter, this.yCenter);\n\t\t\t\t\t\t\tctx.lineTo(outerPosition.x, outerPosition.y);\n\t\t\t\t\t\t\tctx.stroke();\n\t\t\t\t\t\t\tctx.closePath();\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Extra 3px out for some label spacing\n\t\t\t\t\t\tvar pointLabelPosition = this.getPointPosition(i, this.calculateCenterOffset(this.max) + 5);\n\t\t\t\t\t\tctx.font = fontString(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily);\n\t\t\t\t\t\tctx.fillStyle = this.pointLabelFontColor;\n\n\t\t\t\t\t\tvar labelsCount = this.labels.length,\n\t\t\t\t\t\t\thalfLabelsCount = this.labels.length/2,\n\t\t\t\t\t\t\tquarterLabelsCount = halfLabelsCount/2,\n\t\t\t\t\t\t\tupperHalf = (i < quarterLabelsCount || i > labelsCount - quarterLabelsCount),\n\t\t\t\t\t\t\texactQuarter = (i === quarterLabelsCount || i === labelsCount - quarterLabelsCount);\n\t\t\t\t\t\tif (i === 0){\n\t\t\t\t\t\t\tctx.textAlign = 'center';\n\t\t\t\t\t\t} else if(i === halfLabelsCount){\n\t\t\t\t\t\t\tctx.textAlign = 'center';\n\t\t\t\t\t\t} else if (i < halfLabelsCount){\n\t\t\t\t\t\t\tctx.textAlign = 'left';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tctx.textAlign = 'right';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Set the correct text baseline based on outer positioning\n\t\t\t\t\t\tif (exactQuarter){\n\t\t\t\t\t\t\tctx.textBaseline = 'middle';\n\t\t\t\t\t\t} else if (upperHalf){\n\t\t\t\t\t\t\tctx.textBaseline = 'bottom';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tctx.textBaseline = 'top';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tctx.fillText(this.labels[i], pointLabelPosition.x, pointLabelPosition.y);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\t// Attach global event to resize each chart instance when the browser resizes\n\thelpers.addEvent(window, \"resize\", (function(){\n\t\t// Basic debounce of resize function so it doesn't hurt performance when resizing browser.\n\t\tvar timeout;\n\t\treturn function(){\n\t\t\tclearTimeout(timeout);\n\t\t\ttimeout = setTimeout(function(){\n\t\t\t\teach(Chart.instances,function(instance){\n\t\t\t\t\t// If the responsive flag is set in the chart instance config\n\t\t\t\t\t// Cascade the resize event down to the chart.\n\t\t\t\t\tif (instance.options.responsive){\n\t\t\t\t\t\tinstance.resize(instance.render, true);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}, 50);\n\t\t};\n\t})());\n\n\n\tif (amd) {\n\t\tdefine(function(){\n\t\t\treturn Chart;\n\t\t});\n\t} else if (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = Chart;\n\t}\n\n\troot.Chart = Chart;\n\n\tChart.noConflict = function(){\n\t\troot.Chart = previous;\n\t\treturn Chart;\n\t};\n\n}).call(this);\n\n(function(){\n\t\"use strict\";\n\n\tvar root = this,\n\t\tChart = root.Chart,\n\t\thelpers = Chart.helpers;\n\n\n\tvar defaultConfig = {\n\t\t//Boolean - Whether the scale should start at zero, or an order of magnitude down from the lowest value\n\t\tscaleBeginAtZero : true,\n\n\t\t//Boolean - Whether grid lines are shown across the chart\n\t\tscaleShowGridLines : true,\n\n\t\t//String - Colour of the grid lines\n\t\tscaleGridLineColor : \"rgba(0,0,0,.05)\",\n\n\t\t//Number - Width of the grid lines\n\t\tscaleGridLineWidth : 1,\n\n\t\t//Boolean - Whether to show horizontal lines (except X axis)\n\t\tscaleShowHorizontalLines: true,\n\n\t\t//Boolean - Whether to show vertical lines (except Y axis)\n\t\tscaleShowVerticalLines: true,\n\n\t\t//Boolean - If there is a stroke on each bar\n\t\tbarShowStroke : true,\n\n\t\t//Number - Pixel width of the bar stroke\n\t\tbarStrokeWidth : 2,\n\n\t\t//Number - Spacing between each of the X value sets\n\t\tbarValueSpacing : 5,\n\n\t\t//Number - Spacing between data sets within X values\n\t\tbarDatasetSpacing : 1,\n\n\t\t//String - A legend template\n\t\tlegendTemplate : \"<ul class=\\\"<%=name.toLowerCase()%>-legend\\\"><% for (var i=0; i<datasets.length; i++){%><li><span style=\\\"background-color:<%=datasets[i].fillColor%>\\\"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>\"\n\n\t};\n\n\n\tChart.Type.extend({\n\t\tname: \"Bar\",\n\t\tdefaults : defaultConfig,\n\t\tinitialize: function(data){\n\n\t\t\t//Expose options as a scope variable here so we can access it in the ScaleClass\n\t\t\tvar options = this.options;\n\n\t\t\tthis.ScaleClass = Chart.Scale.extend({\n\t\t\t\toffsetGridLines : true,\n\t\t\t\tcalculateBarX : function(datasetCount, datasetIndex, barIndex){\n\t\t\t\t\t//Reusable method for calculating the xPosition of a given bar based on datasetIndex & width of the bar\n\t\t\t\t\tvar xWidth = this.calculateBaseWidth(),\n\t\t\t\t\t\txAbsolute = this.calculateX(barIndex) - (xWidth/2),\n\t\t\t\t\t\tbarWidth = this.calculateBarWidth(datasetCount);\n\n\t\t\t\t\treturn xAbsolute + (barWidth * datasetIndex) + (datasetIndex * options.barDatasetSpacing) + barWidth/2;\n\t\t\t\t},\n\t\t\t\tcalculateBaseWidth : function(){\n\t\t\t\t\treturn (this.calculateX(1) - this.calculateX(0)) - (2*options.barValueSpacing);\n\t\t\t\t},\n\t\t\t\tcalculateBarWidth : function(datasetCount){\n\t\t\t\t\t//The padding between datasets is to the right of each bar, providing that there are more than 1 dataset\n\t\t\t\t\tvar baseWidth = this.calculateBaseWidth() - ((datasetCount - 1) * options.barDatasetSpacing);\n\n\t\t\t\t\treturn (baseWidth / datasetCount);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis.datasets = [];\n\n\t\t\t//Set up tooltip events on the chart\n\t\t\tif (this.options.showTooltips){\n\t\t\t\thelpers.bindEvents(this, this.options.tooltipEvents, function(evt){\n\t\t\t\t\tvar activeBars = (evt.type !== 'mouseout') ? this.getBarsAtEvent(evt) : [];\n\n\t\t\t\t\tthis.eachBars(function(bar){\n\t\t\t\t\t\tbar.restore(['fillColor', 'strokeColor']);\n\t\t\t\t\t});\n\t\t\t\t\thelpers.each(activeBars, function(activeBar){\n\t\t\t\t\t\tactiveBar.fillColor = activeBar.highlightFill;\n\t\t\t\t\t\tactiveBar.strokeColor = activeBar.highlightStroke;\n\t\t\t\t\t});\n\t\t\t\t\tthis.showTooltip(activeBars);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t//Declare the extension of the default point, to cater for the options passed in to the constructor\n\t\t\tthis.BarClass = Chart.Rectangle.extend({\n\t\t\t\tstrokeWidth : this.options.barStrokeWidth,\n\t\t\t\tshowStroke : this.options.barShowStroke,\n\t\t\t\tctx : this.chart.ctx\n\t\t\t});\n\n\t\t\t//Iterate through each of the datasets, and build this into a property of the chart\n\t\t\thelpers.each(data.datasets,function(dataset,datasetIndex){\n\n\t\t\t\tvar datasetObject = {\n\t\t\t\t\tlabel : dataset.label || null,\n\t\t\t\t\tfillColor : dataset.fillColor,\n\t\t\t\t\tstrokeColor : dataset.strokeColor,\n\t\t\t\t\tbars : []\n\t\t\t\t};\n\n\t\t\t\tthis.datasets.push(datasetObject);\n\n\t\t\t\thelpers.each(dataset.data,function(dataPoint,index){\n\t\t\t\t\t//Add a new point for each piece of data, passing any required data to draw.\n\t\t\t\t\tdatasetObject.bars.push(new this.BarClass({\n\t\t\t\t\t\tvalue : dataPoint,\n\t\t\t\t\t\tlabel : data.labels[index],\n\t\t\t\t\t\tdatasetLabel: dataset.label,\n\t\t\t\t\t\tstrokeColor : dataset.strokeColor,\n\t\t\t\t\t\tfillColor : dataset.fillColor,\n\t\t\t\t\t\thighlightFill : dataset.highlightFill || dataset.fillColor,\n\t\t\t\t\t\thighlightStroke : dataset.highlightStroke || dataset.strokeColor\n\t\t\t\t\t}));\n\t\t\t\t},this);\n\n\t\t\t},this);\n\n\t\t\tthis.buildScale(data.labels);\n\n\t\t\tthis.BarClass.prototype.base = this.scale.endPoint;\n\n\t\t\tthis.eachBars(function(bar, index, datasetIndex){\n\t\t\t\thelpers.extend(bar, {\n\t\t\t\t\twidth : this.scale.calculateBarWidth(this.datasets.length),\n\t\t\t\t\tx: this.scale.calculateBarX(this.datasets.length, datasetIndex, index),\n\t\t\t\t\ty: this.scale.endPoint\n\t\t\t\t});\n\t\t\t\tbar.save();\n\t\t\t}, this);\n\n\t\t\tthis.render();\n\t\t},\n\t\tupdate : function(){\n\t\t\tthis.scale.update();\n\t\t\t// Reset any highlight colours before updating.\n\t\t\thelpers.each(this.activeElements, function(activeElement){\n\t\t\t\tactiveElement.restore(['fillColor', 'strokeColor']);\n\t\t\t});\n\n\t\t\tthis.eachBars(function(bar){\n\t\t\t\tbar.save();\n\t\t\t});\n\t\t\tthis.render();\n\t\t},\n\t\teachBars : function(callback){\n\t\t\thelpers.each(this.datasets,function(dataset, datasetIndex){\n\t\t\t\thelpers.each(dataset.bars, callback, this, datasetIndex);\n\t\t\t},this);\n\t\t},\n\t\tgetBarsAtEvent : function(e){\n\t\t\tvar barsArray = [],\n\t\t\t\teventPosition = helpers.getRelativePosition(e),\n\t\t\t\tdatasetIterator = function(dataset){\n\t\t\t\t\tbarsArray.push(dataset.bars[barIndex]);\n\t\t\t\t},\n\t\t\t\tbarIndex;\n\n\t\t\tfor (var datasetIndex = 0; datasetIndex < this.datasets.length; datasetIndex++) {\n\t\t\t\tfor (barIndex = 0; barIndex < this.datasets[datasetIndex].bars.length; barIndex++) {\n\t\t\t\t\tif (this.datasets[datasetIndex].bars[barIndex].inRange(eventPosition.x,eventPosition.y)){\n\t\t\t\t\t\thelpers.each(this.datasets, datasetIterator);\n\t\t\t\t\t\treturn barsArray;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn barsArray;\n\t\t},\n\t\tbuildScale : function(labels){\n\t\t\tvar self = this;\n\n\t\t\tvar dataTotal = function(){\n\t\t\t\tvar values = [];\n\t\t\t\tself.eachBars(function(bar){\n\t\t\t\t\tvalues.push(bar.value);\n\t\t\t\t});\n\t\t\t\treturn values;\n\t\t\t};\n\n\t\t\tvar scaleOptions = {\n\t\t\t\ttemplateString : this.options.scaleLabel,\n\t\t\t\theight : this.chart.height,\n\t\t\t\twidth : this.chart.width,\n\t\t\t\tctx : this.chart.ctx,\n\t\t\t\ttextColor : this.options.scaleFontColor,\n\t\t\t\tfontSize : this.options.scaleFontSize,\n\t\t\t\tfontStyle : this.options.scaleFontStyle,\n\t\t\t\tfontFamily : this.options.scaleFontFamily,\n\t\t\t\tvaluesCount : labels.length,\n\t\t\t\tbeginAtZero : this.options.scaleBeginAtZero,\n\t\t\t\tintegersOnly : this.options.scaleIntegersOnly,\n\t\t\t\tcalculateYRange: function(currentHeight){\n\t\t\t\t\tvar updatedRanges = helpers.calculateScaleRange(\n\t\t\t\t\t\tdataTotal(),\n\t\t\t\t\t\tcurrentHeight,\n\t\t\t\t\t\tthis.fontSize,\n\t\t\t\t\t\tthis.beginAtZero,\n\t\t\t\t\t\tthis.integersOnly\n\t\t\t\t\t);\n\t\t\t\t\thelpers.extend(this, updatedRanges);\n\t\t\t\t},\n\t\t\t\txLabels : labels,\n\t\t\t\tfont : helpers.fontString(this.options.scaleFontSize, this.options.scaleFontStyle, this.options.scaleFontFamily),\n\t\t\t\tlineWidth : this.options.scaleLineWidth,\n\t\t\t\tlineColor : this.options.scaleLineColor,\n\t\t\t\tshowHorizontalLines : this.options.scaleShowHorizontalLines,\n\t\t\t\tshowVerticalLines : this.options.scaleShowVerticalLines,\n\t\t\t\tgridLineWidth : (this.options.scaleShowGridLines) ? this.options.scaleGridLineWidth : 0,\n\t\t\t\tgridLineColor : (this.options.scaleShowGridLines) ? this.options.scaleGridLineColor : \"rgba(0,0,0,0)\",\n\t\t\t\tpadding : (this.options.showScale) ? 0 : (this.options.barShowStroke) ? this.options.barStrokeWidth : 0,\n\t\t\t\tshowLabels : this.options.scaleShowLabels,\n\t\t\t\tdisplay : this.options.showScale\n\t\t\t};\n\n\t\t\tif (this.options.scaleOverride){\n\t\t\t\thelpers.extend(scaleOptions, {\n\t\t\t\t\tcalculateYRange: helpers.noop,\n\t\t\t\t\tsteps: this.options.scaleSteps,\n\t\t\t\t\tstepValue: this.options.scaleStepWidth,\n\t\t\t\t\tmin: this.options.scaleStartValue,\n\t\t\t\t\tmax: this.options.scaleStartValue + (this.options.scaleSteps * this.options.scaleStepWidth)\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.scale = new this.ScaleClass(scaleOptions);\n\t\t},\n\t\taddData : function(valuesArray,label){\n\t\t\t//Map the values array for each of the datasets\n\t\t\thelpers.each(valuesArray,function(value,datasetIndex){\n\t\t\t\t//Add a new point for each piece of data, passing any required data to draw.\n\t\t\t\tthis.datasets[datasetIndex].bars.push(new this.BarClass({\n\t\t\t\t\tvalue : value,\n\t\t\t\t\tlabel : label,\n\t\t\t\t\tx: this.scale.calculateBarX(this.datasets.length, datasetIndex, this.scale.valuesCount+1),\n\t\t\t\t\ty: this.scale.endPoint,\n\t\t\t\t\twidth : this.scale.calculateBarWidth(this.datasets.length),\n\t\t\t\t\tbase : this.scale.endPoint,\n\t\t\t\t\tstrokeColor : this.datasets[datasetIndex].strokeColor,\n\t\t\t\t\tfillColor : this.datasets[datasetIndex].fillColor\n\t\t\t\t}));\n\t\t\t},this);\n\n\t\t\tthis.scale.addXLabel(label);\n\t\t\t//Then re-render the chart.\n\t\t\tthis.update();\n\t\t},\n\t\tremoveData : function(){\n\t\t\tthis.scale.removeXLabel();\n\t\t\t//Then re-render the chart.\n\t\t\thelpers.each(this.datasets,function(dataset){\n\t\t\t\tdataset.bars.shift();\n\t\t\t},this);\n\t\t\tthis.update();\n\t\t},\n\t\treflow : function(){\n\t\t\thelpers.extend(this.BarClass.prototype,{\n\t\t\t\ty: this.scale.endPoint,\n\t\t\t\tbase : this.scale.endPoint\n\t\t\t});\n\t\t\tvar newScaleProps = helpers.extend({\n\t\t\t\theight : this.chart.height,\n\t\t\t\twidth : this.chart.width\n\t\t\t});\n\t\t\tthis.scale.update(newScaleProps);\n\t\t},\n\t\tdraw : function(ease){\n\t\t\tvar easingDecimal = ease || 1;\n\t\t\tthis.clear();\n\n\t\t\tvar ctx = this.chart.ctx;\n\n\t\t\tthis.scale.draw(easingDecimal);\n\n\t\t\t//Draw all the bars for each dataset\n\t\t\thelpers.each(this.datasets,function(dataset,datasetIndex){\n\t\t\t\thelpers.each(dataset.bars,function(bar,index){\n\t\t\t\t\tif (bar.hasValue()){\n\t\t\t\t\t\tbar.base = this.scale.endPoint;\n\t\t\t\t\t\t//Transition then draw\n\t\t\t\t\t\tbar.transition({\n\t\t\t\t\t\t\tx : this.scale.calculateBarX(this.datasets.length, datasetIndex, index),\n\t\t\t\t\t\t\ty : this.scale.calculateY(bar.value),\n\t\t\t\t\t\t\twidth : this.scale.calculateBarWidth(this.datasets.length)\n\t\t\t\t\t\t}, easingDecimal).draw();\n\t\t\t\t\t}\n\t\t\t\t},this);\n\n\t\t\t},this);\n\t\t}\n\t});\n\n\n}).call(this);\n\n(function(){\n\t\"use strict\";\n\n\tvar root = this,\n\t\tChart = root.Chart,\n\t\t//Cache a local reference to Chart.helpers\n\t\thelpers = Chart.helpers;\n\n\tvar defaultConfig = {\n\t\t//Boolean - Whether we should show a stroke on each segment\n\t\tsegmentShowStroke : true,\n\n\t\t//String - The colour of each segment stroke\n\t\tsegmentStrokeColor : \"#fff\",\n\n\t\t//Number - The width of each segment stroke\n\t\tsegmentStrokeWidth : 2,\n\n\t\t//The percentage of the chart that we cut out of the middle.\n\t\tpercentageInnerCutout : 50,\n\n\t\t//Number - Amount of animation steps\n\t\tanimationSteps : 100,\n\n\t\t//String - Animation easing effect\n\t\tanimationEasing : \"easeOutBounce\",\n\n\t\t//Boolean - Whether we animate the rotation of the Doughnut\n\t\tanimateRotate : true,\n\n\t\t//Boolean - Whether we animate scaling the Doughnut from the centre\n\t\tanimateScale : false,\n\n\t\t//String - A legend template\n\t\tlegendTemplate : \"<ul class=\\\"<%=name.toLowerCase()%>-legend\\\"><% for (var i=0; i<segments.length; i++){%><li><span style=\\\"background-color:<%=segments[i].fillColor%>\\\"></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>\"\n\n\t};\n\n\n\tChart.Type.extend({\n\t\t//Passing in a name registers this chart in the Chart namespace\n\t\tname: \"Doughnut\",\n\t\t//Providing a defaults will also register the deafults in the chart namespace\n\t\tdefaults : defaultConfig,\n\t\t//Initialize is fired when the chart is initialized - Data is passed in as a parameter\n\t\t//Config is automatically merged by the core of Chart.js, and is available at this.options\n\t\tinitialize: function(data){\n\n\t\t\t//Declare segments as a static property to prevent inheriting across the Chart type prototype\n\t\t\tthis.segments = [];\n\t\t\tthis.outerRadius = (helpers.min([this.chart.width,this.chart.height]) -\tthis.options.segmentStrokeWidth/2)/2;\n\n\t\t\tthis.SegmentArc = Chart.Arc.extend({\n\t\t\t\tctx : this.chart.ctx,\n\t\t\t\tx : this.chart.width/2,\n\t\t\t\ty : this.chart.height/2\n\t\t\t});\n\n\t\t\t//Set up tooltip events on the chart\n\t\t\tif (this.options.showTooltips){\n\t\t\t\thelpers.bindEvents(this, this.options.tooltipEvents, function(evt){\n\t\t\t\t\tvar activeSegments = (evt.type !== 'mouseout') ? this.getSegmentsAtEvent(evt) : [];\n\n\t\t\t\t\thelpers.each(this.segments,function(segment){\n\t\t\t\t\t\tsegment.restore([\"fillColor\"]);\n\t\t\t\t\t});\n\t\t\t\t\thelpers.each(activeSegments,function(activeSegment){\n\t\t\t\t\t\tactiveSegment.fillColor = activeSegment.highlightColor;\n\t\t\t\t\t});\n\t\t\t\t\tthis.showTooltip(activeSegments);\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.calculateTotal(data);\n\n\t\t\thelpers.each(data,function(datapoint, index){\n\t\t\t\tthis.addData(datapoint, index, true);\n\t\t\t},this);\n\n\t\t\tthis.render();\n\t\t},\n\t\tgetSegmentsAtEvent : function(e){\n\t\t\tvar segmentsArray = [];\n\n\t\t\tvar location = helpers.getRelativePosition(e);\n\n\t\t\thelpers.each(this.segments,function(segment){\n\t\t\t\tif (segment.inRange(location.x,location.y)) segmentsArray.push(segment);\n\t\t\t},this);\n\t\t\treturn segmentsArray;\n\t\t},\n\t\taddData : function(segment, atIndex, silent){\n\t\t\tvar index = atIndex || this.segments.length;\n\t\t\tthis.segments.splice(index, 0, new this.SegmentArc({\n\t\t\t\tvalue : segment.value,\n\t\t\t\touterRadius : (this.options.animateScale) ? 0 : this.outerRadius,\n\t\t\t\tinnerRadius : (this.options.animateScale) ? 0 : (this.outerRadius/100) * this.options.percentageInnerCutout,\n\t\t\t\tfillColor : segment.color,\n\t\t\t\thighlightColor : segment.highlight || segment.color,\n\t\t\t\tshowStroke : this.options.segmentShowStroke,\n\t\t\t\tstrokeWidth : this.options.segmentStrokeWidth,\n\t\t\t\tstrokeColor : this.options.segmentStrokeColor,\n\t\t\t\tstartAngle : Math.PI * 1.5,\n\t\t\t\tcircumference : (this.options.animateRotate) ? 0 : this.calculateCircumference(segment.value),\n\t\t\t\tlabel : segment.label\n\t\t\t}));\n\t\t\tif (!silent){\n\t\t\t\tthis.reflow();\n\t\t\t\tthis.update();\n\t\t\t}\n\t\t},\n\t\tcalculateCircumference : function(value){\n\t\t\treturn (Math.PI*2)*(Math.abs(value) / this.total);\n\t\t},\n\t\tcalculateTotal : function(data){\n\t\t\tthis.total = 0;\n\t\t\thelpers.each(data,function(segment){\n\t\t\t\tthis.total += Math.abs(segment.value);\n\t\t\t},this);\n\t\t},\n\t\tupdate : function(){\n\t\t\tthis.calculateTotal(this.segments);\n\n\t\t\t// Reset any highlight colours before updating.\n\t\t\thelpers.each(this.activeElements, function(activeElement){\n\t\t\t\tactiveElement.restore(['fillColor']);\n\t\t\t});\n\n\t\t\thelpers.each(this.segments,function(segment){\n\t\t\t\tsegment.save();\n\t\t\t});\n\t\t\tthis.render();\n\t\t},\n\n\t\tremoveData: function(atIndex){\n\t\t\tvar indexToDelete = (helpers.isNumber(atIndex)) ? atIndex : this.segments.length-1;\n\t\t\tthis.segments.splice(indexToDelete, 1);\n\t\t\tthis.reflow();\n\t\t\tthis.update();\n\t\t},\n\n\t\treflow : function(){\n\t\t\thelpers.extend(this.SegmentArc.prototype,{\n\t\t\t\tx : this.chart.width/2,\n\t\t\t\ty : this.chart.height/2\n\t\t\t});\n\t\t\tthis.outerRadius = (helpers.min([this.chart.width,this.chart.height]) -\tthis.options.segmentStrokeWidth/2)/2;\n\t\t\thelpers.each(this.segments, function(segment){\n\t\t\t\tsegment.update({\n\t\t\t\t\touterRadius : this.outerRadius,\n\t\t\t\t\tinnerRadius : (this.outerRadius/100) * this.options.percentageInnerCutout\n\t\t\t\t});\n\t\t\t}, this);\n\t\t},\n\t\tdraw : function(easeDecimal){\n\t\t\tvar animDecimal = (easeDecimal) ? easeDecimal : 1;\n\t\t\tthis.clear();\n\t\t\thelpers.each(this.segments,function(segment,index){\n\t\t\t\tsegment.transition({\n\t\t\t\t\tcircumference : this.calculateCircumference(segment.value),\n\t\t\t\t\touterRadius : this.outerRadius,\n\t\t\t\t\tinnerRadius : (this.outerRadius/100) * this.options.percentageInnerCutout\n\t\t\t\t},animDecimal);\n\n\t\t\t\tsegment.endAngle = segment.startAngle + segment.circumference;\n\n\t\t\t\tsegment.draw();\n\t\t\t\tif (index === 0){\n\t\t\t\t\tsegment.startAngle = Math.PI * 1.5;\n\t\t\t\t}\n\t\t\t\t//Check to see if it's the last segment, if not get the next and update the start angle\n\t\t\t\tif (index < this.segments.length-1){\n\t\t\t\t\tthis.segments[index+1].startAngle = segment.endAngle;\n\t\t\t\t}\n\t\t\t},this);\n\n\t\t}\n\t});\n\n\tChart.types.Doughnut.extend({\n\t\tname : \"Pie\",\n\t\tdefaults : helpers.merge(defaultConfig,{percentageInnerCutout : 0})\n\t});\n\n}).call(this);\n(function(){\n\t\"use strict\";\n\n\tvar root = this,\n\t\tChart = root.Chart,\n\t\thelpers = Chart.helpers;\n\n\tvar defaultConfig = {\n\n\t\t///Boolean - Whether grid lines are shown across the chart\n\t\tscaleShowGridLines : true,\n\n\t\t//String - Colour of the grid lines\n\t\tscaleGridLineColor : \"rgba(0,0,0,.05)\",\n\n\t\t//Number - Width of the grid lines\n\t\tscaleGridLineWidth : 1,\n\n\t\t//Boolean - Whether to show horizontal lines (except X axis)\n\t\tscaleShowHorizontalLines: true,\n\n\t\t//Boolean - Whether to show vertical lines (except Y axis)\n\t\tscaleShowVerticalLines: true,\n\n\t\t//Boolean - Whether the line is curved between points\n\t\tbezierCurve : true,\n\n\t\t//Number - Tension of the bezier curve between points\n\t\tbezierCurveTension : 0.4,\n\n\t\t//Boolean - Whether to show a dot for each point\n\t\tpointDot : true,\n\n\t\t//Number - Radius of each point dot in pixels\n\t\tpointDotRadius : 4,\n\n\t\t//Number - Pixel width of point dot stroke\n\t\tpointDotStrokeWidth : 1,\n\n\t\t//Number - amount extra to add to the radius to cater for hit detection outside the drawn point\n\t\tpointHitDetectionRadius : 20,\n\n\t\t//Boolean - Whether to show a stroke for datasets\n\t\tdatasetStroke : true,\n\n\t\t//Number - Pixel width of dataset stroke\n\t\tdatasetStrokeWidth : 2,\n\n\t\t//Boolean - Whether to fill the dataset with a colour\n\t\tdatasetFill : true,\n\n\t\t//String - A legend template\n\t\tlegendTemplate : \"<ul class=\\\"<%=name.toLowerCase()%>-legend\\\"><% for (var i=0; i<datasets.length; i++){%><li><span style=\\\"background-color:<%=datasets[i].strokeColor%>\\\"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>\"\n\n\t};\n\n\n\tChart.Type.extend({\n\t\tname: \"Line\",\n\t\tdefaults : defaultConfig,\n\t\tinitialize: function(data){\n\t\t\t//Declare the extension of the default point, to cater for the options passed in to the constructor\n\t\t\tthis.PointClass = Chart.Point.extend({\n\t\t\t\tstrokeWidth : this.options.pointDotStrokeWidth,\n\t\t\t\tradius : this.options.pointDotRadius,\n\t\t\t\tdisplay: this.options.pointDot,\n\t\t\t\thitDetectionRadius : this.options.pointHitDetectionRadius,\n\t\t\t\tctx : this.chart.ctx,\n\t\t\t\tinRange : function(mouseX){\n\t\t\t\t\treturn (Math.pow(mouseX-this.x, 2) < Math.pow(this.radius + this.hitDetectionRadius,2));\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis.datasets = [];\n\n\t\t\t//Set up tooltip events on the chart\n\t\t\tif (this.options.showTooltips){\n\t\t\t\thelpers.bindEvents(this, this.options.tooltipEvents, function(evt){\n\t\t\t\t\tvar activePoints = (evt.type !== 'mouseout') ? this.getPointsAtEvent(evt) : [];\n\t\t\t\t\tthis.eachPoints(function(point){\n\t\t\t\t\t\tpoint.restore(['fillColor', 'strokeColor']);\n\t\t\t\t\t});\n\t\t\t\t\thelpers.each(activePoints, function(activePoint){\n\t\t\t\t\t\tactivePoint.fillColor = activePoint.highlightFill;\n\t\t\t\t\t\tactivePoint.strokeColor = activePoint.highlightStroke;\n\t\t\t\t\t});\n\t\t\t\t\tthis.showTooltip(activePoints);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t//Iterate through each of the datasets, and build this into a property of the chart\n\t\t\thelpers.each(data.datasets,function(dataset){\n\n\t\t\t\tvar datasetObject = {\n\t\t\t\t\tlabel : dataset.label || null,\n\t\t\t\t\tfillColor : dataset.fillColor,\n\t\t\t\t\tstrokeColor : dataset.strokeColor,\n\t\t\t\t\tpointColor : dataset.pointColor,\n\t\t\t\t\tpointStrokeColor : dataset.pointStrokeColor,\n\t\t\t\t\tpoints : []\n\t\t\t\t};\n\n\t\t\t\tthis.datasets.push(datasetObject);\n\n\n\t\t\t\thelpers.each(dataset.data,function(dataPoint,index){\n\t\t\t\t\t//Add a new point for each piece of data, passing any required data to draw.\n\t\t\t\t\tdatasetObject.points.push(new this.PointClass({\n\t\t\t\t\t\tvalue : dataPoint,\n\t\t\t\t\t\tlabel : data.labels[index],\n\t\t\t\t\t\tdatasetLabel: dataset.label,\n\t\t\t\t\t\tstrokeColor : dataset.pointStrokeColor,\n\t\t\t\t\t\tfillColor : dataset.pointColor,\n\t\t\t\t\t\thighlightFill : dataset.pointHighlightFill || dataset.pointColor,\n\t\t\t\t\t\thighlightStroke : dataset.pointHighlightStroke || dataset.pointStrokeColor\n\t\t\t\t\t}));\n\t\t\t\t},this);\n\n\t\t\t\tthis.buildScale(data.labels);\n\n\n\t\t\t\tthis.eachPoints(function(point, index){\n\t\t\t\t\thelpers.extend(point, {\n\t\t\t\t\t\tx: this.scale.calculateX(index),\n\t\t\t\t\t\ty: this.scale.endPoint\n\t\t\t\t\t});\n\t\t\t\t\tpoint.save();\n\t\t\t\t}, this);\n\n\t\t\t},this);\n\n\n\t\t\tthis.render();\n\t\t},\n\t\tupdate : function(){\n\t\t\tthis.scale.update();\n\t\t\t// Reset any highlight colours before updating.\n\t\t\thelpers.each(this.activeElements, function(activeElement){\n\t\t\t\tactiveElement.restore(['fillColor', 'strokeColor']);\n\t\t\t});\n\t\t\tthis.eachPoints(function(point){\n\t\t\t\tpoint.save();\n\t\t\t});\n\t\t\tthis.render();\n\t\t},\n\t\teachPoints : function(callback){\n\t\t\thelpers.each(this.datasets,function(dataset){\n\t\t\t\thelpers.each(dataset.points,callback,this);\n\t\t\t},this);\n\t\t},\n\t\tgetPointsAtEvent : function(e){\n\t\t\tvar pointsArray = [],\n\t\t\t\teventPosition = helpers.getRelativePosition(e);\n\t\t\thelpers.each(this.datasets,function(dataset){\n\t\t\t\thelpers.each(dataset.points,function(point){\n\t\t\t\t\tif (point.inRange(eventPosition.x,eventPosition.y)) pointsArray.push(point);\n\t\t\t\t});\n\t\t\t},this);\n\t\t\treturn pointsArray;\n\t\t},\n\t\tbuildScale : function(labels){\n\t\t\tvar self = this;\n\n\t\t\tvar dataTotal = function(){\n\t\t\t\tvar values = [];\n\t\t\t\tself.eachPoints(function(point){\n\t\t\t\t\tvalues.push(point.value);\n\t\t\t\t});\n\n\t\t\t\treturn values;\n\t\t\t};\n\n\t\t\tvar scaleOptions = {\n\t\t\t\ttemplateString : this.options.scaleLabel,\n\t\t\t\theight : this.chart.height,\n\t\t\t\twidth : this.chart.width,\n\t\t\t\tctx : this.chart.ctx,\n\t\t\t\ttextColor : this.options.scaleFontColor,\n\t\t\t\tfontSize : this.options.scaleFontSize,\n\t\t\t\tfontStyle : this.options.scaleFontStyle,\n\t\t\t\tfontFamily : this.options.scaleFontFamily,\n\t\t\t\tvaluesCount : labels.length,\n\t\t\t\tbeginAtZero : this.options.scaleBeginAtZero,\n\t\t\t\tintegersOnly : this.options.scaleIntegersOnly,\n\t\t\t\tcalculateYRange : function(currentHeight){\n\t\t\t\t\tvar updatedRanges = helpers.calculateScaleRange(\n\t\t\t\t\t\tdataTotal(),\n\t\t\t\t\t\tcurrentHeight,\n\t\t\t\t\t\tthis.fontSize,\n\t\t\t\t\t\tthis.beginAtZero,\n\t\t\t\t\t\tthis.integersOnly\n\t\t\t\t\t);\n\t\t\t\t\thelpers.extend(this, updatedRanges);\n\t\t\t\t},\n\t\t\t\txLabels : labels,\n\t\t\t\tfont : helpers.fontString(this.options.scaleFontSize, this.options.scaleFontStyle, this.options.scaleFontFamily),\n\t\t\t\tlineWidth : this.options.scaleLineWidth,\n\t\t\t\tlineColor : this.options.scaleLineColor,\n\t\t\t\tshowHorizontalLines : this.options.scaleShowHorizontalLines,\n\t\t\t\tshowVerticalLines : this.options.scaleShowVerticalLines,\n\t\t\t\tgridLineWidth : (this.options.scaleShowGridLines) ? this.options.scaleGridLineWidth : 0,\n\t\t\t\tgridLineColor : (this.options.scaleShowGridLines) ? this.options.scaleGridLineColor : \"rgba(0,0,0,0)\",\n\t\t\t\tpadding: (this.options.showScale) ? 0 : this.options.pointDotRadius + this.options.pointDotStrokeWidth,\n\t\t\t\tshowLabels : this.options.scaleShowLabels,\n\t\t\t\tdisplay : this.options.showScale\n\t\t\t};\n\n\t\t\tif (this.options.scaleOverride){\n\t\t\t\thelpers.extend(scaleOptions, {\n\t\t\t\t\tcalculateYRange: helpers.noop,\n\t\t\t\t\tsteps: this.options.scaleSteps,\n\t\t\t\t\tstepValue: this.options.scaleStepWidth,\n\t\t\t\t\tmin: this.options.scaleStartValue,\n\t\t\t\t\tmax: this.options.scaleStartValue + (this.options.scaleSteps * this.options.scaleStepWidth)\n\t\t\t\t});\n\t\t\t}\n\n\n\t\t\tthis.scale = new Chart.Scale(scaleOptions);\n\t\t},\n\t\taddData : function(valuesArray,label){\n\t\t\t//Map the values array for each of the datasets\n\n\t\t\thelpers.each(valuesArray,function(value,datasetIndex){\n\t\t\t\t//Add a new point for each piece of data, passing any required data to draw.\n\t\t\t\tthis.datasets[datasetIndex].points.push(new this.PointClass({\n\t\t\t\t\tvalue : value,\n\t\t\t\t\tlabel : label,\n\t\t\t\t\tx: this.scale.calculateX(this.scale.valuesCount+1),\n\t\t\t\t\ty: this.scale.endPoint,\n\t\t\t\t\tstrokeColor : this.datasets[datasetIndex].pointStrokeColor,\n\t\t\t\t\tfillColor : this.datasets[datasetIndex].pointColor\n\t\t\t\t}));\n\t\t\t},this);\n\n\t\t\tthis.scale.addXLabel(label);\n\t\t\t//Then re-render the chart.\n\t\t\tthis.update();\n\t\t},\n\t\tremoveData : function(){\n\t\t\tthis.scale.removeXLabel();\n\t\t\t//Then re-render the chart.\n\t\t\thelpers.each(this.datasets,function(dataset){\n\t\t\t\tdataset.points.shift();\n\t\t\t},this);\n\t\t\tthis.update();\n\t\t},\n\t\treflow : function(){\n\t\t\tvar newScaleProps = helpers.extend({\n\t\t\t\theight : this.chart.height,\n\t\t\t\twidth : this.chart.width\n\t\t\t});\n\t\t\tthis.scale.update(newScaleProps);\n\t\t},\n\t\tdraw : function(ease){\n\t\t\tvar easingDecimal = ease || 1;\n\t\t\tthis.clear();\n\n\t\t\tvar ctx = this.chart.ctx;\n\n\t\t\t// Some helper methods for getting the next/prev points\n\t\t\tvar hasValue = function(item){\n\t\t\t\treturn item.value !== null;\n\t\t\t},\n\t\t\tnextPoint = function(point, collection, index){\n\t\t\t\treturn helpers.findNextWhere(collection, hasValue, index) || point;\n\t\t\t},\n\t\t\tpreviousPoint = function(point, collection, index){\n\t\t\t\treturn helpers.findPreviousWhere(collection, hasValue, index) || point;\n\t\t\t};\n\n\t\t\tthis.scale.draw(easingDecimal);\n\n\n\t\t\thelpers.each(this.datasets,function(dataset){\n\t\t\t\tvar pointsWithValues = helpers.where(dataset.points, hasValue);\n\n\t\t\t\t//Transition each point first so that the line and point drawing isn't out of sync\n\t\t\t\t//We can use this extra loop to calculate the control points of this dataset also in this loop\n\n\t\t\t\thelpers.each(dataset.points, function(point, index){\n\t\t\t\t\tif (point.hasValue()){\n\t\t\t\t\t\tpoint.transition({\n\t\t\t\t\t\t\ty : this.scale.calculateY(point.value),\n\t\t\t\t\t\t\tx : this.scale.calculateX(index)\n\t\t\t\t\t\t}, easingDecimal);\n\t\t\t\t\t}\n\t\t\t\t},this);\n\n\n\t\t\t\t// Control points need to be calculated in a seperate loop, because we need to know the current x/y of the point\n\t\t\t\t// This would cause issues when there is no animation, because the y of the next point would be 0, so beziers would be skewed\n\t\t\t\tif (this.options.bezierCurve){\n\t\t\t\t\thelpers.each(pointsWithValues, function(point, index){\n\t\t\t\t\t\tvar tension = (index > 0 && index < pointsWithValues.length - 1) ? this.options.bezierCurveTension : 0;\n\t\t\t\t\t\tpoint.controlPoints = helpers.splineCurve(\n\t\t\t\t\t\t\tpreviousPoint(point, pointsWithValues, index),\n\t\t\t\t\t\t\tpoint,\n\t\t\t\t\t\t\tnextPoint(point, pointsWithValues, index),\n\t\t\t\t\t\t\ttension\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Prevent the bezier going outside of the bounds of the graph\n\n\t\t\t\t\t\t// Cap puter bezier handles to the upper/lower scale bounds\n\t\t\t\t\t\tif (point.controlPoints.outer.y > this.scale.endPoint){\n\t\t\t\t\t\t\tpoint.controlPoints.outer.y = this.scale.endPoint;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (point.controlPoints.outer.y < this.scale.startPoint){\n\t\t\t\t\t\t\tpoint.controlPoints.outer.y = this.scale.startPoint;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Cap inner bezier handles to the upper/lower scale bounds\n\t\t\t\t\t\tif (point.controlPoints.inner.y > this.scale.endPoint){\n\t\t\t\t\t\t\tpoint.controlPoints.inner.y = this.scale.endPoint;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (point.controlPoints.inner.y < this.scale.startPoint){\n\t\t\t\t\t\t\tpoint.controlPoints.inner.y = this.scale.startPoint;\n\t\t\t\t\t\t}\n\t\t\t\t\t},this);\n\t\t\t\t}\n\n\n\t\t\t\t//Draw the line between all the points\n\t\t\t\tctx.lineWidth = this.options.datasetStrokeWidth;\n\t\t\t\tctx.strokeStyle = dataset.strokeColor;\n\t\t\t\tctx.beginPath();\n\n\t\t\t\thelpers.each(pointsWithValues, function(point, index){\n\t\t\t\t\tif (index === 0){\n\t\t\t\t\t\tctx.moveTo(point.x, point.y);\n\t\t\t\t\t}\n\t\t\t\t\telse{\n\t\t\t\t\t\tif(this.options.bezierCurve){\n\t\t\t\t\t\t\tvar previous = previousPoint(point, pointsWithValues, index);\n\n\t\t\t\t\t\t\tctx.bezierCurveTo(\n\t\t\t\t\t\t\t\tprevious.controlPoints.outer.x,\n\t\t\t\t\t\t\t\tprevious.controlPoints.outer.y,\n\t\t\t\t\t\t\t\tpoint.controlPoints.inner.x,\n\t\t\t\t\t\t\t\tpoint.controlPoints.inner.y,\n\t\t\t\t\t\t\t\tpoint.x,\n\t\t\t\t\t\t\t\tpoint.y\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\tctx.lineTo(point.x,point.y);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}, this);\n\n\t\t\t\tctx.stroke();\n\n\t\t\t\tif (this.options.datasetFill && pointsWithValues.length > 0){\n\t\t\t\t\t//Round off the line by going to the base of the chart, back to the start, then fill.\n\t\t\t\t\tctx.lineTo(pointsWithValues[pointsWithValues.length - 1].x, this.scale.endPoint);\n\t\t\t\t\tctx.lineTo(pointsWithValues[0].x, this.scale.endPoint);\n\t\t\t\t\tctx.fillStyle = dataset.fillColor;\n\t\t\t\t\tctx.closePath();\n\t\t\t\t\tctx.fill();\n\t\t\t\t}\n\n\t\t\t\t//Now draw the points over the line\n\t\t\t\t//A little inefficient double looping, but better than the line\n\t\t\t\t//lagging behind the point positions\n\t\t\t\thelpers.each(pointsWithValues,function(point){\n\t\t\t\t\tpoint.draw();\n\t\t\t\t});\n\t\t\t},this);\n\t\t}\n\t});\n\n\n}).call(this);\n\n(function(){\n\t\"use strict\";\n\n\tvar root = this,\n\t\tChart = root.Chart,\n\t\t//Cache a local reference to Chart.helpers\n\t\thelpers = Chart.helpers;\n\n\tvar defaultConfig = {\n\t\t//Boolean - Show a backdrop to the scale label\n\t\tscaleShowLabelBackdrop : true,\n\n\t\t//String - The colour of the label backdrop\n\t\tscaleBackdropColor : \"rgba(255,255,255,0.75)\",\n\n\t\t// Boolean - Whether the scale should begin at zero\n\t\tscaleBeginAtZero : true,\n\n\t\t//Number - The backdrop padding above & below the label in pixels\n\t\tscaleBackdropPaddingY : 2,\n\n\t\t//Number - The backdrop padding to the side of the label in pixels\n\t\tscaleBackdropPaddingX : 2,\n\n\t\t//Boolean - Show line for each value in the scale\n\t\tscaleShowLine : true,\n\n\t\t//Boolean - Stroke a line around each segment in the chart\n\t\tsegmentShowStroke : true,\n\n\t\t//String - The colour of the stroke on each segement.\n\t\tsegmentStrokeColor : \"#fff\",\n\n\t\t//Number - The width of the stroke value in pixels\n\t\tsegmentStrokeWidth : 2,\n\n\t\t//Number - Amount of animation steps\n\t\tanimationSteps : 100,\n\n\t\t//String - Animation easing effect.\n\t\tanimationEasing : \"easeOutBounce\",\n\n\t\t//Boolean - Whether to animate the rotation of the chart\n\t\tanimateRotate : true,\n\n\t\t//Boolean - Whether to animate scaling the chart from the centre\n\t\tanimateScale : false,\n\n\t\t//String - A legend template\n\t\tlegendTemplate : \"<ul class=\\\"<%=name.toLowerCase()%>-legend\\\"><% for (var i=0; i<segments.length; i++){%><li><span style=\\\"background-color:<%=segments[i].fillColor%>\\\"></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>\"\n\t};\n\n\n\tChart.Type.extend({\n\t\t//Passing in a name registers this chart in the Chart namespace\n\t\tname: \"PolarArea\",\n\t\t//Providing a defaults will also register the deafults in the chart namespace\n\t\tdefaults : defaultConfig,\n\t\t//Initialize is fired when the chart is initialized - Data is passed in as a parameter\n\t\t//Config is automatically merged by the core of Chart.js, and is available at this.options\n\t\tinitialize: function(data){\n\t\t\tthis.segments = [];\n\t\t\t//Declare segment class as a chart instance specific class, so it can share props for this instance\n\t\t\tthis.SegmentArc = Chart.Arc.extend({\n\t\t\t\tshowStroke : this.options.segmentShowStroke,\n\t\t\t\tstrokeWidth : this.options.segmentStrokeWidth,\n\t\t\t\tstrokeColor : this.options.segmentStrokeColor,\n\t\t\t\tctx : this.chart.ctx,\n\t\t\t\tinnerRadius : 0,\n\t\t\t\tx : this.chart.width/2,\n\t\t\t\ty : this.chart.height/2\n\t\t\t});\n\t\t\tthis.scale = new Chart.RadialScale({\n\t\t\t\tdisplay: this.options.showScale,\n\t\t\t\tfontStyle: this.options.scaleFontStyle,\n\t\t\t\tfontSize: this.options.scaleFontSize,\n\t\t\t\tfontFamily: this.options.scaleFontFamily,\n\t\t\t\tfontColor: this.options.scaleFontColor,\n\t\t\t\tshowLabels: this.options.scaleShowLabels,\n\t\t\t\tshowLabelBackdrop: this.options.scaleShowLabelBackdrop,\n\t\t\t\tbackdropColor: this.options.scaleBackdropColor,\n\t\t\t\tbackdropPaddingY : this.options.scaleBackdropPaddingY,\n\t\t\t\tbackdropPaddingX: this.options.scaleBackdropPaddingX,\n\t\t\t\tlineWidth: (this.options.scaleShowLine) ? this.options.scaleLineWidth : 0,\n\t\t\t\tlineColor: this.options.scaleLineColor,\n\t\t\t\tlineArc: true,\n\t\t\t\twidth: this.chart.width,\n\t\t\t\theight: this.chart.height,\n\t\t\t\txCenter: this.chart.width/2,\n\t\t\t\tyCenter: this.chart.height/2,\n\t\t\t\tctx : this.chart.ctx,\n\t\t\t\ttemplateString: this.options.scaleLabel,\n\t\t\t\tvaluesCount: data.length\n\t\t\t});\n\n\t\t\tthis.updateScaleRange(data);\n\n\t\t\tthis.scale.update();\n\n\t\t\thelpers.each(data,function(segment,index){\n\t\t\t\tthis.addData(segment,index,true);\n\t\t\t},this);\n\n\t\t\t//Set up tooltip events on the chart\n\t\t\tif (this.options.showTooltips){\n\t\t\t\thelpers.bindEvents(this, this.options.tooltipEvents, function(evt){\n\t\t\t\t\tvar activeSegments = (evt.type !== 'mouseout') ? this.getSegmentsAtEvent(evt) : [];\n\t\t\t\t\thelpers.each(this.segments,function(segment){\n\t\t\t\t\t\tsegment.restore([\"fillColor\"]);\n\t\t\t\t\t});\n\t\t\t\t\thelpers.each(activeSegments,function(activeSegment){\n\t\t\t\t\t\tactiveSegment.fillColor = activeSegment.highlightColor;\n\t\t\t\t\t});\n\t\t\t\t\tthis.showTooltip(activeSegments);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.render();\n\t\t},\n\t\tgetSegmentsAtEvent : function(e){\n\t\t\tvar segmentsArray = [];\n\n\t\t\tvar location = helpers.getRelativePosition(e);\n\n\t\t\thelpers.each(this.segments,function(segment){\n\t\t\t\tif (segment.inRange(location.x,location.y)) segmentsArray.push(segment);\n\t\t\t},this);\n\t\t\treturn segmentsArray;\n\t\t},\n\t\taddData : function(segment, atIndex, silent){\n\t\t\tvar index = atIndex || this.segments.length;\n\n\t\t\tthis.segments.splice(index, 0, new this.SegmentArc({\n\t\t\t\tfillColor: segment.color,\n\t\t\t\thighlightColor: segment.highlight || segment.color,\n\t\t\t\tlabel: segment.label,\n\t\t\t\tvalue: segment.value,\n\t\t\t\touterRadius: (this.options.animateScale) ? 0 : this.scale.calculateCenterOffset(segment.value),\n\t\t\t\tcircumference: (this.options.animateRotate) ? 0 : this.scale.getCircumference(),\n\t\t\t\tstartAngle: Math.PI * 1.5\n\t\t\t}));\n\t\t\tif (!silent){\n\t\t\t\tthis.reflow();\n\t\t\t\tthis.update();\n\t\t\t}\n\t\t},\n\t\tremoveData: function(atIndex){\n\t\t\tvar indexToDelete = (helpers.isNumber(atIndex)) ? atIndex : this.segments.length-1;\n\t\t\tthis.segments.splice(indexToDelete, 1);\n\t\t\tthis.reflow();\n\t\t\tthis.update();\n\t\t},\n\t\tcalculateTotal: function(data){\n\t\t\tthis.total = 0;\n\t\t\thelpers.each(data,function(segment){\n\t\t\t\tthis.total += segment.value;\n\t\t\t},this);\n\t\t\tthis.scale.valuesCount = this.segments.length;\n\t\t},\n\t\tupdateScaleRange: function(datapoints){\n\t\t\tvar valuesArray = [];\n\t\t\thelpers.each(datapoints,function(segment){\n\t\t\t\tvaluesArray.push(segment.value);\n\t\t\t});\n\n\t\t\tvar scaleSizes = (this.options.scaleOverride) ?\n\t\t\t\t{\n\t\t\t\t\tsteps: this.options.scaleSteps,\n\t\t\t\t\tstepValue: this.options.scaleStepWidth,\n\t\t\t\t\tmin: this.options.scaleStartValue,\n\t\t\t\t\tmax: this.options.scaleStartValue + (this.options.scaleSteps * this.options.scaleStepWidth)\n\t\t\t\t} :\n\t\t\t\thelpers.calculateScaleRange(\n\t\t\t\t\tvaluesArray,\n\t\t\t\t\thelpers.min([this.chart.width, this.chart.height])/2,\n\t\t\t\t\tthis.options.scaleFontSize,\n\t\t\t\t\tthis.options.scaleBeginAtZero,\n\t\t\t\t\tthis.options.scaleIntegersOnly\n\t\t\t\t);\n\n\t\t\thelpers.extend(\n\t\t\t\tthis.scale,\n\t\t\t\tscaleSizes,\n\t\t\t\t{\n\t\t\t\t\tsize: helpers.min([this.chart.width, this.chart.height]),\n\t\t\t\t\txCenter: this.chart.width/2,\n\t\t\t\t\tyCenter: this.chart.height/2\n\t\t\t\t}\n\t\t\t);\n\n\t\t},\n\t\tupdate : function(){\n\t\t\tthis.calculateTotal(this.segments);\n\n\t\t\thelpers.each(this.segments,function(segment){\n\t\t\t\tsegment.save();\n\t\t\t});\n\t\t\t\n\t\t\tthis.reflow();\n\t\t\tthis.render();\n\t\t},\n\t\treflow : function(){\n\t\t\thelpers.extend(this.SegmentArc.prototype,{\n\t\t\t\tx : this.chart.width/2,\n\t\t\t\ty : this.chart.height/2\n\t\t\t});\n\t\t\tthis.updateScaleRange(this.segments);\n\t\t\tthis.scale.update();\n\n\t\t\thelpers.extend(this.scale,{\n\t\t\t\txCenter: this.chart.width/2,\n\t\t\t\tyCenter: this.chart.height/2\n\t\t\t});\n\n\t\t\thelpers.each(this.segments, function(segment){\n\t\t\t\tsegment.update({\n\t\t\t\t\touterRadius : this.scale.calculateCenterOffset(segment.value)\n\t\t\t\t});\n\t\t\t}, this);\n\n\t\t},\n\t\tdraw : function(ease){\n\t\t\tvar easingDecimal = ease || 1;\n\t\t\t//Clear & draw the canvas\n\t\t\tthis.clear();\n\t\t\thelpers.each(this.segments,function(segment, index){\n\t\t\t\tsegment.transition({\n\t\t\t\t\tcircumference : this.scale.getCircumference(),\n\t\t\t\t\touterRadius : this.scale.calculateCenterOffset(segment.value)\n\t\t\t\t},easingDecimal);\n\n\t\t\t\tsegment.endAngle = segment.startAngle + segment.circumference;\n\n\t\t\t\t// If we've removed the first segment we need to set the first one to\n\t\t\t\t// start at the top.\n\t\t\t\tif (index === 0){\n\t\t\t\t\tsegment.startAngle = Math.PI * 1.5;\n\t\t\t\t}\n\n\t\t\t\t//Check to see if it's the last segment, if not get the next and update the start angle\n\t\t\t\tif (index < this.segments.length - 1){\n\t\t\t\t\tthis.segments[index+1].startAngle = segment.endAngle;\n\t\t\t\t}\n\t\t\t\tsegment.draw();\n\t\t\t}, this);\n\t\t\tthis.scale.draw();\n\t\t}\n\t});\n\n}).call(this);\n(function(){\n\t\"use strict\";\n\n\tvar root = this,\n\t\tChart = root.Chart,\n\t\thelpers = Chart.helpers;\n\n\n\n\tChart.Type.extend({\n\t\tname: \"Radar\",\n\t\tdefaults:{\n\t\t\t//Boolean - Whether to show lines for each scale point\n\t\t\tscaleShowLine : true,\n\n\t\t\t//Boolean - Whether we show the angle lines out of the radar\n\t\t\tangleShowLineOut : true,\n\n\t\t\t//Boolean - Whether to show labels on the scale\n\t\t\tscaleShowLabels : false,\n\n\t\t\t// Boolean - Whether the scale should begin at zero\n\t\t\tscaleBeginAtZero : true,\n\n\t\t\t//String - Colour of the angle line\n\t\t\tangleLineColor : \"rgba(0,0,0,.1)\",\n\n\t\t\t//Number - Pixel width of the angle line\n\t\t\tangleLineWidth : 1,\n\n\t\t\t//String - Point label font declaration\n\t\t\tpointLabelFontFamily : \"'Arial'\",\n\n\t\t\t//String - Point label font weight\n\t\t\tpointLabelFontStyle : \"normal\",\n\n\t\t\t//Number - Point label font size in pixels\n\t\t\tpointLabelFontSize : 10,\n\n\t\t\t//String - Point label font colour\n\t\t\tpointLabelFontColor : \"#666\",\n\n\t\t\t//Boolean - Whether to show a dot for each point\n\t\t\tpointDot : true,\n\n\t\t\t//Number - Radius of each point dot in pixels\n\t\t\tpointDotRadius : 3,\n\n\t\t\t//Number - Pixel width of point dot stroke\n\t\t\tpointDotStrokeWidth : 1,\n\n\t\t\t//Number - amount extra to add to the radius to cater for hit detection outside the drawn point\n\t\t\tpointHitDetectionRadius : 20,\n\n\t\t\t//Boolean - Whether to show a stroke for datasets\n\t\t\tdatasetStroke : true,\n\n\t\t\t//Number - Pixel width of dataset stroke\n\t\t\tdatasetStrokeWidth : 2,\n\n\t\t\t//Boolean - Whether to fill the dataset with a colour\n\t\t\tdatasetFill : true,\n\n\t\t\t//String - A legend template\n\t\t\tlegendTemplate : \"<ul class=\\\"<%=name.toLowerCase()%>-legend\\\"><% for (var i=0; i<datasets.length; i++){%><li><span style=\\\"background-color:<%=datasets[i].strokeColor%>\\\"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>\"\n\n\t\t},\n\n\t\tinitialize: function(data){\n\t\t\tthis.PointClass = Chart.Point.extend({\n\t\t\t\tstrokeWidth : this.options.pointDotStrokeWidth,\n\t\t\t\tradius : this.options.pointDotRadius,\n\t\t\t\tdisplay: this.options.pointDot,\n\t\t\t\thitDetectionRadius : this.options.pointHitDetectionRadius,\n\t\t\t\tctx : this.chart.ctx\n\t\t\t});\n\n\t\t\tthis.datasets = [];\n\n\t\t\tthis.buildScale(data);\n\n\t\t\t//Set up tooltip events on the chart\n\t\t\tif (this.options.showTooltips){\n\t\t\t\thelpers.bindEvents(this, this.options.tooltipEvents, function(evt){\n\t\t\t\t\tvar activePointsCollection = (evt.type !== 'mouseout') ? this.getPointsAtEvent(evt) : [];\n\n\t\t\t\t\tthis.eachPoints(function(point){\n\t\t\t\t\t\tpoint.restore(['fillColor', 'strokeColor']);\n\t\t\t\t\t});\n\t\t\t\t\thelpers.each(activePointsCollection, function(activePoint){\n\t\t\t\t\t\tactivePoint.fillColor = activePoint.highlightFill;\n\t\t\t\t\t\tactivePoint.strokeColor = activePoint.highlightStroke;\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.showTooltip(activePointsCollection);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t//Iterate through each of the datasets, and build this into a property of the chart\n\t\t\thelpers.each(data.datasets,function(dataset){\n\n\t\t\t\tvar datasetObject = {\n\t\t\t\t\tlabel: dataset.label || null,\n\t\t\t\t\tfillColor : dataset.fillColor,\n\t\t\t\t\tstrokeColor : dataset.strokeColor,\n\t\t\t\t\tpointColor : dataset.pointColor,\n\t\t\t\t\tpointStrokeColor : dataset.pointStrokeColor,\n\t\t\t\t\tpoints : []\n\t\t\t\t};\n\n\t\t\t\tthis.datasets.push(datasetObject);\n\n\t\t\t\thelpers.each(dataset.data,function(dataPoint,index){\n\t\t\t\t\t//Add a new point for each piece of data, passing any required data to draw.\n\t\t\t\t\tvar pointPosition;\n\t\t\t\t\tif (!this.scale.animation){\n\t\t\t\t\t\tpointPosition = this.scale.getPointPosition(index, this.scale.calculateCenterOffset(dataPoint));\n\t\t\t\t\t}\n\t\t\t\t\tdatasetObject.points.push(new this.PointClass({\n\t\t\t\t\t\tvalue : dataPoint,\n\t\t\t\t\t\tlabel : data.labels[index],\n\t\t\t\t\t\tdatasetLabel: dataset.label,\n\t\t\t\t\t\tx: (this.options.animation) ? this.scale.xCenter : pointPosition.x,\n\t\t\t\t\t\ty: (this.options.animation) ? this.scale.yCenter : pointPosition.y,\n\t\t\t\t\t\tstrokeColor : dataset.pointStrokeColor,\n\t\t\t\t\t\tfillColor : dataset.pointColor,\n\t\t\t\t\t\thighlightFill : dataset.pointHighlightFill || dataset.pointColor,\n\t\t\t\t\t\thighlightStroke : dataset.pointHighlightStroke || dataset.pointStrokeColor\n\t\t\t\t\t}));\n\t\t\t\t},this);\n\n\t\t\t},this);\n\n\t\t\tthis.render();\n\t\t},\n\t\teachPoints : function(callback){\n\t\t\thelpers.each(this.datasets,function(dataset){\n\t\t\t\thelpers.each(dataset.points,callback,this);\n\t\t\t},this);\n\t\t},\n\n\t\tgetPointsAtEvent : function(evt){\n\t\t\tvar mousePosition = helpers.getRelativePosition(evt),\n\t\t\t\tfromCenter = helpers.getAngleFromPoint({\n\t\t\t\t\tx: this.scale.xCenter,\n\t\t\t\t\ty: this.scale.yCenter\n\t\t\t\t}, mousePosition);\n\n\t\t\tvar anglePerIndex = (Math.PI * 2) /this.scale.valuesCount,\n\t\t\t\tpointIndex = Math.round((fromCenter.angle - Math.PI * 1.5) / anglePerIndex),\n\t\t\t\tactivePointsCollection = [];\n\n\t\t\t// If we're at the top, make the pointIndex 0 to get the first of the array.\n\t\t\tif (pointIndex >= this.scale.valuesCount || pointIndex < 0){\n\t\t\t\tpointIndex = 0;\n\t\t\t}\n\n\t\t\tif (fromCenter.distance <= this.scale.drawingArea){\n\t\t\t\thelpers.each(this.datasets, function(dataset){\n\t\t\t\t\tactivePointsCollection.push(dataset.points[pointIndex]);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn activePointsCollection;\n\t\t},\n\n\t\tbuildScale : function(data){\n\t\t\tthis.scale = new Chart.RadialScale({\n\t\t\t\tdisplay: this.options.showScale,\n\t\t\t\tfontStyle: this.options.scaleFontStyle,\n\t\t\t\tfontSize: this.options.scaleFontSize,\n\t\t\t\tfontFamily: this.options.scaleFontFamily,\n\t\t\t\tfontColor: this.options.scaleFontColor,\n\t\t\t\tshowLabels: this.options.scaleShowLabels,\n\t\t\t\tshowLabelBackdrop: this.options.scaleShowLabelBackdrop,\n\t\t\t\tbackdropColor: this.options.scaleBackdropColor,\n\t\t\t\tbackdropPaddingY : this.options.scaleBackdropPaddingY,\n\t\t\t\tbackdropPaddingX: this.options.scaleBackdropPaddingX,\n\t\t\t\tlineWidth: (this.options.scaleShowLine) ? this.options.scaleLineWidth : 0,\n\t\t\t\tlineColor: this.options.scaleLineColor,\n\t\t\t\tangleLineColor : this.options.angleLineColor,\n\t\t\t\tangleLineWidth : (this.options.angleShowLineOut) ? this.options.angleLineWidth : 0,\n\t\t\t\t// Point labels at the edge of each line\n\t\t\t\tpointLabelFontColor : this.options.pointLabelFontColor,\n\t\t\t\tpointLabelFontSize : this.options.pointLabelFontSize,\n\t\t\t\tpointLabelFontFamily : this.options.pointLabelFontFamily,\n\t\t\t\tpointLabelFontStyle : this.options.pointLabelFontStyle,\n\t\t\t\theight : this.chart.height,\n\t\t\t\twidth: this.chart.width,\n\t\t\t\txCenter: this.chart.width/2,\n\t\t\t\tyCenter: this.chart.height/2,\n\t\t\t\tctx : this.chart.ctx,\n\t\t\t\ttemplateString: this.options.scaleLabel,\n\t\t\t\tlabels: data.labels,\n\t\t\t\tvaluesCount: data.datasets[0].data.length\n\t\t\t});\n\n\t\t\tthis.scale.setScaleSize();\n\t\t\tthis.updateScaleRange(data.datasets);\n\t\t\tthis.scale.buildYLabels();\n\t\t},\n\t\tupdateScaleRange: function(datasets){\n\t\t\tvar valuesArray = (function(){\n\t\t\t\tvar totalDataArray = [];\n\t\t\t\thelpers.each(datasets,function(dataset){\n\t\t\t\t\tif (dataset.data){\n\t\t\t\t\t\ttotalDataArray = totalDataArray.concat(dataset.data);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\thelpers.each(dataset.points, function(point){\n\t\t\t\t\t\t\ttotalDataArray.push(point.value);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn totalDataArray;\n\t\t\t})();\n\n\n\t\t\tvar scaleSizes = (this.options.scaleOverride) ?\n\t\t\t\t{\n\t\t\t\t\tsteps: this.options.scaleSteps,\n\t\t\t\t\tstepValue: this.options.scaleStepWidth,\n\t\t\t\t\tmin: this.options.scaleStartValue,\n\t\t\t\t\tmax: this.options.scaleStartValue + (this.options.scaleSteps * this.options.scaleStepWidth)\n\t\t\t\t} :\n\t\t\t\thelpers.calculateScaleRange(\n\t\t\t\t\tvaluesArray,\n\t\t\t\t\thelpers.min([this.chart.width, this.chart.height])/2,\n\t\t\t\t\tthis.options.scaleFontSize,\n\t\t\t\t\tthis.options.scaleBeginAtZero,\n\t\t\t\t\tthis.options.scaleIntegersOnly\n\t\t\t\t);\n\n\t\t\thelpers.extend(\n\t\t\t\tthis.scale,\n\t\t\t\tscaleSizes\n\t\t\t);\n\n\t\t},\n\t\taddData : function(valuesArray,label){\n\t\t\t//Map the values array for each of the datasets\n\t\t\tthis.scale.valuesCount++;\n\t\t\thelpers.each(valuesArray,function(value,datasetIndex){\n\t\t\t\tvar pointPosition = this.scale.getPointPosition(this.scale.valuesCount, this.scale.calculateCenterOffset(value));\n\t\t\t\tthis.datasets[datasetIndex].points.push(new this.PointClass({\n\t\t\t\t\tvalue : value,\n\t\t\t\t\tlabel : label,\n\t\t\t\t\tx: pointPosition.x,\n\t\t\t\t\ty: pointPosition.y,\n\t\t\t\t\tstrokeColor : this.datasets[datasetIndex].pointStrokeColor,\n\t\t\t\t\tfillColor : this.datasets[datasetIndex].pointColor\n\t\t\t\t}));\n\t\t\t},this);\n\n\t\t\tthis.scale.labels.push(label);\n\n\t\t\tthis.reflow();\n\n\t\t\tthis.update();\n\t\t},\n\t\tremoveData : function(){\n\t\t\tthis.scale.valuesCount--;\n\t\t\tthis.scale.labels.shift();\n\t\t\thelpers.each(this.datasets,function(dataset){\n\t\t\t\tdataset.points.shift();\n\t\t\t},this);\n\t\t\tthis.reflow();\n\t\t\tthis.update();\n\t\t},\n\t\tupdate : function(){\n\t\t\tthis.eachPoints(function(point){\n\t\t\t\tpoint.save();\n\t\t\t});\n\t\t\tthis.reflow();\n\t\t\tthis.render();\n\t\t},\n\t\treflow: function(){\n\t\t\thelpers.extend(this.scale, {\n\t\t\t\twidth : this.chart.width,\n\t\t\t\theight: this.chart.height,\n\t\t\t\tsize : helpers.min([this.chart.width, this.chart.height]),\n\t\t\t\txCenter: this.chart.width/2,\n\t\t\t\tyCenter: this.chart.height/2\n\t\t\t});\n\t\t\tthis.updateScaleRange(this.datasets);\n\t\t\tthis.scale.setScaleSize();\n\t\t\tthis.scale.buildYLabels();\n\t\t},\n\t\tdraw : function(ease){\n\t\t\tvar easeDecimal = ease || 1,\n\t\t\t\tctx = this.chart.ctx;\n\t\t\tthis.clear();\n\t\t\tthis.scale.draw();\n\n\t\t\thelpers.each(this.datasets,function(dataset){\n\n\t\t\t\t//Transition each point first so that the line and point drawing isn't out of sync\n\t\t\t\thelpers.each(dataset.points,function(point,index){\n\t\t\t\t\tif (point.hasValue()){\n\t\t\t\t\t\tpoint.transition(this.scale.getPointPosition(index, this.scale.calculateCenterOffset(point.value)), easeDecimal);\n\t\t\t\t\t}\n\t\t\t\t},this);\n\n\n\n\t\t\t\t//Draw the line between all the points\n\t\t\t\tctx.lineWidth = this.options.datasetStrokeWidth;\n\t\t\t\tctx.strokeStyle = dataset.strokeColor;\n\t\t\t\tctx.beginPath();\n\t\t\t\thelpers.each(dataset.points,function(point,index){\n\t\t\t\t\tif (index === 0){\n\t\t\t\t\t\tctx.moveTo(point.x,point.y);\n\t\t\t\t\t}\n\t\t\t\t\telse{\n\t\t\t\t\t\tctx.lineTo(point.x,point.y);\n\t\t\t\t\t}\n\t\t\t\t},this);\n\t\t\t\tctx.closePath();\n\t\t\t\tctx.stroke();\n\n\t\t\t\tctx.fillStyle = dataset.fillColor;\n\t\t\t\tctx.fill();\n\n\t\t\t\t//Now draw the points over the line\n\t\t\t\t//A little inefficient double looping, but better than the line\n\t\t\t\t//lagging behind the point positions\n\t\t\t\thelpers.each(dataset.points,function(point){\n\t\t\t\t\tif (point.hasValue()){\n\t\t\t\t\t\tpoint.draw();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t},this);\n\n\t\t}\n\n\t});\n\n\n\n\n\n}).call(this);","module.exports = require(\"core-js-pure/stable/url\");","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","exports.f = {}.propertyIsEnumerable;\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","module.exports = require(\"core-js-pure/stable/json/stringify\");","import { isThenable } from './is';\n/** SyncPromise internal states */\nvar States;\n(function (States) {\n /** Pending */\n States[\"PENDING\"] = \"PENDING\";\n /** Resolved / OK */\n States[\"RESOLVED\"] = \"RESOLVED\";\n /** Rejected / Error */\n States[\"REJECTED\"] = \"REJECTED\";\n})(States || (States = {}));\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nvar SyncPromise = /** @class */ (function () {\n function SyncPromise(executor) {\n var _this = this;\n this._state = States.PENDING;\n this._handlers = [];\n /** JSDoc */\n this._resolve = function (value) {\n _this._setResult(States.RESOLVED, value);\n };\n /** JSDoc */\n this._reject = function (reason) {\n _this._setResult(States.REJECTED, reason);\n };\n /** JSDoc */\n this._setResult = function (state, value) {\n if (_this._state !== States.PENDING) {\n return;\n }\n if (isThenable(value)) {\n value.then(_this._resolve, _this._reject);\n return;\n }\n _this._state = state;\n _this._value = value;\n _this._executeHandlers();\n };\n // TODO: FIXME\n /** JSDoc */\n this._attachHandler = function (handler) {\n _this._handlers = _this._handlers.concat(handler);\n _this._executeHandlers();\n };\n /** JSDoc */\n this._executeHandlers = function () {\n if (_this._state === States.PENDING) {\n return;\n }\n if (_this._state === States.REJECTED) {\n _this._handlers.forEach(function (handler) {\n if (handler.onrejected) {\n handler.onrejected(_this._value);\n }\n });\n }\n else {\n _this._handlers.forEach(function (handler) {\n if (handler.onfulfilled) {\n // tslint:disable-next-line:no-unsafe-any\n handler.onfulfilled(_this._value);\n }\n });\n }\n _this._handlers = [];\n };\n try {\n executor(this._resolve, this._reject);\n }\n catch (e) {\n this._reject(e);\n }\n }\n /** JSDoc */\n SyncPromise.prototype.toString = function () {\n return '[object SyncPromise]';\n };\n /** JSDoc */\n SyncPromise.resolve = function (value) {\n return new SyncPromise(function (resolve) {\n resolve(value);\n });\n };\n /** JSDoc */\n SyncPromise.reject = function (reason) {\n return new SyncPromise(function (_, reject) {\n reject(reason);\n });\n };\n /** JSDoc */\n SyncPromise.all = function (collection) {\n return new SyncPromise(function (resolve, reject) {\n if (!Array.isArray(collection)) {\n reject(new TypeError(\"Promise.all requires an array as input.\"));\n return;\n }\n if (collection.length === 0) {\n resolve([]);\n return;\n }\n var counter = collection.length;\n var resolvedCollection = [];\n collection.forEach(function (item, index) {\n SyncPromise.resolve(item)\n .then(function (value) {\n resolvedCollection[index] = value;\n counter -= 1;\n if (counter !== 0) {\n return;\n }\n resolve(resolvedCollection);\n })\n .then(null, reject);\n });\n });\n };\n /** JSDoc */\n SyncPromise.prototype.then = function (onfulfilled, onrejected) {\n var _this = this;\n return new SyncPromise(function (resolve, reject) {\n _this._attachHandler({\n onfulfilled: function (result) {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result);\n return;\n }\n try {\n resolve(onfulfilled(result));\n return;\n }\n catch (e) {\n reject(e);\n return;\n }\n },\n onrejected: function (reason) {\n if (!onrejected) {\n reject(reason);\n return;\n }\n try {\n resolve(onrejected(reason));\n return;\n }\n catch (e) {\n reject(e);\n return;\n }\n },\n });\n });\n };\n /** JSDoc */\n SyncPromise.prototype.catch = function (onrejected) {\n return this.then(function (val) { return val; }, onrejected);\n };\n /** JSDoc */\n SyncPromise.prototype.finally = function (onfinally) {\n var _this = this;\n return new SyncPromise(function (resolve, reject) {\n var val;\n var isRejected;\n return _this.then(function (value) {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n }, function (reason) {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n }).then(function () {\n if (isRejected) {\n reject(val);\n return;\n }\n // tslint:disable-next-line:no-unsafe-any\n resolve(val);\n });\n });\n };\n return SyncPromise;\n}());\nexport { SyncPromise };\n//# sourceMappingURL=syncpromise.js.map","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","module.exports = function () { /* empty */ };\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n","'use strict';\n// Forced replacement prototype accessors methods\nmodule.exports = require('./_library') || !require('./_fails')(function () {\n var K = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call\n __defineSetter__.call(null, K, function () { /* empty */ });\n delete require('./_global')[K];\n});\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n } });\n};\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar ctx = require('./_ctx');\nvar forOf = require('./_for-of');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n } });\n};\n","module.exports = require(\"core-js-pure/stable/instance/reverse\");","import * as tslib_1 from \"tslib\";\nimport { getGlobalObject, isThenable, normalize, SyncPromise } from '@sentry/utils';\nimport { Span } from './span';\n/**\n * Holds additional event information. {@link Scope.applyToEvent} will be\n * called by the client before an event will be sent.\n */\nvar Scope = /** @class */ (function () {\n function Scope() {\n /** Flag if notifiying is happening. */\n this._notifyingListeners = false;\n /** Callback for client to receive scope changes. */\n this._scopeListeners = [];\n /** Callback list that will be called after {@link applyToEvent}. */\n this._eventProcessors = [];\n /** Array of breadcrumbs. */\n this._breadcrumbs = [];\n /** User */\n this._user = {};\n /** Tags */\n this._tags = {};\n /** Extra */\n this._extra = {};\n /** Contexts */\n this._context = {};\n }\n /**\n * Add internal on change listener. Used for sub SDKs that need to store the scope.\n * @hidden\n */\n Scope.prototype.addScopeListener = function (callback) {\n this._scopeListeners.push(callback);\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.addEventProcessor = function (callback) {\n this._eventProcessors.push(callback);\n return this;\n };\n /**\n * This will be called on every set call.\n */\n Scope.prototype._notifyScopeListeners = function () {\n var _this = this;\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n setTimeout(function () {\n _this._scopeListeners.forEach(function (callback) {\n callback(_this);\n });\n _this._notifyingListeners = false;\n });\n }\n };\n /**\n * This will be called after {@link applyToEvent} is finished.\n */\n Scope.prototype._notifyEventProcessors = function (processors, event, hint, index) {\n var _this = this;\n if (index === void 0) { index = 0; }\n return new SyncPromise(function (resolve, reject) {\n var processor = processors[index];\n // tslint:disable-next-line:strict-type-predicates\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n }\n else {\n var result = processor(tslib_1.__assign({}, event), hint);\n if (isThenable(result)) {\n result\n .then(function (final) { return _this._notifyEventProcessors(processors, final, hint, index + 1).then(resolve); })\n .then(null, reject);\n }\n else {\n _this._notifyEventProcessors(processors, result, hint, index + 1)\n .then(resolve)\n .then(null, reject);\n }\n }\n });\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setUser = function (user) {\n this._user = normalize(user);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setTags = function (tags) {\n this._tags = tslib_1.__assign({}, this._tags, normalize(tags));\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setTag = function (key, value) {\n var _a;\n this._tags = tslib_1.__assign({}, this._tags, (_a = {}, _a[key] = normalize(value), _a));\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setExtras = function (extra) {\n this._extra = tslib_1.__assign({}, this._extra, normalize(extra));\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setExtra = function (key, extra) {\n var _a;\n this._extra = tslib_1.__assign({}, this._extra, (_a = {}, _a[key] = normalize(extra), _a));\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setFingerprint = function (fingerprint) {\n this._fingerprint = normalize(fingerprint);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setLevel = function (level) {\n this._level = normalize(level);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setTransaction = function (transaction) {\n this._transaction = transaction;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setContext = function (name, context) {\n this._context[name] = context ? normalize(context) : undefined;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setSpan = function (span) {\n this._span = span;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.startSpan = function (parentSpan) {\n var span = new Span();\n span.setParent(parentSpan);\n this.setSpan(span);\n return span;\n };\n /**\n * Internal getter for Span, used in Hub.\n * @hidden\n */\n Scope.prototype.getSpan = function () {\n return this._span;\n };\n /**\n * Inherit values from the parent scope.\n * @param scope to clone.\n */\n Scope.clone = function (scope) {\n var newScope = new Scope();\n if (scope) {\n newScope._breadcrumbs = tslib_1.__spread(scope._breadcrumbs);\n newScope._tags = tslib_1.__assign({}, scope._tags);\n newScope._extra = tslib_1.__assign({}, scope._extra);\n newScope._context = tslib_1.__assign({}, scope._context);\n newScope._user = scope._user;\n newScope._level = scope._level;\n newScope._span = scope._span;\n newScope._transaction = scope._transaction;\n newScope._fingerprint = scope._fingerprint;\n newScope._eventProcessors = tslib_1.__spread(scope._eventProcessors);\n }\n return newScope;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.clear = function () {\n this._breadcrumbs = [];\n this._tags = {};\n this._extra = {};\n this._user = {};\n this._context = {};\n this._level = undefined;\n this._transaction = undefined;\n this._fingerprint = undefined;\n this._span = undefined;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.addBreadcrumb = function (breadcrumb, maxBreadcrumbs) {\n var timestamp = new Date().getTime() / 1000;\n var mergedBreadcrumb = tslib_1.__assign({ timestamp: timestamp }, breadcrumb);\n this._breadcrumbs =\n maxBreadcrumbs !== undefined && maxBreadcrumbs >= 0\n ? tslib_1.__spread(this._breadcrumbs, [normalize(mergedBreadcrumb)]).slice(-maxBreadcrumbs)\n : tslib_1.__spread(this._breadcrumbs, [normalize(mergedBreadcrumb)]);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.clearBreadcrumbs = function () {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n };\n /**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\n Scope.prototype._applyFingerprint = function (event) {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint\n ? Array.isArray(event.fingerprint)\n ? event.fingerprint\n : [event.fingerprint]\n : [];\n // If we have something on the scope, then merge it with event\n if (this._fingerprint) {\n event.fingerprint = event.fingerprint.concat(this._fingerprint);\n }\n // If we have no data at all, remove empty array default\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n };\n /**\n * Applies the current context and fingerprint to the event.\n * Note that breadcrumbs will be added by the client.\n * Also if the event has already breadcrumbs on it, we do not merge them.\n * @param event Event\n * @param hint May contain additional informartion about the original exception.\n * @hidden\n */\n Scope.prototype.applyToEvent = function (event, hint) {\n if (this._extra && Object.keys(this._extra).length) {\n event.extra = tslib_1.__assign({}, this._extra, event.extra);\n }\n if (this._tags && Object.keys(this._tags).length) {\n event.tags = tslib_1.__assign({}, this._tags, event.tags);\n }\n if (this._user && Object.keys(this._user).length) {\n event.user = tslib_1.__assign({}, this._user, event.user);\n }\n if (this._context && Object.keys(this._context).length) {\n event.contexts = tslib_1.__assign({}, this._context, event.contexts);\n }\n if (this._level) {\n event.level = this._level;\n }\n if (this._transaction) {\n event.transaction = this._transaction;\n }\n if (this._span) {\n event.contexts = event.contexts || {};\n event.contexts.trace = this._span;\n }\n this._applyFingerprint(event);\n event.breadcrumbs = tslib_1.__spread((event.breadcrumbs || []), this._breadcrumbs);\n event.breadcrumbs = event.breadcrumbs.length > 0 ? event.breadcrumbs : undefined;\n return this._notifyEventProcessors(tslib_1.__spread(getGlobalEventProcessors(), this._eventProcessors), event, hint);\n };\n return Scope;\n}());\nexport { Scope };\n/**\n * Retruns the global event processors.\n */\nfunction getGlobalEventProcessors() {\n var global = getGlobalObject();\n global.__SENTRY__ = global.__SENTRY__ || {};\n global.__SENTRY__.globalEventProcessors = global.__SENTRY__.globalEventProcessors || [];\n return global.__SENTRY__.globalEventProcessors;\n}\n/**\n * Add a EventProcessor to be kept globally.\n * @param callback EventProcessor to add\n */\nexport function addGlobalEventProcessor(callback) {\n getGlobalEventProcessors().push(callback);\n}\n//# sourceMappingURL=scope.js.map","module.exports = require(\"core-js-pure/stable/instance/values\");","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.4',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n","module.exports = require(\"core-js-pure/stable/array/from\");","import { isRegExp } from './is';\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function truncate(str, max) {\n if (max === void 0) { max = 0; }\n // tslint:disable-next-line:strict-type-predicates\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : str.substr(0, max) + \"...\";\n}\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function snipLine(line, colno) {\n var newLine = line;\n var ll = newLine.length;\n if (ll <= 150) {\n return newLine;\n }\n if (colno > ll) {\n colno = ll; // tslint:disable-line:no-parameter-reassignment\n }\n var start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n var end = Math.min(start + 140, ll);\n if (end > ll - 5) {\n end = ll;\n }\n if (end === ll) {\n start = Math.max(end - 140, 0);\n }\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = \"'{snip} \" + newLine;\n }\n if (end < ll) {\n newLine += ' {snip}';\n }\n return newLine;\n}\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\nexport function safeJoin(input, delimiter) {\n if (!Array.isArray(input)) {\n return '';\n }\n var output = [];\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < input.length; i++) {\n var value = input[i];\n try {\n output.push(String(value));\n }\n catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n return output.join(delimiter);\n}\n/**\n * Checks if the value matches a regex or includes the string\n * @param value The string value to be checked against\n * @param pattern Either a regex or a string that must be contained in value\n */\nexport function isMatchingPattern(value, pattern) {\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (typeof pattern === 'string') {\n return value.indexOf(pattern) !== -1;\n }\n return false;\n}\n//# sourceMappingURL=string.js.map","import { consoleSandbox, getGlobalObject } from './misc';\n// TODO: Implement different loggers for different environments\nvar global = getGlobalObject();\n/** Prefix for logging strings */\nvar PREFIX = 'Sentry Logger ';\n/** JSDoc */\nvar Logger = /** @class */ (function () {\n /** JSDoc */\n function Logger() {\n this._enabled = false;\n }\n /** JSDoc */\n Logger.prototype.disable = function () {\n this._enabled = false;\n };\n /** JSDoc */\n Logger.prototype.enable = function () {\n this._enabled = true;\n };\n /** JSDoc */\n Logger.prototype.log = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.log(PREFIX + \"[Log]: \" + args.join(' ')); // tslint:disable-line:no-console\n });\n };\n /** JSDoc */\n Logger.prototype.warn = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.warn(PREFIX + \"[Warn]: \" + args.join(' ')); // tslint:disable-line:no-console\n });\n };\n /** JSDoc */\n Logger.prototype.error = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.error(PREFIX + \"[Error]: \" + args.join(' ')); // tslint:disable-line:no-console\n });\n };\n return Logger;\n}());\n// Ensure we only have a single logger instance, even if multiple versions of @sentry/utils are being used\nglobal.__SENTRY__ = global.__SENTRY__ || {};\nvar logger = global.__SENTRY__.logger || (global.__SENTRY__.logger = new Logger());\nexport { logger };\n//# sourceMappingURL=logger.js.map","module.exports = require(\"core-js-pure/features/object/define-property\");","require('../../modules/es.object.define-property');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperty = module.exports = function defineProperty(it, key, desc) {\n return Object.defineProperty(it, key, desc);\n};\n\nif (Object.defineProperty.sham) defineProperty.sham = true;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","require('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.all-settled');\nrequire('../../modules/es.promise.finally');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Promise;\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) {\n if (options && options.unsafe && target[key]) target[key] = src[key];\n else redefine(target, key, src[key], options);\n } return target;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\n// `Promise.allSettled` method\n// https://github.com/tc39/proposal-promise-allSettled\n$({ target: 'Promise', stat: true }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: e };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\n\nvar wrap = function (scheduler) {\n return function (handler, timeout /* , ...arguments */) {\n var boundArgs = arguments.length > 2;\n var args = boundArgs ? slice.call(arguments, 2) : undefined;\n return scheduler(boundArgs ? function () {\n // eslint-disable-next-line no-new-func\n (typeof handler == 'function' ? handler : Function(handler)).apply(this, args);\n } : handler, timeout);\n };\n};\n\n// ie9- setTimeout & setInterval additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers\n$({ global: true, bind: true, forced: MSIE }, {\n // `setTimeout` method\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout\n setTimeout: wrap(global.setTimeout),\n // `setInterval` method\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval\n setInterval: wrap(global.setInterval)\n});\n","require('../../modules/es.string.iterator');\nrequire('../../modules/es.array.from');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.from;\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","require('../../modules/es.object.assign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.assign;\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","module.exports = require(\"core-js-pure/features/array/is-array\");","require('../../modules/es.array.is-array');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.isArray;\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","module.exports = require(\"core-js-pure/features/is-iterable\");","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar af = moment.defineLocale('af', {\n months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM : function (input) {\n return /^nm$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Vandag om] LT',\n nextDay : '[Môre om] LT',\n nextWeek : 'dddd [om] LT',\n lastDay : '[Gister om] LT',\n lastWeek : '[Laas] dddd [om] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'oor %s',\n past : '%s gelede',\n s : '\\'n paar sekondes',\n m : '\\'n minuut',\n mm : '%d minute',\n h : '\\'n uur',\n hh : '%d ure',\n d : '\\'n dag',\n dd : '%d dae',\n M : '\\'n maand',\n MM : '%d maande',\n y : '\\'n jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week : {\n dow : 1, // Maandag is die eerste dag van die week.\n doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n }\n});\n\nreturn af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n};\nvar numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n};\nvar pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n};\nvar plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n};\nvar pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n};\nvar months = [\n 'كانون الثاني يناير',\n 'شباط فبراير',\n 'آذار مارس',\n 'نيسان أبريل',\n 'أيار مايو',\n 'حزيران يونيو',\n 'تموز يوليو',\n 'آب أغسطس',\n 'أيلول سبتمبر',\n 'تشرين الأول أكتوبر',\n 'تشرين الثاني نوفمبر',\n 'كانون الأول ديسمبر'\n];\n\nvar ar = moment.defineLocale('ar', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ar;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddineme\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar arDz = moment.defineLocale('ar-dz', {\n months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 4 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn arDz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar arKw = moment.defineLocale('ar-kw', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn arKw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Lybia) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '0': '0'\n};\nvar pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n};\nvar plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n};\nvar pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n};\nvar months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n];\n\nvar arLy = moment.defineLocale('ar-ly', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar arMa = moment.defineLocale('ar-ma', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n};\nvar numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n};\n\nvar arSa = moment.defineLocale('ar-sa', {\n months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn arSa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn arTn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n};\n\nvar az = moment.defineLocale('az', {\n months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[sabah saat] LT',\n nextWeek : '[gələn həftə] dddd [saat] LT',\n lastDay : '[dünən] LT',\n lastWeek : '[keçən həftə] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s əvvəl',\n s : 'birneçə saniyyə',\n m : 'bir dəqiqə',\n mm : '%d dəqiqə',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir il',\n yy : '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM : function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal : function (number) {\n if (number === 0) { // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n}\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n 'dd': 'дзень_дні_дзён',\n 'MM': 'месяц_месяцы_месяцаў',\n 'yy': 'год_гады_гадоў'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n}\n\nvar be = moment.defineLocale('be', {\n months : {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays : {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., HH:mm',\n LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar : {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'праз %s',\n past : '%s таму',\n s : 'некалькі секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithPlural,\n hh : relativeTimeWithPlural,\n d : 'дзень',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM : function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar bg = moment.defineLocale('bg', {\n months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Днес в] LT',\n nextDay : '[Утре в] LT',\n nextWeek : 'dddd [в] LT',\n lastDay : '[Вчера в] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[В изминалата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[В изминалия] dddd [в] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'след %s',\n past : 'преди %s',\n s : 'няколко секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дни',\n M : 'месец',\n MM : '%d месеца',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn bg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n// Language contact person : Abdoufata Kane : https://github.com/abdoufata\n\nvar bm = moment.defineLocale('bm', {\n months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\n monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'MMMM [tile] D [san] YYYY',\n LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\n },\n calendar : {\n sameDay : '[Bi lɛrɛ] LT',\n nextDay : '[Sini lɛrɛ] LT',\n nextWeek : 'dddd [don lɛrɛ] LT',\n lastDay : '[Kunu lɛrɛ] LT',\n lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s kɔnɔ',\n past : 'a bɛ %s bɔ',\n s : 'sanga dama dama',\n m : 'miniti kelen',\n mm : 'miniti %d',\n h : 'lɛrɛ kelen',\n hh : 'lɛrɛ %d',\n d : 'tile kelen',\n dd : 'tile %d',\n M : 'kalo kelen',\n MM : 'kalo %d',\n y : 'san kelen',\n yy : 'san %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn bm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n};\nvar numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n};\n\nvar bn = moment.defineLocale('bn', {\n months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),\n longDateFormat : {\n LT : 'A h:mm সময়',\n LTS : 'A h:mm:ss সময়',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm সময়',\n LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar : {\n sameDay : '[আজ] LT',\n nextDay : '[আগামীকাল] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[গতকাল] LT',\n lastWeek : '[গত] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s পরে',\n past : '%s আগে',\n s : 'কয়েক সেকেন্ড',\n m : 'এক মিনিট',\n mm : '%d মিনিট',\n h : 'এক ঘন্টা',\n hh : '%d ঘন্টা',\n d : 'এক দিন',\n dd : '%d দিন',\n M : 'এক মাস',\n MM : '%d মাস',\n y : 'এক বছর',\n yy : '%d বছর'\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn bn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n};\nvar numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n};\n\nvar bo = moment.defineLocale('bo', {\n months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[དི་རིང] LT',\n nextDay : '[སང་ཉིན] LT',\n nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay : '[ཁ་སང] LT',\n lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ལ་',\n past : '%s སྔན་ལ',\n s : 'ལམ་སང',\n m : 'སྐར་མ་གཅིག',\n mm : '%d སྐར་མ',\n h : 'ཆུ་ཚོད་གཅིག',\n hh : '%d ཆུ་ཚོད',\n d : 'ཉིན་གཅིག',\n dd : '%d ཉིན་',\n M : 'ཟླ་བ་གཅིག',\n MM : '%d ཟླ་བ',\n y : 'ལོ་གཅིག',\n yy : '%d ལོ'\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn bo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n 'mm': 'munutenn',\n 'MM': 'miz',\n 'dd': 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n}\nfunction specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n}\nfunction lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n}\nfunction mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n}\nfunction softMutation(text) {\n var mutationTable = {\n 'm': 'v',\n 'b': 'v',\n 'd': 'z'\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n}\n\nvar br = moment.defineLocale('br', {\n months : 'Genver_C\\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort : 'Gen_C\\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays : 'Sul_Lun_Meurzh_Merc\\'her_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h[e]mm A',\n LTS : 'h[e]mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [a viz] MMMM YYYY',\n LLL : 'D [a viz] MMMM YYYY h[e]mm A',\n LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'\n },\n calendar : {\n sameDay : '[Hiziv da] LT',\n nextDay : '[Warc\\'hoazh da] LT',\n nextWeek : 'dddd [da] LT',\n lastDay : '[Dec\\'h da] LT',\n lastWeek : 'dddd [paset da] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'a-benn %s',\n past : '%s \\'zo',\n s : 'un nebeud segondennoù',\n m : 'ur vunutenn',\n mm : relativeTimeWithMutation,\n h : 'un eur',\n hh : '%d eur',\n d : 'un devezh',\n dd : relativeTimeWithMutation,\n M : 'ur miz',\n MM : relativeTimeWithMutation,\n y : 'ur bloaz',\n yy : specialMutationForYears\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal : function (number) {\n var output = (number === 1) ? 'añ' : 'vet';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n}\n\nvar bs = moment.defineLocale('bs', {\n months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ca = moment.defineLocale('ca', {\n months : {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n format: 'de gener_de febrer_de març_d\\'abril_de maig_de juny_de juliol_d\\'agost_de setembre_d\\'octubre_de novembre_de desembre'.split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [de] YYYY',\n ll : 'D MMM YYYY',\n LLL : 'D MMMM [de] YYYY [a les] H:mm',\n lll : 'D MMM YYYY, H:mm',\n LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll : 'ddd D MMM YYYY, H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextDay : function () {\n return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastDay : function () {\n return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'd\\'aquí %s',\n past : 'fa %s',\n s : 'uns segons',\n m : 'un minut',\n mm : '%d minuts',\n h : 'una hora',\n hh : '%d hores',\n d : 'un dia',\n dd : '%d dies',\n M : 'un mes',\n MM : '%d mesos',\n y : 'un any',\n yy : '%d anys'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal : function (number, period) {\n var output = (number === 1) ? 'r' :\n (number === 2) ? 'n' :\n (number === 3) ? 'r' :\n (number === 4) ? 't' : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn ca;\n\n})));\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_');\nvar monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\nfunction plural(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n}\nfunction translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n break;\n }\n}\n\nvar cs = moment.defineLocale('cs', {\n months : months,\n monthsShort : monthsShort,\n monthsParse : (function (months, monthsShort) {\n var i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months, monthsShort)),\n shortMonthsParse : (function (monthsShort) {\n var i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse : (function (months) {\n var i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months)),\n weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm',\n l : 'D. M. YYYY'\n },\n calendar : {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'před %s',\n s : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse : /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar cv = moment.defineLocale('cv', {\n months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar : {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime : {\n future : function (output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past : '%s каялла',\n s : 'пӗр-ик ҫеккунт',\n m : 'пӗр минут',\n mm : '%d минут',\n h : 'пӗр сехет',\n hh : '%d сехет',\n d : 'пӗр кун',\n dd : '%d кун',\n M : 'пӗр уйӑх',\n MM : '%d уйӑх',\n y : 'пӗр ҫул',\n yy : '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal : '%d-мӗш',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS : 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn cy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar da = moment.defineLocale('da', {\n months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay : '[i dag kl.] LT',\n nextDay : '[i morgen kl.] LT',\n nextWeek : 'på dddd [kl.] LT',\n lastDay : '[i går kl.] LT',\n lastWeek : '[i] dddd[s kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'få sekunder',\n m : 'et minut',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dage',\n M : 'en måned',\n MM : '%d måneder',\n y : 'et år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn da;\n\n})));\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n}\n\nvar de = moment.defineLocale('de', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn de;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n}\n\nvar deAt = moment.defineLocale('de-at', {\n months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn deAt;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n// based on: https://www.bk.admin.ch/dokumentation/sprachen/04915/05016/index.html?lang=de#\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n}\n\nvar deCh = moment.defineLocale('de-ch', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH.mm',\n LLLL : 'dddd, D. MMMM YYYY HH.mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn deCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n];\nvar weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n];\n\nvar dv = moment.defineLocale('dv', {\n months : months,\n monthsShort : months,\n weekdays : weekdays,\n weekdaysShort : weekdays,\n weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat : {\n\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/M/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM : function (input) {\n return 'މފ' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar : {\n sameDay : '[މިއަދު] LT',\n nextDay : '[މާދަމާ] LT',\n nextWeek : 'dddd LT',\n lastDay : '[އިއްޔެ] LT',\n lastWeek : '[ފާއިތުވި] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ތެރޭގައި %s',\n past : 'ކުރިން %s',\n s : 'ސިކުންތުކޮޅެއް',\n m : 'މިނިޓެއް',\n mm : 'މިނިޓު %d',\n h : 'ގަޑިއިރެއް',\n hh : 'ގަޑިއިރު %d',\n d : 'ދުވަހެއް',\n dd : 'ދުވަސް %d',\n M : 'މަހެއް',\n MM : 'މަސް %d',\n y : 'އަހަރެއް',\n yy : 'އަހަރު %d'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 7, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn dv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\nfunction isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n}\n\n\nvar el = moment.defineLocale('el', {\n monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM : function (input) {\n return ((input + '').toLowerCase()[0] === 'μ');\n },\n meridiemParse : /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl : {\n sameDay : '[Σήμερα {}] LT',\n nextDay : '[Αύριο {}] LT',\n nextWeek : 'dddd [{}] LT',\n lastDay : '[Χθες {}] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse : 'L'\n },\n calendar : function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));\n },\n relativeTime : {\n future : 'σε %s',\n past : '%s πριν',\n s : 'λίγα δευτερόλεπτα',\n m : 'ένα λεπτό',\n mm : '%d λεπτά',\n h : 'μία ώρα',\n hh : '%d ώρες',\n d : 'μία μέρα',\n dd : '%d μέρες',\n M : 'ένας μήνας',\n MM : '%d μήνες',\n y : 'ένας χρόνος',\n yy : '%d χρόνια'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4st is the first week of the year.\n }\n});\n\nreturn el;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar enAu = moment.defineLocale('en-au', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar enCa = moment.defineLocale('en-ca', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'YYYY-MM-DD',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n});\n\nreturn enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar enGb = moment.defineLocale('en-gb', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar enIe = moment.defineLocale('en-ie', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn enIe;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar enNz = moment.defineLocale('en-nz', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn enNz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar eo = moment.defineLocale('eo', {\n months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),\n weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D[-a de] MMMM, YYYY',\n LLL : 'D[-a de] MMMM, YYYY HH:mm',\n LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar : {\n sameDay : '[Hodiaŭ je] LT',\n nextDay : '[Morgaŭ je] LT',\n nextWeek : 'dddd [je] LT',\n lastDay : '[Hieraŭ je] LT',\n lastWeek : '[pasinta] dddd [je] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'post %s',\n past : 'antaŭ %s',\n s : 'sekundoj',\n m : 'minuto',\n mm : '%d minutoj',\n h : 'horo',\n hh : '%d horoj',\n d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo\n dd : '%d tagoj',\n M : 'monato',\n MM : '%d monatoj',\n y : 'jaro',\n yy : '%d jaroj'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal : '%da',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn eo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_');\nvar monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\nvar monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\nvar monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\nvar es = moment.defineLocale('es', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex : monthsRegex,\n monthsShortRegex : monthsRegex,\n monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex : /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn es;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_');\nvar monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\nvar monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\nvar monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\nvar esDo = moment.defineLocale('es-do', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY h:mm A',\n LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_');\nvar monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\nvar esUs = moment.defineLocale('es-us', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'MM/DD/YYYY',\n LL : 'MMMM [de] D [de] YYYY',\n LLL : 'MMMM [de] D [de] YYYY H:mm',\n LLLL : 'dddd, MMMM [de] D [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn esUs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n 'm' : ['ühe minuti', 'üks minut'],\n 'mm': [number + ' minuti', number + ' minutit'],\n 'h' : ['ühe tunni', 'tund aega', 'üks tund'],\n 'hh': [number + ' tunni', number + ' tundi'],\n 'd' : ['ühe päeva', 'üks päev'],\n 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],\n 'MM': [number + ' kuu', number + ' kuud'],\n 'y' : ['ühe aasta', 'aasta', 'üks aasta'],\n 'yy': [number + ' aasta', number + ' aastat']\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n}\n\nvar et = moment.defineLocale('et', {\n months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Täna,] LT',\n nextDay : '[Homme,] LT',\n nextWeek : '[Järgmine] dddd LT',\n lastDay : '[Eile,] LT',\n lastWeek : '[Eelmine] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s pärast',\n past : '%s tagasi',\n s : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : '%d päeva',\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn et;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar eu = moment.defineLocale('eu', {\n months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact : true,\n weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY[ko] MMMM[ren] D[a]',\n LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l : 'YYYY-M-D',\n ll : 'YYYY[ko] MMM D[a]',\n lll : 'YYYY[ko] MMM D[a] HH:mm',\n llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar : {\n sameDay : '[gaur] LT[etan]',\n nextDay : '[bihar] LT[etan]',\n nextWeek : 'dddd LT[etan]',\n lastDay : '[atzo] LT[etan]',\n lastWeek : '[aurreko] dddd LT[etan]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s barru',\n past : 'duela %s',\n s : 'segundo batzuk',\n m : 'minutu bat',\n mm : '%d minutu',\n h : 'ordu bat',\n hh : '%d ordu',\n d : 'egun bat',\n dd : '%d egun',\n M : 'hilabete bat',\n MM : '%d hilabete',\n y : 'urte bat',\n yy : '%d urte'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '۱',\n '2': '۲',\n '3': '۳',\n '4': '۴',\n '5': '۵',\n '6': '۶',\n '7': '۷',\n '8': '۸',\n '9': '۹',\n '0': '۰'\n};\nvar numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n};\n\nvar fa = moment.defineLocale('fa', {\n months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n weekdays : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysShort : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar : {\n sameDay : '[امروز ساعت] LT',\n nextDay : '[فردا ساعت] LT',\n nextWeek : 'dddd [ساعت] LT',\n lastDay : '[دیروز ساعت] LT',\n lastWeek : 'dddd [پیش] [ساعت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'در %s',\n past : '%s پیش',\n s : 'چند ثانیه',\n m : 'یک دقیقه',\n mm : '%d دقیقه',\n h : 'یک ساعت',\n hh : '%d ساعت',\n d : 'یک روز',\n dd : '%d روز',\n M : 'یک ماه',\n MM : '%d ماه',\n y : 'یک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal : '%dم',\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn fa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' ');\nvar numbersFuture = [\n 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n numbersPast[7], numbersPast[8], numbersPast[9]\n ];\nfunction translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n}\nfunction verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n}\n\nvar fi = moment.defineLocale('fi', {\n months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'Do MMMM[ta] YYYY',\n LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l : 'D.M.YYYY',\n ll : 'Do MMM YYYY',\n lll : 'Do MMM YYYY, [klo] HH.mm',\n llll : 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar : {\n sameDay : '[tänään] [klo] LT',\n nextDay : '[huomenna] [klo] LT',\n nextWeek : 'dddd [klo] LT',\n lastDay : '[eilen] [klo] LT',\n lastWeek : '[viime] dddd[na] [klo] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s päästä',\n past : '%s sitten',\n s : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn fi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar fo = moment.defineLocale('fo', {\n months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Í dag kl.] LT',\n nextDay : '[Í morgin kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[Í gjár kl.] LT',\n lastWeek : '[síðstu] dddd [kl] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'um %s',\n past : '%s síðani',\n s : 'fá sekund',\n m : 'ein minutt',\n mm : '%d minuttir',\n h : 'ein tími',\n hh : '%d tímar',\n d : 'ein dagur',\n dd : '%d dagar',\n M : 'ein mánaði',\n MM : '%d mánaðir',\n y : 'eitt ár',\n yy : '%d ár'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar fr = moment.defineLocale('fr', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal : function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn fr;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar frCa = moment.defineLocale('fr-ca', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n});\n\nreturn frCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar frCh = moment.defineLocale('fr-ch', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_');\nvar monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\nvar fy = moment.defineLocale('fy', {\n months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'oer %s',\n past : '%s lyn',\n s : 'in pear sekonden',\n m : 'ien minút',\n mm : '%d minuten',\n h : 'ien oere',\n hh : '%d oeren',\n d : 'ien dei',\n dd : '%d dagen',\n M : 'ien moanne',\n MM : '%d moannen',\n y : 'ien jier',\n yy : '%d jierren'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn fy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar months = [\n 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'\n];\n\nvar monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\nvar weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\nvar weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\nvar weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\nvar gd = moment.defineLocale('gd', {\n months : months,\n monthsShort : monthsShort,\n monthsParseExact : true,\n weekdays : weekdays,\n weekdaysShort : weekdaysShort,\n weekdaysMin : weekdaysMin,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[An-diugh aig] LT',\n nextDay : '[A-màireach aig] LT',\n nextWeek : 'dddd [aig] LT',\n lastDay : '[An-dè aig] LT',\n lastWeek : 'dddd [seo chaidh] [aig] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ann an %s',\n past : 'bho chionn %s',\n s : 'beagan diogan',\n m : 'mionaid',\n mm : '%d mionaidean',\n h : 'uair',\n hh : '%d uairean',\n d : 'latha',\n dd : '%d latha',\n M : 'mìos',\n MM : '%d mìosan',\n y : 'bliadhna',\n yy : '%d bliadhna'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(d|na|mh)/,\n ordinal : function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn gd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar gl = moment.defineLocale('gl', {\n months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextDay : function () {\n return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n lastDay : function () {\n return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';\n },\n lastWeek : function () {\n return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past : 'hai %s',\n s : 'uns segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'unha hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn gl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['thodde secondanim', 'thodde second'],\n 'm': ['eka mintan', 'ek minute'],\n 'mm': [number + ' mintanim', number + ' mintam'],\n 'h': ['eka horan', 'ek hor'],\n 'hh': [number + ' horanim', number + ' hor'],\n 'd': ['eka disan', 'ek dis'],\n 'dd': [number + ' disanim', number + ' dis'],\n 'M': ['eka mhoinean', 'ek mhoino'],\n 'MM': [number + ' mhoineanim', number + ' mhoine'],\n 'y': ['eka vorsan', 'ek voros'],\n 'yy': [number + ' vorsanim', number + ' vorsam']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n}\n\nvar gomLatn = moment.defineLocale('gom-latn', {\n months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\\'var'.split('_'),\n weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'A h:mm [vazta]',\n LTS : 'A h:mm:ss [vazta]',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY A h:mm [vazta]',\n LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n },\n calendar : {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Ieta to] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fatlo] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s',\n past : '%s adim',\n s : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(er)/,\n ordinal : function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /rati|sokalli|donparam|sanje/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokalli') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokalli';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n }\n});\n\nreturn gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '૧',\n '2': '૨',\n '3': '૩',\n '4': '૪',\n '5': '૫',\n '6': '૬',\n '7': '૭',\n '8': '૮',\n '9': '૯',\n '0': '૦'\n };\nvar numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n\nvar gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પેહલા',\n s: 'અમુક પળો',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ'\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn gu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar he = moment.defineLocale('he', {\n months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [ב]MMMM YYYY',\n LLL : 'D [ב]MMMM YYYY HH:mm',\n LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',\n l : 'D/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[היום ב־]LT',\n nextDay : '[מחר ב־]LT',\n nextWeek : 'dddd [בשעה] LT',\n lastDay : '[אתמול ב־]LT',\n lastWeek : '[ביום] dddd [האחרון בשעה] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'בעוד %s',\n past : 'לפני %s',\n s : 'מספר שניות',\n m : 'דקה',\n mm : '%d דקות',\n h : 'שעה',\n hh : function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d : 'יום',\n dd : function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M : 'חודש',\n MM : function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y : 'שנה',\n yy : function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM : function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n});\n\nreturn he;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n};\nvar numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nvar hi = moment.defineLocale('hi', {\n months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n monthsParseExact: true,\n weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm बजे',\n LTS : 'A h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[कल] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[कल] LT',\n lastWeek : '[पिछले] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s में',\n past : '%s पहले',\n s : 'कुछ ही क्षण',\n m : 'एक मिनट',\n mm : '%d मिनट',\n h : 'एक घंटा',\n hh : '%d घंटे',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महीने',\n MM : '%d महीने',\n y : 'एक वर्ष',\n yy : '%d वर्ष'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn hi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n}\n\nvar hr = moment.defineLocale('hr', {\n months : {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn hr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\nfunction translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n}\nfunction week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n}\n\nvar hu = moment.defineLocale('hu', {\n months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\n weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY. MMMM D.',\n LLL : 'YYYY. MMMM D. H:mm',\n LLLL : 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar : {\n sameDay : '[ma] LT[-kor]',\n nextDay : '[holnap] LT[-kor]',\n nextWeek : function () {\n return week.call(this, true);\n },\n lastDay : '[tegnap] LT[-kor]',\n lastWeek : function () {\n return week.call(this, false);\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s múlva',\n past : '%s',\n s : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn hu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar hyAm = moment.defineLocale('hy-am', {\n months : {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY թ.',\n LLL : 'D MMMM YYYY թ., HH:mm',\n LLLL : 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar : {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s հետո',\n past : '%s առաջ',\n s : 'մի քանի վայրկյան',\n m : 'րոպե',\n mm : '%d րոպե',\n h : 'ժամ',\n hh : '%d ժամ',\n d : 'օր',\n dd : '%d օր',\n M : 'ամիս',\n MM : '%d ամիս',\n y : 'տարի',\n yy : '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem : function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn hyAm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar id = moment.defineLocale('id', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Besok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kemarin pukul] LT',\n lastWeek : 'dddd [lalu pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lalu',\n s : 'beberapa detik',\n m : 'semenit',\n mm : '%d menit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn id;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n}\nfunction translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n}\n\nvar is = moment.defineLocale('is', {\n months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar : {\n sameDay : '[í dag kl.] LT',\n nextDay : '[á morgun kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[í gær kl.] LT',\n lastWeek : '[síðasta] dddd [kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'eftir %s',\n past : 'fyrir %s síðan',\n s : translate,\n m : translate,\n mm : translate,\n h : 'klukkustund',\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar it = moment.defineLocale('it', {\n months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : function (s) {\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past : '%s fa',\n s : 'alcuni secondi',\n m : 'un minuto',\n mm : '%d minuti',\n h : 'un\\'ora',\n hh : '%d ore',\n d : 'un giorno',\n dd : '%d giorni',\n M : 'un mese',\n MM : '%d mesi',\n y : 'un anno',\n yy : '%d anni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ja = moment.defineLocale('ja', {\n months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort : '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin : '日_月_火_水_木_金_土'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日 HH:mm dddd',\n l : 'YYYY/MM/DD',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日 HH:mm dddd'\n },\n meridiemParse: /午前|午後/i,\n isPM : function (input) {\n return input === '午後';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar : {\n sameDay : '[今日] LT',\n nextDay : '[明日] LT',\n nextWeek : '[来週]dddd LT',\n lastDay : '[昨日] LT',\n lastWeek : '[前週]dddd LT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}日/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s後',\n past : '%s前',\n s : '数秒',\n m : '1分',\n mm : '%d分',\n h : '1時間',\n hh : '%d時間',\n d : '1日',\n dd : '%d日',\n M : '1ヶ月',\n MM : '%dヶ月',\n y : '1年',\n yy : '%d年'\n }\n});\n\nreturn ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar jv = moment.defineLocale('jv', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar : {\n sameDay : '[Dinten puniko pukul] LT',\n nextDay : '[Mbenjang pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kala wingi pukul] LT',\n lastWeek : 'dddd [kepengker pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'wonten ing %s',\n past : '%s ingkang kepengker',\n s : 'sawetawis detik',\n m : 'setunggal menit',\n mm : '%d menit',\n h : 'setunggal jam',\n hh : '%d jam',\n d : 'sedinten',\n dd : '%d dinten',\n M : 'sewulan',\n MM : '%d wulan',\n y : 'setaun',\n yy : '%d taun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/irakli-janiashvili\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ka = moment.defineLocale('ka', {\n months : {\n standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')\n },\n monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays : {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[დღეს] LT[-ზე]',\n nextDay : '[ხვალ] LT[-ზე]',\n lastDay : '[გუშინ] LT[-ზე]',\n nextWeek : '[შემდეგ] dddd LT[-ზე]',\n lastWeek : '[წინა] dddd LT-ზე',\n sameElse : 'L'\n },\n relativeTime : {\n future : function (s) {\n return (/(წამი|წუთი|საათი|წელი)/).test(s) ?\n s.replace(/ი$/, 'ში') :\n s + 'ში';\n },\n past : function (s) {\n if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {\n return s.replace(/(ი|ე)$/, 'ის უკან');\n }\n if ((/წელი/).test(s)) {\n return s.replace(/წელი$/, 'წლის უკან');\n }\n },\n s : 'რამდენიმე წამი',\n m : 'წუთი',\n mm : '%d წუთი',\n h : 'საათი',\n hh : '%d საათი',\n d : 'დღე',\n dd : '%d დღე',\n M : 'თვე',\n MM : '%d თვე',\n y : 'წელი',\n yy : '%d წელი'\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal : function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week : {\n dow : 1,\n doy : 7\n }\n});\n\nreturn ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n};\n\nvar kk = moment.defineLocale('kk', {\n months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгін сағат] LT',\n nextDay : '[Ертең сағат] LT',\n nextWeek : 'dddd [сағат] LT',\n lastDay : '[Кеше сағат] LT',\n lastWeek : '[Өткен аптаның] dddd [сағат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ішінде',\n past : '%s бұрын',\n s : 'бірнеше секунд',\n m : 'бір минут',\n mm : '%d минут',\n h : 'бір сағат',\n hh : '%d сағат',\n d : 'бір күн',\n dd : '%d күн',\n M : 'бір ай',\n MM : '%d ай',\n y : 'бір жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysMin: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS : 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn km;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '೧',\n '2': '೨',\n '3': '೩',\n '4': '೪',\n '5': '೫',\n '6': '೬',\n '7': '೭',\n '8': '೮',\n '9': '೯',\n '0': '೦'\n};\nvar numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n};\n\nvar kn = moment.defineLocale('kn', {\n months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬ_ಅಕ್ಟೋಬ_ನವೆಂಬ_ಡಿಸೆಂಬ'.split('_'),\n monthsParseExact: true,\n weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[ಇಂದು] LT',\n nextDay : '[ನಾಳೆ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ನಿನ್ನೆ] LT',\n lastWeek : '[ಕೊನೆಯ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ನಂತರ',\n past : '%s ಹಿಂದೆ',\n s : 'ಕೆಲವು ಕ್ಷಣಗಳು',\n m : 'ಒಂದು ನಿಮಿಷ',\n mm : '%d ನಿಮಿಷ',\n h : 'ಒಂದು ಗಂಟೆ',\n hh : '%d ಗಂಟೆ',\n d : 'ಒಂದು ದಿನ',\n dd : '%d ದಿನ',\n M : 'ಒಂದು ತಿಂಗಳು',\n MM : '%d ತಿಂಗಳು',\n y : 'ಒಂದು ವರ್ಷ',\n yy : '%d ವರ್ಷ'\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal : function (number) {\n return number + 'ನೇ';\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn kn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee <jeeeyul@gmail.com>\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ko = moment.defineLocale('ko', {\n months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort : '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin : '일_월_화_수_목_금_토'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'YYYY.MM.DD',\n LL : 'YYYY년 MMMM D일',\n LLL : 'YYYY년 MMMM D일 A h:mm',\n LLLL : 'YYYY년 MMMM D일 dddd A h:mm',\n l : 'YYYY.MM.DD',\n ll : 'YYYY년 MMMM D일',\n lll : 'YYYY년 MMMM D일 A h:mm',\n llll : 'YYYY년 MMMM D일 dddd A h:mm'\n },\n calendar : {\n sameDay : '오늘 LT',\n nextDay : '내일 LT',\n nextWeek : 'dddd LT',\n lastDay : '어제 LT',\n lastWeek : '지난주 dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s 후',\n past : '%s 전',\n s : '몇 초',\n ss : '%d초',\n m : '1분',\n mm : '%d분',\n h : '한 시간',\n hh : '%d시간',\n d : '하루',\n dd : '%d일',\n M : '한 달',\n MM : '%d달',\n y : '일 년',\n yy : '%d년'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(일|월|주)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse : /오전|오후/,\n isPM : function (token) {\n return token === '오후';\n },\n meridiem : function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n});\n\nreturn ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n\nvar suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n};\n\nvar ky = moment.defineLocale('ky', {\n months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгүн саат] LT',\n nextDay : '[Эртең саат] LT',\n nextWeek : 'dddd [саат] LT',\n lastDay : '[Кече саат] LT',\n lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ичинде',\n past : '%s мурун',\n s : 'бирнече секунд',\n m : 'бир мүнөт',\n mm : '%d мүнөт',\n h : 'бир саат',\n hh : '%d саат',\n d : 'бир күн',\n dd : '%d күн',\n M : 'бир ай',\n MM : '%d ай',\n y : 'бир жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eng Minutt', 'enger Minutt'],\n 'h': ['eng Stonn', 'enger Stonn'],\n 'd': ['een Dag', 'engem Dag'],\n 'M': ['ee Mount', 'engem Mount'],\n 'y': ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n}\nfunction processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n}\nfunction processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n}\n/**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\nfunction eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10, firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n}\n\nvar lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime : {\n future : processFutureTime,\n past : processPastTime,\n s : 'e puer Sekonnen',\n m : processRelativeTime,\n mm : '%d Minutten',\n h : processRelativeTime,\n hh : '%d Stonnen',\n d : processRelativeTime,\n dd : '%d Deeg',\n M : processRelativeTime,\n MM : '%d Méint',\n y : processRelativeTime,\n yy : '%d Joer'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn lb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar lo = moment.defineLocale('lo', {\n months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar : {\n sameDay : '[ມື້ນີ້ເວລາ] LT',\n nextDay : '[ມື້ອື່ນເວລາ] LT',\n nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay : '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ອີກ %s',\n past : '%sຜ່ານມາ',\n s : 'ບໍ່ເທົ່າໃດວິນາທີ',\n m : '1 ນາທີ',\n mm : '%d ນາທີ',\n h : '1 ຊົ່ວໂມງ',\n hh : '%d ຊົ່ວໂມງ',\n d : '1 ມື້',\n dd : '%d ມື້',\n M : '1 ເດືອນ',\n MM : '%d ເດືອນ',\n y : '1 ປີ',\n yy : '%d ປີ'\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal : function (number) {\n return 'ທີ່' + number;\n }\n});\n\nreturn lo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar units = {\n 'm' : 'minutė_minutės_minutę',\n 'mm': 'minutės_minučių_minutes',\n 'h' : 'valanda_valandos_valandą',\n 'hh': 'valandos_valandų_valandas',\n 'd' : 'diena_dienos_dieną',\n 'dd': 'dienos_dienų_dienas',\n 'M' : 'mėnuo_mėnesio_mėnesį',\n 'MM': 'mėnesiai_mėnesių_mėnesius',\n 'y' : 'metai_metų_metus',\n 'yy': 'metai_metų_metus'\n};\nfunction translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n}\nfunction translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n}\nfunction special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n}\nfunction forms(key) {\n return units[key].split('_');\n}\nfunction translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n}\nvar lt = moment.defineLocale('lt', {\n months : {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays : {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY [m.] MMMM D [d.]',\n LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l : 'YYYY-MM-DD',\n ll : 'YYYY [m.] MMMM D [d.]',\n lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar : {\n sameDay : '[Šiandien] LT',\n nextDay : '[Rytoj] LT',\n nextWeek : 'dddd LT',\n lastDay : '[Vakar] LT',\n lastWeek : '[Praėjusį] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'po %s',\n past : 'prieš %s',\n s : translateSeconds,\n m : translateSingular,\n mm : translate,\n h : translateSingular,\n hh : translate,\n d : translateSingular,\n dd : translate,\n M : translateSingular,\n MM : translate,\n y : translateSingular,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal : function (number) {\n return number + '-oji';\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar units = {\n 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'h': 'stundas_stundām_stunda_stundas'.split('_'),\n 'hh': 'stundas_stundām_stunda_stundas'.split('_'),\n 'd': 'dienas_dienām_diena_dienas'.split('_'),\n 'dd': 'dienas_dienām_diena_dienas'.split('_'),\n 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'y': 'gada_gadiem_gads_gadi'.split('_'),\n 'yy': 'gada_gadiem_gads_gadi'.split('_')\n};\n/**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\nfunction format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n}\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n}\nfunction relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n}\nfunction relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n}\n\nvar lv = moment.defineLocale('lv', {\n months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY.',\n LL : 'YYYY. [gada] D. MMMM',\n LLL : 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar : {\n sameDay : '[Šodien pulksten] LT',\n nextDay : '[Rīt pulksten] LT',\n nextWeek : 'dddd [pulksten] LT',\n lastDay : '[Vakar pulksten] LT',\n lastWeek : '[Pagājušā] dddd [pulksten] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'pēc %s',\n past : 'pirms %s',\n s : relativeSeconds,\n m : relativeTimeWithSingular,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithSingular,\n hh : relativeTimeWithPlural,\n d : relativeTimeWithSingular,\n dd : relativeTimeWithPlural,\n M : relativeTimeWithSingular,\n MM : relativeTimeWithPlural,\n y : relativeTimeWithSingular,\n yy : relativeTimeWithPlural\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn lv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar translator = {\n words: { //Different grammatical cases\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n};\n\nvar me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact : true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'nekoliko sekundi',\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mjesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn mi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar mk = moment.defineLocale('mk', {\n months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Денес во] LT',\n nextDay : '[Утре во] LT',\n nextWeek : '[Во] dddd [во] LT',\n lastDay : '[Вчера во] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'после %s',\n past : 'пред %s',\n s : 'неколку секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дена',\n M : 'месец',\n MM : '%d месеци',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn mk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ml = moment.defineLocale('ml', {\n months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm -നു',\n LTS : 'A h:mm:ss -നു',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm -നു',\n LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar : {\n sameDay : '[ഇന്ന്] LT',\n nextDay : '[നാളെ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ഇന്നലെ] LT',\n lastWeek : '[കഴിഞ്ഞ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s കഴിഞ്ഞ്',\n past : '%s മുൻപ്',\n s : 'അൽപ നിമിഷങ്ങൾ',\n m : 'ഒരു മിനിറ്റ്',\n mm : '%d മിനിറ്റ്',\n h : 'ഒരു മണിക്കൂർ',\n hh : '%d മണിക്കൂർ',\n d : 'ഒരു ദിവസം',\n dd : '%d ദിവസം',\n M : 'ഒരു മാസം',\n MM : '%d മാസം',\n y : 'ഒരു വർഷം',\n yy : '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n});\n\nreturn ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n};\nvar numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nfunction relativeTimeMr(number, withoutSuffix, string, isFuture)\n{\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's': output = 'काही सेकंद'; break;\n case 'm': output = 'एक मिनिट'; break;\n case 'mm': output = '%d मिनिटे'; break;\n case 'h': output = 'एक तास'; break;\n case 'hh': output = '%d तास'; break;\n case 'd': output = 'एक दिवस'; break;\n case 'dd': output = '%d दिवस'; break;\n case 'M': output = 'एक महिना'; break;\n case 'MM': output = '%d महिने'; break;\n case 'y': output = 'एक वर्ष'; break;\n case 'yy': output = '%d वर्षे'; break;\n }\n }\n else {\n switch (string) {\n case 's': output = 'काही सेकंदां'; break;\n case 'm': output = 'एका मिनिटा'; break;\n case 'mm': output = '%d मिनिटां'; break;\n case 'h': output = 'एका तासा'; break;\n case 'hh': output = '%d तासां'; break;\n case 'd': output = 'एका दिवसा'; break;\n case 'dd': output = '%d दिवसां'; break;\n case 'M': output = 'एका महिन्या'; break;\n case 'MM': output = '%d महिन्यां'; break;\n case 'y': output = 'एका वर्षा'; break;\n case 'yy': output = '%d वर्षां'; break;\n }\n }\n return output.replace(/%d/i, number);\n}\n\nvar mr = moment.defineLocale('mr', {\n months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact : true,\n weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm वाजता',\n LTS : 'A h:mm:ss वाजता',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm वाजता',\n LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[उद्या] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात्री') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'सायंकाळी') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात्री';\n } else if (hour < 10) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn mr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ms = moment.defineLocale('ms', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar msMy = moment.defineLocale('ms-my', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn msMy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '၁',\n '2': '၂',\n '3': '၃',\n '4': '၄',\n '5': '၅',\n '6': '၆',\n '7': '၇',\n '8': '၈',\n '9': '၉',\n '0': '၀'\n};\nvar numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n};\n\nvar my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn my;\n\n})));\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar nb = moment.defineLocale('nb', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'noen sekunder',\n m : 'ett minutt',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dager',\n M : 'en måned',\n MM : '%d måneder',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n};\nvar numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nvar ne = moment.defineLocale('ne', {\n months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact : true,\n weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'Aको h:mm बजे',\n LTS : 'Aको h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, Aको h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[भोलि] LT',\n nextWeek : '[आउँदो] dddd[,] LT',\n lastDay : '[हिजो] LT',\n lastWeek : '[गएको] dddd[,] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sमा',\n past : '%s अगाडि',\n s : 'केही क्षण',\n m : 'एक मिनेट',\n mm : '%d मिनेट',\n h : 'एक घण्टा',\n hh : '%d घण्टा',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महिना',\n MM : '%d महिना',\n y : 'एक बर्ष',\n yy : '%d बर्ष'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ne;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_');\nvar monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\nvar monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\nvar monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\nvar nl = moment.defineLocale('nl', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn nl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_');\nvar monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\nvar monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\nvar monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\nvar nlBe = moment.defineLocale('nl-be', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn nlBe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! author : https://github.com/mechuwind\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar nn = moment.defineLocale('nn', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),\n weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s sidan',\n s : 'nokre sekund',\n m : 'eit minutt',\n mm : '%d minutt',\n h : 'ein time',\n hh : '%d timar',\n d : 'ein dag',\n dd : '%d dagar',\n M : 'ein månad',\n MM : '%d månader',\n y : 'eit år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn nn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n};\nvar numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n};\n\nvar paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.\n months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm ਵਜੇ',\n LTS : 'A h:mm:ss ਵਜੇ',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar : {\n sameDay : '[ਅਜ] LT',\n nextDay : '[ਕਲ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ਕਲ] LT',\n lastWeek : '[ਪਿਛਲੇ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ਵਿੱਚ',\n past : '%s ਪਿਛਲੇ',\n s : 'ਕੁਝ ਸਕਿੰਟ',\n m : 'ਇਕ ਮਿੰਟ',\n mm : '%d ਮਿੰਟ',\n h : 'ਇੱਕ ਘੰਟਾ',\n hh : '%d ਘੰਟੇ',\n d : 'ਇੱਕ ਦਿਨ',\n dd : '%d ਦਿਨ',\n M : 'ਇੱਕ ਮਹੀਨਾ',\n MM : '%d ਮਹੀਨੇ',\n y : 'ਇੱਕ ਸਾਲ',\n yy : '%d ਸਾਲ'\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn paIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_');\nvar monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\nfunction plural(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n}\nfunction translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n}\n\nvar pl = moment.defineLocale('pl', {\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (format === '') {\n // Hack: if format empty we know this is used to generate\n // RegExp by moment. Give then back both valid forms of months\n // in RegExp ready format.\n return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : '%s temu',\n s : 'kilka sekund',\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : '1 dzień',\n dd : '%d dni',\n M : 'miesiąc',\n MM : translate,\n y : 'rok',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn pl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar pt = moment.defineLocale('pt', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn pt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ptBr = moment.defineLocale('pt-br', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : '%s atrás',\n s : 'poucos segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº'\n});\n\nreturn ptBr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'mm': 'minute',\n 'hh': 'ore',\n 'dd': 'zile',\n 'MM': 'luni',\n 'yy': 'ani'\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n}\n\nvar ro = moment.defineLocale('ro', {\n months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'peste %s',\n past : '%s în urmă',\n s : 'câteva secunde',\n m : 'un minut',\n mm : relativeTimeWithPlural,\n h : 'o oră',\n hh : relativeTimeWithPlural,\n d : 'o zi',\n dd : relativeTimeWithPlural,\n M : 'o lună',\n MM : relativeTimeWithPlural,\n y : 'un an',\n yy : relativeTimeWithPlural\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ro;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! Author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n}\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n 'hh': 'час_часа_часов',\n 'dd': 'день_дня_дней',\n 'MM': 'месяц_месяца_месяцев',\n 'yy': 'год_года_лет'\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n}\nvar monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\n\n// http://new.gramota.ru/spravka/rules/139-prop : § 103\n// Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n// CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\nvar ru = moment.defineLocale('ru', {\n months : {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort : {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays : {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n },\n weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соотвествует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., HH:mm',\n LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar : {\n sameDay: '[Сегодня в] LT',\n nextDay: '[Завтра в] LT',\n lastDay: '[Вчера в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd [в] LT';\n } else {\n return '[В] dddd [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd [в] LT';\n } else {\n return '[В] dddd [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'через %s',\n past : '%s назад',\n s : 'несколько секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'час',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM : function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر'\n];\nvar days = [\n 'آچر',\n 'سومر',\n 'اڱارو',\n 'اربع',\n 'خميس',\n 'جمع',\n 'ڇنڇر'\n];\n\nvar sd = moment.defineLocale('sd', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[اڄ] LT',\n nextDay : '[سڀاڻي] LT',\n nextWeek : 'dddd [اڳين هفتي تي] LT',\n lastDay : '[ڪالهه] LT',\n lastWeek : '[گزريل هفتي] dddd [تي] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s پوء',\n past : '%s اڳ',\n s : 'چند سيڪنڊ',\n m : 'هڪ منٽ',\n mm : '%d منٽ',\n h : 'هڪ ڪلاڪ',\n hh : '%d ڪلاڪ',\n d : 'هڪ ڏينهن',\n dd : '%d ڏينهن',\n M : 'هڪ مهينو',\n MM : '%d مهينا',\n y : 'هڪ سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn sd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n\nvar se = moment.defineLocale('se', {\n months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),\n monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin : 's_v_m_g_d_b_L'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'MMMM D. [b.] YYYY',\n LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar : {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s geažes',\n past : 'maŋit %s',\n s : 'moadde sekunddat',\n m : 'okta minuhta',\n mm : '%d minuhtat',\n h : 'okta diimmu',\n hh : '%d diimmut',\n d : 'okta beaivi',\n dd : '%d beaivvit',\n M : 'okta mánnu',\n MM : '%d mánut',\n y : 'okta jahki',\n yy : '%d jagit'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn se;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n/*jshint -W100*/\nvar si = moment.defineLocale('si', {\n months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්රහ_සිකු_සෙන'.split('_'),\n weekdaysMin : 'ඉ_ස_අ_බ_බ්ර_සි_සෙ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'a h:mm',\n LTS : 'a h:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY MMMM D',\n LLL : 'YYYY MMMM D, a h:mm',\n LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar : {\n sameDay : '[අද] LT[ට]',\n nextDay : '[හෙට] LT[ට]',\n nextWeek : 'dddd LT[ට]',\n lastDay : '[ඊයේ] LT[ට]',\n lastWeek : '[පසුගිය] dddd LT[ට]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sකින්',\n past : '%sකට පෙර',\n s : 'තත්පර කිහිපය',\n m : 'මිනිත්තුව',\n mm : 'මිනිත්තු %d',\n h : 'පැය',\n hh : 'පැය %d',\n d : 'දිනය',\n dd : 'දින %d',\n M : 'මාසය',\n MM : 'මාස %d',\n y : 'වසර',\n yy : 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal : function (number) {\n return number + ' වැනි';\n },\n meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM : function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n});\n\nreturn si;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_');\nvar monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\nfunction plural(n) {\n return (n > 1) && (n < 5);\n}\nfunction translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n break;\n }\n}\n\nvar sk = moment.defineLocale('sk', {\n months : months,\n monthsShort : monthsShort,\n weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pred %s',\n s : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn sk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n}\n\nvar sl = moment.defineLocale('sl', {\n months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danes ob] LT',\n nextDay : '[jutri ob] LT',\n\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay : '[včeraj ob] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'čez %s',\n past : 'pred %s',\n s : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar sq = moment.defineLocale('sq', {\n months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem : function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Sot në] LT',\n nextDay : '[Nesër në] LT',\n nextWeek : 'dddd [në] LT',\n lastDay : '[Dje në] LT',\n lastWeek : 'dddd [e kaluar në] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'në %s',\n past : '%s më parë',\n s : 'disa sekonda',\n m : 'një minutë',\n mm : '%d minuta',\n h : 'një orë',\n hh : '%d orë',\n d : 'një ditë',\n dd : '%d ditë',\n M : 'një muaj',\n MM : '%d muaj',\n y : 'një vit',\n yy : '%d vite'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn sq;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar translator = {\n words: { //Different grammatical cases\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n};\n\nvar sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pre %s',\n s : 'nekoliko sekundi',\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar translator = {\n words: { //Different grammatical cases\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n};\n\nvar srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay : '[јуче у] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : 'пре %s',\n s : 'неколико секунди',\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'дан',\n dd : translator.translate,\n M : 'месец',\n MM : translator.translate,\n y : 'годину',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n\nvar ss = moment.defineLocale('ss', {\n months : \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Namuhla nga] LT',\n nextDay : '[Kusasa nga] LT',\n nextWeek : 'dddd [nga] LT',\n lastDay : '[Itolo nga] LT',\n lastWeek : 'dddd [leliphelile] [nga] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'nga %s',\n past : 'wenteka nga %s',\n s : 'emizuzwana lomcane',\n m : 'umzuzu',\n mm : '%d emizuzu',\n h : 'lihora',\n hh : '%d emahora',\n d : 'lilanga',\n dd : '%d emalanga',\n M : 'inyanga',\n MM : '%d tinyanga',\n y : 'umnyaka',\n yy : '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : '%d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn ss;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar sv = moment.defineLocale('sv', {\n months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : 'för %s sedan',\n s : 'några sekunder',\n m : 'en minut',\n mm : '%d minuter',\n h : 'en timme',\n hh : '%d timmar',\n d : 'en dag',\n dd : '%d dagar',\n M : 'en månad',\n MM : '%d månader',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(e|a)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'e' :\n (b === 1) ? 'a' :\n (b === 2) ? 'a' :\n (b === 3) ? 'e' : 'e';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar sw = moment.defineLocale('sw', {\n months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[leo saa] LT',\n nextDay : '[kesho saa] LT',\n nextWeek : '[wiki ijayo] dddd [saat] LT',\n lastDay : '[jana] LT',\n lastWeek : '[wiki iliyopita] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s baadaye',\n past : 'tokea %s',\n s : 'hivi punde',\n m : 'dakika moja',\n mm : 'dakika %d',\n h : 'saa limoja',\n hh : 'masaa %d',\n d : 'siku moja',\n dd : 'masiku %d',\n M : 'mwezi mmoja',\n MM : 'miezi %d',\n y : 'mwaka mmoja',\n yy : 'miaka %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn sw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '௧',\n '2': '௨',\n '3': '௩',\n '4': '௪',\n '5': '௫',\n '6': '௬',\n '7': '௭',\n '8': '௮',\n '9': '௯',\n '0': '௦'\n};\nvar numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n};\n\nvar ta = moment.defineLocale('ta', {\n months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, HH:mm',\n LLLL : 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar : {\n sameDay : '[இன்று] LT',\n nextDay : '[நாளை] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[நேற்று] LT',\n lastWeek : '[கடந்த வாரம்] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s இல்',\n past : '%s முன்',\n s : 'ஒரு சில விநாடிகள்',\n m : 'ஒரு நிமிடம்',\n mm : '%d நிமிடங்கள்',\n h : 'ஒரு மணி நேரம்',\n hh : '%d மணி நேரம்',\n d : 'ஒரு நாள்',\n dd : '%d நாட்கள்',\n M : 'ஒரு மாதம்',\n MM : '%d மாதங்கள்',\n y : 'ஒரு வருடம்',\n yy : '%d ஆண்டுகள்'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal : function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem : function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar te = moment.defineLocale('te', {\n months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[నేడు] LT',\n nextDay : '[రేపు] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[నిన్న] LT',\n lastWeek : '[గత] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s లో',\n past : '%s క్రితం',\n s : 'కొన్ని క్షణాలు',\n m : 'ఒక నిమిషం',\n mm : '%d నిమిషాలు',\n h : 'ఒక గంట',\n hh : '%d గంటలు',\n d : 'ఒక రోజు',\n dd : '%d రోజులు',\n M : 'ఒక నెల',\n MM : '%d నెలలు',\n y : 'ఒక సంవత్సరం',\n yy : '%d సంవత్సరాలు'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}వ/,\n ordinal : '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn te;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar tet = moment.defineLocale('tet', {\n months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juniu_Juliu_Augustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Aug_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sexta_Sabadu'.split('_'),\n weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sext_Sab'.split('_'),\n weekdaysMin : 'Do_Seg_Te_Ku_Ki_Sex_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'iha %s',\n past : '%s liuba',\n s : 'minutu balun',\n m : 'minutu ida',\n mm : 'minutus %d',\n h : 'horas ida',\n hh : 'horas %d',\n d : 'loron ida',\n dd : 'loron %d',\n M : 'fulan ida',\n MM : 'fulan %d',\n y : 'tinan ida',\n yy : 'tinan %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn tet;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar th = moment.defineLocale('th', {\n months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY เวลา H:mm',\n LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar : {\n sameDay : '[วันนี้ เวลา] LT',\n nextDay : '[พรุ่งนี้ เวลา] LT',\n nextWeek : 'dddd[หน้า เวลา] LT',\n lastDay : '[เมื่อวานนี้ เวลา] LT',\n lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'อีก %s',\n past : '%sที่แล้ว',\n s : 'ไม่กี่วินาที',\n m : '1 นาที',\n mm : '%d นาที',\n h : '1 ชั่วโมง',\n hh : '%d ชั่วโมง',\n d : '1 วัน',\n dd : '%d วัน',\n M : '1 เดือน',\n MM : '%d เดือน',\n y : '1 ปี',\n yy : '%d ปี'\n }\n});\n\nreturn th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar tlPh = moment.defineLocale('tl-ph', {\n months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'MM/D/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY HH:mm',\n LLLL : 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar : {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'sa loob ng %s',\n past : '%s ang nakalipas',\n s : 'ilang segundo',\n m : 'isang minuto',\n mm : '%d minuto',\n h : 'isang oras',\n hh : '%d oras',\n d : 'isang araw',\n dd : '%d araw',\n M : 'isang buwan',\n MM : '%d buwan',\n y : 'isang taon',\n yy : '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\nfunction translateFuture(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'leS' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'waQ' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'nem' :\n time + ' pIq';\n return time;\n}\n\nfunction translatePast(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'Hu’' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'wen' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'ben' :\n time + ' ret';\n return time;\n}\n\nfunction translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n}\n\nfunction numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[one];\n }\n return (word === '') ? 'pagh' : word;\n}\n\nvar tlh = moment.defineLocale('tlh', {\n months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),\n monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),\n monthsParseExact : true,\n weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime : {\n future : translateFuture,\n past : translatePast,\n s : 'puS lup',\n m : 'wa’ tup',\n mm : translate,\n h : 'wa’ rep',\n hh : translate,\n d : 'wa’ jaj',\n dd : translate,\n M : 'wa’ jar',\n MM : translate,\n y : 'wa’ DIS',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn tlh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar suffixes = {\n 1: '\\'inci',\n 5: '\\'inci',\n 8: '\\'inci',\n 70: '\\'inci',\n 80: '\\'inci',\n 2: '\\'nci',\n 7: '\\'nci',\n 20: '\\'nci',\n 50: '\\'nci',\n 3: '\\'üncü',\n 4: '\\'üncü',\n 100: '\\'üncü',\n 6: '\\'ncı',\n 9: '\\'uncu',\n 10: '\\'uncu',\n 30: '\\'uncu',\n 60: '\\'ıncı',\n 90: '\\'ıncı'\n};\n\nvar tr = moment.defineLocale('tr', {\n months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[yarın saat] LT',\n nextWeek : '[gelecek] dddd [saat] LT',\n lastDay : '[dün] LT',\n lastWeek : '[geçen] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s önce',\n s : 'birkaç saniye',\n m : 'bir dakika',\n mm : '%d dakika',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir yıl',\n yy : '%d yıl'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,\n ordinal : function (number) {\n if (number === 0) { // special case for zero\n return number + '\\'ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n// After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n// This is currently too difficult (maybe even impossible) to add.\nvar tzl = moment.defineLocale('tzl', {\n months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM [dallas] YYYY',\n LLL : 'D. MMMM [dallas] YYYY HH.mm',\n LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM : function (input) {\n return 'd\\'o' === input.toLowerCase();\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'd\\'o' : 'D\\'O';\n } else {\n return isLower ? 'd\\'a' : 'D\\'A';\n }\n },\n calendar : {\n sameDay : '[oxhi à] LT',\n nextDay : '[demà à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[ieiri à] LT',\n lastWeek : '[sür el] dddd [lasteu à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'osprei %s',\n past : 'ja%s',\n s : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['viensas secunds', '\\'iensas secunds'],\n 'm': ['\\'n míut', '\\'iens míut'],\n 'mm': [number + ' míuts', '' + number + ' míuts'],\n 'h': ['\\'n þora', '\\'iensa þora'],\n 'hh': [number + ' þoras', '' + number + ' þoras'],\n 'd': ['\\'n ziua', '\\'iensa ziua'],\n 'dd': [number + ' ziuas', '' + number + ' ziuas'],\n 'M': ['\\'n mes', '\\'iens mes'],\n 'MM': [number + ' mesen', '' + number + ' mesen'],\n 'y': ['\\'n ar', '\\'iens ar'],\n 'yy': [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);\n}\n\nreturn tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar tzm = moment.defineLocale('tzm', {\n months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past : 'ⵢⴰⵏ %s',\n s : 'ⵉⵎⵉⴽ',\n m : 'ⵎⵉⵏⵓⴺ',\n mm : '%d ⵎⵉⵏⵓⴺ',\n h : 'ⵙⴰⵄⴰ',\n hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d : 'ⴰⵙⵙ',\n dd : '%d oⵙⵙⴰⵏ',\n M : 'ⴰⵢoⵓⵔ',\n MM : '%d ⵉⵢⵢⵉⵔⵏ',\n y : 'ⴰⵙⴳⴰⵙ',\n yy : '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn tzm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar tzmLatn = moment.defineLocale('tzm-latn', {\n months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'dadkh s yan %s',\n past : 'yan %s',\n s : 'imik',\n m : 'minuḍ',\n mm : '%d minuḍ',\n h : 'saɛa',\n hh : '%d tassaɛin',\n d : 'ass',\n dd : '%d ossan',\n M : 'ayowr',\n MM : '%d iyyirn',\n y : 'asgas',\n yy : '%d isgasn'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n}\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n 'dd': 'день_дні_днів',\n 'MM': 'місяць_місяці_місяців',\n 'yy': 'рік_роки_років'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n}\nfunction weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\n\n if (!m) {\n return weekdays['nominative'];\n }\n\n var nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n 'accusative' :\n ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n 'genitive' :\n 'nominative');\n return weekdays[nounCase][m.day()];\n}\nfunction processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n}\n\nvar uk = moment.defineLocale('uk', {\n months : {\n 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays : weekdaysCaseReplace,\n weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY р.',\n LLL : 'D MMMM YYYY р., HH:mm',\n LLLL : 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar : {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : '%s тому',\n s : 'декілька секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'годину',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'місяць',\n MM : relativeTimeWithPlural,\n y : 'рік',\n yy : relativeTimeWithPlural\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn uk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر'\n];\nvar days = [\n 'اتوار',\n 'پیر',\n 'منگل',\n 'بدھ',\n 'جمعرات',\n 'جمعہ',\n 'ہفتہ'\n];\n\nvar ur = moment.defineLocale('ur', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[آج بوقت] LT',\n nextDay : '[کل بوقت] LT',\n nextWeek : 'dddd [بوقت] LT',\n lastDay : '[گذشتہ روز بوقت] LT',\n lastWeek : '[گذشتہ] dddd [بوقت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s بعد',\n past : '%s قبل',\n s : 'چند سیکنڈ',\n m : 'ایک منٹ',\n mm : '%d منٹ',\n h : 'ایک گھنٹہ',\n hh : '%d گھنٹے',\n d : 'ایک دن',\n dd : '%d دن',\n M : 'ایک ماہ',\n MM : '%d ماہ',\n y : 'ایک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar uz = moment.defineLocale('uz', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Бугун соат] LT [да]',\n nextDay : '[Эртага] LT [да]',\n nextWeek : 'dddd [куни соат] LT [да]',\n lastDay : '[Кеча соат] LT [да]',\n lastWeek : '[Утган] dddd [куни соат] LT [да]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Якин %s ичида',\n past : 'Бир неча %s олдин',\n s : 'фурсат',\n m : 'бир дакика',\n mm : '%d дакика',\n h : 'бир соат',\n hh : '%d соат',\n d : 'бир кун',\n dd : '%d кун',\n M : 'бир ой',\n MM : '%d ой',\n y : 'бир йил',\n yy : '%d йил'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn uz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar uzLatn = moment.defineLocale('uz-latn', {\n months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Bugun soat] LT [da]',\n nextDay : '[Ertaga] LT [da]',\n nextWeek : 'dddd [kuni soat] LT [da]',\n lastDay : '[Kecha soat] LT [da]',\n lastWeek : '[O\\'tgan] dddd [kuni soat] LT [da]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Yaqin %s ichida',\n past : 'Bir necha %s oldin',\n s : 'soniya',\n m : 'bir daqiqa',\n mm : '%d daqiqa',\n h : 'bir soat',\n hh : '%d soat',\n d : 'bir kun',\n dd : '%d kun',\n M : 'bir oy',\n MM : '%d oy',\n y : 'bir yil',\n yy : '%d yil'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar vi = moment.defineLocale('vi', {\n months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),\n monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\n monthsParseExact : true,\n weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /sa|ch/i,\n isPM : function (input) {\n return /^ch$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [năm] YYYY',\n LLL : 'D MMMM [năm] YYYY HH:mm',\n LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',\n l : 'DD/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần rồi lúc] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s tới',\n past : '%s trước',\n s : 'vài giây',\n m : 'một phút',\n mm : '%d phút',\n h : 'một giờ',\n hh : '%d giờ',\n d : 'một ngày',\n dd : '%d ngày',\n M : 'một tháng',\n MM : '%d tháng',\n y : 'một năm',\n yy : '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar xPseudo = moment.defineLocale('x-pseudo', {\n months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),\n monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact : true,\n weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[T~ódá~ý át] LT',\n nextDay : '[T~ómó~rró~w át] LT',\n nextWeek : 'dddd [át] LT',\n lastDay : '[Ý~ést~érdá~ý át] LT',\n lastWeek : '[L~ást] dddd [át] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'í~ñ %s',\n past : '%s á~gó',\n s : 'á ~féw ~sécó~ñds',\n m : 'á ~míñ~úté',\n mm : '%d m~íñú~tés',\n h : 'á~ñ hó~úr',\n hh : '%d h~óúrs',\n d : 'á ~dáý',\n dd : '%d d~áýs',\n M : 'á ~móñ~th',\n MM : '%d m~óñt~hs',\n y : 'á ~ýéár',\n yy : '%d ý~éárs'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn xPseudo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar yo = moment.defineLocale('yo', {\n months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Ònì ni] LT',\n nextDay : '[Ọ̀la ni] LT',\n nextWeek : 'dddd [Ọsẹ̀ tón\\'bọ] [ni] LT',\n lastDay : '[Àna ni] LT',\n lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ní %s',\n past : '%s kọjá',\n s : 'ìsẹjú aayá die',\n m : 'ìsẹjú kan',\n mm : 'ìsẹjú %d',\n h : 'wákati kan',\n hh : 'wákati %d',\n d : 'ọjọ́ kan',\n dd : 'ọjọ́ %d',\n M : 'osù kan',\n MM : 'osù %d',\n y : 'ọdún kan',\n yy : 'ọdún %d'\n },\n dayOfMonthOrdinalParse : /ọjọ́\\s\\d{1,2}/,\n ordinal : 'ọjọ́ %d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn yo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar zhCn = moment.defineLocale('zh-cn', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY年MMMD日',\n LL : 'YYYY年MMMD日',\n LLL : 'YYYY年MMMD日Ah点mm分',\n LLLL : 'YYYY年MMMD日ddddAh点mm分',\n l : 'YYYY年MMMD日',\n ll : 'YYYY年MMMD日',\n lll : 'YYYY年MMMD日 HH:mm',\n llll : 'YYYY年MMMD日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' ||\n meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s内',\n past : '%s前',\n s : '几秒',\n m : '1 分钟',\n mm : '%d 分钟',\n h : '1 小时',\n hh : '%d 小时',\n d : '1 天',\n dd : '%d 天',\n M : '1 个月',\n MM : '%d 个月',\n y : '1 年',\n yy : '%d 年'\n },\n week : {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn zhCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar zhHk = moment.defineLocale('zh-hk', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY年MMMD日',\n LL : 'YYYY年MMMD日',\n LLL : 'YYYY年MMMD日 HH:mm',\n LLLL : 'YYYY年MMMD日dddd HH:mm',\n l : 'YYYY年MMMD日',\n ll : 'YYYY年MMMD日',\n lll : 'YYYY年MMMD日 HH:mm',\n llll : 'YYYY年MMMD日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n});\n\nreturn zhHk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar zhTw = moment.defineLocale('zh-tw', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY年MMMD日',\n LL : 'YYYY年MMMD日',\n LLL : 'YYYY年MMMD日 HH:mm',\n LLLL : 'YYYY年MMMD日dddd HH:mm',\n l : 'YYYY年MMMD日',\n ll : 'YYYY年MMMD日',\n lll : 'YYYY年MMMD日 HH:mm',\n llll : 'YYYY年MMMD日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n});\n\nreturn zhTw;\n\n})));\n","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = {};\n\nfunction modulesToDom(moduleId, list, options) {\n for (var i = 0; i < list.length; i++) {\n var part = {\n css: list[i][1],\n media: list[i][2],\n sourceMap: list[i][3]\n };\n\n if (stylesInDom[moduleId][i]) {\n stylesInDom[moduleId][i](part);\n } else {\n stylesInDom[moduleId].push(addStyle(part, options));\n }\n }\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && btoa) {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (moduleId, list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n moduleId = options.base ? moduleId + options.base : moduleId;\n list = list || [];\n\n if (!stylesInDom[moduleId]) {\n stylesInDom[moduleId] = [];\n }\n\n modulesToDom(moduleId, list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n if (!stylesInDom[moduleId]) {\n stylesInDom[moduleId] = [];\n }\n\n modulesToDom(moduleId, newList, options);\n\n for (var j = newList.length; j < stylesInDom[moduleId].length; j++) {\n stylesInDom[moduleId][j]();\n }\n\n stylesInDom[moduleId].length = newList.length;\n\n if (stylesInDom[moduleId].length === 0) {\n delete stylesInDom[moduleId];\n }\n };\n};","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.appent` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","exports.f = require('./_wks');\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar isArray = require('./_is-array');\nvar isObject = require('./_is-object');\nvar toLength = require('./_to-length');\nvar ctx = require('./_ctx');\nvar IS_CONCAT_SPREADABLE = require('./_wks')('isConcatSpreadable');\n\nfunction flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? ctx(mapper, thisArg, 3) : false;\n var element, spreadable;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n spreadable = false;\n if (isObject(element)) {\n spreadable = element[IS_CONCAT_SPREADABLE];\n spreadable = spreadable !== undefined ? !!spreadable : isArray(element);\n }\n\n if (spreadable && depth > 0) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1fffffffffffff) throw TypeError();\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n}\n\nmodule.exports = flattenIntoArray;\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length');\nvar repeat = require('./_string-repeat');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n","var DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = require('./_classof');\nvar from = require('./_array-from-iterable');\nmodule.exports = function (NAME) {\n return function toJSON() {\n if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","// https://rwaldron.github.io/proposal-math-extensions/\nmodule.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {\n if (\n arguments.length === 0\n // eslint-disable-next-line no-self-compare\n || x != x\n // eslint-disable-next-line no-self-compare\n || inLow != inLow\n // eslint-disable-next-line no-self-compare\n || inHigh != inHigh\n // eslint-disable-next-line no-self-compare\n || outLow != outLow\n // eslint-disable-next-line no-self-compare\n || outHigh != outHigh\n ) return NaN;\n if (x === Infinity || x === -Infinity) return x;\n return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;\n};\n","// tslint:disable:no-unsafe-any\n/**\n * Memo class used for decycle json objects. Uses WeakSet if available otherwise array.\n */\nvar Memo = /** @class */ (function () {\n function Memo() {\n // tslint:disable-next-line\n this._hasWeakSet = typeof WeakSet === 'function';\n this._inner = this._hasWeakSet ? new WeakSet() : [];\n }\n /**\n * Sets obj to remember.\n * @param obj Object to remember\n */\n Memo.prototype.memoize = function (obj) {\n if (this._hasWeakSet) {\n if (this._inner.has(obj)) {\n return true;\n }\n this._inner.add(obj);\n return false;\n }\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < this._inner.length; i++) {\n var value = this._inner[i];\n if (value === obj) {\n return true;\n }\n }\n this._inner.push(obj);\n return false;\n };\n /**\n * Removes object from internal storage.\n * @param obj Object to forget\n */\n Memo.prototype.unmemoize = function (obj) {\n if (this._hasWeakSet) {\n this._inner.delete(obj);\n }\n else {\n for (var i = 0; i < this._inner.length; i++) {\n if (this._inner[i] === obj) {\n this._inner.splice(i, 1);\n break;\n }\n }\n }\n };\n return Memo;\n}());\nexport { Memo };\n//# sourceMappingURL=memo.js.map","import { uuid4 } from '@sentry/utils';\nexport var TRACEPARENT_REGEXP = /^[ \\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\t]*$/;\n/**\n * Span containg all data about a span\n */\nvar Span = /** @class */ (function () {\n function Span(_traceId, _spanId, _sampled, _parent) {\n if (_traceId === void 0) { _traceId = uuid4(); }\n if (_spanId === void 0) { _spanId = uuid4().substring(16); }\n this._traceId = _traceId;\n this._spanId = _spanId;\n this._sampled = _sampled;\n this._parent = _parent;\n }\n /**\n * Setter for parent\n */\n Span.prototype.setParent = function (parent) {\n this._parent = parent;\n return this;\n };\n /**\n * Setter for sampled\n */\n Span.prototype.setSampled = function (sampled) {\n this._sampled = sampled;\n return this;\n };\n /**\n * Continues a trace\n * @param traceparent Traceparent string\n */\n Span.fromTraceparent = function (traceparent) {\n var matches = traceparent.match(TRACEPARENT_REGEXP);\n if (matches) {\n var sampled = void 0;\n if (matches[3] === '1') {\n sampled = true;\n }\n else if (matches[3] === '0') {\n sampled = false;\n }\n var parent_1 = new Span(matches[1], matches[2], sampled);\n return new Span(matches[1], undefined, sampled, parent_1);\n }\n return undefined;\n };\n /**\n * @inheritDoc\n */\n Span.prototype.toTraceparent = function () {\n var sampled = '';\n if (this._sampled === true) {\n sampled = '-1';\n }\n else if (this._sampled === false) {\n sampled = '-0';\n }\n return this._traceId + \"-\" + this._spanId + sampled;\n };\n /**\n * @inheritDoc\n */\n Span.prototype.toJSON = function () {\n return {\n parent: (this._parent && this._parent.toJSON()) || undefined,\n sampled: this._sampled,\n span_id: this._spanId,\n trace_id: this._traceId,\n };\n };\n return Span;\n}());\nexport { Span };\n//# sourceMappingURL=span.js.map","module.exports = require(\"core-js-pure/stable/instance/sort\");","function select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","var _Symbol$iterator = require(\"../core-js/symbol/iterator\");\n\nvar _Symbol = require(\"../core-js/symbol\");\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof _Symbol === \"function\" && typeof _Symbol$iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof _Symbol === \"function\" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","module.exports = require(\"core-js-pure/stable/array/is-array\");","var _Object$assign = require(\"../core-js/object/assign\");\n\nfunction _extends() {\n module.exports = _extends = _Object$assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","var parent = require('../../es/object/define-property');\n\nmodule.exports = parent;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar objectDefinePropertyModile = require('../internals/object-define-property');\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\n$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {\n defineProperty: objectDefinePropertyModile.f\n});\n","var parent = require('../../es/instance/concat');\n\nmodule.exports = parent;\n","var concat = require('../array/virtual/concat');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.concat;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.concat) ? concat : own;\n};\n","require('../../../modules/es.array.concat');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').concat;\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = require(\"core-js-pure/features/promise\");","var parent = require('../../es/promise');\nrequire('../../modules/esnext.aggregate-error');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.promise.all-settled');\nrequire('../../modules/esnext.promise.try');\nrequire('../../modules/esnext.promise.any');\n\nmodule.exports = parent;\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar iterate = require('../internals/iterate');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalAggregateErrorState = InternalStateModule.getterFor('AggregateError');\n\nvar $AggregateError = function AggregateError(errors, message) {\n var that = this;\n if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message);\n if (setPrototypeOf) {\n that = setPrototypeOf(new Error(message), getPrototypeOf(that));\n }\n var errorsArray = [];\n iterate(errors, errorsArray.push, errorsArray);\n if (DESCRIPTORS) setInternalState(that, { errors: errorsArray, type: 'AggregateError' });\n else that.errors = errorsArray;\n if (message !== undefined) createNonEnumerableProperty(that, 'message', String(message));\n return that;\n};\n\n$AggregateError.prototype = create(Error.prototype, {\n constructor: createPropertyDescriptor(5, $AggregateError),\n message: createPropertyDescriptor(5, ''),\n name: createPropertyDescriptor(5, 'AggregateError')\n});\n\nif (DESCRIPTORS) defineProperty.f($AggregateError.prototype, 'errors', {\n get: function () {\n return getInternalAggregateErrorState(this).errors;\n },\n configurable: true\n});\n\n$({ global: true }, {\n AggregateError: $AggregateError\n});\n","// TODO: Remove from `core-js@4`\nrequire('./es.promise.all-settled.js');\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\n\n// `Promise.try` method\n// https://github.com/tc39/proposal-promise-try\n$({ target: 'Promise', stat: true }, {\n 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapabilityModule.f(this);\n var result = perform(callbackfn);\n (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value);\n return promiseCapability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar getBuiltIn = require('../internals/get-built-in');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\n\n// `Promise.any` method\n// https://github.com/tc39/proposal-promise-any\n$({ target: 'Promise', stat: true }, {\n any: function any(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var errors = [];\n var counter = 0;\n var remaining = 1;\n var alreadyResolved = false;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyRejected = false;\n errors.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyResolved = true;\n resolve(value);\n }, function (e) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyRejected = true;\n errors[index] = e;\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n });\n });\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var parent = require('../../es/promise');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/index-of');\n\nmodule.exports = parent;\n","var indexOf = require('../array/virtual/index-of');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.indexOf;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.indexOf) ? indexOf : own;\n};\n","require('../../../modules/es.array.index-of');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').indexOf;\n","'use strict';\nvar $ = require('../internals/export');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar nativeIndexOf = [].indexOf;\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.indexOf` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var parent = require('../es/parse-float');\n\nmodule.exports = parent;\n","require('../modules/es.parse-float');\nvar path = require('../internals/path');\n\nmodule.exports = path.parseFloat;\n","var $ = require('../internals/export');\nvar parseFloatImplementation = require('../internals/number-parse-float');\n\n// `parseFloat` method\n// https://tc39.github.io/ecma262/#sec-parsefloat-string\n$({ global: true, forced: parseFloat != parseFloatImplementation }, {\n parseFloat: parseFloatImplementation\n});\n","var global = require('../internals/global');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar $parseFloat = global.parseFloat;\nvar FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity;\n\n// `parseFloat` method\n// https://tc39.github.io/ecma262/#sec-parsefloat-string\nmodule.exports = FORCED ? function parseFloat(string) {\n var trimmedString = trim(String(string));\n var result = $parseFloat(trimmedString);\n return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","require('../modules/web.timers');\nvar path = require('../internals/path');\n\nmodule.exports = path.setInterval;\n","var parent = require('../es/parse-int');\n\nmodule.exports = parent;\n","require('../modules/es.parse-int');\nvar path = require('../internals/path');\n\nmodule.exports = path.parseInt;\n","var $ = require('../internals/export');\nvar parseIntImplementation = require('../internals/number-parse-int');\n\n// `parseInt` method\n// https://tc39.github.io/ecma262/#sec-parseint-string-radix\n$({ global: true, forced: parseInt != parseIntImplementation }, {\n parseInt: parseIntImplementation\n});\n","var global = require('../internals/global');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar $parseInt = global.parseInt;\nvar hex = /^[+-]?0[Xx]/;\nvar FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22;\n\n// `parseInt` method\n// https://tc39.github.io/ecma262/#sec-parseint-string-radix\nmodule.exports = FORCED ? function parseInt(string, radix) {\n var S = trim(String(string));\n return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));\n} : $parseInt;\n","var parent = require('../../es/json/stringify');\n\nmodule.exports = parent;\n","require('../../modules/es.json.stringify');\nvar core = require('../../internals/path');\n\nif (!core.JSON) core.JSON = { stringify: JSON.stringify };\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function stringify(it, replacer, space) {\n return core.JSON.stringify.apply(null, arguments);\n};\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar fails = require('../internals/fails');\n\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar re = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar fix = function (match, offset, string) {\n var prev = string.charAt(offset - 1);\n var next = string.charAt(offset + 1);\n if ((low.test(match) && !hi.test(next)) || (hi.test(match) && !low.test(prev))) {\n return '\\\\u' + match.charCodeAt(0).toString(16);\n } return match;\n};\n\nvar FORCED = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nif ($stringify) {\n // https://github.com/tc39/proposal-well-formed-stringify\n $({ target: 'JSON', stat: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var result = $stringify.apply(null, arguments);\n return typeof result == 'string' ? result.replace(re, fix) : result;\n }\n });\n}\n","require('../../modules/web.dom-collections.iterator');\nvar forEach = require('../array/virtual/for-each');\nvar classof = require('../../internals/classof');\nvar ArrayPrototype = Array.prototype;\n\nvar DOMIterables = {\n DOMTokenList: true,\n NodeList: true\n};\n\nmodule.exports = function (it) {\n var own = it.forEach;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.forEach)\n // eslint-disable-next-line no-prototype-builtins\n || DOMIterables.hasOwnProperty(classof(it)) ? forEach : own;\n};\n","var parent = require('../../../es/array/virtual/for-each');\n\nmodule.exports = parent;\n","require('../../../modules/es.array.for-each');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').forEach;\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","var parent = require('../../es/instance/includes');\n\nmodule.exports = parent;\n","var arrayIncludes = require('../array/virtual/includes');\nvar stringIncludes = require('../string/virtual/includes');\n\nvar ArrayPrototype = Array.prototype;\nvar StringPrototype = String.prototype;\n\nmodule.exports = function (it) {\n var own = it.includes;\n if (it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.includes)) return arrayIncludes;\n if (typeof it === 'string' || it === StringPrototype || (it instanceof String && own === StringPrototype.includes)) {\n return stringIncludes;\n } return own;\n};\n","require('../../../modules/es.array.includes');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').includes;\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","require('../../../modules/es.string.includes');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('String').includes;\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","var parent = require('../../es/instance/slice');\n\nmodule.exports = parent;\n","var slice = require('../array/virtual/slice');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.slice;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.slice) ? slice : own;\n};\n","require('../../../modules/es.array.slice');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').slice;\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","var parent = require('../../es/array/from');\n\nmodule.exports = parent;\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","var parent = require('../../es/object/assign');\n\nmodule.exports = parent;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","var _Array$isArray = require(\"../core-js/array/is-array\");\n\nfunction _arrayWithHoles(arr) {\n if (_Array$isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","var parent = require('../../es/array/is-array');\n\nmodule.exports = parent;\n","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.github.io/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","var _getIterator = require(\"../core-js/get-iterator\");\n\nvar _isIterable = require(\"../core-js/is-iterable\");\n\nfunction _iterableToArrayLimit(arr, i) {\n if (!(_isIterable(Object(arr)) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = _getIterator(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","module.exports = require(\"core-js-pure/features/get-iterator\");","require('../modules/web.dom-collections.iterator');\nrequire('../modules/es.string.iterator');\nvar getIterator = require('../internals/get-iterator');\n\nmodule.exports = getIterator;\n","require('../modules/web.dom-collections.iterator');\nrequire('../modules/es.string.iterator');\nvar isIterable = require('../internals/is-iterable');\n\nmodule.exports = isIterable;\n","var classof = require('../internals/classof');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n // eslint-disable-next-line no-prototype-builtins\n || Iterators.hasOwnProperty(classof(O));\n};\n","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nmodule.exports = _nonIterableRest;","var parent = require('../../es/object/keys');\n\nmodule.exports = parent;\n","require('../../modules/es.object.keys');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.keys;\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var parent = require('../../es/instance/reduce');\n\nmodule.exports = parent;\n","var reduce = require('../array/virtual/reduce');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.reduce;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.reduce) ? reduce : own;\n};\n","require('../../../modules/es.array.reduce');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').reduce;\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });\n\n// `Array.prototype.reduce` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","require('../modules/web.timers');\nvar path = require('../internals/path');\n\nmodule.exports = path.setTimeout;\n","var parent = require('../../es/instance/filter');\n\nmodule.exports = parent;\n","var filter = require('../array/virtual/filter');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.filter;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.filter) ? filter : own;\n};\n","require('../../../modules/es.array.filter');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').filter;\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var parent = require('../../es/instance/trim');\n\nmodule.exports = parent;\n","var trim = require('../string/virtual/trim');\n\nvar StringPrototype = String.prototype;\n\nmodule.exports = function (it) {\n var own = it.trim;\n return typeof it === 'string' || it === StringPrototype\n || (it instanceof String && own === StringPrototype.trim) ? trim : own;\n};\n","require('../../../modules/es.string.trim');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('String').trim;\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","var parent = require('../../es/instance/map');\n\nmodule.exports = parent;\n","var map = require('../array/virtual/map');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.map;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.map) ? map : own;\n};\n","require('../../../modules/es.array.map');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').map;\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('map');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var map = {\n\t\"./af\": 257,\n\t\"./af.js\": 257,\n\t\"./ar\": 258,\n\t\"./ar-dz\": 259,\n\t\"./ar-dz.js\": 259,\n\t\"./ar-kw\": 260,\n\t\"./ar-kw.js\": 260,\n\t\"./ar-ly\": 261,\n\t\"./ar-ly.js\": 261,\n\t\"./ar-ma\": 262,\n\t\"./ar-ma.js\": 262,\n\t\"./ar-sa\": 263,\n\t\"./ar-sa.js\": 263,\n\t\"./ar-tn\": 264,\n\t\"./ar-tn.js\": 264,\n\t\"./ar.js\": 258,\n\t\"./az\": 265,\n\t\"./az.js\": 265,\n\t\"./be\": 266,\n\t\"./be.js\": 266,\n\t\"./bg\": 267,\n\t\"./bg.js\": 267,\n\t\"./bm\": 268,\n\t\"./bm.js\": 268,\n\t\"./bn\": 269,\n\t\"./bn.js\": 269,\n\t\"./bo\": 270,\n\t\"./bo.js\": 270,\n\t\"./br\": 271,\n\t\"./br.js\": 271,\n\t\"./bs\": 272,\n\t\"./bs.js\": 272,\n\t\"./ca\": 273,\n\t\"./ca.js\": 273,\n\t\"./cs\": 274,\n\t\"./cs.js\": 274,\n\t\"./cv\": 275,\n\t\"./cv.js\": 275,\n\t\"./cy\": 276,\n\t\"./cy.js\": 276,\n\t\"./da\": 277,\n\t\"./da.js\": 277,\n\t\"./de\": 278,\n\t\"./de-at\": 279,\n\t\"./de-at.js\": 279,\n\t\"./de-ch\": 280,\n\t\"./de-ch.js\": 280,\n\t\"./de.js\": 278,\n\t\"./dv\": 281,\n\t\"./dv.js\": 281,\n\t\"./el\": 282,\n\t\"./el.js\": 282,\n\t\"./en-au\": 283,\n\t\"./en-au.js\": 283,\n\t\"./en-ca\": 284,\n\t\"./en-ca.js\": 284,\n\t\"./en-gb\": 285,\n\t\"./en-gb.js\": 285,\n\t\"./en-ie\": 286,\n\t\"./en-ie.js\": 286,\n\t\"./en-nz\": 287,\n\t\"./en-nz.js\": 287,\n\t\"./eo\": 288,\n\t\"./eo.js\": 288,\n\t\"./es\": 289,\n\t\"./es-do\": 290,\n\t\"./es-do.js\": 290,\n\t\"./es-us\": 291,\n\t\"./es-us.js\": 291,\n\t\"./es.js\": 289,\n\t\"./et\": 292,\n\t\"./et.js\": 292,\n\t\"./eu\": 293,\n\t\"./eu.js\": 293,\n\t\"./fa\": 294,\n\t\"./fa.js\": 294,\n\t\"./fi\": 295,\n\t\"./fi.js\": 295,\n\t\"./fo\": 296,\n\t\"./fo.js\": 296,\n\t\"./fr\": 297,\n\t\"./fr-ca\": 298,\n\t\"./fr-ca.js\": 298,\n\t\"./fr-ch\": 299,\n\t\"./fr-ch.js\": 299,\n\t\"./fr.js\": 297,\n\t\"./fy\": 300,\n\t\"./fy.js\": 300,\n\t\"./gd\": 301,\n\t\"./gd.js\": 301,\n\t\"./gl\": 302,\n\t\"./gl.js\": 302,\n\t\"./gom-latn\": 303,\n\t\"./gom-latn.js\": 303,\n\t\"./gu\": 304,\n\t\"./gu.js\": 304,\n\t\"./he\": 305,\n\t\"./he.js\": 305,\n\t\"./hi\": 306,\n\t\"./hi.js\": 306,\n\t\"./hr\": 307,\n\t\"./hr.js\": 307,\n\t\"./hu\": 308,\n\t\"./hu.js\": 308,\n\t\"./hy-am\": 309,\n\t\"./hy-am.js\": 309,\n\t\"./id\": 310,\n\t\"./id.js\": 310,\n\t\"./is\": 311,\n\t\"./is.js\": 311,\n\t\"./it\": 312,\n\t\"./it.js\": 312,\n\t\"./ja\": 313,\n\t\"./ja.js\": 313,\n\t\"./jv\": 314,\n\t\"./jv.js\": 314,\n\t\"./ka\": 315,\n\t\"./ka.js\": 315,\n\t\"./kk\": 316,\n\t\"./kk.js\": 316,\n\t\"./km\": 317,\n\t\"./km.js\": 317,\n\t\"./kn\": 318,\n\t\"./kn.js\": 318,\n\t\"./ko\": 319,\n\t\"./ko.js\": 319,\n\t\"./ky\": 320,\n\t\"./ky.js\": 320,\n\t\"./lb\": 321,\n\t\"./lb.js\": 321,\n\t\"./lo\": 322,\n\t\"./lo.js\": 322,\n\t\"./lt\": 323,\n\t\"./lt.js\": 323,\n\t\"./lv\": 324,\n\t\"./lv.js\": 324,\n\t\"./me\": 325,\n\t\"./me.js\": 325,\n\t\"./mi\": 326,\n\t\"./mi.js\": 326,\n\t\"./mk\": 327,\n\t\"./mk.js\": 327,\n\t\"./ml\": 328,\n\t\"./ml.js\": 328,\n\t\"./mr\": 329,\n\t\"./mr.js\": 329,\n\t\"./ms\": 330,\n\t\"./ms-my\": 331,\n\t\"./ms-my.js\": 331,\n\t\"./ms.js\": 330,\n\t\"./my\": 332,\n\t\"./my.js\": 332,\n\t\"./nb\": 333,\n\t\"./nb.js\": 333,\n\t\"./ne\": 334,\n\t\"./ne.js\": 334,\n\t\"./nl\": 335,\n\t\"./nl-be\": 336,\n\t\"./nl-be.js\": 336,\n\t\"./nl.js\": 335,\n\t\"./nn\": 337,\n\t\"./nn.js\": 337,\n\t\"./pa-in\": 338,\n\t\"./pa-in.js\": 338,\n\t\"./pl\": 339,\n\t\"./pl.js\": 339,\n\t\"./pt\": 340,\n\t\"./pt-br\": 341,\n\t\"./pt-br.js\": 341,\n\t\"./pt.js\": 340,\n\t\"./ro\": 342,\n\t\"./ro.js\": 342,\n\t\"./ru\": 343,\n\t\"./ru.js\": 343,\n\t\"./sd\": 344,\n\t\"./sd.js\": 344,\n\t\"./se\": 345,\n\t\"./se.js\": 345,\n\t\"./si\": 346,\n\t\"./si.js\": 346,\n\t\"./sk\": 347,\n\t\"./sk.js\": 347,\n\t\"./sl\": 348,\n\t\"./sl.js\": 348,\n\t\"./sq\": 349,\n\t\"./sq.js\": 349,\n\t\"./sr\": 350,\n\t\"./sr-cyrl\": 351,\n\t\"./sr-cyrl.js\": 351,\n\t\"./sr.js\": 350,\n\t\"./ss\": 352,\n\t\"./ss.js\": 352,\n\t\"./sv\": 353,\n\t\"./sv.js\": 353,\n\t\"./sw\": 354,\n\t\"./sw.js\": 354,\n\t\"./ta\": 355,\n\t\"./ta.js\": 355,\n\t\"./te\": 356,\n\t\"./te.js\": 356,\n\t\"./tet\": 357,\n\t\"./tet.js\": 357,\n\t\"./th\": 358,\n\t\"./th.js\": 358,\n\t\"./tl-ph\": 359,\n\t\"./tl-ph.js\": 359,\n\t\"./tlh\": 360,\n\t\"./tlh.js\": 360,\n\t\"./tr\": 361,\n\t\"./tr.js\": 361,\n\t\"./tzl\": 362,\n\t\"./tzl.js\": 362,\n\t\"./tzm\": 363,\n\t\"./tzm-latn\": 364,\n\t\"./tzm-latn.js\": 364,\n\t\"./tzm.js\": 363,\n\t\"./uk\": 365,\n\t\"./uk.js\": 365,\n\t\"./ur\": 366,\n\t\"./ur.js\": 366,\n\t\"./uz\": 367,\n\t\"./uz-latn\": 368,\n\t\"./uz-latn.js\": 368,\n\t\"./uz.js\": 367,\n\t\"./vi\": 369,\n\t\"./vi.js\": 369,\n\t\"./x-pseudo\": 370,\n\t\"./x-pseudo.js\": 370,\n\t\"./yo\": 371,\n\t\"./yo.js\": 371,\n\t\"./zh-cn\": 372,\n\t\"./zh-cn.js\": 372,\n\t\"./zh-hk\": 373,\n\t\"./zh-hk.js\": 373,\n\t\"./zh-tw\": 374,\n\t\"./zh-tw.js\": 374\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 520;","/* eslint-disable */\n;(function() {\n\"use strict\"\n/* eslint-enable */\n\nvar guid = 0, HALT = {}\nfunction createStream() {\n\tfunction stream() {\n\t\tif (arguments.length > 0 && arguments[0] !== HALT) updateStream(stream, arguments[0])\n\t\treturn stream._state.value\n\t}\n\tinitStream(stream)\n\n\tif (arguments.length > 0 && arguments[0] !== HALT) updateStream(stream, arguments[0])\n\n\treturn stream\n}\nfunction initStream(stream) {\n\tstream.constructor = createStream\n\tstream._state = {id: guid++, value: undefined, state: 0, derive: undefined, recover: undefined, deps: {}, parents: [], endStream: undefined, unregister: undefined}\n\tstream.map = stream[\"fantasy-land/map\"] = map, stream[\"fantasy-land/ap\"] = ap, stream[\"fantasy-land/of\"] = createStream\n\tstream.valueOf = valueOf, stream.toJSON = toJSON, stream.toString = valueOf\n\n\tObject.defineProperties(stream, {\n\t\tend: {get: function() {\n\t\t\tif (!stream._state.endStream) {\n\t\t\t\tvar endStream = createStream()\n\t\t\t\tendStream.map(function(value) {\n\t\t\t\t\tif (value === true) {\n\t\t\t\t\t\tunregisterStream(stream)\n\t\t\t\t\t\tendStream._state.unregister = function(){unregisterStream(endStream)}\n\t\t\t\t\t}\n\t\t\t\t\treturn value\n\t\t\t\t})\n\t\t\t\tstream._state.endStream = endStream\n\t\t\t}\n\t\t\treturn stream._state.endStream\n\t\t}}\n\t})\n}\nfunction updateStream(stream, value) {\n\tupdateState(stream, value)\n\tfor (var id in stream._state.deps) updateDependency(stream._state.deps[id], false)\n\tif (stream._state.unregister != null) stream._state.unregister()\n\tfinalize(stream)\n}\nfunction updateState(stream, value) {\n\tstream._state.value = value\n\tstream._state.changed = true\n\tif (stream._state.state !== 2) stream._state.state = 1\n}\nfunction updateDependency(stream, mustSync) {\n\tvar state = stream._state, parents = state.parents\n\tif (parents.length > 0 && parents.every(active) && (mustSync || parents.some(changed))) {\n\t\tvar value = stream._state.derive()\n\t\tif (value === HALT) return false\n\t\tupdateState(stream, value)\n\t}\n}\nfunction finalize(stream) {\n\tstream._state.changed = false\n\tfor (var id in stream._state.deps) stream._state.deps[id]._state.changed = false\n}\n\nfunction combine(fn, streams) {\n\tif (!streams.every(valid)) throw new Error(\"Ensure that each item passed to stream.combine/stream.merge is a stream\")\n\treturn initDependency(createStream(), streams, function() {\n\t\treturn fn.apply(this, streams.concat([streams.filter(changed)]))\n\t})\n}\n\nfunction initDependency(dep, streams, derive) {\n\tvar state = dep._state\n\tstate.derive = derive\n\tstate.parents = streams.filter(notEnded)\n\n\tregisterDependency(dep, state.parents)\n\tupdateDependency(dep, true)\n\n\treturn dep\n}\nfunction registerDependency(stream, parents) {\n\tfor (var i = 0; i < parents.length; i++) {\n\t\tparents[i]._state.deps[stream._state.id] = stream\n\t\tregisterDependency(stream, parents[i]._state.parents)\n\t}\n}\nfunction unregisterStream(stream) {\n\tfor (var i = 0; i < stream._state.parents.length; i++) {\n\t\tvar parent = stream._state.parents[i]\n\t\tdelete parent._state.deps[stream._state.id]\n\t}\n\tfor (var id in stream._state.deps) {\n\t\tvar dependent = stream._state.deps[id]\n\t\tvar index = dependent._state.parents.indexOf(stream)\n\t\tif (index > -1) dependent._state.parents.splice(index, 1)\n\t}\n\tstream._state.state = 2 //ended\n\tstream._state.deps = {}\n}\n\nfunction map(fn) {return combine(function(stream) {return fn(stream())}, [this])}\nfunction ap(stream) {return combine(function(s1, s2) {return s1()(s2())}, [stream, this])}\nfunction valueOf() {return this._state.value}\nfunction toJSON() {return this._state.value != null && typeof this._state.value.toJSON === \"function\" ? this._state.value.toJSON() : this._state.value}\n\nfunction valid(stream) {return stream._state }\nfunction active(stream) {return stream._state.state === 1}\nfunction changed(stream) {return stream._state.changed}\nfunction notEnded(stream) {return stream._state.state !== 2}\n\nfunction merge(streams) {\n\treturn combine(function() {\n\t\treturn streams.map(function(s) {return s()})\n\t}, streams)\n}\n\nfunction scan(reducer, seed, stream) {\n\tvar newStream = combine(function (s) {\n\t\treturn seed = reducer(seed, s._state.value)\n\t}, [stream])\n\n\tif (newStream._state.state === 0) newStream(seed)\n\n\treturn newStream\n}\n\nfunction scanMerge(tuples, seed) {\n\tvar streams = tuples.map(function(tuple) {\n\t\tvar stream = tuple[0]\n\t\tif (stream._state.state === 0) stream(undefined)\n\t\treturn stream\n\t})\n\n\tvar newStream = combine(function() {\n\t\tvar changed = arguments[arguments.length - 1]\n\n\t\tstreams.forEach(function(stream, idx) {\n\t\t\tif (changed.indexOf(stream) > -1) {\n\t\t\t\tseed = tuples[idx][1](seed, stream._state.value)\n\t\t\t}\n\t\t})\n\n\t\treturn seed\n\t}, streams)\n\n\treturn newStream\n}\n\ncreateStream[\"fantasy-land/of\"] = createStream\ncreateStream.merge = merge\ncreateStream.combine = combine\ncreateStream.scan = scan\ncreateStream.scanMerge = scanMerge\ncreateStream.HALT = HALT\n\nif (typeof module !== \"undefined\") module[\"exports\"] = createStream\nelse if (typeof window.m === \"function\" && !(\"stream\" in window.m)) window.m.stream = createStream\nelse window.m = {stream : createStream}\n\n}());\n","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var parent = require('../../es/instance/find');\n\nmodule.exports = parent;\n","var find = require('../array/virtual/find');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.find;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.find) ? find : own;\n};\n","require('../../../modules/es.array.find');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').find;\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var api = require(\"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!./explore-light-box.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(module.id, content, options);\n\nvar exported = content.locals ? content.locals : {};\n\n\n\nmodule.exports = exported;","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".explore-lightbox-filter-link {\\n display: block;\\n margin-bottom: 10px;\\n color: #f1f4f4;\\n font-size: 30px;\\n line-height: 36px;\\n}\\n\\n.explore-lightbox-filter-link:hover {\\n color: #409ade;\\n}\\n\\n.explore-lightbox {\\n position: fixed;\\n left: 0%;\\n top: 0%;\\n right: 0%;\\n bottom: 0%;\\n z-index: 999;\\n display: -webkit-box;\\n display: -webkit-flex;\\n display: -ms-flexbox;\\n display: flex;\\n overflow: auto;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -webkit-flex-direction: column;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -webkit-box-align: center;\\n -webkit-align-items: center;\\n -ms-flex-align: center;\\n align-items: center;\\n background-color: #273755;\\n}\\n\\n.explore-lightbox-container {\\n max-width: 1200px;\\n min-width: 980px;\\n}\\n\\n\\n.modal-close-container {\\n position: -webkit-sticky;\\n position: sticky;\\n top: 30px;\\n right: 0px;\\n float: right;\\n color: #c2c2c2;\\n text-decoration: none;\\n}\\n\\n\\n@media (max-width: 991px) {\\n .explore-lightbox-container {\\n min-width: 100%;\\n padding-right: 31px;\\n padding-left: 31px;\\n }\\n}\\n\\n@media (max-width: 767px) {\\n .explore-lightbox-filter-link {\\n font-size: 24px;\\n line-height: 31px;\\n }\\n\\n .explore-lightbox-container {\\n padding-right: 15px;\\n padding-left: 15px;\\n }\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","var parent = require('../../es/instance/sort');\n\nmodule.exports = parent;\n","var sort = require('../array/virtual/sort');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.sort;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.sort) ? sort : own;\n};\n","require('../../../modules/es.array.sort');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').sort;\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar test = [];\nvar nativeSort = test.sort;\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD;\n\n// `Array.prototype.sort` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? nativeSort.call(toObject(this))\n : nativeSort.call(toObject(this), aFunction(comparefn));\n }\n});\n","var parent = require('../../es/instance/reverse');\n\nmodule.exports = parent;\n","var reverse = require('../array/virtual/reverse');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.reverse;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.reverse) ? reverse : own;\n};\n","require('../../../modules/es.array.reverse');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').reverse;\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\nvar nativeReverse = [].reverse;\nvar test = [1, 2];\n\n// `Array.prototype.reverse` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.reverse\n// fix for Safari 12.0 bug\n// https://bugs.webkit.org/show_bug.cgi?id=188794\n$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {\n reverse: function reverse() {\n // eslint-disable-next-line no-self-assign\n if (isArray(this)) this.length = this.length;\n return nativeReverse.call(this);\n }\n});\n","var parent = require('../../es/instance/find-index');\n\nmodule.exports = parent;\n","var findIndex = require('../array/virtual/find-index');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.findIndex;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.findIndex) ? findIndex : own;\n};\n","require('../../../modules/es.array.find-index');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').findIndex;\n","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND_INDEX);\n\n// Shouldn't skip holes\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n","var parent = require('../../es/instance/splice');\n\nmodule.exports = parent;\n","var splice = require('../array/virtual/splice');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.splice;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.splice) ? splice : own;\n};\n","require('../../../modules/es.array.splice');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').splice;\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","var _Array$isArray = require(\"../core-js/array/is-array\");\n\nfunction _arrayWithoutHoles(arr) {\n if (_Array$isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nmodule.exports = _arrayWithoutHoles;","var _Array$from = require(\"../core-js/array/from\");\n\nvar _isIterable = require(\"../core-js/is-iterable\");\n\nfunction _iterableToArray(iter) {\n if (_isIterable(Object(iter)) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return _Array$from(iter);\n}\n\nmodule.exports = _iterableToArray;","module.exports = require(\"core-js-pure/features/array/from\");","var parent = require('../../es/array/from');\n\nmodule.exports = parent;\n","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nmodule.exports = _nonIterableSpread;","var parent = require('../../es/date/now');\n\nmodule.exports = parent;\n","require('../../modules/es.date.now');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Date.now;\n","var $ = require('../internals/export');\n\n// `Date.now` method\n// https://tc39.github.io/ecma262/#sec-date.now\n$({ target: 'Date', stat: true }, {\n now: function now() {\n return new Date().getTime();\n }\n});\n","var parent = require('../../es/object/define-property');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/define-properties');\n\nmodule.exports = parent;\n","require('../../modules/es.object.define-properties');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperties = module.exports = function defineProperties(T, D) {\n return Object.defineProperties(T, D);\n};\n\nif (Object.defineProperties.sham) defineProperties.sham = true;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\n$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n","var parent = require('../../es/object/get-own-property-descriptors');\n\nmodule.exports = parent;\n","require('../../modules/es.object.get-own-property-descriptors');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getOwnPropertyDescriptors;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var parent = require('../../es/object/get-own-property-descriptor');\n\nmodule.exports = parent;\n","require('../../modules/es.object.get-own-property-descriptor');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar getOwnPropertyDescriptor = module.exports = function getOwnPropertyDescriptor(it, key) {\n return Object.getOwnPropertyDescriptor(it, key);\n};\n\nif (Object.getOwnPropertyDescriptor.sham) getOwnPropertyDescriptor.sham = true;\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var parent = require('../../es/object/get-own-property-symbols');\n\nmodule.exports = parent;\n","require('../../modules/es.symbol');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getOwnPropertySymbols;\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","require('../../modules/web.dom-collections.iterator');\nvar values = require('../array/virtual/values');\nvar classof = require('../../internals/classof');\nvar ArrayPrototype = Array.prototype;\n\nvar DOMIterables = {\n DOMTokenList: true,\n NodeList: true\n};\n\nmodule.exports = function (it) {\n var own = it.values;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.values)\n // eslint-disable-next-line no-prototype-builtins\n || DOMIterables.hasOwnProperty(classof(it)) ? values : own;\n};\n","var parent = require('../../../es/array/virtual/values');\n\nmodule.exports = parent;\n","require('../../../modules/es.array.iterator');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').values;\n","var parent = require('../../es/instance/bind');\n\nmodule.exports = parent;\n","var bind = require('../function/virtual/bind');\n\nvar FunctionPrototype = Function.prototype;\n\nmodule.exports = function (it) {\n var own = it.bind;\n return it === FunctionPrototype || (it instanceof Function && own === FunctionPrototype.bind) ? bind : own;\n};\n","require('../../../modules/es.function.bind');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Function').bind;\n","var $ = require('../internals/export');\nvar bind = require('../internals/function-bind');\n\n// `Function.prototype.bind` method\n// https://tc39.github.io/ecma262/#sec-function.prototype.bind\n$({ target: 'Function', proto: true }, {\n bind: bind\n});\n","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.github.io/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","module.exports = require(\"core-js-pure/features/symbol/iterator\");","var parent = require('../../es/symbol/iterator');\n\nmodule.exports = parent;\n","require('../../modules/es.symbol.iterator');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');\n\nmodule.exports = WrappedWellKnownSymbolModule.f('iterator');\n","module.exports = require(\"core-js-pure/features/symbol\");","var parent = require('../../es/symbol');\nrequire('../../modules/esnext.symbol.async-dispose');\nrequire('../../modules/esnext.symbol.dispose');\nrequire('../../modules/esnext.symbol.observable');\nrequire('../../modules/esnext.symbol.pattern-match');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.symbol.replace-all');\n\nmodule.exports = parent;\n","require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.json.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.match` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matchAll` well-known symbol\ndefineWellKnownSymbol('matchAll');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.search` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.species` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.split` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncDispose` well-known symbol\n// https://github.com/tc39/proposal-using-statement\ndefineWellKnownSymbol('asyncDispose');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.dispose` well-known symbol\n// https://github.com/tc39/proposal-using-statement\ndefineWellKnownSymbol('dispose');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.observable` well-known symbol\n// https://github.com/tc39/proposal-observable\ndefineWellKnownSymbol('observable');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.patternMatch` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('patternMatch');\n","// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\ndefineWellKnownSymbol('replaceAll');\n","var parent = require('../../es/array/is-array');\n\nmodule.exports = parent;\n","var parent = require('../../web/url');\n\nmodule.exports = parent;\n","require('../modules/web.url');\nrequire('../modules/web.url.to-json');\nrequire('../modules/web.url-search-params');\nvar path = require('../internals/path');\n\nmodule.exports = path.URL;\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+\\-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\n// eslint-disable-next-line no-control-regex\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","module.exports = require(\"core-js-pure/features/object/assign\");","var parent = require('../../es/object/assign');\n\nmodule.exports = parent;\n","var api = require(\"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js!./todo.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(module.id, content, options);\n\nvar exported = content.locals ? content.locals : {};\n\n\n\nmodule.exports = exported;","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".list-dashboard .list-dashboard-item::before {\\n color: #ddd;\\n content: \\\"•\\\";\\n font-size: 2rem;\\n left: -.25rem;\\n position: absolute;\\n top: -.1875rem;\\n z-index: 1;\\n}\\n\\n.list-dashboard .list-dashboard-item:not(:last-child):after {\\n background: #ddd;\\n content: '';\\n height: 100%;\\n left: 0;\\n position: absolute;\\n top: 1.1875rem;\\n width: 1px;\\n}\\n\\n.fa.fa-check-circle.list-dashboard {\\n position: absolute;\\n left: -6px;\\n z-index: 10;\\n padding-right: 0px;\\n padding-left: 0px;\\n background-color: #f8fafa;\\n color: #1ca34a;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","\"use strict\";\n\nrequire(\"core-js/shim\");\n\nrequire(\"regenerator-runtime/runtime\");\n\nrequire(\"core-js/fn/regexp/escape\");\n\nif (global._babelPolyfill) {\n throw new Error(\"only one instance of babel-polyfill is allowed\");\n}\nglobal._babelPolyfill = true;\n\nvar DEFINE_PROPERTY = \"defineProperty\";\nfunction define(O, key, value) {\n O[key] || Object[DEFINE_PROPERTY](O, key, {\n writable: true,\n configurable: true,\n value: value\n });\n}\n\ndefine(String.prototype, \"padLeft\", \"\".padStart);\ndefine(String.prototype, \"padRight\", \"\".padEnd);\n\n\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function (key) {\n [][key] && define(Array, key, Function.call.bind([][key]));\n});","require('./modules/es6.symbol');\nrequire('./modules/es6.object.create');\nrequire('./modules/es6.object.define-property');\nrequire('./modules/es6.object.define-properties');\nrequire('./modules/es6.object.get-own-property-descriptor');\nrequire('./modules/es6.object.get-prototype-of');\nrequire('./modules/es6.object.keys');\nrequire('./modules/es6.object.get-own-property-names');\nrequire('./modules/es6.object.freeze');\nrequire('./modules/es6.object.seal');\nrequire('./modules/es6.object.prevent-extensions');\nrequire('./modules/es6.object.is-frozen');\nrequire('./modules/es6.object.is-sealed');\nrequire('./modules/es6.object.is-extensible');\nrequire('./modules/es6.object.assign');\nrequire('./modules/es6.object.is');\nrequire('./modules/es6.object.set-prototype-of');\nrequire('./modules/es6.object.to-string');\nrequire('./modules/es6.function.bind');\nrequire('./modules/es6.function.name');\nrequire('./modules/es6.function.has-instance');\nrequire('./modules/es6.parse-int');\nrequire('./modules/es6.parse-float');\nrequire('./modules/es6.number.constructor');\nrequire('./modules/es6.number.to-fixed');\nrequire('./modules/es6.number.to-precision');\nrequire('./modules/es6.number.epsilon');\nrequire('./modules/es6.number.is-finite');\nrequire('./modules/es6.number.is-integer');\nrequire('./modules/es6.number.is-nan');\nrequire('./modules/es6.number.is-safe-integer');\nrequire('./modules/es6.number.max-safe-integer');\nrequire('./modules/es6.number.min-safe-integer');\nrequire('./modules/es6.number.parse-float');\nrequire('./modules/es6.number.parse-int');\nrequire('./modules/es6.math.acosh');\nrequire('./modules/es6.math.asinh');\nrequire('./modules/es6.math.atanh');\nrequire('./modules/es6.math.cbrt');\nrequire('./modules/es6.math.clz32');\nrequire('./modules/es6.math.cosh');\nrequire('./modules/es6.math.expm1');\nrequire('./modules/es6.math.fround');\nrequire('./modules/es6.math.hypot');\nrequire('./modules/es6.math.imul');\nrequire('./modules/es6.math.log10');\nrequire('./modules/es6.math.log1p');\nrequire('./modules/es6.math.log2');\nrequire('./modules/es6.math.sign');\nrequire('./modules/es6.math.sinh');\nrequire('./modules/es6.math.tanh');\nrequire('./modules/es6.math.trunc');\nrequire('./modules/es6.string.from-code-point');\nrequire('./modules/es6.string.raw');\nrequire('./modules/es6.string.trim');\nrequire('./modules/es6.string.iterator');\nrequire('./modules/es6.string.code-point-at');\nrequire('./modules/es6.string.ends-with');\nrequire('./modules/es6.string.includes');\nrequire('./modules/es6.string.repeat');\nrequire('./modules/es6.string.starts-with');\nrequire('./modules/es6.string.anchor');\nrequire('./modules/es6.string.big');\nrequire('./modules/es6.string.blink');\nrequire('./modules/es6.string.bold');\nrequire('./modules/es6.string.fixed');\nrequire('./modules/es6.string.fontcolor');\nrequire('./modules/es6.string.fontsize');\nrequire('./modules/es6.string.italics');\nrequire('./modules/es6.string.link');\nrequire('./modules/es6.string.small');\nrequire('./modules/es6.string.strike');\nrequire('./modules/es6.string.sub');\nrequire('./modules/es6.string.sup');\nrequire('./modules/es6.date.now');\nrequire('./modules/es6.date.to-json');\nrequire('./modules/es6.date.to-iso-string');\nrequire('./modules/es6.date.to-string');\nrequire('./modules/es6.date.to-primitive');\nrequire('./modules/es6.array.is-array');\nrequire('./modules/es6.array.from');\nrequire('./modules/es6.array.of');\nrequire('./modules/es6.array.join');\nrequire('./modules/es6.array.slice');\nrequire('./modules/es6.array.sort');\nrequire('./modules/es6.array.for-each');\nrequire('./modules/es6.array.map');\nrequire('./modules/es6.array.filter');\nrequire('./modules/es6.array.some');\nrequire('./modules/es6.array.every');\nrequire('./modules/es6.array.reduce');\nrequire('./modules/es6.array.reduce-right');\nrequire('./modules/es6.array.index-of');\nrequire('./modules/es6.array.last-index-of');\nrequire('./modules/es6.array.copy-within');\nrequire('./modules/es6.array.fill');\nrequire('./modules/es6.array.find');\nrequire('./modules/es6.array.find-index');\nrequire('./modules/es6.array.species');\nrequire('./modules/es6.array.iterator');\nrequire('./modules/es6.regexp.constructor');\nrequire('./modules/es6.regexp.exec');\nrequire('./modules/es6.regexp.to-string');\nrequire('./modules/es6.regexp.flags');\nrequire('./modules/es6.regexp.match');\nrequire('./modules/es6.regexp.replace');\nrequire('./modules/es6.regexp.search');\nrequire('./modules/es6.regexp.split');\nrequire('./modules/es6.promise');\nrequire('./modules/es6.map');\nrequire('./modules/es6.set');\nrequire('./modules/es6.weak-map');\nrequire('./modules/es6.weak-set');\nrequire('./modules/es6.typed.array-buffer');\nrequire('./modules/es6.typed.data-view');\nrequire('./modules/es6.typed.int8-array');\nrequire('./modules/es6.typed.uint8-array');\nrequire('./modules/es6.typed.uint8-clamped-array');\nrequire('./modules/es6.typed.int16-array');\nrequire('./modules/es6.typed.uint16-array');\nrequire('./modules/es6.typed.int32-array');\nrequire('./modules/es6.typed.uint32-array');\nrequire('./modules/es6.typed.float32-array');\nrequire('./modules/es6.typed.float64-array');\nrequire('./modules/es6.reflect.apply');\nrequire('./modules/es6.reflect.construct');\nrequire('./modules/es6.reflect.define-property');\nrequire('./modules/es6.reflect.delete-property');\nrequire('./modules/es6.reflect.enumerate');\nrequire('./modules/es6.reflect.get');\nrequire('./modules/es6.reflect.get-own-property-descriptor');\nrequire('./modules/es6.reflect.get-prototype-of');\nrequire('./modules/es6.reflect.has');\nrequire('./modules/es6.reflect.is-extensible');\nrequire('./modules/es6.reflect.own-keys');\nrequire('./modules/es6.reflect.prevent-extensions');\nrequire('./modules/es6.reflect.set');\nrequire('./modules/es6.reflect.set-prototype-of');\nrequire('./modules/es7.array.includes');\nrequire('./modules/es7.array.flat-map');\nrequire('./modules/es7.array.flatten');\nrequire('./modules/es7.string.at');\nrequire('./modules/es7.string.pad-start');\nrequire('./modules/es7.string.pad-end');\nrequire('./modules/es7.string.trim-left');\nrequire('./modules/es7.string.trim-right');\nrequire('./modules/es7.string.match-all');\nrequire('./modules/es7.symbol.async-iterator');\nrequire('./modules/es7.symbol.observable');\nrequire('./modules/es7.object.get-own-property-descriptors');\nrequire('./modules/es7.object.values');\nrequire('./modules/es7.object.entries');\nrequire('./modules/es7.object.define-getter');\nrequire('./modules/es7.object.define-setter');\nrequire('./modules/es7.object.lookup-getter');\nrequire('./modules/es7.object.lookup-setter');\nrequire('./modules/es7.map.to-json');\nrequire('./modules/es7.set.to-json');\nrequire('./modules/es7.map.of');\nrequire('./modules/es7.set.of');\nrequire('./modules/es7.weak-map.of');\nrequire('./modules/es7.weak-set.of');\nrequire('./modules/es7.map.from');\nrequire('./modules/es7.set.from');\nrequire('./modules/es7.weak-map.from');\nrequire('./modules/es7.weak-set.from');\nrequire('./modules/es7.global');\nrequire('./modules/es7.system.global');\nrequire('./modules/es7.error.is-error');\nrequire('./modules/es7.math.clamp');\nrequire('./modules/es7.math.deg-per-rad');\nrequire('./modules/es7.math.degrees');\nrequire('./modules/es7.math.fscale');\nrequire('./modules/es7.math.iaddh');\nrequire('./modules/es7.math.isubh');\nrequire('./modules/es7.math.imulh');\nrequire('./modules/es7.math.rad-per-deg');\nrequire('./modules/es7.math.radians');\nrequire('./modules/es7.math.scale');\nrequire('./modules/es7.math.umulh');\nrequire('./modules/es7.math.signbit');\nrequire('./modules/es7.promise.finally');\nrequire('./modules/es7.promise.try');\nrequire('./modules/es7.reflect.define-metadata');\nrequire('./modules/es7.reflect.delete-metadata');\nrequire('./modules/es7.reflect.get-metadata');\nrequire('./modules/es7.reflect.get-metadata-keys');\nrequire('./modules/es7.reflect.get-own-metadata');\nrequire('./modules/es7.reflect.get-own-metadata-keys');\nrequire('./modules/es7.reflect.has-metadata');\nrequire('./modules/es7.reflect.has-own-metadata');\nrequire('./modules/es7.reflect.metadata');\nrequire('./modules/es7.asap');\nrequire('./modules/es7.observable');\nrequire('./modules/web.timers');\nrequire('./modules/web.immediate');\nrequire('./modules/web.dom.iterable');\nmodule.exports = require('./modules/_core');\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","'use strict';\nvar isObject = require('./_is-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar HAS_INSTANCE = require('./_wks')('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n if (typeof this != 'function' || !isObject(O)) return false;\n if (!isObject(this.prototype)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n return false;\n} });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var c2 = c;\n while (++i < 6) {\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function (n) {\n var i = 6;\n var c = 0;\n while (--i >= 0) {\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function () {\n var i = 6;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || data[i] !== 0) {\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function () {\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits) {\n var x = aNumberValue(this, ERROR);\n var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\n if (x != x) return 'NaN';\n if (x <= -1e21 || x >= 1e21) return String(x);\n if (x < 0) {\n s = '-';\n x = -x;\n }\n if (x > 1e-21) {\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = f;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if (f > 0) {\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $fails = require('./_fails');\nvar aNumberValue = require('./_a-number-value');\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision) {\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n }\n});\n","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function (createHTML) {\n return function blink() {\n return createHTML(this, 'blink', '', '');\n };\n});\n","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function (createHTML) {\n return function bold() {\n return createHTML(this, 'b', '', '');\n };\n});\n","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function (createHTML) {\n return function strike() {\n return createHTML(this, 'strike', '', '');\n };\n});\n","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function (createHTML) {\n return function sub() {\n return createHTML(this, 'sub', '', '');\n };\n});\n","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function (createHTML) {\n return function sup() {\n return createHTML(this, 'sup', '', '');\n };\n});\n","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator) {\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar html = require('./_html');\nvar cof = require('./_cof');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function () {\n if (html) arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end) {\n var len = toLength(this.length);\n var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var i = 0;\n for (; i < size; i++) cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n var O = toIObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n return -1;\n }\n});\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","require('./_set-species')('Array');\n","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < fin) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});\n","require('./_typed-array')('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n","require('./_typed-array')('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = []; // keys\n var key;\n for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var key;\n do {\n if (that._i >= keys.length) return { value: undefined, done: true };\n } while (!((key = keys[that._i++]) in that._t));\n return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target) {\n return new Enumerate(target);\n }\n});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap\nvar $export = require('./_export');\nvar flattenIntoArray = require('./_flatten-into-array');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar aFunction = require('./_a-function');\nvar arraySpeciesCreate = require('./_array-species-create');\n\n$export($export.P, 'Array', {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen, A;\n aFunction(callbackfn);\n sourceLen = toLength(O.length);\n A = arraySpeciesCreate(O, 0);\n flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]);\n return A;\n }\n});\n\nrequire('./_add-to-unscopables')('flatMap');\n","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten\nvar $export = require('./_export');\nvar flattenIntoArray = require('./_flatten-into-array');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar arraySpeciesCreate = require('./_array-species-create');\n\n$export($export.P, 'Array', {\n flatten: function flatten(/* depthArg = 1 */) {\n var depthArg = arguments[0];\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n\nrequire('./_add-to-unscopables')('flatten');\n","'use strict';\n// https://github.com/mathiasbynens/String.prototype.at\nvar $export = require('./_export');\nvar $at = require('./_string-at')(true);\n\n$export($export.P, 'String', {\n at: function at(pos) {\n return $at(this, pos);\n }\n});\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimLeft', function ($trim) {\n return function trimLeft() {\n return $trim(this, 1);\n };\n}, 'trimStart');\n","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimRight', function ($trim) {\n return function trimRight() {\n return $trim(this, 2);\n };\n}, 'trimEnd');\n","'use strict';\n// https://tc39.github.io/String.prototype.matchAll/\nvar $export = require('./_export');\nvar defined = require('./_defined');\nvar toLength = require('./_to-length');\nvar isRegExp = require('./_is-regexp');\nvar getFlags = require('./_flags');\nvar RegExpProto = RegExp.prototype;\n\nvar $RegExpStringIterator = function (regexp, string) {\n this._r = regexp;\n this._s = string;\n};\n\nrequire('./_iter-create')($RegExpStringIterator, 'RegExp String', function next() {\n var match = this._r.exec(this._s);\n return { value: match, done: match === null };\n});\n\n$export($export.P, 'String', {\n matchAll: function matchAll(regexp) {\n defined(this);\n if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!');\n var S = String(this);\n var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp);\n var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);\n rx.lastIndex = toLength(regexp.lastIndex);\n return new $RegExpStringIterator(rx, S);\n }\n});\n","require('./_wks-define')('asyncIterator');\n","require('./_wks-define')('observable');\n","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar aFunction = require('./_a-function');\nvar $defineProperty = require('./_object-dp');\n\n// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineGetter__: function __defineGetter__(P, getter) {\n $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar aFunction = require('./_a-function');\nvar $defineProperty = require('./_object-dp');\n\n// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineSetter__: function __defineSetter__(P, setter) {\n $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\nvar getPrototypeOf = require('./_object-gpo');\nvar getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupGetter__: function __lookupGetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.get;\n } while (O = getPrototypeOf(O));\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\nvar getPrototypeOf = require('./_object-gpo');\nvar getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.5 Object.prototype.__lookupSetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupSetter__: function __lookupSetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.set;\n } while (O = getPrototypeOf(O));\n }\n});\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Map', { toJSON: require('./_collection-to-json')('Map') });\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Set', { toJSON: require('./_collection-to-json')('Set') });\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\nrequire('./_set-collection-of')('Map');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\nrequire('./_set-collection-of')('Set');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of\nrequire('./_set-collection-of')('WeakMap');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of\nrequire('./_set-collection-of')('WeakSet');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\nrequire('./_set-collection-from')('Map');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\nrequire('./_set-collection-from')('Set');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from\nrequire('./_set-collection-from')('WeakMap');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from\nrequire('./_set-collection-from')('WeakSet');\n","// https://github.com/tc39/proposal-global\nvar $export = require('./_export');\n\n$export($export.G, { global: require('./_global') });\n","// https://github.com/tc39/proposal-global\nvar $export = require('./_export');\n\n$export($export.S, 'System', { global: require('./_global') });\n","// https://github.com/ljharb/proposal-is-error\nvar $export = require('./_export');\nvar cof = require('./_cof');\n\n$export($export.S, 'Error', {\n isError: function isError(it) {\n return cof(it) === 'Error';\n }\n});\n","// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clamp: function clamp(x, lower, upper) {\n return Math.min(upper, Math.max(lower, x));\n }\n});\n","// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 });\n","// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\nvar RAD_PER_DEG = 180 / Math.PI;\n\n$export($export.S, 'Math', {\n degrees: function degrees(radians) {\n return radians * RAD_PER_DEG;\n }\n});\n","// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\nvar scale = require('./_math-scale');\nvar fround = require('./_math-fround');\n\n$export($export.S, 'Math', {\n fscale: function fscale(x, inLow, inHigh, outLow, outHigh) {\n return fround(scale(x, inLow, inHigh, outLow, outHigh));\n }\n});\n","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n iaddh: function iaddh(x0, x1, y0, y1) {\n var $x0 = x0 >>> 0;\n var $x1 = x1 >>> 0;\n var $y0 = y0 >>> 0;\n return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;\n }\n});\n","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n isubh: function isubh(x0, x1, y0, y1) {\n var $x0 = x0 >>> 0;\n var $x1 = x1 >>> 0;\n var $y0 = y0 >>> 0;\n return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;\n }\n});\n","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n imulh: function imulh(u, v) {\n var UINT16 = 0xffff;\n var $u = +u;\n var $v = +v;\n var u0 = $u & UINT16;\n var v0 = $v & UINT16;\n var u1 = $u >> 16;\n var v1 = $v >> 16;\n var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);\n }\n});\n","// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI });\n","// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\nvar DEG_PER_RAD = Math.PI / 180;\n\n$export($export.S, 'Math', {\n radians: function radians(degrees) {\n return degrees * DEG_PER_RAD;\n }\n});\n","// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { scale: require('./_math-scale') });\n","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n umulh: function umulh(u, v) {\n var UINT16 = 0xffff;\n var $u = +u;\n var $v = +v;\n var u0 = $u & UINT16;\n var v0 = $v & UINT16;\n var u1 = $u >>> 16;\n var v1 = $v >>> 16;\n var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);\n }\n});\n","// http://jfbastien.github.io/papers/Math.signbit.html\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { signbit: function signbit(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0;\n} });\n","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var Set = require('./es6.set');\nvar from = require('./_array-from-iterable');\nvar metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var $metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, targetKey) {\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n} });\n","// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask\nvar $export = require('./_export');\nvar microtask = require('./_microtask')();\nvar process = require('./_global').process;\nvar isNode = require('./_cof')(process) == 'process';\n\n$export($export.G, {\n asap: function asap(fn) {\n var domain = isNode && process.domain;\n microtask(domain ? domain.bind(fn) : fn);\n }\n});\n","'use strict';\n// https://github.com/zenparsing/es-observable\nvar $export = require('./_export');\nvar global = require('./_global');\nvar core = require('./_core');\nvar microtask = require('./_microtask')();\nvar OBSERVABLE = require('./_wks')('observable');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar anInstance = require('./_an-instance');\nvar redefineAll = require('./_redefine-all');\nvar hide = require('./_hide');\nvar forOf = require('./_for-of');\nvar RETURN = forOf.RETURN;\n\nvar getMethod = function (fn) {\n return fn == null ? undefined : aFunction(fn);\n};\n\nvar cleanupSubscription = function (subscription) {\n var cleanup = subscription._c;\n if (cleanup) {\n subscription._c = undefined;\n cleanup();\n }\n};\n\nvar subscriptionClosed = function (subscription) {\n return subscription._o === undefined;\n};\n\nvar closeSubscription = function (subscription) {\n if (!subscriptionClosed(subscription)) {\n subscription._o = undefined;\n cleanupSubscription(subscription);\n }\n};\n\nvar Subscription = function (observer, subscriber) {\n anObject(observer);\n this._c = undefined;\n this._o = observer;\n observer = new SubscriptionObserver(this);\n try {\n var cleanup = subscriber(observer);\n var subscription = cleanup;\n if (cleanup != null) {\n if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); };\n else aFunction(cleanup);\n this._c = cleanup;\n }\n } catch (e) {\n observer.error(e);\n return;\n } if (subscriptionClosed(this)) cleanupSubscription(this);\n};\n\nSubscription.prototype = redefineAll({}, {\n unsubscribe: function unsubscribe() { closeSubscription(this); }\n});\n\nvar SubscriptionObserver = function (subscription) {\n this._s = subscription;\n};\n\nSubscriptionObserver.prototype = redefineAll({}, {\n next: function next(value) {\n var subscription = this._s;\n if (!subscriptionClosed(subscription)) {\n var observer = subscription._o;\n try {\n var m = getMethod(observer.next);\n if (m) return m.call(observer, value);\n } catch (e) {\n try {\n closeSubscription(subscription);\n } finally {\n throw e;\n }\n }\n }\n },\n error: function error(value) {\n var subscription = this._s;\n if (subscriptionClosed(subscription)) throw value;\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.error);\n if (!m) throw value;\n value = m.call(observer, value);\n } catch (e) {\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n },\n complete: function complete(value) {\n var subscription = this._s;\n if (!subscriptionClosed(subscription)) {\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.complete);\n value = m ? m.call(observer, value) : undefined;\n } catch (e) {\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n }\n }\n});\n\nvar $Observable = function Observable(subscriber) {\n anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);\n};\n\nredefineAll($Observable.prototype, {\n subscribe: function subscribe(observer) {\n return new Subscription(observer, this._f);\n },\n forEach: function forEach(fn) {\n var that = this;\n return new (core.Promise || global.Promise)(function (resolve, reject) {\n aFunction(fn);\n var subscription = that.subscribe({\n next: function (value) {\n try {\n return fn(value);\n } catch (e) {\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n }\n});\n\nredefineAll($Observable, {\n from: function from(x) {\n var C = typeof this === 'function' ? this : $Observable;\n var method = getMethod(anObject(x)[OBSERVABLE]);\n if (method) {\n var observable = anObject(method.call(x));\n return observable.constructor === C ? observable : new C(function (observer) {\n return observable.subscribe(observer);\n });\n }\n return new C(function (observer) {\n var done = false;\n microtask(function () {\n if (!done) {\n try {\n if (forOf(x, false, function (it) {\n observer.next(it);\n if (done) return RETURN;\n }) === RETURN) return;\n } catch (e) {\n if (done) throw e;\n observer.error(e);\n return;\n } observer.complete();\n }\n });\n return function () { done = true; };\n });\n },\n of: function of() {\n for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++];\n return new (typeof this === 'function' ? this : $Observable)(function (observer) {\n var done = false;\n microtask(function () {\n if (!done) {\n for (var j = 0; j < items.length; ++j) {\n observer.next(items[j]);\n if (done) return;\n } observer.complete();\n }\n });\n return function () { done = true; };\n });\n }\n});\n\nhide($Observable.prototype, OBSERVABLE, function () { return this; });\n\n$export($export.G, { Observable: $Observable });\n\nrequire('./_set-species')('Observable');\n","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global');\nvar $export = require('./_export');\nvar userAgent = require('./_user-agent');\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar wrap = function (set) {\n return function (fn, time /* , ...args */) {\n var boundArgs = arguments.length > 2;\n var args = boundArgs ? slice.call(arguments, 2) : false;\n return set(boundArgs ? function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n } : fn, time);\n };\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\n","var $export = require('./_export');\nvar $task = require('./_task');\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","/**\n * Copyright (c) 2014, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n * additional grant of patent rights can be found in the PATENTS file in\n * the same directory.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n if (typeof global.process === \"object\" && global.process.domain) {\n invoke = global.process.domain.bind(invoke);\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // Among the various tricks for obtaining a reference to the global\n // object, this seems to be the most reliable technique that does not\n // use indirect eval (which violates Content Security Policy).\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this\n);\n","require('../../modules/core.regexp.escape');\nmodule.exports = require('../../modules/_core').RegExp.escape;\n","// https://github.com/benjamingr/RexExp.escape\nvar $export = require('./_export');\nvar $re = require('./_replacer')(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\n$export($export.S, 'RegExp', { escape: function escape(it) { return $re(it); } });\n","module.exports = function (regExp, replace) {\n var replacer = replace === Object(replace) ? function (part) {\n return replace[part];\n } : replace;\n return function (it) {\n return String(it).replace(regExp, replacer);\n };\n};\n","var originalFunctionToString;\n/** Patch toString calls to return proper name for wrapped functions */\nvar FunctionToString = /** @class */ (function () {\n function FunctionToString() {\n /**\n * @inheritDoc\n */\n this.name = FunctionToString.id;\n }\n /**\n * @inheritDoc\n */\n FunctionToString.prototype.setupOnce = function () {\n originalFunctionToString = Function.prototype.toString;\n Function.prototype.toString = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var context = this.__sentry__ ? this.__sentry_original__ : this;\n // tslint:disable-next-line:no-unsafe-any\n return originalFunctionToString.apply(context, args);\n };\n };\n /**\n * @inheritDoc\n */\n FunctionToString.id = 'FunctionToString';\n return FunctionToString;\n}());\nexport { FunctionToString };\n//# sourceMappingURL=functiontostring.js.map","import * as tslib_1 from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { getEventDescription, isMatchingPattern, logger } from '@sentry/utils';\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nvar DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\n/** Inbound filters configurable by the user */\nvar InboundFilters = /** @class */ (function () {\n function InboundFilters(_options) {\n if (_options === void 0) { _options = {}; }\n this._options = _options;\n /**\n * @inheritDoc\n */\n this.name = InboundFilters.id;\n }\n /**\n * @inheritDoc\n */\n InboundFilters.prototype.setupOnce = function () {\n addGlobalEventProcessor(function (event) {\n var hub = getCurrentHub();\n if (!hub) {\n return event;\n }\n var self = hub.getIntegration(InboundFilters);\n if (self) {\n var client = hub.getClient();\n var clientOptions = client ? client.getOptions() : {};\n var options = self._mergeOptions(clientOptions);\n if (self._shouldDropEvent(event, options)) {\n return null;\n }\n }\n return event;\n });\n };\n /** JSDoc */\n InboundFilters.prototype._shouldDropEvent = function (event, options) {\n if (this._isSentryError(event, options)) {\n logger.warn(\"Event dropped due to being internal Sentry Error.\\nEvent: \" + getEventDescription(event));\n return true;\n }\n if (this._isIgnoredError(event, options)) {\n logger.warn(\"Event dropped due to being matched by `ignoreErrors` option.\\nEvent: \" + getEventDescription(event));\n return true;\n }\n if (this._isBlacklistedUrl(event, options)) {\n logger.warn(\"Event dropped due to being matched by `blacklistUrls` option.\\nEvent: \" + getEventDescription(event) + \".\\nUrl: \" + this._getEventFilterUrl(event));\n return true;\n }\n if (!this._isWhitelistedUrl(event, options)) {\n logger.warn(\"Event dropped due to not being matched by `whitelistUrls` option.\\nEvent: \" + getEventDescription(event) + \".\\nUrl: \" + this._getEventFilterUrl(event));\n return true;\n }\n return false;\n };\n /** JSDoc */\n InboundFilters.prototype._isSentryError = function (event, options) {\n if (options === void 0) { options = {}; }\n if (!options.ignoreInternal) {\n return false;\n }\n try {\n // tslint:disable-next-line:no-unsafe-any\n return event.exception.values[0].type === 'SentryError';\n }\n catch (_oO) {\n return false;\n }\n };\n /** JSDoc */\n InboundFilters.prototype._isIgnoredError = function (event, options) {\n if (options === void 0) { options = {}; }\n if (!options.ignoreErrors || !options.ignoreErrors.length) {\n return false;\n }\n return this._getPossibleEventMessages(event).some(function (message) {\n // Not sure why TypeScript complains here...\n return options.ignoreErrors.some(function (pattern) { return isMatchingPattern(message, pattern); });\n });\n };\n /** JSDoc */\n InboundFilters.prototype._isBlacklistedUrl = function (event, options) {\n if (options === void 0) { options = {}; }\n // TODO: Use Glob instead?\n if (!options.blacklistUrls || !options.blacklistUrls.length) {\n return false;\n }\n var url = this._getEventFilterUrl(event);\n return !url ? false : options.blacklistUrls.some(function (pattern) { return isMatchingPattern(url, pattern); });\n };\n /** JSDoc */\n InboundFilters.prototype._isWhitelistedUrl = function (event, options) {\n if (options === void 0) { options = {}; }\n // TODO: Use Glob instead?\n if (!options.whitelistUrls || !options.whitelistUrls.length) {\n return true;\n }\n var url = this._getEventFilterUrl(event);\n return !url ? true : options.whitelistUrls.some(function (pattern) { return isMatchingPattern(url, pattern); });\n };\n /** JSDoc */\n InboundFilters.prototype._mergeOptions = function (clientOptions) {\n if (clientOptions === void 0) { clientOptions = {}; }\n return {\n blacklistUrls: tslib_1.__spread((this._options.blacklistUrls || []), (clientOptions.blacklistUrls || [])),\n ignoreErrors: tslib_1.__spread((this._options.ignoreErrors || []), (clientOptions.ignoreErrors || []), DEFAULT_IGNORE_ERRORS),\n ignoreInternal: typeof this._options.ignoreInternal !== 'undefined' ? this._options.ignoreInternal : true,\n whitelistUrls: tslib_1.__spread((this._options.whitelistUrls || []), (clientOptions.whitelistUrls || [])),\n };\n };\n /** JSDoc */\n InboundFilters.prototype._getPossibleEventMessages = function (event) {\n if (event.message) {\n return [event.message];\n }\n if (event.exception) {\n try {\n // tslint:disable-next-line:no-unsafe-any\n var _a = event.exception.values[0], type = _a.type, value = _a.value;\n return [\"\" + value, type + \": \" + value];\n }\n catch (oO) {\n logger.error(\"Cannot extract message for event \" + getEventDescription(event));\n return [];\n }\n }\n return [];\n };\n /** JSDoc */\n InboundFilters.prototype._getEventFilterUrl = function (event) {\n try {\n if (event.stacktrace) {\n // tslint:disable:no-unsafe-any\n var frames_1 = event.stacktrace.frames;\n return frames_1[frames_1.length - 1].filename;\n }\n if (event.exception) {\n // tslint:disable:no-unsafe-any\n var frames_2 = event.exception.values[0].stacktrace.frames;\n return frames_2[frames_2.length - 1].filename;\n }\n return null;\n }\n catch (oO) {\n logger.error(\"Cannot extract url for event \" + getEventDescription(event));\n return null;\n }\n };\n /**\n * @inheritDoc\n */\n InboundFilters.id = 'InboundFilters';\n return InboundFilters;\n}());\nexport { InboundFilters };\n//# sourceMappingURL=inboundfilters.js.map","export var setPrototypeOf = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties); // tslint:disable-line:no-unbound-method\n/**\n * setPrototypeOf polyfill using __proto__\n */\nfunction setProtoOf(obj, proto) {\n // @ts-ignore\n obj.__proto__ = proto;\n return obj;\n}\n/**\n * setPrototypeOf polyfill using mixin\n */\nfunction mixinProperties(obj, proto) {\n for (var prop in proto) {\n if (!obj.hasOwnProperty(prop)) {\n // @ts-ignore\n obj[prop] = proto[prop];\n }\n }\n return obj;\n}\n//# sourceMappingURL=polyfill.js.map","import * as tslib_1 from \"tslib\";\nimport { setPrototypeOf } from './polyfill';\n/** An error emitted by Sentry SDKs and related utilities. */\nvar SentryError = /** @class */ (function (_super) {\n tslib_1.__extends(SentryError, _super);\n function SentryError(message) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, message) || this;\n _this.message = message;\n // tslint:disable:no-unsafe-any\n _this.name = _newTarget.prototype.constructor.name;\n setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return SentryError;\n}(Error));\nexport { SentryError };\n//# sourceMappingURL=error.js.map","import * as tslib_1 from \"tslib\";\nimport { SentryError } from '@sentry/utils';\n/** Regular expression used to parse a Dsn. */\nvar DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+))?@)([\\w\\.-]+)(?::(\\d+))?\\/(.+)/;\n/** Error message */\nvar ERROR_MESSAGE = 'Invalid Dsn';\n/** The Sentry Dsn, identifying a Sentry instance and project. */\nvar Dsn = /** @class */ (function () {\n /** Creates a new Dsn component */\n function Dsn(from) {\n if (typeof from === 'string') {\n this._fromString(from);\n }\n else {\n this._fromComponents(from);\n }\n this._validate();\n }\n /**\n * Renders the string representation of this Dsn.\n *\n * By default, this will render the public representation without the password\n * component. To get the deprecated private _representation, set `withPassword`\n * to true.\n *\n * @param withPassword When set to true, the password will be included.\n */\n Dsn.prototype.toString = function (withPassword) {\n if (withPassword === void 0) { withPassword = false; }\n // tslint:disable-next-line:no-this-assignment\n var _a = this, host = _a.host, path = _a.path, pass = _a.pass, port = _a.port, projectId = _a.projectId, protocol = _a.protocol, user = _a.user;\n return (protocol + \"://\" + user + (withPassword && pass ? \":\" + pass : '') +\n (\"@\" + host + (port ? \":\" + port : '') + \"/\" + (path ? path + \"/\" : path) + projectId));\n };\n /** Parses a string into this Dsn. */\n Dsn.prototype._fromString = function (str) {\n var match = DSN_REGEX.exec(str);\n if (!match) {\n throw new SentryError(ERROR_MESSAGE);\n }\n var _a = tslib_1.__read(match.slice(1), 6), protocol = _a[0], user = _a[1], _b = _a[2], pass = _b === void 0 ? '' : _b, host = _a[3], _c = _a[4], port = _c === void 0 ? '' : _c, lastPath = _a[5];\n var path = '';\n var projectId = lastPath;\n var split = projectId.split('/');\n if (split.length > 1) {\n path = split.slice(0, -1).join('/');\n projectId = split.pop();\n }\n this._fromComponents({ host: host, pass: pass, path: path, projectId: projectId, port: port, protocol: protocol, user: user });\n };\n /** Maps Dsn components into this instance. */\n Dsn.prototype._fromComponents = function (components) {\n this.protocol = components.protocol;\n this.user = components.user;\n this.pass = components.pass || '';\n this.host = components.host;\n this.port = components.port || '';\n this.path = components.path || '';\n this.projectId = components.projectId;\n };\n /** Validates this Dsn and throws on error. */\n Dsn.prototype._validate = function () {\n var _this = this;\n ['protocol', 'user', 'host', 'projectId'].forEach(function (component) {\n if (!_this[component]) {\n throw new SentryError(ERROR_MESSAGE);\n }\n });\n if (this.protocol !== 'http' && this.protocol !== 'https') {\n throw new SentryError(ERROR_MESSAGE);\n }\n if (this.port && isNaN(parseInt(this.port, 10))) {\n throw new SentryError(ERROR_MESSAGE);\n }\n };\n return Dsn;\n}());\nexport { Dsn };\n//# sourceMappingURL=dsn.js.map","import { urlEncode } from '@sentry/utils';\nimport { Dsn } from './dsn';\nvar SENTRY_API_VERSION = '7';\n/** Helper class to provide urls to different Sentry endpoints. */\nvar API = /** @class */ (function () {\n /** Create a new instance of API */\n function API(dsn) {\n this.dsn = dsn;\n this._dsnObject = new Dsn(dsn);\n }\n /** Returns the Dsn object. */\n API.prototype.getDsn = function () {\n return this._dsnObject;\n };\n /** Returns a string with auth headers in the url to the store endpoint. */\n API.prototype.getStoreEndpoint = function () {\n return \"\" + this._getBaseUrl() + this.getStoreEndpointPath();\n };\n /** Returns the store endpoint with auth added in url encoded. */\n API.prototype.getStoreEndpointWithUrlEncodedAuth = function () {\n var dsn = this._dsnObject;\n var auth = {\n sentry_key: dsn.user,\n sentry_version: SENTRY_API_VERSION,\n };\n // Auth is intentionally sent as part of query string (NOT as custom HTTP header)\n // to avoid preflight CORS requests\n return this.getStoreEndpoint() + \"?\" + urlEncode(auth);\n };\n /** Returns the base path of the url including the port. */\n API.prototype._getBaseUrl = function () {\n var dsn = this._dsnObject;\n var protocol = dsn.protocol ? dsn.protocol + \":\" : '';\n var port = dsn.port ? \":\" + dsn.port : '';\n return protocol + \"//\" + dsn.host + port;\n };\n /** Returns only the path component for the store endpoint. */\n API.prototype.getStoreEndpointPath = function () {\n var dsn = this._dsnObject;\n return (dsn.path ? \"/\" + dsn.path : '') + \"/api/\" + dsn.projectId + \"/store/\";\n };\n /** Returns an object that can be used in request headers. */\n API.prototype.getRequestHeaders = function (clientName, clientVersion) {\n var dsn = this._dsnObject;\n var header = [\"Sentry sentry_version=\" + SENTRY_API_VERSION];\n header.push(\"sentry_timestamp=\" + new Date().getTime());\n header.push(\"sentry_client=\" + clientName + \"/\" + clientVersion);\n header.push(\"sentry_key=\" + dsn.user);\n if (dsn.pass) {\n header.push(\"sentry_secret=\" + dsn.pass);\n }\n return {\n 'Content-Type': 'application/json',\n 'X-Sentry-Auth': header.join(', '),\n };\n };\n /** Returns the url to the report dialog endpoint. */\n API.prototype.getReportDialogEndpoint = function (dialogOptions) {\n if (dialogOptions === void 0) { dialogOptions = {}; }\n var dsn = this._dsnObject;\n var endpoint = \"\" + this._getBaseUrl() + (dsn.path ? \"/\" + dsn.path : '') + \"/api/embed/error-page/\";\n var encodedOptions = [];\n encodedOptions.push(\"dsn=\" + dsn.toString());\n for (var key in dialogOptions) {\n if (key === 'user') {\n if (!dialogOptions.user) {\n continue;\n }\n if (dialogOptions.user.name) {\n encodedOptions.push(\"name=\" + encodeURIComponent(dialogOptions.user.name));\n }\n if (dialogOptions.user.email) {\n encodedOptions.push(\"email=\" + encodeURIComponent(dialogOptions.user.email));\n }\n }\n else {\n encodedOptions.push(encodeURIComponent(key) + \"=\" + encodeURIComponent(dialogOptions[key]));\n }\n }\n if (encodedOptions.length) {\n return endpoint + \"?\" + encodedOptions.join('&');\n }\n return endpoint;\n };\n return API;\n}());\nexport { API };\n//# sourceMappingURL=api.js.map","import * as tslib_1 from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { logger } from '@sentry/utils';\nexport var installedIntegrations = [];\n/** Gets integration to install */\nexport function getIntegrationsToSetup(options) {\n var defaultIntegrations = (options.defaultIntegrations && tslib_1.__spread(options.defaultIntegrations)) || [];\n var userIntegrations = options.integrations;\n var integrations = [];\n if (Array.isArray(userIntegrations)) {\n var userIntegrationsNames_1 = userIntegrations.map(function (i) { return i.name; });\n var pickedIntegrationsNames_1 = [];\n // Leave only unique default integrations, that were not overridden with provided user integrations\n defaultIntegrations.forEach(function (defaultIntegration) {\n if (userIntegrationsNames_1.indexOf(defaultIntegration.name) === -1 &&\n pickedIntegrationsNames_1.indexOf(defaultIntegration.name) === -1) {\n integrations.push(defaultIntegration);\n pickedIntegrationsNames_1.push(defaultIntegration.name);\n }\n });\n // Don't add same user integration twice\n userIntegrations.forEach(function (userIntegration) {\n if (pickedIntegrationsNames_1.indexOf(userIntegration.name) === -1) {\n integrations.push(userIntegration);\n pickedIntegrationsNames_1.push(userIntegration.name);\n }\n });\n }\n else if (typeof userIntegrations === 'function') {\n integrations = userIntegrations(defaultIntegrations);\n integrations = Array.isArray(integrations) ? integrations : [integrations];\n }\n else {\n return tslib_1.__spread(defaultIntegrations);\n }\n return integrations;\n}\n/** Setup given integration */\nexport function setupIntegration(integration) {\n if (installedIntegrations.indexOf(integration.name) !== -1) {\n return;\n }\n integration.setupOnce(addGlobalEventProcessor, getCurrentHub);\n installedIntegrations.push(integration.name);\n logger.log(\"Integration installed: \" + integration.name);\n}\n/**\n * Given a list of integration instances this installs them all. When `withDefaults` is set to `true` then all default\n * integrations are added unless they were already provided before.\n * @param integrations array of integration instances\n * @param withDefault should enable default integrations\n */\nexport function setupIntegrations(options) {\n var integrations = {};\n getIntegrationsToSetup(options).forEach(function (integration) {\n integrations[integration.name] = integration;\n setupIntegration(integration);\n });\n return integrations;\n}\n//# sourceMappingURL=integration.js.map","import * as tslib_1 from \"tslib\";\nimport { isPrimitive, isThenable, logger, SyncPromise, truncate, uuid4 } from '@sentry/utils';\nimport { Dsn } from './dsn';\nimport { setupIntegrations } from './integration';\n/**\n * Base implementation for all JavaScript SDK clients.\n *\n * Call the constructor with the corresponding backend constructor and options\n * specific to the client subclass. To access these options later, use\n * {@link Client.getOptions}. Also, the Backend instance is available via\n * {@link Client.getBackend}.\n *\n * If a Dsn is specified in the options, it will be parsed and stored. Use\n * {@link Client.getDsn} to retrieve the Dsn at any moment. In case the Dsn is\n * invalid, the constructor will throw a {@link SentryException}. Note that\n * without a valid Dsn, the SDK will not send any events to Sentry.\n *\n * Before sending an event via the backend, it is passed through\n * {@link BaseClient.prepareEvent} to add SDK information and scope data\n * (breadcrumbs and context). To add more custom information, override this\n * method and extend the resulting prepared event.\n *\n * To issue automatically created events (e.g. via instrumentation), use\n * {@link Client.captureEvent}. It will prepare the event and pass it through\n * the callback lifecycle. To issue auto-breadcrumbs, use\n * {@link Client.addBreadcrumb}.\n *\n * @example\n * class NodeClient extends BaseClient<NodeBackend, NodeOptions> {\n * public constructor(options: NodeOptions) {\n * super(NodeBackend, options);\n * }\n *\n * // ...\n * }\n */\nvar BaseClient = /** @class */ (function () {\n /**\n * Initializes this client instance.\n *\n * @param backendClass A constructor function to create the backend.\n * @param options Options for the client.\n */\n function BaseClient(backendClass, options) {\n /** Array of used integrations. */\n this._integrations = {};\n /** Is the client still processing a call? */\n this._processing = false;\n this._backend = new backendClass(options);\n this._options = options;\n if (options.dsn) {\n this._dsn = new Dsn(options.dsn);\n }\n if (this._isEnabled()) {\n this._integrations = setupIntegrations(this._options);\n }\n }\n /**\n * @inheritDoc\n */\n BaseClient.prototype.captureException = function (exception, hint, scope) {\n var _this = this;\n var eventId = hint && hint.event_id;\n this._processing = true;\n this._getBackend()\n .eventFromException(exception, hint)\n .then(function (event) { return _this._processEvent(event, hint, scope); })\n .then(function (finalEvent) {\n // We need to check for finalEvent in case beforeSend returned null\n eventId = finalEvent && finalEvent.event_id;\n _this._processing = false;\n })\n .then(null, function (reason) {\n logger.error(reason);\n _this._processing = false;\n });\n return eventId;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.captureMessage = function (message, level, hint, scope) {\n var _this = this;\n var eventId = hint && hint.event_id;\n this._processing = true;\n var promisedEvent = isPrimitive(message)\n ? this._getBackend().eventFromMessage(\"\" + message, level, hint)\n : this._getBackend().eventFromException(message, hint);\n promisedEvent\n .then(function (event) { return _this._processEvent(event, hint, scope); })\n .then(function (finalEvent) {\n // We need to check for finalEvent in case beforeSend returned null\n eventId = finalEvent && finalEvent.event_id;\n _this._processing = false;\n })\n .then(null, function (reason) {\n logger.error(reason);\n _this._processing = false;\n });\n return eventId;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.captureEvent = function (event, hint, scope) {\n var _this = this;\n var eventId = hint && hint.event_id;\n this._processing = true;\n this._processEvent(event, hint, scope)\n .then(function (finalEvent) {\n // We need to check for finalEvent in case beforeSend returned null\n eventId = finalEvent && finalEvent.event_id;\n _this._processing = false;\n })\n .then(null, function (reason) {\n logger.error(reason);\n _this._processing = false;\n });\n return eventId;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getDsn = function () {\n return this._dsn;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getOptions = function () {\n return this._options;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.flush = function (timeout) {\n var _this = this;\n return this._isClientProcessing(timeout).then(function (status) {\n clearInterval(status.interval);\n return _this._getBackend()\n .getTransport()\n .close(timeout)\n .then(function (transportFlushed) { return status.ready && transportFlushed; });\n });\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.close = function (timeout) {\n var _this = this;\n return this.flush(timeout).then(function (result) {\n _this.getOptions().enabled = false;\n return result;\n });\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getIntegrations = function () {\n return this._integrations || {};\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getIntegration = function (integration) {\n try {\n return this._integrations[integration.id] || null;\n }\n catch (_oO) {\n logger.warn(\"Cannot retrieve integration \" + integration.id + \" from the current Client\");\n return null;\n }\n };\n /** Waits for the client to be done with processing. */\n BaseClient.prototype._isClientProcessing = function (timeout) {\n var _this = this;\n return new SyncPromise(function (resolve) {\n var ticked = 0;\n var tick = 1;\n var interval = 0;\n clearInterval(interval);\n interval = setInterval(function () {\n if (!_this._processing) {\n resolve({\n interval: interval,\n ready: true,\n });\n }\n else {\n ticked += tick;\n if (timeout && ticked >= timeout) {\n resolve({\n interval: interval,\n ready: false,\n });\n }\n }\n }, tick);\n });\n };\n /** Returns the current backend. */\n BaseClient.prototype._getBackend = function () {\n return this._backend;\n };\n /** Determines whether this SDK is enabled and a valid Dsn is present. */\n BaseClient.prototype._isEnabled = function () {\n return this.getOptions().enabled !== false && this._dsn !== undefined;\n };\n /**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional informartion about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A new event with more information.\n */\n BaseClient.prototype._prepareEvent = function (event, scope, hint) {\n var _a = this.getOptions(), environment = _a.environment, release = _a.release, dist = _a.dist, _b = _a.maxValueLength, maxValueLength = _b === void 0 ? 250 : _b;\n var prepared = tslib_1.__assign({}, event);\n if (prepared.environment === undefined && environment !== undefined) {\n prepared.environment = environment;\n }\n if (prepared.release === undefined && release !== undefined) {\n prepared.release = release;\n }\n if (prepared.dist === undefined && dist !== undefined) {\n prepared.dist = dist;\n }\n if (prepared.message) {\n prepared.message = truncate(prepared.message, maxValueLength);\n }\n var exception = prepared.exception && prepared.exception.values && prepared.exception.values[0];\n if (exception && exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n var request = prepared.request;\n if (request && request.url) {\n request.url = truncate(request.url, maxValueLength);\n }\n if (prepared.event_id === undefined) {\n prepared.event_id = uuid4();\n }\n this._addIntegrations(prepared.sdk);\n // We prepare the result here with a resolved Event.\n var result = SyncPromise.resolve(prepared);\n // This should be the last thing called, since we want that\n // {@link Hub.addEventProcessor} gets the finished prepared event.\n if (scope) {\n // In case we have a hub we reassign it.\n result = scope.applyToEvent(prepared, hint);\n }\n return result;\n };\n /**\n * This function adds all used integrations to the SDK info in the event.\n * @param sdkInfo The sdkInfo of the event that will be filled with all integrations.\n */\n BaseClient.prototype._addIntegrations = function (sdkInfo) {\n var integrationsArray = Object.keys(this._integrations);\n if (sdkInfo && integrationsArray.length > 0) {\n sdkInfo.integrations = integrationsArray;\n }\n };\n /**\n * Processes an event (either error or message) and sends it to Sentry.\n *\n * This also adds breadcrumbs and context information to the event. However,\n * platform specific meta data (such as the User's IP address) must be added\n * by the SDK implementor.\n *\n *\n * @param event The event to send to Sentry.\n * @param hint May contain additional informartion about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n */\n BaseClient.prototype._processEvent = function (event, hint, scope) {\n var _this = this;\n var _a = this.getOptions(), beforeSend = _a.beforeSend, sampleRate = _a.sampleRate;\n if (!this._isEnabled()) {\n return SyncPromise.reject('SDK not enabled, will not send event.');\n }\n // 1.0 === 100% events are sent\n // 0.0 === 0% events are sent\n if (typeof sampleRate === 'number' && Math.random() > sampleRate) {\n return SyncPromise.reject('This event has been sampled, will not send event.');\n }\n return new SyncPromise(function (resolve, reject) {\n _this._prepareEvent(event, scope, hint)\n .then(function (prepared) {\n if (prepared === null) {\n reject('An event processor returned null, will not send event.');\n return;\n }\n var finalEvent = prepared;\n try {\n var isInternalException = hint && hint.data && hint.data.__sentry__ === true;\n if (isInternalException || !beforeSend) {\n _this._getBackend().sendEvent(finalEvent);\n resolve(finalEvent);\n return;\n }\n var beforeSendResult = beforeSend(prepared, hint);\n if (typeof beforeSendResult === 'undefined') {\n logger.error('`beforeSend` method has to return `null` or a valid event.');\n }\n else if (isThenable(beforeSendResult)) {\n _this._handleAsyncBeforeSend(beforeSendResult, resolve, reject);\n }\n else {\n finalEvent = beforeSendResult;\n if (finalEvent === null) {\n logger.log('`beforeSend` returned `null`, will not send event.');\n resolve(null);\n return;\n }\n // From here on we are really async\n _this._getBackend().sendEvent(finalEvent);\n resolve(finalEvent);\n }\n }\n catch (exception) {\n _this.captureException(exception, {\n data: {\n __sentry__: true,\n },\n originalException: exception,\n });\n reject('`beforeSend` threw an error, will not send event.');\n }\n })\n .then(null, function () {\n reject('`beforeSend` threw an error, will not send event.');\n });\n });\n };\n /**\n * Resolves before send Promise and calls resolve/reject on parent SyncPromise.\n */\n BaseClient.prototype._handleAsyncBeforeSend = function (beforeSend, resolve, reject) {\n var _this = this;\n beforeSend\n .then(function (processedEvent) {\n if (processedEvent === null) {\n reject('`beforeSend` returned `null`, will not send event.');\n return;\n }\n // From here on we are really async\n _this._getBackend().sendEvent(processedEvent);\n resolve(processedEvent);\n })\n .then(null, function (e) {\n reject(\"beforeSend rejected with \" + e);\n });\n };\n return BaseClient;\n}());\nexport { BaseClient };\n//# sourceMappingURL=baseclient.js.map","/** The status of an event. */\nexport var Status;\n(function (Status) {\n /** The status could not be determined. */\n Status[\"Unknown\"] = \"unknown\";\n /** The event was skipped due to configuration or callbacks. */\n Status[\"Skipped\"] = \"skipped\";\n /** The event was sent to Sentry successfully. */\n Status[\"Success\"] = \"success\";\n /** The client is currently rate limited and will try again later. */\n Status[\"RateLimit\"] = \"rate_limit\";\n /** The event could not be processed. */\n Status[\"Invalid\"] = \"invalid\";\n /** A server-side error ocurred during submission. */\n Status[\"Failed\"] = \"failed\";\n})(Status || (Status = {}));\n// tslint:disable:completed-docs\n// tslint:disable:no-unnecessary-qualifier no-namespace\n(function (Status) {\n /**\n * Converts a HTTP status code into a {@link Status}.\n *\n * @param code The HTTP response status code.\n * @returns The send status or {@link Status.Unknown}.\n */\n function fromHttpCode(code) {\n if (code >= 200 && code < 300) {\n return Status.Success;\n }\n if (code === 429) {\n return Status.RateLimit;\n }\n if (code >= 400 && code < 500) {\n return Status.Invalid;\n }\n if (code >= 500) {\n return Status.Failed;\n }\n return Status.Unknown;\n }\n Status.fromHttpCode = fromHttpCode;\n})(Status || (Status = {}));\n//# sourceMappingURL=status.js.map","import { Status } from '@sentry/types';\nimport { SyncPromise } from '@sentry/utils';\n/** Noop transport */\nvar NoopTransport = /** @class */ (function () {\n function NoopTransport() {\n }\n /**\n * @inheritDoc\n */\n NoopTransport.prototype.sendEvent = function (_) {\n return SyncPromise.resolve({\n reason: \"NoopTransport: Event has been skipped because no Dsn is configured.\",\n status: Status.Skipped,\n });\n };\n /**\n * @inheritDoc\n */\n NoopTransport.prototype.close = function (_) {\n return SyncPromise.resolve(true);\n };\n return NoopTransport;\n}());\nexport { NoopTransport };\n//# sourceMappingURL=noop.js.map","/** JSDoc */\nexport var Severity;\n(function (Severity) {\n /** JSDoc */\n Severity[\"Fatal\"] = \"fatal\";\n /** JSDoc */\n Severity[\"Error\"] = \"error\";\n /** JSDoc */\n Severity[\"Warning\"] = \"warning\";\n /** JSDoc */\n Severity[\"Log\"] = \"log\";\n /** JSDoc */\n Severity[\"Info\"] = \"info\";\n /** JSDoc */\n Severity[\"Debug\"] = \"debug\";\n /** JSDoc */\n Severity[\"Critical\"] = \"critical\";\n})(Severity || (Severity = {}));\n// tslint:disable:completed-docs\n// tslint:disable:no-unnecessary-qualifier no-namespace\n(function (Severity) {\n /**\n * Converts a string-based level into a {@link Severity}.\n *\n * @param level string representation of Severity\n * @returns Severity\n */\n function fromString(level) {\n switch (level) {\n case 'debug':\n return Severity.Debug;\n case 'info':\n return Severity.Info;\n case 'warn':\n case 'warning':\n return Severity.Warning;\n case 'error':\n return Severity.Error;\n case 'fatal':\n return Severity.Fatal;\n case 'critical':\n return Severity.Critical;\n case 'log':\n default:\n return Severity.Log;\n }\n }\n Severity.fromString = fromString;\n})(Severity || (Severity = {}));\n//# sourceMappingURL=severity.js.map","import { logger, SentryError } from '@sentry/utils';\nimport { NoopTransport } from './transports/noop';\n/**\n * This is the base implemention of a Backend.\n * @hidden\n */\nvar BaseBackend = /** @class */ (function () {\n /** Creates a new backend instance. */\n function BaseBackend(options) {\n this._options = options;\n if (!this._options.dsn) {\n logger.warn('No DSN provided, backend will not do anything.');\n }\n this._transport = this._setupTransport();\n }\n /**\n * Sets up the transport so it can be used later to send requests.\n */\n BaseBackend.prototype._setupTransport = function () {\n return new NoopTransport();\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.eventFromException = function (_exception, _hint) {\n throw new SentryError('Backend has to implement `eventFromException` method');\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.eventFromMessage = function (_message, _level, _hint) {\n throw new SentryError('Backend has to implement `eventFromMessage` method');\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.sendEvent = function (event) {\n this._transport.sendEvent(event).then(null, function (reason) {\n logger.error(\"Error while sending event: \" + reason);\n });\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.getTransport = function () {\n return this._transport;\n };\n return BaseBackend;\n}());\nexport { BaseBackend };\n//# sourceMappingURL=basebackend.js.map","import { logger } from './logger';\nimport { getGlobalObject } from './misc';\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsErrorEvent() {\n try {\n // tslint:disable:no-unused-expression\n new ErrorEvent('');\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMError() {\n try {\n // It really needs 1 argument, not 0.\n // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n // 1 argument required, but only 0 present.\n // @ts-ignore\n // tslint:disable:no-unused-expression\n new DOMError('');\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMException() {\n try {\n // tslint:disable:no-unused-expression\n new DOMException('');\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsFetch() {\n if (!('fetch' in getGlobalObject())) {\n return false;\n }\n try {\n // tslint:disable-next-line:no-unused-expression\n new Headers();\n // tslint:disable-next-line:no-unused-expression\n new Request('');\n // tslint:disable-next-line:no-unused-expression\n new Response();\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports Fetch API natively\n * {@link supportsNativeFetch}.\n *\n * @returns true if `window.fetch` is natively implemented, false otherwise\n */\nexport function supportsNativeFetch() {\n if (!supportsFetch()) {\n return false;\n }\n var isNativeFunc = function (func) { return func.toString().indexOf('native') !== -1; };\n var global = getGlobalObject();\n var result = null;\n var doc = global.document;\n if (doc) {\n var sandbox = doc.createElement('iframe');\n sandbox.hidden = true;\n try {\n doc.head.appendChild(sandbox);\n if (sandbox.contentWindow && sandbox.contentWindow.fetch) {\n // tslint:disable-next-line no-unbound-method\n result = isNativeFunc(sandbox.contentWindow.fetch);\n }\n doc.head.removeChild(sandbox);\n }\n catch (err) {\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n if (result === null) {\n // tslint:disable-next-line no-unbound-method\n result = isNativeFunc(global.fetch);\n }\n return result;\n}\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReportingObserver() {\n // tslint:disable-next-line: no-unsafe-any\n return 'ReportingObserver' in getGlobalObject();\n}\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReferrerPolicy() {\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default\n // https://caniuse.com/#feat=referrer-policy\n // It doesn't. And it throw exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n if (!supportsFetch()) {\n return false;\n }\n try {\n // tslint:disable:no-unused-expression\n new Request('_', {\n referrerPolicy: 'origin',\n });\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsHistory() {\n // NOTE: in Chrome App environment, touching history.pushState, *even inside\n // a try/catch block*, will cause Chrome to output an error to console.error\n // borrowed from: https://github.com/angular/angular.js/pull/13945/files\n var global = getGlobalObject();\n var chrome = global.chrome;\n // tslint:disable-next-line:no-unsafe-any\n var isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;\n var hasHistoryApi = 'history' in global && !!global.history.pushState && !!global.history.replaceState;\n return !isChromePackagedApp && hasHistoryApi;\n}\n//# sourceMappingURL=supports.js.map","// tslint:disable:object-literal-sort-keys\nimport * as tslib_1 from \"tslib\";\n// global reference to slice\nvar UNKNOWN_FUNCTION = '?';\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\nvar chrome = /^\\s*at (?:(.*?) ?\\()?((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|[-a-z]+:|\\/).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\n// gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\nvar gecko = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js))(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar winjs = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nvar geckoEval = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nvar chromeEval = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n/** JSDoc */\nexport function computeStackTrace(ex) {\n // tslint:disable:no-unsafe-any\n var stack = null;\n var popSize = ex && ex.framesToPop;\n try {\n // This must be tried first because Opera 10 *destroys*\n // its stacktrace property if you try to access the stack\n // property first!!\n stack = computeStackTraceFromStacktraceProp(ex);\n if (stack) {\n return popFrames(stack, popSize);\n }\n }\n catch (e) {\n // no-empty\n }\n try {\n stack = computeStackTraceFromStackProp(ex);\n if (stack) {\n return popFrames(stack, popSize);\n }\n }\n catch (e) {\n // no-empty\n }\n return {\n message: extractMessage(ex),\n name: ex && ex.name,\n stack: [],\n failed: true,\n };\n}\n/** JSDoc */\n// tslint:disable-next-line:cyclomatic-complexity\nfunction computeStackTraceFromStackProp(ex) {\n // tslint:disable:no-conditional-assignment\n if (!ex || !ex.stack) {\n return null;\n }\n var stack = [];\n var lines = ex.stack.split('\\n');\n var isEval;\n var submatch;\n var parts;\n var element;\n for (var i = 0; i < lines.length; ++i) {\n if ((parts = chrome.exec(lines[i]))) {\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n if (isEval && (submatch = chromeEval.exec(parts[2]))) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n parts[3] = submatch[2]; // line\n parts[4] = submatch[3]; // column\n }\n element = {\n url: parts[2],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: isNative ? [parts[2]] : [],\n line: parts[3] ? +parts[3] : null,\n column: parts[4] ? +parts[4] : null,\n };\n }\n else if ((parts = winjs.exec(lines[i]))) {\n element = {\n url: parts[2],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: [],\n line: +parts[3],\n column: parts[4] ? +parts[4] : null,\n };\n }\n else if ((parts = gecko.exec(lines[i]))) {\n isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n if (isEval && (submatch = geckoEval.exec(parts[3]))) {\n // throw out eval line/column and use top-most line number\n parts[1] = parts[1] || \"eval\";\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = ''; // no column when eval\n }\n else if (i === 0 && !parts[5] && ex.columnNumber !== void 0) {\n // FireFox uses this awesome columnNumber property for its top frame\n // Also note, Firefox's column number is 0-based and everything else expects 1-based,\n // so adding 1\n // NOTE: this hack doesn't work if top-most frame is eval\n stack[0].column = ex.columnNumber + 1;\n }\n element = {\n url: parts[3],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: parts[2] ? parts[2].split(',') : [],\n line: parts[4] ? +parts[4] : null,\n column: parts[5] ? +parts[5] : null,\n };\n }\n else {\n continue;\n }\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n stack.push(element);\n }\n if (!stack.length) {\n return null;\n }\n return {\n message: extractMessage(ex),\n name: ex.name,\n stack: stack,\n };\n}\n/** JSDoc */\nfunction computeStackTraceFromStacktraceProp(ex) {\n if (!ex || !ex.stacktrace) {\n return null;\n }\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n var stacktrace = ex.stacktrace;\n var opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n var opera11Regex = / line (\\d+), column (\\d+)\\s*(?:in (?:<anonymous function: ([^>]+)>|([^\\)]+))\\((.*)\\))? in (.*):\\s*$/i;\n var lines = stacktrace.split('\\n');\n var stack = [];\n var parts;\n for (var line = 0; line < lines.length; line += 2) {\n // tslint:disable:no-conditional-assignment\n var element = null;\n if ((parts = opera10Regex.exec(lines[line]))) {\n element = {\n url: parts[2],\n func: parts[3],\n args: [],\n line: +parts[1],\n column: null,\n };\n }\n else if ((parts = opera11Regex.exec(lines[line]))) {\n element = {\n url: parts[6],\n func: parts[3] || parts[4],\n args: parts[5] ? parts[5].split(',') : [],\n line: +parts[1],\n column: +parts[2],\n };\n }\n if (element) {\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n stack.push(element);\n }\n }\n if (!stack.length) {\n return null;\n }\n return {\n message: extractMessage(ex),\n name: ex.name,\n stack: stack,\n };\n}\n/** Remove N number of frames from the stack */\nfunction popFrames(stacktrace, popSize) {\n try {\n return tslib_1.__assign({}, stacktrace, { stack: stacktrace.stack.slice(popSize) });\n }\n catch (e) {\n return stacktrace;\n }\n}\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\nfunction extractMessage(ex) {\n var message = ex && ex.message;\n if (!message) {\n return 'No error message';\n }\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n return message;\n}\n//# sourceMappingURL=tracekit.js.map","import { extractExceptionKeysForMessage, isEvent, normalizeToSize } from '@sentry/utils';\nimport { computeStackTrace } from './tracekit';\nvar STACKTRACE_LIMIT = 50;\n/**\n * This function creates an exception from an TraceKitStackTrace\n * @param stacktrace TraceKitStackTrace that will be converted to an exception\n * @hidden\n */\nexport function exceptionFromStacktrace(stacktrace) {\n var frames = prepareFramesForEvent(stacktrace.stack);\n var exception = {\n type: stacktrace.name,\n value: stacktrace.message,\n };\n if (frames && frames.length) {\n exception.stacktrace = { frames: frames };\n }\n // tslint:disable-next-line:strict-type-predicates\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n return exception;\n}\n/**\n * @hidden\n */\nexport function eventFromPlainObject(exception, syntheticException, rejection) {\n var event = {\n exception: {\n values: [\n {\n type: isEvent(exception) ? exception.constructor.name : rejection ? 'UnhandledRejection' : 'Error',\n value: \"Non-Error \" + (rejection ? 'promise rejection' : 'exception') + \" captured with keys: \" + extractExceptionKeysForMessage(exception),\n },\n ],\n },\n extra: {\n __serialized__: normalizeToSize(exception),\n },\n };\n if (syntheticException) {\n var stacktrace = computeStackTrace(syntheticException);\n var frames_1 = prepareFramesForEvent(stacktrace.stack);\n event.stacktrace = {\n frames: frames_1,\n };\n }\n return event;\n}\n/**\n * @hidden\n */\nexport function eventFromStacktrace(stacktrace) {\n var exception = exceptionFromStacktrace(stacktrace);\n return {\n exception: {\n values: [exception],\n },\n };\n}\n/**\n * @hidden\n */\nexport function prepareFramesForEvent(stack) {\n if (!stack || !stack.length) {\n return [];\n }\n var localStack = stack;\n var firstFrameFunction = localStack[0].func || '';\n var lastFrameFunction = localStack[localStack.length - 1].func || '';\n // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n if (firstFrameFunction.indexOf('captureMessage') !== -1 || firstFrameFunction.indexOf('captureException') !== -1) {\n localStack = localStack.slice(1);\n }\n // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n if (lastFrameFunction.indexOf('sentryWrapped') !== -1) {\n localStack = localStack.slice(0, -1);\n }\n // The frame where the crash happened, should be the last entry in the array\n return localStack\n .map(function (frame) { return ({\n colno: frame.column === null ? undefined : frame.column,\n filename: frame.url || localStack[0].url,\n function: frame.func || '?',\n in_app: true,\n lineno: frame.line === null ? undefined : frame.line,\n }); })\n .slice(0, STACKTRACE_LIMIT)\n .reverse();\n}\n//# sourceMappingURL=parsers.js.map","import { addExceptionMechanism, addExceptionTypeValue, isDOMError, isDOMException, isError, isErrorEvent, isEvent, isPlainObject, } from '@sentry/utils';\nimport { eventFromPlainObject, eventFromStacktrace, prepareFramesForEvent } from './parsers';\nimport { computeStackTrace } from './tracekit';\n/** JSDoc */\nexport function eventFromUnknownInput(exception, syntheticException, options) {\n if (options === void 0) { options = {}; }\n var event;\n if (isErrorEvent(exception) && exception.error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n var errorEvent = exception;\n exception = errorEvent.error; // tslint:disable-line:no-parameter-reassignment\n event = eventFromStacktrace(computeStackTrace(exception));\n return event;\n }\n if (isDOMError(exception) || isDOMException(exception)) {\n // If it is a DOMError or DOMException (which are legacy APIs, but still supported in some browsers)\n // then we just extract the name and message, as they don't provide anything else\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n var domException = exception;\n var name_1 = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n var message = domException.message ? name_1 + \": \" + domException.message : name_1;\n event = eventFromString(message, syntheticException, options);\n addExceptionTypeValue(event, message);\n return event;\n }\n if (isError(exception)) {\n // we have a real Error object, do nothing\n event = eventFromStacktrace(computeStackTrace(exception));\n return event;\n }\n if (isPlainObject(exception) || isEvent(exception)) {\n // If it is plain Object or Event, serialize it manually and extract options\n // This will allow us to group events based on top-level keys\n // which is much better than creating new group when any key/value change\n var objectException = exception;\n event = eventFromPlainObject(objectException, syntheticException, options.rejection);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n }\n // If none of previous checks were valid, then it means that it's not:\n // - an instance of DOMError\n // - an instance of DOMException\n // - an instance of Event\n // - an instance of Error\n // - a valid ErrorEvent (one with an error property)\n // - a plain Object\n //\n // So bail out and capture it as a simple message:\n event = eventFromString(exception, syntheticException, options);\n addExceptionTypeValue(event, \"\" + exception, undefined);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n}\n// this._options.attachStacktrace\n/** JSDoc */\nexport function eventFromString(input, syntheticException, options) {\n if (options === void 0) { options = {}; }\n var event = {\n message: input,\n };\n if (options.attachStacktrace && syntheticException) {\n var stacktrace = computeStackTrace(syntheticException);\n var frames_1 = prepareFramesForEvent(stacktrace.stack);\n event.stacktrace = {\n frames: frames_1,\n };\n }\n return event;\n}\n//# sourceMappingURL=eventbuilder.js.map","import { SentryError } from './error';\nimport { SyncPromise } from './syncpromise';\n/** A simple queue that holds promises. */\nvar PromiseBuffer = /** @class */ (function () {\n function PromiseBuffer(_limit) {\n this._limit = _limit;\n /** Internal set of queued Promises */\n this._buffer = [];\n }\n /**\n * Says if the buffer is ready to take more requests\n */\n PromiseBuffer.prototype.isReady = function () {\n return this._limit === undefined || this.length() < this._limit;\n };\n /**\n * Add a promise to the queue.\n *\n * @param task Can be any PromiseLike<T>\n * @returns The original promise.\n */\n PromiseBuffer.prototype.add = function (task) {\n var _this = this;\n if (!this.isReady()) {\n return SyncPromise.reject(new SentryError('Not adding Promise due to buffer limit reached.'));\n }\n if (this._buffer.indexOf(task) === -1) {\n this._buffer.push(task);\n }\n task\n .then(function () { return _this.remove(task); })\n .then(null, function () {\n return _this.remove(task).then(null, function () {\n // We have to add this catch here otherwise we have an unhandledPromiseRejection\n // because it's a new Promise chain.\n });\n });\n return task;\n };\n /**\n * Remove a promise to the queue.\n *\n * @param task Can be any PromiseLike<T>\n * @returns Removed promise.\n */\n PromiseBuffer.prototype.remove = function (task) {\n var removedTask = this._buffer.splice(this._buffer.indexOf(task), 1)[0];\n return removedTask;\n };\n /**\n * This function returns the number of unresolved promises in the queue.\n */\n PromiseBuffer.prototype.length = function () {\n return this._buffer.length;\n };\n /**\n * This will drain the whole queue, returns true if queue is empty or drained.\n * If timeout is provided and the queue takes longer to drain, the promise still resolves but with false.\n *\n * @param timeout Number in ms to wait until it resolves with false.\n */\n PromiseBuffer.prototype.drain = function (timeout) {\n var _this = this;\n return new SyncPromise(function (resolve) {\n var capturedSetTimeout = setTimeout(function () {\n if (timeout && timeout > 0) {\n resolve(false);\n }\n }, timeout);\n SyncPromise.all(_this._buffer)\n .then(function () {\n clearTimeout(capturedSetTimeout);\n resolve(true);\n })\n .then(null, function () {\n resolve(true);\n });\n });\n };\n return PromiseBuffer;\n}());\nexport { PromiseBuffer };\n//# sourceMappingURL=promisebuffer.js.map","import { API } from '@sentry/core';\nimport { PromiseBuffer, SentryError } from '@sentry/utils';\n/** Base Transport class implementation */\nvar BaseTransport = /** @class */ (function () {\n function BaseTransport(options) {\n this.options = options;\n /** A simple buffer holding all requests. */\n this._buffer = new PromiseBuffer(30);\n this.url = new API(this.options.dsn).getStoreEndpointWithUrlEncodedAuth();\n }\n /**\n * @inheritDoc\n */\n BaseTransport.prototype.sendEvent = function (_) {\n throw new SentryError('Transport Class has to implement `sendEvent` method');\n };\n /**\n * @inheritDoc\n */\n BaseTransport.prototype.close = function (timeout) {\n return this._buffer.drain(timeout);\n };\n return BaseTransport;\n}());\nexport { BaseTransport };\n//# sourceMappingURL=base.js.map","import * as tslib_1 from \"tslib\";\nimport { Status } from '@sentry/types';\nimport { getGlobalObject, supportsReferrerPolicy } from '@sentry/utils';\nimport { BaseTransport } from './base';\nvar global = getGlobalObject();\n/** `fetch` based transport */\nvar FetchTransport = /** @class */ (function (_super) {\n tslib_1.__extends(FetchTransport, _super);\n function FetchTransport() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @inheritDoc\n */\n FetchTransport.prototype.sendEvent = function (event) {\n var defaultOptions = {\n body: JSON.stringify(event),\n method: 'POST',\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default\n // https://caniuse.com/#feat=referrer-policy\n // It doesn't. And it throw exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n referrerPolicy: (supportsReferrerPolicy() ? 'origin' : ''),\n };\n return this._buffer.add(global.fetch(this.url, defaultOptions).then(function (response) { return ({\n status: Status.fromHttpCode(response.status),\n }); }));\n };\n return FetchTransport;\n}(BaseTransport));\nexport { FetchTransport };\n//# sourceMappingURL=fetch.js.map","import * as tslib_1 from \"tslib\";\nimport { Status } from '@sentry/types';\nimport { SyncPromise } from '@sentry/utils';\nimport { BaseTransport } from './base';\n/** `XHR` based transport */\nvar XHRTransport = /** @class */ (function (_super) {\n tslib_1.__extends(XHRTransport, _super);\n function XHRTransport() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @inheritDoc\n */\n XHRTransport.prototype.sendEvent = function (event) {\n var _this = this;\n return this._buffer.add(new SyncPromise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.onreadystatechange = function () {\n if (request.readyState !== 4) {\n return;\n }\n if (request.status === 200) {\n resolve({\n status: Status.fromHttpCode(request.status),\n });\n }\n reject(request);\n };\n request.open('POST', _this.url);\n request.send(JSON.stringify(event));\n }));\n };\n return XHRTransport;\n}(BaseTransport));\nexport { XHRTransport };\n//# sourceMappingURL=xhr.js.map","import * as tslib_1 from \"tslib\";\nimport { BaseBackend } from '@sentry/core';\nimport { Severity } from '@sentry/types';\nimport { addExceptionMechanism, supportsFetch, SyncPromise } from '@sentry/utils';\nimport { eventFromString, eventFromUnknownInput } from './eventbuilder';\nimport { FetchTransport, XHRTransport } from './transports';\n/**\n * The Sentry Browser SDK Backend.\n * @hidden\n */\nvar BrowserBackend = /** @class */ (function (_super) {\n tslib_1.__extends(BrowserBackend, _super);\n function BrowserBackend() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @inheritDoc\n */\n BrowserBackend.prototype._setupTransport = function () {\n if (!this._options.dsn) {\n // We return the noop transport here in case there is no Dsn.\n return _super.prototype._setupTransport.call(this);\n }\n var transportOptions = tslib_1.__assign({}, this._options.transportOptions, { dsn: this._options.dsn });\n if (this._options.transport) {\n return new this._options.transport(transportOptions);\n }\n if (supportsFetch()) {\n return new FetchTransport(transportOptions);\n }\n return new XHRTransport(transportOptions);\n };\n /**\n * @inheritDoc\n */\n BrowserBackend.prototype.eventFromException = function (exception, hint) {\n var syntheticException = (hint && hint.syntheticException) || undefined;\n var event = eventFromUnknownInput(exception, syntheticException, {\n attachStacktrace: this._options.attachStacktrace,\n });\n addExceptionMechanism(event, {\n handled: true,\n type: 'generic',\n });\n event.level = Severity.Error;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return SyncPromise.resolve(event);\n };\n /**\n * @inheritDoc\n */\n BrowserBackend.prototype.eventFromMessage = function (message, level, hint) {\n if (level === void 0) { level = Severity.Info; }\n var syntheticException = (hint && hint.syntheticException) || undefined;\n var event = eventFromString(message, syntheticException, {\n attachStacktrace: this._options.attachStacktrace,\n });\n event.level = level;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return SyncPromise.resolve(event);\n };\n return BrowserBackend;\n}(BaseBackend));\nexport { BrowserBackend };\n//# sourceMappingURL=backend.js.map","import * as tslib_1 from \"tslib\";\nimport { API, BaseClient } from '@sentry/core';\nimport { getGlobalObject, logger } from '@sentry/utils';\nimport { BrowserBackend } from './backend';\nimport { SDK_NAME, SDK_VERSION } from './version';\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nvar BrowserClient = /** @class */ (function (_super) {\n tslib_1.__extends(BrowserClient, _super);\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n function BrowserClient(options) {\n if (options === void 0) { options = {}; }\n return _super.call(this, BrowserBackend, options) || this;\n }\n /**\n * @inheritDoc\n */\n BrowserClient.prototype._prepareEvent = function (event, scope, hint) {\n event.platform = event.platform || 'javascript';\n event.sdk = tslib_1.__assign({}, event.sdk, { name: SDK_NAME, packages: tslib_1.__spread(((event.sdk && event.sdk.packages) || []), [\n {\n name: 'npm:@sentry/browser',\n version: SDK_VERSION,\n },\n ]), version: SDK_VERSION });\n return _super.prototype._prepareEvent.call(this, event, scope, hint);\n };\n /**\n * Show a report dialog to the user to send feedback to a specific event.\n *\n * @param options Set individual options for the dialog\n */\n BrowserClient.prototype.showReportDialog = function (options) {\n if (options === void 0) { options = {}; }\n // doesn't work without a document (React Native)\n var document = getGlobalObject().document;\n if (!document) {\n return;\n }\n if (!this._isEnabled()) {\n logger.error('Trying to call showReportDialog with Sentry Client is disabled');\n return;\n }\n var dsn = options.dsn || this.getDsn();\n if (!options.eventId) {\n logger.error('Missing `eventId` option in showReportDialog call');\n return;\n }\n if (!dsn) {\n logger.error('Missing `Dsn` option in showReportDialog call');\n return;\n }\n var script = document.createElement('script');\n script.async = true;\n script.src = new API(dsn).getReportDialogEndpoint(options);\n if (options.onLoad) {\n script.onload = options.onLoad;\n }\n (document.head || document.body).appendChild(script);\n };\n return BrowserClient;\n}(BaseClient));\nexport { BrowserClient };\n//# sourceMappingURL=client.js.map","export var SDK_NAME = 'sentry.javascript.browser';\nexport var SDK_VERSION = '5.7.1';\n//# sourceMappingURL=version.js.map","import * as tslib_1 from \"tslib\";\nimport { getCurrentHub } from '@sentry/hub';\n/**\n * This calls a function on the current hub.\n * @param method function to call on hub.\n * @param args to pass to function.\n */\nfunction callOnHub(method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var hub = getCurrentHub();\n if (hub && hub[method]) {\n // tslint:disable-next-line:no-unsafe-any\n return hub[method].apply(hub, tslib_1.__spread(args));\n }\n throw new Error(\"No hub defined or \" + method + \" was not found on the hub, please open a bug report.\");\n}\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception An exception-like object.\n * @returns The generated eventId.\n */\nexport function captureException(exception) {\n var syntheticException;\n try {\n throw new Error('Sentry syntheticException');\n }\n catch (exception) {\n syntheticException = exception;\n }\n return callOnHub('captureException', exception, {\n originalException: exception,\n syntheticException: syntheticException,\n });\n}\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param level Define the level of the message.\n * @returns The generated eventId.\n */\nexport function captureMessage(message, level) {\n var syntheticException;\n try {\n throw new Error(message);\n }\n catch (exception) {\n syntheticException = exception;\n }\n return callOnHub('captureMessage', message, level, {\n originalException: message,\n syntheticException: syntheticException,\n });\n}\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @returns The generated eventId.\n */\nexport function captureEvent(event) {\n return callOnHub('captureEvent', event);\n}\n/**\n * Callback to set context information onto the scope.\n * @param callback Callback function that receives Scope.\n */\nexport function configureScope(callback) {\n callOnHub('configureScope', callback);\n}\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n *\n * @param breadcrumb The breadcrumb to record.\n */\nexport function addBreadcrumb(breadcrumb) {\n callOnHub('addBreadcrumb', breadcrumb);\n}\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normailzed.\n */\nexport function setContext(name, context) {\n callOnHub('setContext', name, context);\n}\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nexport function setExtras(extras) {\n callOnHub('setExtras', extras);\n}\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nexport function setTags(tags) {\n callOnHub('setTags', tags);\n}\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normailzed.\n */\nexport function setExtra(key, extra) {\n callOnHub('setExtra', key, extra);\n}\n/**\n * Set key:value that will be sent as tags data with the event.\n * @param key String key of tag\n * @param value String value of tag\n */\nexport function setTag(key, value) {\n callOnHub('setTag', key, value);\n}\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nexport function setUser(user) {\n callOnHub('setUser', user);\n}\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n *\n * This is essentially a convenience function for:\n *\n * pushScope();\n * callback();\n * popScope();\n *\n * @param callback that will be enclosed into push/popScope.\n */\nexport function withScope(callback) {\n callOnHub('withScope', callback);\n}\n/**\n * Calls a function on the latest client. Use this with caution, it's meant as\n * in \"internal\" helper so we don't need to expose every possible function in\n * the shim. It is not guaranteed that the client actually implements the\n * function.\n *\n * @param method The method to call on the client/client.\n * @param args Arguments to pass to the client/fontend.\n */\nexport function _callOnClient(method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n callOnHub.apply(void 0, tslib_1.__spread(['_invokeClient', method], args));\n}\n//# sourceMappingURL=index.js.map","import * as tslib_1 from \"tslib\";\nimport { captureException, getCurrentHub, withScope } from '@sentry/core';\nimport { addExceptionMechanism, addExceptionTypeValue, htmlTreeAsString, normalize } from '@sentry/utils';\nvar debounceDuration = 1000;\nvar keypressTimeout;\nvar lastCapturedEvent;\nvar ignoreOnError = 0;\n/**\n * @hidden\n */\nexport function shouldIgnoreOnError() {\n return ignoreOnError > 0;\n}\n/**\n * @hidden\n */\nexport function ignoreNextOnError() {\n // onerror should trigger before setTimeout\n ignoreOnError += 1;\n setTimeout(function () {\n ignoreOnError -= 1;\n });\n}\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap.\n * @returns The wrapped function.\n * @hidden\n */\nexport function wrap(fn, options, before) {\n if (options === void 0) { options = {}; }\n // tslint:disable-next-line:strict-type-predicates\n if (typeof fn !== 'function') {\n return fn;\n }\n try {\n // We don't wanna wrap it twice\n if (fn.__sentry__) {\n return fn;\n }\n // If this has already been wrapped in the past, return that wrapped function\n if (fn.__sentry_wrapped__) {\n return fn.__sentry_wrapped__;\n }\n }\n catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n var sentryWrapped = function () {\n // tslint:disable-next-line:strict-type-predicates\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n }\n var args = Array.prototype.slice.call(arguments);\n // tslint:disable:no-unsafe-any\n try {\n var wrappedArguments = args.map(function (arg) { return wrap(arg, options); });\n if (fn.handleEvent) {\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.handleEvent.apply(this, wrappedArguments);\n }\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.apply(this, wrappedArguments);\n // tslint:enable:no-unsafe-any\n }\n catch (ex) {\n ignoreNextOnError();\n withScope(function (scope) {\n scope.addEventProcessor(function (event) {\n var processedEvent = tslib_1.__assign({}, event);\n if (options.mechanism) {\n addExceptionTypeValue(processedEvent, undefined, undefined);\n addExceptionMechanism(processedEvent, options.mechanism);\n }\n processedEvent.extra = tslib_1.__assign({}, processedEvent.extra, { arguments: normalize(args, 3) });\n return processedEvent;\n });\n captureException(ex);\n });\n throw ex;\n }\n };\n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n try {\n for (var property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n }\n catch (_oO) { } // tslint:disable-line:no-empty\n fn.prototype = fn.prototype || {};\n sentryWrapped.prototype = fn.prototype;\n Object.defineProperty(fn, '__sentry_wrapped__', {\n enumerable: false,\n value: sentryWrapped,\n });\n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n Object.defineProperties(sentryWrapped, {\n __sentry__: {\n enumerable: false,\n value: true,\n },\n __sentry_original__: {\n enumerable: false,\n value: fn,\n },\n });\n // Restore original function name (not all browsers allow that)\n try {\n var descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name');\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get: function () {\n return fn.name;\n },\n });\n }\n }\n catch (_oO) {\n /*no-empty*/\n }\n return sentryWrapped;\n}\nvar debounceTimer = 0;\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n * @param eventName the event name (e.g. \"click\")\n * @returns wrapped breadcrumb events handler\n * @hidden\n */\nexport function breadcrumbEventHandler(eventName, debounce) {\n if (debounce === void 0) { debounce = false; }\n return function (event) {\n // reset keypress timeout; e.g. triggering a 'click' after\n // a 'keypress' will reset the keypress debounce so that a new\n // set of keypresses can be recorded\n keypressTimeout = undefined;\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors). Ignore if we've\n // already captured the event.\n if (!event || lastCapturedEvent === event) {\n return;\n }\n lastCapturedEvent = event;\n var captureBreadcrumb = function () {\n var target;\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n target = event.target ? htmlTreeAsString(event.target) : htmlTreeAsString(event);\n }\n catch (e) {\n target = '<unknown>';\n }\n if (target.length === 0) {\n return;\n }\n getCurrentHub().addBreadcrumb({\n category: \"ui.\" + eventName,\n message: target,\n }, {\n event: event,\n name: eventName,\n });\n };\n if (debounceTimer) {\n clearTimeout(debounceTimer);\n }\n if (debounce) {\n debounceTimer = setTimeout(captureBreadcrumb);\n }\n else {\n captureBreadcrumb();\n }\n };\n}\n/**\n * Wraps addEventListener to capture keypress UI events\n * @returns wrapped keypress events handler\n * @hidden\n */\nexport function keypressEventHandler() {\n // TODO: if somehow user switches keypress target before\n // debounce timeout is triggered, we will only capture\n // a single breadcrumb from the FIRST target (acceptable?)\n return function (event) {\n var target;\n try {\n target = event.target;\n }\n catch (e) {\n // just accessing event properties can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/raven-js/issues/838\n return;\n }\n var tagName = target && target.tagName;\n // only consider keypress events on actual input elements\n // this will disregard keypresses targeting body (e.g. tabbing\n // through elements, hotkeys, etc)\n if (!tagName || (tagName !== 'INPUT' && tagName !== 'TEXTAREA' && !target.isContentEditable)) {\n return;\n }\n // record first keypress in a series, but ignore subsequent\n // keypresses until debounce clears\n if (!keypressTimeout) {\n breadcrumbEventHandler('input')(event);\n }\n clearTimeout(keypressTimeout);\n keypressTimeout = setTimeout(function () {\n keypressTimeout = undefined;\n }, debounceDuration);\n };\n}\n//# sourceMappingURL=helpers.js.map","import { fill, getGlobalObject } from '@sentry/utils';\nimport { wrap } from '../helpers';\n/** Wrap timer functions and event targets to catch errors and provide better meta data */\nvar TryCatch = /** @class */ (function () {\n function TryCatch() {\n /** JSDoc */\n this._ignoreOnError = 0;\n /**\n * @inheritDoc\n */\n this.name = TryCatch.id;\n }\n /** JSDoc */\n TryCatch.prototype._wrapTimeFunction = function (original) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n data: { function: getFunctionName(original) },\n handled: true,\n type: 'instrument',\n },\n });\n return original.apply(this, args);\n };\n };\n /** JSDoc */\n TryCatch.prototype._wrapRAF = function (original) {\n return function (callback) {\n return original(wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n }));\n };\n };\n /** JSDoc */\n TryCatch.prototype._wrapEventTarget = function (target) {\n var global = getGlobalObject();\n var proto = global[target] && global[target].prototype;\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n fill(proto, 'addEventListener', function (original) {\n return function (eventName, fn, options) {\n try {\n // tslint:disable-next-line:no-unbound-method strict-type-predicates\n if (typeof fn.handleEvent === 'function') {\n fn.handleEvent = wrap(fn.handleEvent.bind(fn), {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: getFunctionName(fn),\n target: target,\n },\n handled: true,\n type: 'instrument',\n },\n });\n }\n }\n catch (err) {\n // can sometimes get 'Permission denied to access property \"handle Event'\n }\n return original.call(this, eventName, wrap(fn, {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: getFunctionName(fn),\n target: target,\n },\n handled: true,\n type: 'instrument',\n },\n }), options);\n };\n });\n fill(proto, 'removeEventListener', function (original) {\n return function (eventName, fn, options) {\n var callback = fn;\n try {\n callback = callback && (callback.__sentry_wrapped__ || callback);\n }\n catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return original.call(this, eventName, callback, options);\n };\n });\n };\n /**\n * Wrap timer functions and event targets to catch errors\n * and provide better metadata.\n */\n TryCatch.prototype.setupOnce = function () {\n this._ignoreOnError = this._ignoreOnError;\n var global = getGlobalObject();\n fill(global, 'setTimeout', this._wrapTimeFunction.bind(this));\n fill(global, 'setInterval', this._wrapTimeFunction.bind(this));\n fill(global, 'requestAnimationFrame', this._wrapRAF.bind(this));\n [\n 'EventTarget',\n 'Window',\n 'Node',\n 'ApplicationCache',\n 'AudioTrackList',\n 'ChannelMergerNode',\n 'CryptoOperation',\n 'EventSource',\n 'FileReader',\n 'HTMLUnknownElement',\n 'IDBDatabase',\n 'IDBRequest',\n 'IDBTransaction',\n 'KeyOperation',\n 'MediaController',\n 'MessagePort',\n 'ModalWindow',\n 'Notification',\n 'SVGElementInstance',\n 'Screen',\n 'TextTrack',\n 'TextTrackCue',\n 'TextTrackList',\n 'WebSocket',\n 'WebSocketWorker',\n 'Worker',\n 'XMLHttpRequest',\n 'XMLHttpRequestEventTarget',\n 'XMLHttpRequestUpload',\n ].forEach(this._wrapEventTarget.bind(this));\n };\n /**\n * @inheritDoc\n */\n TryCatch.id = 'TryCatch';\n return TryCatch;\n}());\nexport { TryCatch };\n/**\n * Safely extract function name from itself\n */\nfunction getFunctionName(fn) {\n try {\n return (fn && fn.name) || '<anonymous>';\n }\n catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n return '<anonymous>';\n }\n}\n//# sourceMappingURL=trycatch.js.map","import * as tslib_1 from \"tslib\";\nimport { API, getCurrentHub } from '@sentry/core';\nimport { Severity } from '@sentry/types';\nimport { fill, getEventDescription, getGlobalObject, isString, logger, normalize, parseUrl, safeJoin, supportsHistory, supportsNativeFetch, } from '@sentry/utils';\nimport { breadcrumbEventHandler, keypressEventHandler, wrap } from '../helpers';\nvar global = getGlobalObject();\nvar lastHref;\n/** Default Breadcrumbs instrumentations */\nvar Breadcrumbs = /** @class */ (function () {\n /**\n * @inheritDoc\n */\n function Breadcrumbs(options) {\n /**\n * @inheritDoc\n */\n this.name = Breadcrumbs.id;\n this._options = tslib_1.__assign({ console: true, dom: true, fetch: true, history: true, sentry: true, xhr: true }, options);\n }\n /** JSDoc */\n Breadcrumbs.prototype._instrumentConsole = function () {\n if (!('console' in global)) {\n return;\n }\n ['debug', 'info', 'warn', 'error', 'log', 'assert'].forEach(function (level) {\n if (!(level in global.console)) {\n return;\n }\n fill(global.console, level, function (originalConsoleLevel) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var breadcrumbData = {\n category: 'console',\n data: {\n extra: {\n arguments: normalize(args, 3),\n },\n logger: 'console',\n },\n level: Severity.fromString(level),\n message: safeJoin(args, ' '),\n };\n if (level === 'assert') {\n if (args[0] === false) {\n breadcrumbData.message = \"Assertion failed: \" + (safeJoin(args.slice(1), ' ') || 'console.assert');\n breadcrumbData.data.extra.arguments = normalize(args.slice(1), 3);\n Breadcrumbs.addBreadcrumb(breadcrumbData, {\n input: args,\n level: level,\n });\n }\n }\n else {\n Breadcrumbs.addBreadcrumb(breadcrumbData, {\n input: args,\n level: level,\n });\n }\n // this fails for some browsers. :(\n if (originalConsoleLevel) {\n Function.prototype.apply.call(originalConsoleLevel, global.console, args);\n }\n };\n });\n });\n };\n /** JSDoc */\n Breadcrumbs.prototype._instrumentDOM = function () {\n if (!('document' in global)) {\n return;\n }\n // Capture breadcrumbs from any click that is unhandled / bubbled up all the way\n // to the document. Do this before we instrument addEventListener.\n global.document.addEventListener('click', breadcrumbEventHandler('click'), false);\n global.document.addEventListener('keypress', keypressEventHandler(), false);\n // After hooking into document bubbled up click and keypresses events, we also hook into user handled click & keypresses.\n ['EventTarget', 'Node'].forEach(function (target) {\n var proto = global[target] && global[target].prototype;\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n fill(proto, 'addEventListener', function (original) {\n return function (eventName, fn, options) {\n if (fn && fn.handleEvent) {\n if (eventName === 'click') {\n fill(fn, 'handleEvent', function (innerOriginal) {\n return function (event) {\n breadcrumbEventHandler('click')(event);\n return innerOriginal.call(this, event);\n };\n });\n }\n if (eventName === 'keypress') {\n fill(fn, 'handleEvent', function (innerOriginal) {\n return function (event) {\n keypressEventHandler()(event);\n return innerOriginal.call(this, event);\n };\n });\n }\n }\n else {\n if (eventName === 'click') {\n breadcrumbEventHandler('click', true)(this);\n }\n if (eventName === 'keypress') {\n keypressEventHandler()(this);\n }\n }\n return original.call(this, eventName, fn, options);\n };\n });\n fill(proto, 'removeEventListener', function (original) {\n return function (eventName, fn, options) {\n var callback = fn;\n try {\n callback = callback && (callback.__sentry_wrapped__ || callback);\n }\n catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return original.call(this, eventName, callback, options);\n };\n });\n });\n };\n /** JSDoc */\n Breadcrumbs.prototype._instrumentFetch = function () {\n if (!supportsNativeFetch()) {\n return;\n }\n fill(global, 'fetch', function (originalFetch) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var fetchInput = args[0];\n var method = 'GET';\n var url;\n if (typeof fetchInput === 'string') {\n url = fetchInput;\n }\n else if ('Request' in global && fetchInput instanceof Request) {\n url = fetchInput.url;\n if (fetchInput.method) {\n method = fetchInput.method;\n }\n }\n else {\n url = String(fetchInput);\n }\n if (args[1] && args[1].method) {\n method = args[1].method;\n }\n var client = getCurrentHub().getClient();\n var dsn = client && client.getDsn();\n if (dsn) {\n var filterUrl = new API(dsn).getStoreEndpoint();\n // if Sentry key appears in URL, don't capture it as a request\n // but rather as our own 'sentry' type breadcrumb\n if (filterUrl && url.indexOf(filterUrl) !== -1) {\n if (method === 'POST' && args[1] && args[1].body) {\n addSentryBreadcrumb(args[1].body);\n }\n return originalFetch.apply(global, args);\n }\n }\n var fetchData = {\n method: isString(method) ? method.toUpperCase() : method,\n url: url,\n };\n return originalFetch\n .apply(global, args)\n .then(function (response) {\n fetchData.status_code = response.status;\n Breadcrumbs.addBreadcrumb({\n category: 'fetch',\n data: fetchData,\n type: 'http',\n }, {\n input: args,\n response: response,\n });\n return response;\n })\n .then(null, function (error) {\n Breadcrumbs.addBreadcrumb({\n category: 'fetch',\n data: fetchData,\n level: Severity.Error,\n type: 'http',\n }, {\n error: error,\n input: args,\n });\n throw error;\n });\n };\n });\n };\n /** JSDoc */\n Breadcrumbs.prototype._instrumentHistory = function () {\n var _this = this;\n if (!supportsHistory()) {\n return;\n }\n var captureUrlChange = function (from, to) {\n var parsedLoc = parseUrl(global.location.href);\n var parsedTo = parseUrl(to);\n var parsedFrom = parseUrl(from);\n // Initial pushState doesn't provide `from` information\n if (!parsedFrom.path) {\n parsedFrom = parsedLoc;\n }\n // because onpopstate only tells you the \"new\" (to) value of location.href, and\n // not the previous (from) value, we need to track the value of the current URL\n // state ourselves\n lastHref = to;\n // Use only the path component of the URL if the URL matches the current\n // document (almost all the time when using pushState)\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n // tslint:disable-next-line:no-parameter-reassignment\n to = parsedTo.relative;\n }\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n // tslint:disable-next-line:no-parameter-reassignment\n from = parsedFrom.relative;\n }\n Breadcrumbs.addBreadcrumb({\n category: 'navigation',\n data: {\n from: from,\n to: to,\n },\n });\n };\n // record navigation (URL) changes\n var oldOnPopState = global.onpopstate;\n global.onpopstate = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var currentHref = global.location.href;\n captureUrlChange(lastHref, currentHref);\n if (oldOnPopState) {\n return oldOnPopState.apply(_this, args);\n }\n };\n /**\n * @hidden\n */\n function historyReplacementFunction(originalHistoryFunction) {\n // note history.pushState.length is 0; intentionally not declaring\n // params to preserve 0 arity\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var url = args.length > 2 ? args[2] : undefined;\n // url argument is optional\n if (url) {\n // coerce to string (this is what pushState does)\n captureUrlChange(lastHref, String(url));\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n fill(global.history, 'pushState', historyReplacementFunction);\n fill(global.history, 'replaceState', historyReplacementFunction);\n };\n /** JSDoc */\n Breadcrumbs.prototype._instrumentXHR = function () {\n if (!('XMLHttpRequest' in global)) {\n return;\n }\n /**\n * @hidden\n */\n function wrapProp(prop, xhr) {\n if (prop in xhr && typeof xhr[prop] === 'function') {\n fill(xhr, prop, function (original) {\n return wrap(original, {\n mechanism: {\n data: {\n function: prop,\n handler: (original && original.name) || '<anonymous>',\n },\n handled: true,\n type: 'instrument',\n },\n });\n });\n }\n }\n var xhrproto = XMLHttpRequest.prototype;\n fill(xhrproto, 'open', function (originalOpen) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var url = args[1];\n this.__sentry_xhr__ = {\n method: isString(args[0]) ? args[0].toUpperCase() : args[0],\n url: args[1],\n };\n var client = getCurrentHub().getClient();\n var dsn = client && client.getDsn();\n if (dsn) {\n var filterUrl = new API(dsn).getStoreEndpoint();\n // if Sentry key appears in URL, don't capture it as a request\n // but rather as our own 'sentry' type breadcrumb\n if (isString(url) && (filterUrl && url.indexOf(filterUrl) !== -1)) {\n this.__sentry_own_request__ = true;\n }\n }\n return originalOpen.apply(this, args);\n };\n });\n fill(xhrproto, 'send', function (originalSend) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var xhr = this; // tslint:disable-line:no-this-assignment\n if (xhr.__sentry_own_request__) {\n addSentryBreadcrumb(args[0]);\n }\n /**\n * @hidden\n */\n function onreadystatechangeHandler() {\n if (xhr.readyState === 4) {\n if (xhr.__sentry_own_request__) {\n return;\n }\n try {\n // touching statusCode in some platforms throws\n // an exception\n if (xhr.__sentry_xhr__) {\n xhr.__sentry_xhr__.status_code = xhr.status;\n }\n }\n catch (e) {\n /* do nothing */\n }\n Breadcrumbs.addBreadcrumb({\n category: 'xhr',\n data: xhr.__sentry_xhr__,\n type: 'http',\n }, {\n xhr: xhr,\n });\n }\n }\n var xmlHttpRequestProps = ['onload', 'onerror', 'onprogress'];\n xmlHttpRequestProps.forEach(function (prop) {\n wrapProp(prop, xhr);\n });\n if ('onreadystatechange' in xhr && typeof xhr.onreadystatechange === 'function') {\n fill(xhr, 'onreadystatechange', function (original) {\n return wrap(original, {\n mechanism: {\n data: {\n function: 'onreadystatechange',\n handler: (original && original.name) || '<anonymous>',\n },\n handled: true,\n type: 'instrument',\n },\n }, onreadystatechangeHandler);\n });\n }\n else {\n // if onreadystatechange wasn't actually set by the page on this xhr, we\n // are free to set our own and capture the breadcrumb\n xhr.onreadystatechange = onreadystatechangeHandler;\n }\n return originalSend.apply(this, args);\n };\n });\n };\n /**\n * Helper that checks if integration is enabled on the client.\n * @param breadcrumb Breadcrumb\n * @param hint BreadcrumbHint\n */\n Breadcrumbs.addBreadcrumb = function (breadcrumb, hint) {\n if (getCurrentHub().getIntegration(Breadcrumbs)) {\n getCurrentHub().addBreadcrumb(breadcrumb, hint);\n }\n };\n /**\n * Instrument browser built-ins w/ breadcrumb capturing\n * - Console API\n * - DOM API (click/typing)\n * - XMLHttpRequest API\n * - Fetch API\n * - History API\n */\n Breadcrumbs.prototype.setupOnce = function () {\n if (this._options.console) {\n this._instrumentConsole();\n }\n if (this._options.dom) {\n this._instrumentDOM();\n }\n if (this._options.xhr) {\n this._instrumentXHR();\n }\n if (this._options.fetch) {\n this._instrumentFetch();\n }\n if (this._options.history) {\n this._instrumentHistory();\n }\n };\n /**\n * @inheritDoc\n */\n Breadcrumbs.id = 'Breadcrumbs';\n return Breadcrumbs;\n}());\nexport { Breadcrumbs };\n/** JSDoc */\nfunction addSentryBreadcrumb(serializedData) {\n // There's always something that can go wrong with deserialization...\n try {\n var event_1 = JSON.parse(serializedData);\n Breadcrumbs.addBreadcrumb({\n category: 'sentry',\n event_id: event_1.event_id,\n level: event_1.level || Severity.fromString('error'),\n message: getEventDescription(event_1),\n }, {\n event: event_1,\n });\n }\n catch (_oO) {\n logger.error('Error while adding sentry type breadcrumb');\n }\n}\n//# sourceMappingURL=breadcrumbs.js.map","import * as tslib_1 from \"tslib\";\nimport { getCurrentHub } from '@sentry/core';\nimport { Severity } from '@sentry/types';\nimport { addExceptionMechanism, getGlobalObject, getLocationHref, isErrorEvent, isPrimitive, isString, logger, } from '@sentry/utils';\nimport { eventFromUnknownInput } from '../eventbuilder';\nimport { shouldIgnoreOnError } from '../helpers';\n/** Global handlers */\nvar GlobalHandlers = /** @class */ (function () {\n /** JSDoc */\n function GlobalHandlers(options) {\n /**\n * @inheritDoc\n */\n this.name = GlobalHandlers.id;\n /** JSDoc */\n this._global = getGlobalObject();\n /** JSDoc */\n this._oldOnErrorHandler = null;\n /** JSDoc */\n this._oldOnUnhandledRejectionHandler = null;\n /** JSDoc */\n this._onErrorHandlerInstalled = false;\n /** JSDoc */\n this._onUnhandledRejectionHandlerInstalled = false;\n this._options = tslib_1.__assign({ onerror: true, onunhandledrejection: true }, options);\n }\n /**\n * @inheritDoc\n */\n GlobalHandlers.prototype.setupOnce = function () {\n Error.stackTraceLimit = 50;\n if (this._options.onerror) {\n logger.log('Global Handler attached: onerror');\n this._installGlobalOnErrorHandler();\n }\n if (this._options.onunhandledrejection) {\n logger.log('Global Handler attached: onunhandledrejection');\n this._installGlobalOnUnhandledRejectionHandler();\n }\n };\n /** JSDoc */\n GlobalHandlers.prototype._installGlobalOnErrorHandler = function () {\n if (this._onErrorHandlerInstalled) {\n return;\n }\n var self = this; // tslint:disable-line:no-this-assignment\n this._oldOnErrorHandler = this._global.onerror;\n this._global.onerror = function (msg, url, line, column, error) {\n var currentHub = getCurrentHub();\n var hasIntegration = currentHub.getIntegration(GlobalHandlers);\n var isFailedOwnDelivery = error && error.__sentry_own_request__ === true;\n if (!hasIntegration || shouldIgnoreOnError() || isFailedOwnDelivery) {\n if (self._oldOnErrorHandler) {\n return self._oldOnErrorHandler.apply(this, arguments);\n }\n return false;\n }\n var client = currentHub.getClient();\n var event = isPrimitive(error)\n ? self._eventFromIncompleteOnError(msg, url, line, column)\n : self._enhanceEventWithInitialFrame(eventFromUnknownInput(error, undefined, {\n attachStacktrace: client && client.getOptions().attachStacktrace,\n rejection: false,\n }), url, line, column);\n addExceptionMechanism(event, {\n handled: false,\n type: 'onerror',\n });\n currentHub.captureEvent(event, {\n originalException: error,\n });\n if (self._oldOnErrorHandler) {\n return self._oldOnErrorHandler.apply(this, arguments);\n }\n return false;\n };\n this._onErrorHandlerInstalled = true;\n };\n /** JSDoc */\n GlobalHandlers.prototype._installGlobalOnUnhandledRejectionHandler = function () {\n if (this._onUnhandledRejectionHandlerInstalled) {\n return;\n }\n var self = this; // tslint:disable-line:no-this-assignment\n this._oldOnUnhandledRejectionHandler = this._global.onunhandledrejection;\n this._global.onunhandledrejection = function (e) {\n var error = e;\n try {\n error = e && 'reason' in e ? e.reason : e;\n }\n catch (_oO) {\n // no-empty\n }\n var currentHub = getCurrentHub();\n var hasIntegration = currentHub.getIntegration(GlobalHandlers);\n var isFailedOwnDelivery = error && error.__sentry_own_request__ === true;\n if (!hasIntegration || shouldIgnoreOnError() || isFailedOwnDelivery) {\n if (self._oldOnUnhandledRejectionHandler) {\n return self._oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n return false;\n }\n var client = currentHub.getClient();\n var event = isPrimitive(error)\n ? self._eventFromIncompleteRejection(error)\n : eventFromUnknownInput(error, undefined, {\n attachStacktrace: client && client.getOptions().attachStacktrace,\n rejection: true,\n });\n event.level = Severity.Error;\n addExceptionMechanism(event, {\n handled: false,\n type: 'onunhandledrejection',\n });\n currentHub.captureEvent(event, {\n originalException: error,\n });\n if (self._oldOnUnhandledRejectionHandler) {\n return self._oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n return false;\n };\n this._onUnhandledRejectionHandlerInstalled = true;\n };\n /**\n * This function creates a stack from an old, error-less onerror handler.\n */\n GlobalHandlers.prototype._eventFromIncompleteOnError = function (msg, url, line, column) {\n var ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;\n // If 'message' is ErrorEvent, get real message from inside\n var message = isErrorEvent(msg) ? msg.message : msg;\n var name;\n if (isString(message)) {\n var groups = message.match(ERROR_TYPES_RE);\n if (groups) {\n name = groups[1];\n message = groups[2];\n }\n }\n var event = {\n exception: {\n values: [\n {\n type: name || 'Error',\n value: message,\n },\n ],\n },\n };\n return this._enhanceEventWithInitialFrame(event, url, line, column);\n };\n /**\n * This function creates an Event from an TraceKitStackTrace that has part of it missing.\n */\n GlobalHandlers.prototype._eventFromIncompleteRejection = function (error) {\n return {\n exception: {\n values: [\n {\n type: 'UnhandledRejection',\n value: \"Non-Error promise rejection captured with value: \" + error,\n },\n ],\n },\n };\n };\n /** JSDoc */\n GlobalHandlers.prototype._enhanceEventWithInitialFrame = function (event, url, line, column) {\n event.exception = event.exception || {};\n event.exception.values = event.exception.values || [];\n event.exception.values[0] = event.exception.values[0] || {};\n event.exception.values[0].stacktrace = event.exception.values[0].stacktrace || {};\n event.exception.values[0].stacktrace.frames = event.exception.values[0].stacktrace.frames || [];\n if (event.exception.values[0].stacktrace.frames.length === 0) {\n event.exception.values[0].stacktrace.frames.push({\n colno: column,\n filename: url || getLocationHref(),\n function: '?',\n in_app: true,\n lineno: line,\n });\n }\n return event;\n };\n /**\n * @inheritDoc\n */\n GlobalHandlers.id = 'GlobalHandlers';\n return GlobalHandlers;\n}());\nexport { GlobalHandlers };\n//# sourceMappingURL=globalhandlers.js.map","import * as tslib_1 from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { exceptionFromStacktrace } from '../parsers';\nimport { computeStackTrace } from '../tracekit';\nvar DEFAULT_KEY = 'cause';\nvar DEFAULT_LIMIT = 5;\n/** Adds SDK info to an event. */\nvar LinkedErrors = /** @class */ (function () {\n /**\n * @inheritDoc\n */\n function LinkedErrors(options) {\n if (options === void 0) { options = {}; }\n /**\n * @inheritDoc\n */\n this.name = LinkedErrors.id;\n this._key = options.key || DEFAULT_KEY;\n this._limit = options.limit || DEFAULT_LIMIT;\n }\n /**\n * @inheritDoc\n */\n LinkedErrors.prototype.setupOnce = function () {\n addGlobalEventProcessor(function (event, hint) {\n var self = getCurrentHub().getIntegration(LinkedErrors);\n if (self) {\n return self._handler(event, hint);\n }\n return event;\n });\n };\n /**\n * @inheritDoc\n */\n LinkedErrors.prototype._handler = function (event, hint) {\n if (!event.exception || !event.exception.values || !hint || !(hint.originalException instanceof Error)) {\n return event;\n }\n var linkedErrors = this._walkErrorTree(hint.originalException, this._key);\n event.exception.values = tslib_1.__spread(linkedErrors, event.exception.values);\n return event;\n };\n /**\n * @inheritDoc\n */\n LinkedErrors.prototype._walkErrorTree = function (error, key, stack) {\n if (stack === void 0) { stack = []; }\n if (!(error[key] instanceof Error) || stack.length + 1 >= this._limit) {\n return stack;\n }\n var stacktrace = computeStackTrace(error[key]);\n var exception = exceptionFromStacktrace(stacktrace);\n return this._walkErrorTree(error[key], key, tslib_1.__spread([exception], stack));\n };\n /**\n * @inheritDoc\n */\n LinkedErrors.id = 'LinkedErrors';\n return LinkedErrors;\n}());\nexport { LinkedErrors };\n//# sourceMappingURL=linkederrors.js.map","import * as tslib_1 from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { getGlobalObject } from '@sentry/utils';\nvar global = getGlobalObject();\n/** UserAgent */\nvar UserAgent = /** @class */ (function () {\n function UserAgent() {\n /**\n * @inheritDoc\n */\n this.name = UserAgent.id;\n }\n /**\n * @inheritDoc\n */\n UserAgent.prototype.setupOnce = function () {\n addGlobalEventProcessor(function (event) {\n if (getCurrentHub().getIntegration(UserAgent)) {\n if (!global.navigator || !global.location) {\n return event;\n }\n // Request Interface: https://docs.sentry.io/development/sdk-dev/event-payloads/request/\n var request = event.request || {};\n request.url = request.url || global.location.href;\n request.headers = request.headers || {};\n request.headers['User-Agent'] = global.navigator.userAgent;\n return tslib_1.__assign({}, event, { request: request });\n }\n return event;\n });\n };\n /**\n * @inheritDoc\n */\n UserAgent.id = 'UserAgent';\n return UserAgent;\n}());\nexport { UserAgent };\n//# sourceMappingURL=useragent.js.map","import { getCurrentHub, initAndBind, Integrations as CoreIntegrations } from '@sentry/core';\nimport { getGlobalObject, SyncPromise } from '@sentry/utils';\nimport { BrowserClient } from './client';\nimport { wrap as internalWrap } from './helpers';\nimport { Breadcrumbs, GlobalHandlers, LinkedErrors, TryCatch, UserAgent } from './integrations';\nexport var defaultIntegrations = [\n new CoreIntegrations.InboundFilters(),\n new CoreIntegrations.FunctionToString(),\n new TryCatch(),\n new Breadcrumbs(),\n new GlobalHandlers(),\n new LinkedErrors(),\n new UserAgent(),\n];\n/**\n * The Sentry Browser SDK Client.\n *\n * To use this SDK, call the {@link init} function as early as possible when\n * loading the web page. To set context information or send manual events, use\n * the provided methods.\n *\n * @example\n *\n * ```\n *\n * import { init } from '@sentry/browser';\n *\n * init({\n * dsn: '__DSN__',\n * // ...\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { configureScope } from '@sentry/browser';\n * configureScope((scope: Scope) => {\n * scope.setExtra({ battery: 0.7 });\n * scope.setTag({ user_mode: 'admin' });\n * scope.setUser({ id: '4711' });\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { addBreadcrumb } from '@sentry/browser';\n * addBreadcrumb({\n * message: 'My Breadcrumb',\n * // ...\n * });\n * ```\n *\n * @example\n *\n * ```\n *\n * import * as Sentry from '@sentry/browser';\n * Sentry.captureMessage('Hello, world!');\n * Sentry.captureException(new Error('Good bye'));\n * Sentry.captureEvent({\n * message: 'Manual',\n * stacktrace: [\n * // ...\n * ],\n * });\n * ```\n *\n * @see {@link BrowserOptions} for documentation on configuration options.\n */\nexport function init(options) {\n if (options === void 0) { options = {}; }\n if (options.defaultIntegrations === undefined) {\n options.defaultIntegrations = defaultIntegrations;\n }\n if (options.release === undefined) {\n var window_1 = getGlobalObject();\n // This supports the variable that sentry-webpack-plugin injects\n if (window_1.SENTRY_RELEASE && window_1.SENTRY_RELEASE.id) {\n options.release = window_1.SENTRY_RELEASE.id;\n }\n }\n initAndBind(BrowserClient, options);\n}\n/**\n * Present the user with a report dialog.\n *\n * @param options Everything is optional, we try to fetch all info need from the global scope.\n */\nexport function showReportDialog(options) {\n if (options === void 0) { options = {}; }\n if (!options.eventId) {\n options.eventId = getCurrentHub().lastEventId();\n }\n var client = getCurrentHub().getClient();\n if (client) {\n client.showReportDialog(options);\n }\n}\n/**\n * This is the getter for lastEventId.\n *\n * @returns The last event id of a captured event.\n */\nexport function lastEventId() {\n return getCurrentHub().lastEventId();\n}\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function forceLoad() {\n // Noop\n}\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function onLoad(callback) {\n callback();\n}\n/**\n * A promise that resolves when all current events have been sent.\n * If you provide a timeout and the queue takes longer to drain the promise returns false.\n *\n * @param timeout Maximum time in ms the client should wait.\n */\nexport function flush(timeout) {\n var client = getCurrentHub().getClient();\n if (client) {\n return client.flush(timeout);\n }\n return SyncPromise.reject(false);\n}\n/**\n * A promise that resolves when all current events have been sent.\n * If you provide a timeout and the queue takes longer to drain the promise returns false.\n *\n * @param timeout Maximum time in ms the client should wait.\n */\nexport function close(timeout) {\n var client = getCurrentHub().getClient();\n if (client) {\n return client.close(timeout);\n }\n return SyncPromise.reject(false);\n}\n/**\n * Wrap code within a try/catch block so the SDK is able to capture errors.\n *\n * @param fn A function to wrap.\n *\n * @returns The result of wrapped function call.\n */\nexport function wrap(fn) {\n // tslint:disable-next-line: no-unsafe-any\n return internalWrap(fn)();\n}\n//# sourceMappingURL=sdk.js.map","import m from 'mithril';\nimport Postgrest from 'mithril-postgrest';\n\nconst platformTokenMeta = document.querySelector('[name=\"common-platform-token\"]');\nconst platformToken = platformTokenMeta ? platformTokenMeta.getAttribute('content') : null;\nconst commonRequestHeader = { 'Platform-Code': platformToken };\n\nconst apiInit = (api, apiMeta, authUrl, globalHeader) => {\n api.init(apiMeta.getAttribute('content'), { method: 'GET', url: authUrl }, globalHeader);\n};\n\nconst catarse = new Postgrest(m);\nconst catarseApiMeta = document.querySelector('[name=\"api-host\"]');\napiInit(catarse, catarseApiMeta, '/api_token');\n\nconst catarseMoments = new Postgrest(m);\nconst catarseApiMomentsMeta = document.querySelector('[name=\"api-moments-host\"]');\napiInit(catarseMoments, catarseApiMomentsMeta, '/api_token');\n\nconst commonPayment = new Postgrest(m);\nconst commonPaymentApiMeta = document.querySelector('[name=\"common-payment-api-host\"]');\napiInit(commonPayment, commonPaymentApiMeta, '/api_token/common', commonRequestHeader);\n\nconst commonProject = new Postgrest(m);\nconst commonProjectApiMeta = document.querySelector('[name=\"common-project-api-host\"]');\napiInit(commonProject, commonProjectApiMeta, '/api_token/common', commonRequestHeader);\n\nconst commonAnalytics = new Postgrest(m);\nconst commonAnalyticsApiMeta = document.querySelector('[name=\"common-analytics-api-host\"]');\napiInit(commonAnalytics, commonAnalyticsApiMeta, '/api_token/common', commonRequestHeader);\n\nconst commonNotification = new Postgrest(m);\nconst commonNotificationApiMeta = document.querySelector('[name=\"common-notification-api-host\"]');\napiInit(commonNotification, commonNotificationApiMeta, '/api_token/common', commonRequestHeader);\n\n// not a postgrest instance, but pretend it is to get free pagination\nconst commonRecommender = new Postgrest(m);\nconst commonRecommenderApiMeta = document.querySelector('[name=\"common-recommender-api-host\"]');\napiInit(commonRecommender, commonRecommenderApiMeta, '/api_token/common', commonRequestHeader);\n\nconst commonCommunity = new Postgrest(m);\nconst commonCommunityApiMeta = document.querySelector('[name=\"common-community-api-host\"]');\napiInit(commonCommunity, commonCommunityApiMeta, '/api_token/common', commonRequestHeader);\n\nconst commonProxy = new Postgrest(m);\nconst commonProxyApiMeta = document.querySelector('[name=\"common-proxy-api-host\"]');\napiInit(commonProxy, commonProxyApiMeta, '/api_token/common_proxy', commonRequestHeader);\n\n\nexport {\n catarse, \n catarseMoments, \n commonPayment, \n commonProject, \n commonAnalytics, \n commonNotification, \n commonRecommender, \n commonCommunity, \n commonProxy \n};\n","import { \n catarse, \n catarseMoments, \n commonPayment, \n commonAnalytics, \n commonProject, \n commonNotification, \n commonRecommender, \n commonCommunity,\n commonProxy\n} from './api';\n\nconst models = {\n recommendedProjects1: commonRecommender.model('predictions/1'),\n recommendedProjects2: commonRecommender.model('predictions/2'),\n notificationTemplates: commonNotification.model('notification_templates'),\n userNotification: commonNotification.model('user_notifications'),\n commonNotificationTemplate: commonNotification.model('rpc/notification_template'),\n projectSubscriptionsPerDay: commonAnalytics.model('project_subscriptions_per_day'),\n projectSubscribersInfo: commonAnalytics.model('rpc/project_subscribers_info'),\n projectReward: commonProject.model('rewards'),\n projectSubscriber: commonProject.model('subscribers'),\n commonPayment: commonPayment.model('rpc/pay'),\n cancelSubscription: commonPayment.model('rpc/cancel_subscription'),\n commonPaymentInfo: commonPayment.model('rpc/payment_info'),\n commonPayments: commonPayment.model('payments'),\n subscriptionsPerMonth: commonPayment.model('subscriptions_per_month'),\n commonCreditCard: commonPayment.model('rpc/credit_card'),\n commonCreditCards: commonPayment.model('credit_cards'),\n commonSubscriptionUpgrade: commonPayment.model('rpc/upgrade_subscription'),\n setSubscriptionAnonymity: (uuid) => commonProxy.model(`v1/subscriptions/${uuid}/set_anonymity_state`),\n country: catarse.model('countries'),\n state: catarse.model('states'),\n userBalanceTransfers: catarse.model('user_balance_transfers'),\n contributionDetail: catarse.model('contribution_details'),\n contributionActivity: catarse.model('contribution_activities'),\n projectDetail: catarse.model('project_details'),\n userDetail: catarse.model('user_details'),\n balance: catarse.model('balances'),\n balanceTransaction: catarse.model('balance_transactions'),\n balanceTransfer: catarse.model('balance_transfers'),\n user: catarse.model('users'),\n survey: catarse.model('surveys'),\n userCreditCard: catarse.model('user_credit_cards'),\n bankAccount: catarse.model('bank_accounts'),\n bank: catarse.model('banks'),\n goalDetail: catarse.model('goals'),\n rewardDetail: catarse.model('reward_details'),\n projectReminder: catarse.model('project_reminders'),\n projectReport: catarse.model('project_reports'),\n contributions: catarse.model('contributions'),\n directMessage: catarse.model('direct_messages'),\n teamTotal: catarse.model('team_totals'),\n recommendedProjects: catarse.model('recommended_projects'),\n projectVisitorsPerDay: catarseMoments.model('project_visitors_per_day'),\n projectAccount: catarse.model('project_accounts'),\n projectAccountError: catarse.model('project_account_errors'),\n projectContribution: catarse.model('project_contributions'),\n projectContributiorsStat: catarse.model('project_stat_contributors'),\n projectPostDetail: catarse.model('project_posts_details'),\n projectContributionsPerDay: catarse.model('project_contributions_per_day'),\n projectContributionsPerLocation: catarse.model('project_contributions_per_location'),\n projectContributionsPerRef: catarse.model('project_contributions_per_ref'),\n projectFiscalId: catarse.model('project_fiscal_ids'),\n projectTransfer: catarse.model('project_transfers'),\n project: catarse.model('projects'),\n adminProject: catarse.model('admin_projects'),\n projectSearch: catarse.model('rpc/project_search'),\n publicTags: catarse.model('public_tags'),\n category: catarse.model('categories'),\n categoryTotals: catarse.model('category_totals'),\n categoryFollower: catarse.model('category_followers'),\n teamMember: catarse.model('team_members'),\n notification: catarse.model('notifications'),\n statistic: catarse.model('statistics'),\n successfulProject: catarse.model('successful_projects'),\n finishedProject: catarse.model('finished_projects'),\n userFriend: catarse.model('user_friends'),\n userFollow: catarse.model('user_follows'),\n followAllCreators: catarse.model('rpc/follow_all_creators'),\n sentSurveyCount: catarse.model('rpc/sent_survey_count'),\n answeredSurveyCount: catarse.model('rpc/answered_survey_count'),\n followAllFriends: catarse.model('rpc/follow_all_friends'),\n contributor: catarse.model('contributors'),\n userFollower: catarse.model('user_followers'),\n creatorSuggestion: catarse.model('creator_suggestions'),\n userContribution: catarse.model('user_contributions'),\n userSubscription: commonPayment.model('subscriptions'),\n subscriptionTransition: commonPayment.model('subscription_status_transitions'),\n shippingFee: catarse.model('shipping_fees'),\n deleteProject: catarse.model('rpc/delete_project'),\n cancelProject: catarse.model('rpc/cancel_project'),\n city: catarse.model('cities'),\n mailMarketingList: catarse.model('mail_marketing_lists'),\n commonUserDetails: commonCommunity.model('rpc/user_details'),\n rechargeSubscription: commonPayment.model('rpc/recharge_subscription'),\n unsubscribes: catarse.model('unsubscribes'),\n newSubscribersFromPeriod: commonAnalytics.model('rpc/new_subscribers_from_period'),\n projectReportExports: catarse.model('project_report_exports'),\n};\n\nmodels.teamMember.pageSize(40);\nmodels.rewardDetail.pageSize(false);\nmodels.subscriptionTransition.pageSize(false);\nmodels.shippingFee.pageSize(false);\nmodels.projectReminder.pageSize(false);\nmodels.goalDetail.pageSize(false);\nmodels.project.pageSize(30);\nmodels.category.pageSize(50);\nmodels.contributionActivity.pageSize(40);\nmodels.successfulProject.pageSize(9);\nmodels.finishedProject.pageSize(9);\nmodels.country.pageSize(false);\nmodels.state.pageSize(false);\nmodels.publicTags.pageSize(false);\nmodels.projectContribution.pageSize(9);\nmodels.contributor.pageSize(9);\nmodels.projectReward.pageSize(false);\nmodels.recommendedProjects.pageSize(3);\nmodels.bank.pageSize(400);\nmodels.city.pageSize(200);\nmodels.balanceTransfer.pageSize(9);\nmodels.userSubscription.pageSize(9);\nmodels.notificationTemplates.pageSize(200);\n\n\nexport default models;\n","import { catarse } from '../api';\nimport h from '../h';\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport moment from 'moment';\nimport _ from 'underscore';\nimport models from '../models';\n\nconst currentContribution = prop({});\n\nconst getUserProjectContributions = (userId, projectId, states) => {\n const vm = catarse.filtersVM({\n user_id: 'eq',\n project_id: 'eq',\n state: 'in',\n });\n\n vm.user_id(userId);\n vm.project_id(projectId);\n vm.state(states);\n\n const lProjectContributions = catarse.loaderWithToken(models.userContribution.getPageOptions(vm.parameters()));\n\n return lProjectContributions.load();\n};\n\nconst getCurrentContribution = () => {\n const root = document.getElementById('application'),\n data = root && root.getAttribute('data-contribution');\n\n if (data) {\n currentContribution(JSON.parse(data));\n\n m.redraw(true);\n\n return currentContribution;\n }\n return false;\n};\n\nconst wasConfirmed = contribution => _.contains(['paid', 'pending_refund', 'refunded'], contribution.state);\n\nconst canShowReceipt = contribution => wasConfirmed(contribution);\n\nconst canShowSlip = contribution =>\n contribution.payment_method === 'BoletoBancario' &&\n moment(contribution.gateway_data.boleto_expiration_date)\n .endOf('day')\n .isAfter(moment()) &&\n contribution.state === 'pending';\n\nconst canGenerateSlip = contribution =>\n contribution.payment_method === 'BoletoBancario' &&\n (contribution.state === 'pending' || contribution.state === 'refused') &&\n contribution.project_state === 'online' &&\n !contribution.reward_sold_out &&\n !moment(contribution.gateway_data.boleto_expiration_date)\n .endOf('day')\n .isAfter(moment());\n\nconst canBeDelivered = contribution => contribution.state === 'paid' && contribution.reward_id && contribution.project_state !== 'failed';\n\nconst getUserContributionsListWithFilter = () => {\n const contributions = catarse.paginationVM(models.userContribution, 'created_at.desc', { Prefer: 'count=exact' });\n\n return {\n firstPage: params => contributions.firstPage(params).then(() => h.redraw()),\n isLoading: contributions.isLoading,\n collection: contributions.collection,\n isLastPage: contributions.isLastPage,\n nextPage: () => contributions.nextPage().then(() => h.redraw()),\n };\n};\n\nconst getUserContributedProjectsWithFilter = () => {\n const contributions = catarse.paginationVM(models.project, 'created_at.desc', { Prefer: 'count=exact' });\n\n return {\n firstPage: params => contributions.firstPage(params).then(() => h.redraw()),\n isLoading: contributions.isLoading,\n collection: contributions.collection,\n isLastPage: contributions.isLastPage,\n nextPage: () => contributions.nextPage().then(() => h.redraw()),\n };\n};\n\nconst contributionVM = {\n getUserContributedProjectsWithFilter,\n getCurrentContribution,\n canShowReceipt,\n canGenerateSlip,\n canShowSlip,\n getUserProjectContributions,\n canBeDelivered,\n getUserContributionsListWithFilter,\n};\n\nexport default contributionVM;\n","import m from 'mithril';\n\n/**\n * Convert a string to HTML entities\n */\nString.prototype.toHtmlEntities = function() {\n return this.replace(/./gm, function(s) {\n return \"&#\" + s.charCodeAt(0) + \";\";\n });\n};\n\n/**\n * Create string from HTML entities\n */\nString.fromHtmlEntities = function(string) {\n return (string+\"\").replace(/&#\\d+;/gm,function(s) {\n return String.fromCharCode(s.match(/\\d+/gm)[0]);\n })\n};\n\n/**\n * @typedef {{tag: string, key: string, attrs: Object, children: VNode[], text: string, dom: Document, domSize: number, state: string, events: any[], instance: Document}} VNode \n */\n\n/**\n * @description Generates a mithril component tree based on parsed HTML provided.\n * @param {string} text \n * @param {{tagsToFilter:string[], tagsFilterIsWhitelist:boolean, eliminateScriptTags:boolean = true}} options\n * @returns {VNode}\n */\nexport default function generativeTrust(text = '', options = {}, renderer = m) {\n const parser = new DOMParser();\n const parsedDom = parser.parseFromString(text, 'text/html');\n const children = parsedDom.body.childNodes;\n if (children.length > 0) {\n return createElementsFromDom(children, renderer);\n } else {\n return htmlentities(text);\n }\n}\n\n/**\n * @typedef RenderedNode\n * @property\n */\n\n/**\n * @param {NodeList} nodes \n * @param {(string, Object, RenderedNode | string) => RenderedNode} renderer \n */\nfunction createElementsFromDom(nodes, renderer) {\n \n const elements = [];\n \n for (let i = 0; i < nodes.length; i++) {\n const child = nodes.item(i);\n switch(child.nodeName) {\n case '#text': {\n elements.push(child.textContent);\n break;\n }\n\n default: {\n elements.push(createElementFromDom(child, renderer));\n break;\n }\n }\n }\n\n return elements;\n}\n\n/**\n * \n * @param {Node} node \n * @param {(string, Object, RenderedNode | string) => RenderedNode} renderer \n */\nfunction createElementFromDom(node, renderer) {\n const hasChildren = node.childNodes.length > 0;\n if (hasChildren) {\n return renderer(node.nodeName, createAttributesObject(node), createElementsFromDom(node.childNodes, renderer));\n } else {\n return renderer(node.nodeName, createAttributesObject(node));\n }\n}\n\n/**\n * \n * @param {Node} node \n */\nfunction createAttributesObject(node) {\n const attributesObject = {};\n /** @type {NamedNodeMap} */\n const attributes = node.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attrib = attributes.item(i);\n attributesObject[attrib.name] = attrib.value;\n }\n return attributesObject;\n}\n\nfunction htmlentities(text) {\n return text\n .replace(/\\"/gi, '\"')\n .replace(/\\'/gi, '\\'')\n .replace(/\\&/gi, '&')\n .replace(/\\</gi, '<')\n .replace(/\\>/gi, '>')\n .replace(/\\ /gi, ' ')\n .replace(/\\¡/gi, '¡')\n .replace(/\\¢/gi, '¢')\n .replace(/\\£/gi, '£')\n .replace(/\\¤/gi, '¤')\n .replace(/\\¥/gi, '¥')\n .replace(/\\¦/gi, '¦')\n .replace(/\\§/gi, '§')\n .replace(/\\¨/gi, '¨')\n .replace(/\\©/gi, '©')\n .replace(/\\ª/gi, 'ª')\n .replace(/\\«/gi, '«')\n .replace(/\\¬/gi, '¬')\n .replace(/\\­/gi, '')\n .replace(/\\®/gi, '®')\n .replace(/\\¯/gi, '¯')\n .replace(/\\°/gi, '°')\n .replace(/\\±/gi, '±')\n .replace(/\\²/gi, '²')\n .replace(/\\³/gi, '³')\n .replace(/\\´/gi, '´')\n .replace(/\\µ/gi, 'µ')\n .replace(/\\¶/gi, '¶')\n .replace(/\\·/gi, '·')\n .replace(/\\¸/gi, '¸')\n .replace(/\\¹/gi, '¹')\n .replace(/\\º/gi, 'º')\n .replace(/\\»/gi, '»')\n .replace(/\\¼/gi, '¼')\n .replace(/\\½/gi, '½')\n .replace(/\\¾/gi, '¾')\n .replace(/\\¿/gi, '¿')\n .replace(/\\×/gi, '×')\n .replace(/\\÷/gi, '÷')\n .replace(/\\À/gi, 'À')\n .replace(/\\Á/gi, 'Á')\n .replace(/\\Â/gi, 'Â')\n .replace(/\\Ã/gi, 'Ã')\n .replace(/\\Ä/gi, 'Ä')\n .replace(/\\Å/gi, 'Å')\n .replace(/\\Æ/gi, 'Æ')\n .replace(/\\Ç/gi, 'Ç')\n .replace(/\\È/gi, 'È')\n .replace(/\\É/gi, 'É')\n .replace(/\\Ê/gi, 'Ê')\n .replace(/\\Ë/gi, 'Ë')\n .replace(/\\Ì/gi, 'Ì')\n .replace(/\\Í/gi, 'Í')\n .replace(/\\Î/gi, 'Î')\n .replace(/\\Ï/gi, 'Ï')\n .replace(/\\Ð/gi, 'Ð')\n .replace(/\\Ñ/gi, 'Ñ')\n .replace(/\\Ò/gi, 'Ò')\n .replace(/\\Ó/gi, 'Ó')\n .replace(/\\Ô/gi, 'Ô')\n .replace(/\\Õ/gi, 'Õ')\n .replace(/\\Ö/gi, 'Ö')\n .replace(/\\Ø/gi, 'Ø')\n .replace(/\\Ù/gi, 'Ù')\n .replace(/\\Ú/gi, 'Ú')\n .replace(/\\Û/gi, 'Û')\n .replace(/\\Ü/gi, 'Ü')\n .replace(/\\Ý/gi, 'Ý')\n .replace(/\\Þ/gi, 'Þ')\n .replace(/\\ß/gi, 'ß')\n .replace(/\\à/gi, 'à')\n .replace(/\\á/gi, 'á')\n .replace(/\\â/gi, 'â')\n .replace(/\\ã/gi, 'ã')\n .replace(/\\ä/gi, 'ä')\n .replace(/\\å/gi, 'å')\n .replace(/\\æ/gi, 'æ')\n .replace(/\\ç/gi, 'ç')\n .replace(/\\è/gi, 'è')\n .replace(/\\é/gi, 'é')\n .replace(/\\ê/gi, 'ê')\n .replace(/\\ë/gi, 'ë')\n .replace(/\\ì/gi, 'ì')\n .replace(/\\í/gi, 'í')\n .replace(/\\î/gi, 'î')\n .replace(/\\ï/gi, 'ï')\n .replace(/\\ð/gi, 'ð')\n .replace(/\\ñ/gi, 'ñ')\n .replace(/\\ò/gi, 'ò')\n .replace(/\\ó/gi, 'ó')\n .replace(/\\ô/gi, 'ô')\n .replace(/\\õ/gi, 'õ')\n .replace(/\\ö/gi, 'ö')\n .replace(/\\ø/gi, 'ø')\n .replace(/\\ù/gi, 'ù')\n .replace(/\\ú/gi, 'ú')\n .replace(/\\û/gi, 'û')\n .replace(/\\ü/gi, 'ü')\n .replace(/\\ý/gi, 'ý')\n .replace(/\\þ/gi, 'þ')\n .replace(/\\ÿ/gi, 'ÿ')\n \n}","import _ from 'underscore';\nimport moment from 'moment';\nimport * as Sentry from '@sentry/browser';\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse } from './api';\nimport contributionVM from './vms/contribution-vm';\nimport generativeTrust from '../vendor/mithril-generative-trust';\n\nfunction getCallStack() {\n const callStackStr = new Error().stack;\n const callStackLines = callStackStr.split('\\n');\n const callStackTrimmedLines = callStackLines.map(d => d.trim());\n const realCallStack = callStackTrimmedLines.filter((k, i) => i > 0);\n return realCallStack;\n}\n\nfunction RedrawScheduler() {\n let redrawsRequestCounter = 0;\n const markedCallStack = {};\n const requestAnimationFramePolyfill = (function() {\n if (window.requestAnimationFrame !== undefined) {\n return window.requestAnimationFrame;\n } else {\n return function requesterTimeout(functionToCall) {\n setTimeout(functionToCall, 100);\n };\n }\n })();\n\n RedrawScheduler.schedule = () => {\n redrawsRequestCounter++;\n/////////////////////\n////////////////////////////////////////////////////////////////\n//////////////////\n };\n\n function start() {\n if (redrawsRequestCounter > 0) {\n/////////////////////////\n/////////////////////////////////////////////////////////////////////\n/////////////////\n//////////////////////\n\n if (redrawsRequestCounter === 1) {\n m.redraw();\n }\n\n/////////////////////////\n////////////////////////\n////////////////////////////////////////////////\n////////////////////////////////////////////////////\n/////////////\n//////////////////////\n\n redrawsRequestCounter = Math.max(0, --redrawsRequestCounter);\n }\n\n requestAnimationFramePolyfill(start);\n }\n\n start();\n}\n\nRedrawScheduler();\n\nconst { CatarseAnalytics, $ } = window;\nconst _dataCache = {},\n autoRedrawProp = startData => {\n const p = prop(startData);\n\n function dataUpdater(newData) {\n if (newData !== undefined) {\n p(newData);\n //m.redraw();\n RedrawScheduler.schedule();\n }\n\n return p();\n }\n\n dataUpdater.prototype = p;\n return dataUpdater;\n },\n hashMatch = str => window.location.hash === str,\n mobileScreen = () => window.screen && window.screen.width <= 767,\n paramByName = name => {\n const normalName = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]'),\n regex = new RegExp(`[\\\\?&]${normalName}=([^&#]*)`),\n results = regex.exec(location.search);\n return results === null ? '' : decodeURIComponent(results[1].replace(/\\+/g, ' '));\n },\n reduceSearchString = (/** @type {(keyValue:string) => any} */callback, initial) => window.location.search.replace('?', '').split('&').reduce(callback, initial),\n objectToSearchString = (obj) => '?' + Object.keys(obj).map(key => `${key}=${obj[key]}`).join('&'),\n setParamByName = (name, value) => { \n const keysAndValues = reduceSearchString((finalQueryObject, keyValue) => {\n const [key, value] = keyValue.split('=');\n if (key) {\n finalQueryObject[key] = value;\n }\n return finalQueryObject;\n }, {});\n\n keysAndValues[name] = value;\n\n const queryString = objectToSearchString(keysAndValues);\n\n const newurl = window.location.protocol + \"//\" + window.location.host + window.location.pathname + queryString + (window.location.hash === '#' ? '' : window.location.hash);\n m.route.set(newurl);\n },\n setMultParams = (/** @type {{[key : string] : string}} */ objectParams) => {\n const keysAndValues = reduceSearchString((finalQueryObject, keyValue) => {\n const [key, value] = keyValue.split('=');\n if (key) {\n finalQueryObject[key] = value;\n }\n return finalQueryObject;\n }, {});\n\n const queryString = objectToSearchString(Object.assign(keysAndValues, objectParams));\n\n const newurl = window.location.protocol + \"//\" + window.location.host + window.location.pathname + queryString + (window.location.hash === '#' ? '' : window.location.hash);\n m.route.set(newurl);\n },\n setAndResetMultParams = function (/** @type {{[key : string] : string}} */ setParams) {\n const argumentsArray = Array.from(arguments);\n const resetParams = argumentsArray.length > 1 ? argumentsArray.slice(1) : [];\n const keysAndValues = reduceSearchString((finalQueryObject, keyValue) => {\n const [key, value] = keyValue.split('=');\n if (!resetParams.includes(key) && key) {\n finalQueryObject[key] = value;\n }\n return finalQueryObject;\n }, {});\n\n const queryString = objectToSearchString(Object.assign(keysAndValues, setParams));\n\n const newurl = window.location.protocol + \"//\" + window.location.host + window.location.pathname + queryString + (window.location.hash === '#' ? '' : window.location.hash);\n m.route.set(newurl);\n },\n setAndResetMultParamsArray = (/** @type {{[key : string] : string | number}} */ setParams, /** @type {string[]}*/ removeQuery = []) => {\n \n /** @type {Object} */ \n const query = m.parseQueryString(window.location.search);\n \n removeQuery.forEach(param => {\n if (param in query) {\n delete query[param];\n }\n });\n\n const queryString = objectToSearchString(Object.assign(query, setParams));\n\n const newurl = window.location.protocol + '//' + window.location.host + window.location.pathname + queryString + (window.location.hash === '#' ? '' : window.location.hash);\n m.route.set(newurl);\n },\n removeParamByName = (name) => {\n\n const keysAndValues = reduceSearchString((finalQueryObject, keyValue) => {\n\n const [key, value] = keyValue.split('=');\n if (name !== key && key) {\n finalQueryObject[key] = value;\n }\n return finalQueryObject;\n }, {});\n\n const queryString = objectToSearchString(keysAndValues);\n\n const newurl = window.location.protocol + \"//\" + window.location.host + window.location.pathname + queryString + (window.location.hash === '#' ? '' : window.location.hash);\n m.route.set(newurl);\n },\n removeMultParams = function () {\n const paramsNamesToRemove = Array.from(arguments);\n\n const keysAndValues = reduceSearchString((finalQueryObject, keyValue) => {\n\n const [key, value] = keyValue.split('='); \n if (!paramsNamesToRemove.includes(key) && key) {\n finalQueryObject[key] = value;\n }\n return finalQueryObject;\n }, {});\n \n const queryString = objectToSearchString(keysAndValues);\n\n const newurl = window.location.protocol + \"//\" + window.location.host + window.location.pathname + queryString + (window.location.hash === '#' ? '' : window.location.hash);\n m.route.set(newurl);\n },\n selfOrEmpty = (obj, emptyState = '') => obj || emptyState,\n setMomentifyLocale = () => {\n moment.locale('pt', {\n months: 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n });\n },\n lastDayOfNextMonth = () =>\n moment()\n .add(1, 'months')\n .format('D/MMMM'),\n existy = x => x != null,\n slugify = str =>\n window.replaceDiacritics(\n str\n .toLowerCase()\n .replace(/ /g, '-')\n .replace(/[^\\w-]+/g, '')\n ),\n momentify = (date, format) => {\n format = format || 'DD/MM/YYYY';\n return date\n ? moment(date)\n .locale('pt')\n .format(format)\n : 'no date';\n },\n getRandomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min,\n storeAction = (action, value) => {\n if (!localStorage.getItem(action)) {\n return localStorage.setItem(action, String(value));\n }\n },\n storeObject = (sessionKey, obj) => sessionStorage.setItem(sessionKey, JSON.stringify(obj)),\n getStoredObject = sessionKey => {\n if (sessionStorage.getItem(sessionKey)) {\n return JSON.parse(String(sessionStorage.getItem(sessionKey)));\n }\n return null;\n },\n callStoredAction = action => {\n const item = localStorage.getItem(action);\n\n if (item) {\n localStorage.removeItem(action);\n return item;\n }\n return null;\n },\n capitalize = string => string.charAt(0).toUpperCase() + string.slice(1),\n discuss = (page, identifier) => {\n const d = document,\n s = d.createElement('script');\n window.disqus_config = function() {\n this.page.url = page;\n this.page.identifier = identifier;\n };\n s.src = '//catarseflex.disqus.com/embed.js';\n s.setAttribute('data-timestamp', String(+new Date()));\n (d.head || d.body).appendChild(s);\n return m('');\n },\n validateEmail = email => {\n const re = /^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\n return re.test(email);\n },\n validateCnpj = cnpjStr => {\n let tamanho, numeros, digitos, soma, pos, resultado;\n const cnpj = cnpjStr.replace(/[^\\d]+/g, '');\n\n if (cnpj == '') {\n return false;\n }\n\n if (cnpj.length != 14) {\n return false;\n }\n\n if (\n cnpj == '00000000000000' ||\n cnpj == '11111111111111' ||\n cnpj == '22222222222222' ||\n cnpj == '33333333333333' ||\n cnpj == '44444444444444' ||\n cnpj == '55555555555555' ||\n cnpj == '66666666666666' ||\n cnpj == '77777777777777' ||\n cnpj == '88888888888888' ||\n cnpj == '99999999999999'\n ) {\n return false;\n }\n\n tamanho = cnpj.length - 2;\n numeros = cnpj.substring(0, tamanho);\n digitos = cnpj.substring(tamanho);\n soma = 0;\n pos = tamanho - 7;\n\n for (let i = tamanho; i >= 1; i--) {\n soma += Number(numeros.charAt(tamanho - i)) * pos--;\n if (pos < 2) {\n pos = 9;\n }\n }\n resultado = soma % 11 < 2 ? 0 : 11 - (soma % 11);\n if (String(resultado) != digitos.charAt(0)) {\n return false;\n }\n\n tamanho += 1;\n numeros = cnpj.substring(0, tamanho);\n soma = 0;\n pos = tamanho - 7;\n for (let i = tamanho; i >= 1; i--) {\n soma += Number(numeros.charAt(tamanho - i)) * pos--;\n if (pos < 2) {\n pos = 9;\n }\n }\n resultado = soma % 11 < 2 ? 0 : 11 - (soma % 11);\n if (String(resultado) != digitos.charAt(1)) {\n return false;\n }\n\n return true;\n },\n validateCpf = strCPF => {\n let sum = 0,\n remainder;\n\n if (strCPF == '00000000000') return false;\n\n for (let i = 1; i <= 9; i++) {\n sum += parseInt(strCPF.substring(i - 1, i)) * (11 - i);\n }\n remainder = (sum * 10) % 11;\n\n if (remainder == 10 || remainder == 11) {\n remainder = 0;\n }\n\n if (remainder != parseInt(strCPF.substring(9, 10))) {\n return false;\n }\n\n sum = 0;\n\n for (let i = 1; i <= 10; i++) {\n sum += parseInt(strCPF.substring(i - 1, i)) * (12 - i);\n }\n\n remainder = (sum * 10) % 11;\n\n if (remainder == 10 || remainder == 11) {\n remainder = 0;\n }\n\n if (remainder != parseInt(strCPF.substring(10, 11))) {\n return false;\n }\n\n return true;\n },\n validationErrors = prop([]),\n resetValidations = () => validationErrors([]),\n validate = () => {\n const errorFields = prop([]);\n\n return {\n submit(fields, fn) {\n return () => {\n resetValidations();\n\n _.map(fields, field => {\n if (field.rule === 'email') {\n if (!validateEmail(field.prop())) {\n validationErrors().push({\n field: field.prop,\n message: 'E-mail inválido.',\n });\n }\n }\n\n if (field.rule === 'text') {\n if (field.prop().trim() === '') {\n validationErrors().push({\n field: field.prop,\n message: 'O campo não pode ser vazio.',\n });\n }\n }\n });\n\n return !validationErrors().length > 0 ? fn() : false;\n };\n },\n hasError(fieldProp) {\n return _.reduce(validationErrors(), (memo, fieldError) => fieldError.field() === fieldProp() || memo, false);\n },\n };\n },\n momentFromString = (date, format) => {\n const european = moment(date, format || 'DD/MM/YYYY');\n return european.isValid() ? european : moment(date);\n },\n translatedTimeUnits = {\n days: 'dias',\n minutes: 'minutos',\n hours: 'horas',\n seconds: 'segundos',\n },\n // Object manipulation helpers\n translatedTime = time => {\n const translatedTime = translatedTimeUnits,\n unit = () => {\n const projUnit = translatedTime[time.unit || 'seconds'];\n\n return Number(time.total) <= 1 ? projUnit.slice(0, -1) : projUnit;\n };\n\n return {\n unit: unit(),\n total: time.total,\n };\n },\n // Number formatting helpers\n generateFormatNumber = (s, c) => (number, n, x) => {\n if (!_.isNumber(number)) {\n return null;\n }\n\n const re = `\\\\d(?=(\\\\d{${x || 3}})+${n > 0 ? '\\\\D' : '$'})`,\n num = number.toFixed(Math.max(0, ~~n));\n return (c ? num.replace('.', c) : num).replace(new RegExp(re, 'g'), `$&${s || ','}`);\n },\n formatNumber = generateFormatNumber('.', ','),\n toggleProp = (defaultState, alternateState) => {\n const p = prop(defaultState);\n p.toggle = () => p(p() === alternateState ? defaultState : alternateState);\n\n return p;\n },\n idVM = catarse.filtersVM({\n id: 'eq',\n }),\n isDevEnv = () => {\n const root = document.getElementById('catarse_bootstrap'),\n data = root && root.getAttribute('data-environment');\n\n return data && data == 'development';\n },\n getCurrentProject = () => {\n if (_dataCache.currentProject) {\n return _dataCache.currentProject;\n }\n\n const root = document.getElementById('application'),\n data = root && root.getAttribute('data-parameters');\n if (data) {\n return (_dataCache.currentProject = JSON.parse(data));\n }\n return null;\n },\n getRdToken = () => {\n if (_dataCache.rdToken) {\n return _dataCache.rdToken;\n }\n\n const meta = _.first(document.querySelectorAll('[name=rd-token]'));\n return meta ? (_dataCache.rdToken = meta.getAttribute('content')) : null;\n },\n getNewsletterUrl = () => {\n if (_dataCache.newsletterUrl) {\n return _dataCache.newsletterUrl;\n }\n\n const meta = _.first(document.querySelectorAll('[name=newsletter-url]'));\n return meta ? (_dataCache.newsletterUrl = meta.getAttribute('content')) : null;\n },\n getUser = () => {\n if (_dataCache.user) {\n return _dataCache.user;\n }\n\n const body = document.getElementsByTagName('body'),\n data = _.first(body).getAttribute('data-user');\n if (data) {\n return (_dataCache.user = JSON.parse(data));\n }\n return null;\n },\n getUserID = () => {\n const user = getUser();\n return user == null || user.user_id == null ? null : user.user_id;\n },\n getUserCommonID = () => {\n const user = getUser();\n return user && user.common_id\n },\n userSignedIn = () => !_.isNull(getUserID()),\n getBlogPosts = () => {\n if (_dataCache.blogPosts) {\n return _dataCache.blogPosts;\n }\n\n const posts = _.first(document.getElementsByTagName('body')).getAttribute('data-blog');\n\n if (posts) {\n return (_dataCache.blogPosts = JSON.parse(posts));\n }\n return null;\n },\n getApiHost = () => {\n if (_dataCache.apiHost) {\n return _dataCache.apiHost;\n }\n\n const el = document.getElementById('api-host');\n return (_dataCache.apiHost = el && el.getAttribute('content'));\n },\n locationActionMatch = action => {\n const act = window.location.pathname.split('/').slice(-1)[0];\n return action === act;\n },\n useAvatarOrDefault = avatarPath => avatarPath || '/assets/catarse_bootstrap/user.jpg',\n // Templates\n loader = () => m('.u-text-center.u-margintop-30.u-marginbottom-30', [m('img[alt=\"Loader\"][src=\"https://s3.amazonaws.com/catarse.files/loader.gif\"]')]),\n loaderWithSize = (width, height) => m(`img[alt=\"Loader\"][width=${width}][height=${height || width}][src=\"https://s3.amazonaws.com/catarse.files/loader.gif\"]`),\n newFeatureBadge = () => m('span.badge.badge-success.margin-side-5', window.I18n.t('projects.new_feature_badge')),\n fbParse = () => {\n const tryParse = () => {\n try {\n window.FB.XFBML.parse();\n } catch (e) {\n // console.log(e);\n }\n };\n\n return window.setTimeout(tryParse, 500); // use timeout to wait async of facebook\n },\n pluralize = (count, s, p) => (count > 1 ? count + p : count + s),\n strip = html => {\n const tmp = document.createElement('div');\n tmp.innerHTML = html;\n return tmp.textContent || tmp.innerText || '';\n },\n simpleFormat = (str = '') => {\n str = str.replace(/\\r\\n?/, '\\n');\n if (str.length > 0) {\n str = str.replace(/\\n\\n+/g, '</p><p>');\n str = str.replace(/\\n/g, '<br />');\n str = `<p>${str}</p>`;\n }\n return str;\n },\n rewardSouldOut = reward => {\n const noRemainingRewards = reward.maximum_contributions > 0 ? reward.paid_count + reward.waiting_payment_count >= reward.maximum_contributions : false;\n return noRemainingRewards || reward.run_out;\n },\n rewardRemaning = reward => reward.maximum_contributions - (reward.paid_count + reward.waiting_payment_count),\n parseUrl = href => {\n const l = document.createElement('a');\n l.href = href;\n return l;\n },\n UIHelper = () => vnode => {\n if (window.$ && window.UIHelper) {\n window.UIHelper.setupResponsiveIframes($(vnode.dom));\n }\n },\n toAnchor = () => vnode => {\n const hash = window.location.hash.substr(1);\n if (hash === vnode.dom.id) {\n window.location.hash = '';\n setTimeout(() => {\n window.location.hash = vnode.dom.id;\n });\n }\n },\n navigateToDevise = params => {\n if (params) {\n window.location.href = `/${window.I18n.locale}/login${params}`;\n } else {\n window.location.href = `/${window.I18n.locale}/login`;\n }\n\n return false;\n },\n navigateTo = path => {\n window.location.href = path;\n return false;\n },\n cumulativeOffset = element => {\n let top = 0,\n left = 0;\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while (element);\n\n return {\n top,\n left,\n };\n },\n closeModal = () => {\n // Temp for rails unstyled close links\n const close = (elm, selector) => {\n const all = document.getElementsByClassName(selector);\n let cur = elm.parentNode;\n while (cur && !_.contains(all, cur)) {\n cur = cur.parentNode;\n }\n if (cur) {\n cur.style.display = 'none';\n }\n return cur;\n };\n\n const elById = document.getElementById('modal-close');\n if (_.isElement(elById)) {\n elById.onclick = event => {\n event.preventDefault();\n close(elById, 'modal-backdrop');\n };\n }\n\n const els = document.getElementsByClassName('modal-close');\n _.map(els, el => {\n if (_.isElement(el)) {\n el.onclick = event => {\n event.preventDefault();\n close(el, 'modal-backdrop');\n };\n }\n });\n },\n closeFlash = () => {\n const el = document.getElementsByClassName('icon-close')[0];\n if (_.isElement(el)) {\n el.onclick = event => {\n event.preventDefault();\n if (el.parentElement) {\n el.parentElement.remove();\n }\n };\n }\n },\n i18nScope = (scope, obj) => {\n obj = obj || {};\n return _.extend({}, obj, {\n scope,\n });\n },\n redrawHashChange = before => {\n const callback = _.isFunction(before)\n ? () => {\n before();\n scrollTop();\n redraw();\n }\n : () => {\n scrollTop();\n redraw();\n }\n\n window.addEventListener('hashchange', callback, false);\n },\n authenticityToken = () => {\n const meta = _.first(document.querySelectorAll('[name=csrf-token]'));\n return meta ? meta.getAttribute('content') : null;\n },\n authenticityParam = () => {\n const meta = _.first(document.querySelectorAll('[name=csrf-param]'));\n return meta ? meta.getAttribute('content') : null;\n },\n animateScrollTo = el => {\n let scrolled = window.scrollY;\n\n const offset = cumulativeOffset(el).top,\n duration = 300,\n dFrame = (offset - scrolled) / duration,\n // EaseInOutCubic easing function. We'll abstract all animation funs later.\n eased = t => (t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1),\n animation = setInterval(() => {\n const pos = eased(scrolled / offset) * scrolled;\n\n window.scrollTo(0, pos);\n\n if (scrolled >= offset) {\n clearInterval(animation);\n }\n\n scrolled += dFrame;\n }, 1);\n },\n scrollTop = () => window.scrollTo(0, 0),\n scrollTo = () => {\n const setTrigger = (el, anchorId) => {\n el.onclick = () => {\n const anchorEl = document.getElementById(anchorId);\n\n if (_.isElement(anchorEl)) {\n animateScrollTo(anchorEl);\n }\n\n return false;\n };\n };\n\n return localVnode => {\n if (localVnode.dom.hash) {\n setTrigger(localVnode.dom, localVnode.dom.hash.slice(1));\n }\n };\n },\n projectStateTextClass = (state, has_cancelation_request) => {\n const statusText = {\n online: {\n cssClass: 'text-success',\n text: 'NO AR',\n },\n successful: {\n cssClass: 'text-success',\n text: 'FINANCIADO',\n },\n failed: {\n cssClass: 'text-error',\n text: 'NÃO FINANCIADO',\n },\n waiting_funds: {\n cssClass: 'text-waiting',\n text: 'AGUARDANDO',\n },\n rejected: {\n cssClass: 'text-error',\n text: 'CANCELADO',\n },\n draft: {\n cssClass: '',\n text: 'RASCUNHO',\n },\n in_analysis: {\n cssClass: '',\n text: 'EM ANÁLISE',\n },\n approved: {\n cssClass: 'text-success',\n text: 'APROVADO',\n },\n };\n\n if (has_cancelation_request) {\n return {\n cssClass: 'text-error',\n text: 'AGUARDANDO CANCELAMENTO',\n };\n }\n return statusText[state];\n },\n RDTracker = eventId => () => {\n const integrationScript = document.createElement('script');\n integrationScript.type = 'text/javascript';\n integrationScript.id = 'RDIntegration';\n\n if (!document.getElementById(integrationScript.id)) {\n document.body.appendChild(integrationScript);\n integrationScript.onload = () => window.RdIntegration.integrate(getRdToken(), eventId);\n integrationScript.src = 'https://d335luupugsy2.cloudfront.net/js/integration/stable/rd-js-integration.min.js';\n }\n\n return false;\n },\n analyticsEvent = (eventObj, fn = Function.prototype) => {\n // https://developers.google.com/analytics/devguides/collection/analyticsjs/command-queue-reference#send\n if (!eventObj) {\n return fn;\n }\n\n return data => {\n try {\n if (!eventObj.project) {\n eventObj.project = getCurrentProject();\n }\n if (!eventObj.user) {\n eventObj.user = getUser();\n }\n CatarseAnalytics.event(eventObj);\n } catch (e) {\n // console.error('[h.analyticsEvent] error:', e);\n }\n fn(data);\n };\n },\n _analyticsOneTimeEventFired = {},\n analyticsOneTimeEvent = (eventObj, fn) => {\n if (!eventObj) {\n return fn;\n }\n\n const eventKey = _.compact([eventObj.cat, eventObj.act]).join('_');\n if (!eventKey) {\n throw new Error('Should inform cat or act');\n }\n return () => {\n if (!_analyticsOneTimeEventFired[eventKey]) {\n // console.log('oneTimeEvent',eventKey);\n _analyticsOneTimeEventFired[eventKey] = true;\n const fireEvent = analyticsEvent(eventObj, fn);\n fireEvent();\n }\n };\n },\n monetaryToFloat = propValue => {\n if (_.isNumber(propValue())) {\n return parseFloat(propValue());\n }\n\n return parseFloat(\n propValue()\n .replace('.', '')\n .replace(',', '.')\n );\n },\n applyMonetaryMask = number => {\n let onlyNumbers = String(number).replace(/[^0-9]|[.]/g, '');\n let integerPart = onlyNumbers.slice(0, onlyNumbers.length - 2);\n let decimalPart = onlyNumbers.slice(onlyNumbers.length - 2);\n let i = 0;\n for (i = 0; i < integerPart.length; i += 1) {\n if (integerPart.charAt(i) !== '0') {\n break;\n }\n }\n\n if (i > 0) {\n integerPart = integerPart.slice(i, integerPart.length);\n }\n\n integerPart = integerPart.length === 0 ? '0' : integerPart;\n integerPart = integerPart.replace(/\\B(?=(\\d{3})+(?!\\d))/g, '.');\n\n return `${integerPart},${decimalPart}`;\n },\n noNumbersMask = value => value.replace(/[0-9]/g, ''),\n numbersOnlyMask = value => value.replace(/[^0-9]/g, ''),\n addChar = (position, maskChar) => char => string => {\n if (string.length === position && char !== maskChar) {\n return string + maskChar;\n }\n return string;\n },\n readMaskDefinition = maskCharDefinitions => maskDefinition =>\n _.compact(_.map(maskDefinition, (letter, index) => (letter in maskCharDefinitions ? null : [index, letter]))),\n isCharAllowed = maskCharDefinitions => maskDefinition => (position, newChar) => {\n if (position >= maskDefinition.length) {\n return false;\n }\n\n const maskChar = maskDefinition.charAt(position);\n if (maskChar in maskCharDefinitions) {\n return maskCharDefinitions[maskChar].test(newChar);\n }\n return newChar === maskChar || isCharAllowed(maskCharDefinitions)(maskDefinition)(position + 1, newChar);\n },\n applyMask = maskDefinition => {\n const maskFunctions = _.map(maskDefinition, maskChar => addChar(maskChar[0], maskChar[1]));\n return (string, newChar) => {\n const addNewCharFunctions = _.map(maskFunctions, el => el(newChar));\n const applyMaskFunctions = _.reduce(addNewCharFunctions, (memo, f) =>\n _.isFunction(memo)\n ? _.compose(\n f,\n memo\n )\n : f\n );\n return applyMaskFunctions(string);\n };\n },\n // Adapted from https://github.com/diogob/jquery.fixedmask\n mask = (maskDefinition, value) => {\n const maskCharDefinitions = {\n 9: /\\d/, // String key needed to avoid flowType error\n A: /[a-zA-Z]/,\n },\n readMask = readMaskDefinition(maskCharDefinitions),\n isStrCharAllowed = isCharAllowed(maskCharDefinitions),\n applyValueMask = applyMask(readMask(maskDefinition)),\n restrictInput = isStrCharAllowed(maskDefinition);\n\n return _.reduce(\n value,\n (memo, chr) => {\n if (restrictInput(memo.length, chr)) {\n memo = applyValueMask(memo, chr) + chr;\n }\n return memo;\n },\n ''\n );\n },\n removeStoredObject = sessionKey => sessionStorage.removeItem(sessionKey),\n currentProject = prop(),\n setProject = project => {\n currentProject(project);\n },\n getProject = () => currentProject,\n currentReward = prop(),\n setReward = reward => {\n currentReward(reward);\n },\n getReward = () => currentReward,\n buildLink = (link, refStr) => `/${link}${refStr ? `?ref=${refStr}` : ''}`,\n analyticsWindowScroll = eventObj => {\n if (eventObj) {\n setTimeout(() => {\n const u = window.location.href;\n let fired = false;\n window.addEventListener('scroll', function sc(e) {\n //console.log('windowScroll');\n const same = window.location.href === u;\n if (same && !fired && window.$ && $(document).scrollTop() > $(window).height() / 2) {\n fired = true;\n const fireEvent = analyticsEvent(eventObj);\n fireEvent();\n window.removeEventListener('scroll', sc);\n } else if (!same) {\n window.removeEventListener('scroll', sc);\n }\n });\n }, 1000);\n }\n },\n analytics = {\n event: analyticsEvent,\n oneTimeEvent: analyticsOneTimeEvent,\n windowScroll: analyticsWindowScroll,\n },\n projectFullPermalink = project => {\n let permalink;\n if (typeof project === 'function') {\n permalink = project().permalink;\n } else {\n permalink = project.permalink;\n }\n\n return `https://www.catarse.me/${permalink}`;\n },\n isHome = () => {\n const path = window.location.pathname;\n\n return path == '/en' || path == '/';\n },\n isProjectPage = () => {\n const path = window.location.pathname || '',\n isOnInsights = path.indexOf('/insights') > -1,\n isOnFiscal = path.indexOf('/fiscal') > -1,\n isOnEdit = path.indexOf('/edit') > -1,\n isOnContribution = path.indexOf('/contribution') > -1;\n\n return !isOnEdit && !isOnInsights && !isOnContribution && !isOnFiscal;\n },\n setPageTitle = title => vnode => {\n const titleEl = document.getElementsByTagName('title')[0],\n currentTitle = titleEl.innerText;\n\n if (currentTitle !== title) {\n return (titleEl.innerText = title);\n }\n },\n checkReminder = () => {\n const reminder = sessionStorage.getItem('reminder');\n\n if (reminder && isHome()) {\n window.location.href = `/projects/${reminder}`;\n }\n },\n rootUrl = () => {\n if (_dataCache.rootUrl) {\n return _dataCache.rootUrl;\n }\n\n const meta = _.first(document.querySelectorAll('[name=root-url]'));\n\n return meta ? (_dataCache.rootUrl = meta.getAttribute('content')) : null;\n },\n redactorConfig = params => ({\n source: false,\n formatting: ['p'],\n formattingAdd: [\n {\n tag: 'blockquote',\n title: 'Citar',\n class: 'fontsize-base quote',\n clear: true,\n },\n\n {\n tag: 'p',\n title: 'Cabeçalho 1',\n class: 'fontsize-larger fontweight-semibold',\n clear: true,\n },\n {\n tag: 'p',\n title: 'Cabeçalho 2',\n class: 'fontsize-large',\n clear: true,\n },\n ],\n lang: 'pt_br',\n maxHeight: 800,\n minHeight: 300,\n convertVideoLinks: true,\n convertUrlLinks: true,\n convertImageLinks: false,\n // You can specify, which ones plugins you need.\n // If you want to use plugins, you have add plugins to your\n // application.js and application.css files and uncomment the line below:\n // \"plugins\": ['fontsize', 'fontcolor', 'fontfamily', 'fullscreen', 'textdirection', 'clips'],\n plugins: ['video'],\n imageUpload: `/redactor_rails/pictures?${params}`,\n imageGetJson: '/redactor_rails/pictures',\n path: '/assets/redactor-rails',\n css: 'style.css',\n }),\n setRedactor = (\n prop,\n isInit = false //(el, isInit) => {\n ) => vnode => {\n if (!isInit) {\n const el = vnode.dom;\n const $editor = window.$(el);\n const csrf_token = authenticityToken();\n const csrf_param = authenticityParam();\n let params = '';\n if (csrf_param && csrf_token) {\n params = `${csrf_param}=${encodeURIComponent(csrf_token)}`;\n }\n $editor.redactor(redactorConfig(params));\n $editor.redactor('code.set', prop());\n // If we need to get redactor values and send it to js objects we'll have to add\n // a hook on the change.callback.redactor event. e.g.:\n // $editor.on('change.callback.redactor', () => prop($editor.redactor('code.get')) );\n // TODO: workaround to get redactor data\n window.$('.redactor-editor').on('blur', (event) => {\n prop($editor.redactor('code.get'));\n if (vnode.attrs.onblur) {\n vnode.attrs.onblur(event);\n }\n });\n\n window.$('.redactor-editor').on('focus', (event) => {\n if (vnode.attrs.onfocus) {\n vnode.attrs.onfocus(event);\n }\n });\n }\n },\n redactor = (name, prop, aditionalClasses = '') =>\n m(`textarea.input_field.redactor.w-input.text-field.bottom.jumbo.positive${aditionalClasses}`, {\n name,\n oncreate: setRedactor(prop),\n }),\n setCsrfToken = xhr => {\n if (authenticityToken()) {\n xhr.setRequestHeader('X-CSRF-Token', authenticityToken());\n }\n },\n contributionStatusBadge = contribution => {\n const status = {\n delivered: m('span.fontsize-smallest.badge.badge-success', 'Enviada'),\n received: m('span.fontsize-smallest.badge.badge-success', 'Recebida'),\n undelivered: m('span.fontsize-smallest.badge.badge-light', 'Não enviada'),\n error: m('span.fontsize-smallest.badge.badge-attention', 'Erro no envio'),\n };\n\n return contributionVM.canBeDelivered(contribution) ? status[contribution.delivery_status] : '';\n },\n getParams = searchKey => {\n const query = window.location.href;\n const queryParams = (/^[?#]/.test(query) ? query.slice(1) : query).split('?');\n\n return queryParams.length > 1\n ? queryParams[1].split('&').reduce((params, param) => {\n const [key, value] = param.split('=');\n params[key] = value ? decodeURIComponent(value.replace(/\\+/g, ' ')) : '';\n return params;\n }, {})[searchKey]\n : null;\n },\n stripScripts = s => {\n const div = document.createElement('div');\n div.innerHTML = s;\n const scripts = div.getElementsByTagName('script');\n let i = scripts.length;\n while (i--) {\n scripts[i].parentNode.removeChild(scripts[i]);\n }\n return div.innerHTML;\n },\n sleep = time => {\n const p = new Promise((resolve, reject) => {\n setTimeout(resolve, time);\n });\n\n return p;\n },\n createRequestRedrawWithCountdown = countdown => {\n countdown = countdown || 0;\n return () => {\n countdown = Math.max(0, countdown - 1);\n if (countdown <= 0) {\n m.redraw();\n }\n };\n },\n createRequestAutoRedraw = function() {\n return createRequestRedrawWithCountdown(arguments.length);\n },\n redraw = function() {\n RedrawScheduler.schedule();\n },\n createBasicPaginationVMWithAutoRedraw = vmInstance => {\n const error = prop(false);\n const errorMessage = prop('');\n\n return {\n isLastPage() {\n const loadedAmount = Number(vmInstance.collection().length || 0);\n return loadedAmount >= vmInstance.total();\n },\n isLoading: vmInstance.isLoading,\n collection: vmInstance.collection,\n total() {\n try {\n return Number(vmInstance.total() || 0);\n } catch(e) {\n return 0;\n }\n },\n error,\n errorMessage,\n async firstPage(params = {}) {\n error(false);\n errorMessage('');\n try {\n return await vmInstance.firstPage(params);\n } catch(e) {\n error(true);\n errorMessage(e);\n throw e;\n } finally {\n redraw();\n }\n },\n async nextPage() {\n error(false);\n errorMessage('');\n try {\n return await vmInstance.nextPage();\n } catch(e) {\n error(true);\n errorMessage(e);\n throw e;\n } finally {\n redraw();\n }\n },\n };\n },\n trust = text => generativeTrust(text, { eliminateScriptTags: true }),\n SentryInitSDK = () => {\n const metaSentryUrlDSN = document.querySelector('[name=\"sentry-public-dsn\"]');\n\n if (metaSentryUrlDSN && metaSentryUrlDSN.getAttribute('content')) {\n Sentry.init({ dsn: metaSentryUrlDSN.getAttribute('content') });\n if (getUserID()) {\n Sentry.configureScope(scope => scope.setUser({ id: getUserID() }));\n }\n }\n },\n captureException = (exception) => {\n try {\n Sentry.captureException(exception);\n } catch (e) {\n Sentry.captureException(e);\n }\n },\n captureMessage = (message) => {\n try {\n Sentry.captureMessage(message);\n } catch (e) {\n Sentry.captureException(e);\n }\n },\n titleCase = (str) => {\n // remove leading and trailing spaces\n let newString = str ? str.trim() : '';\n // remove multiple spaces\n newString = newString.replace(/\\s{2,}/g, ' ');\n // lowercase\n newString = newString.toLowerCase();\n\n return newString.split(' ').map(function(word) {\n if (['de', 'da', 'do', 'das', 'dos'].includes(word)) {\n return word.toLowerCase()\n } else {\n return word ? word.replace(word[0], word[0].toUpperCase()) : '';\n }\n }).join(' ');\n },\n buildCreditCard = (creditCardFields) => {\n let expirationMonth = String(creditCardFields.expMonth());\n expirationMonth = (1 === expirationMonth.length ? '0' : '') + expirationMonth;\n const expirationDate = expirationMonth + String(creditCardFields.expYear()).substr(2, 2);\n\n return {\n card_number: creditCardFields.number(),\n card_holder_name: titleCase(creditCardFields.name()),\n card_expiration_date: expirationDate,\n card_cvv: creditCardFields.cvv()\n }\n }\n\n\n/**\n * @param {string} phoneNumberStr\n * @return {string}\n */\nconst extractPhoneDDD = (phoneNumberStr) => {\n const extractPhoneFieldsRegex = /\\(([^)]*)\\)(.*)/;\n return phoneNumberStr.match(extractPhoneFieldsRegex)[1].replace(/\\D/g, '');\n};\n\n/**\n * @param {string} phoneNumberStr\n * @return {string}\n */\nconst extractPhoneNumber = (phoneNumberStr) => {\n const extractPhoneFieldsRegex = /\\(([^)]*)\\)(.*)/;\n return phoneNumberStr.match(extractPhoneFieldsRegex)[2].replace(/\\D/g, '');\n};\n\n/**\n * @param {T} data\n * @template T\n */\nfunction ObservableStream(data) {\n\n /**\n * @type {Array<function(T):void>}\n */\n const observers = [];\n const privateData = prop(data);\n\n /**\n * @return {T}\n */\n function get() {\n return privateData();\n }\n\n /**\n * @param {T} newData\n * @return {T}\n */\n function set(newData) {\n privateData(newData);\n notifyAll();\n return newData;\n }\n\n /**\n * @param {function(T):void} observeFunction\n */\n function observe(observeFunction) {\n observers.push(observeFunction);\n }\n\n /**\n * @param {T} newData\n */\n function notifyAll(newData) {\n for (const observeFunction of observers) {\n observeFunction(newData);\n }\n }\n\n return {\n get,\n set,\n observe,\n }\n}\n\n/**\n * @param {T} data\n * @template T\n */\nfunction ObservableRedrawStream(data) {\n const observableStream = ObservableStream(data);\n observableStream.observe(redraw);\n return observableStream;\n}\n\nfunction RedrawStream<T>(data : T, onUpdate = (param : T) => {}) {\n\n const _data = prop<T>(data);\n\n /**\n * @param {T} newData\n * @returns {T}\n */\n function streamAccessor(newData : T) {\n if (newData !== undefined) {\n _data(newData);\n onUpdate(newData);\n redraw();\n return newData;\n }\n return _data();\n }\n\n return streamAccessor;\n}\n\n/**\n * @param {T} data\n * @template T\n * @returns {{ (newData : T) => T, toggle() : T }}\n */\nfunction RedrawToggleStream(firstState, secondState) {\n const _data = prop(firstState);\n\n /**\n * @param {T} newData\n * @returns {T}\n */\n function streamAccessor(newData) {\n if (newData !== undefined) {\n _data(newData);\n redraw();\n return newData;\n }\n return _data();\n }\n\n streamAccessor.toggle = () => streamAccessor(_data() === firstState ? secondState : firstState);\n\n return streamAccessor; \n}\n\nfunction createPropAcessors(obj) {\n return Object.keys(obj).reduce((curObject, prop) => {\n return Object.assign(curObject, {\n [prop]: function (newValue) {\n if (newValue !== undefined) {\n obj[prop] = newValue;\n return newValue;\n }\n return obj[prop];\n }\n });\n }, {});\n}\n\nsetMomentifyLocale();\ncloseFlash();\ncloseModal();\ncheckReminder();\n\nfunction attachEventsToHistory(type) {\n var orig = history[type];\n return function() {\n var rv = orig.apply(this, arguments);\n var e = new Event(type.toLowerCase());\n e.arguments = arguments;\n window.dispatchEvent(e);\n return rv;\n };\n};\n\nfunction isMobile() {\n return (/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase()));\n}\n\nfunction clamp(value : number, min : number, max : number) : number {\n return Math.min(Math.max(value, min), max)\n}\n\n/**\n * @typedef VNode\n * @property {Object} attrs\n * @property {Object} state\n */\n\nexport default {\n createPropAcessors,\n ObservableStream,\n ObservableRedrawStream,\n RedrawStream,\n RedrawToggleStream,\n extractPhoneDDD,\n extractPhoneNumber,\n SentryInitSDK,\n captureException,\n captureMessage,\n redraw,\n getCallStack,\n createRequestRedrawWithCountdown,\n createBasicPaginationVMWithAutoRedraw,\n createRequestAutoRedraw,\n autoRedrawProp,\n sleep,\n stripScripts,\n authenticityParam,\n authenticityToken,\n buildLink,\n contributionStatusBadge,\n cumulativeOffset,\n discuss,\n existy,\n slugify,\n validateEmail,\n validateCpf,\n validateCnpj,\n momentify,\n momentFromString,\n lastDayOfNextMonth,\n formatNumber,\n idVM,\n getUser,\n getUserID,\n getUserCommonID,\n getApiHost,\n getNewsletterUrl,\n getCurrentProject,\n getParams,\n toggleProp,\n loader,\n loaderWithSize,\n newFeatureBadge,\n fbParse,\n pluralize,\n simpleFormat,\n translatedTime,\n rewardSouldOut,\n rewardRemaning,\n parseUrl,\n hashMatch,\n mobileScreen,\n redrawHashChange,\n useAvatarOrDefault,\n locationActionMatch,\n navigateToDevise,\n navigateTo,\n storeAction,\n callStoredAction,\n UIHelper,\n toAnchor,\n capitalize,\n paramByName,\n setParamByName,\n setMultParams,\n setAndResetMultParams,\n setAndResetMultParamsArray,\n removeParamByName,\n removeMultParams,\n i18nScope,\n RDTracker,\n selfOrEmpty,\n animateScrollTo,\n scrollTo,\n scrollTop,\n getRandomInt,\n projectStateTextClass,\n validationErrors,\n validate,\n analytics,\n strip,\n storeObject,\n getStoredObject,\n removeStoredObject,\n setProject,\n getProject,\n setReward,\n getReward,\n applyMonetaryMask,\n noNumbersMask,\n numbersOnlyMask,\n monetaryToFloat,\n mask,\n projectFullPermalink,\n isProjectPage,\n setPageTitle,\n rootUrl,\n setRedactor,\n redactor,\n setCsrfToken,\n userSignedIn,\n isDevEnv,\n trust,\n attachEventsToHistory,\n titleCase,\n buildCreditCard,\n isMobile,\n clamp,\n};\n","import { getCurrentHub } from '@sentry/hub';\nimport { logger } from '@sentry/utils';\n/**\n * Internal function to create a new SDK client instance. The client is\n * installed and then bound to the current scope.\n *\n * @param clientClass The client class to instanciate.\n * @param options Options to pass to the client.\n */\nexport function initAndBind(clientClass, options) {\n if (options.debug === true) {\n logger.enable();\n }\n getCurrentHub().bindClient(new clientClass(options));\n}\n//# sourceMappingURL=sdk.js.map","import m from 'mithril';\nimport h from '../h';\n\n/**\n * @typedef {Object} HomeBanner\n * @property {number} id\n * @property {string} title\n * @property {string} subtitle\n * @property {string} link\n * @property {string} cta\n * @property {string} image\n * @property {string} created_at\n * @property {string} updated_at\n */\n\n/**\n * @typedef {Object} HomeVM\n * @property {Array<HomeBanner>} banners\n * @property {boolean} isUpdating\n */\n\nconst homeVM = () => {\n const _isUpdating = h.RedrawStream(false);\n const _banners = h.RedrawStream([]);\n\n async function getBanners() {\n\n try {\n const response = await m.request('/home_banners');\n _banners(response.data);\n } catch(e) {\n _banners([]);\n }\n }\n\n /** @param {Array<HomeBanner>} newBanners */\n async function updateBanners(newBanners) {\n\n _isUpdating(true);\n\n try {\n for (const newBannerData of newBanners) {\n\n const response = await m.request({\n method: 'put',\n url: `/home_banners/${newBannerData.id}/`,\n data: newBannerData,\n config: h.setCsrfToken\n });\n }\n } catch(e) {\n console.log('error updating banners:', e);\n }\n\n _isUpdating(false);\n }\n\n getBanners();\n \n return {\n /** @type {Array<HomeBanner>} */\n get banners() {\n return _banners;\n },\n\n /** @param {Array<HomeBanner>} newBanners */\n set banner(newBanners) {\n updateBanners(newBanners);\n },\n\n /** @type {boolean} */\n get isUpdating() {\n return _isUpdating()\n },\n\n updateBanners\n };\n};\n\nexport default homeVM;","import m from 'mithril';\n\nexport const AdminHomeBannersEntry = {\n\n view({attrs}) {\n \n const {\n position,\n title,\n subtitle,\n link,\n cta,\n image\n } = attrs;\n\n const entry_id_suffix = `_id_${position()}`;\n\n return m('div.card.u-marginbottom-30', [\n m(`div.fontsize-larger.u-marginbottom-30.slide-entry[id=\"position${entry_id_suffix}\"]`, `Posição #${position()}`),\n m('div.w-form', [\n m('div', [\n m('div.fontsize-base',\n m('span.fontweight-semibold', 'Título:')\n ),\n m(`input.text-field.w-input[type=\"text\"][id=\"title${entry_id_suffix}\"]`, {\n oninput: (event) => title(event.target.value),\n value: title()\n }),\n m('div.fontsize-base',\n m('span.fontweight-semibold', 'Subtítulo:')\n ),\n m(`input.text-field.w-input[type=\"text\"][id=\"subtitle${entry_id_suffix}\"]`, {\n oninput: (event) => subtitle(event.target.value),\n value: subtitle()\n }),\n m('div.fontsize-base',\n m('span.fontweight-semibold', 'Link:')\n ),\n m(`input.text-field.w-input[type=\"text\"][id=\"link${entry_id_suffix}\"]`, {\n oninput: (event) => link(event.target.value),\n value: link()\n }),\n m('div.fontsize-base',\n m('span.fontweight-semibold', 'CTA:')\n ),\n m(`input.text-field.w-input[type=\"text\"][id=\"cta${entry_id_suffix}\"]`, {\n oninput: (event) => cta(event.target.value),\n value: cta()\n }),\n m('div.fontsize-base',\n m('span.fontweight-semibold', 'Imagem:')\n ),\n m(`input.text-field.w-input[type=\"text\"][id=\"image${entry_id_suffix}\"]`, {\n oninput: (event) => image(event.target.value),\n value: image()\n })\n ])\n ])\n ]);\n }\n};\n","import m from 'mithril';\nimport h from '../h';\nimport prop from 'mithril/stream';\nimport homeVM, { HomeBanner, HomeVM } from '../vms/home-vm';\nimport { AdminHomeBannersEntry } from '../c/admin-home-banners-entry';\n\nconst AdminHomeBanners = {\n oninit(vnode) {\n vnode.state = {\n vm: vnode.attrs.vm || homeVM()\n };\n },\n\n view({ state, attrs }) {\n\n /** @type {HomeVM} */\n const vm = state.vm;\n const banners = vm.banners;\n const isUpdating = vm.isUpdating;\n\n return m('span', [\n m('div.section',\n m('div.w-container',\n m('div.fontsize-larger.u-text-center', 'Banners')\n )\n ),\n\n m('div.divider'),\n\n m('div.section.bg-gray.before-footer',\n m('div.w-container', [\n\n vm.banners().map((banner, index) => {\n const getterSetters = h.createPropAcessors(banner);\n getterSetters.position = prop(index + 1);\n return m(AdminHomeBannersEntry, getterSetters);\n }),\n\n m('div.u-marginbottom-60.w-row'),\n\n m('div.save-draft-btn-section.w-row', [\n m('div.w-col.w-col-4'),\n m('div.w-col.w-col-4',\n isUpdating ?\n h.loader()\n :\n m('button.btn.btn-large[href=\"\"]', { onclick: () => vm.updateBanners(banners()) }, 'Salvar')\n ),\n m('div.w-col.w-col-4')\n ])\n ])\n )\n ]);\n }\n};\n\nexport default AdminHomeBanners;","import m from 'mithril';\nimport h from '../h';\n\nconst projectEditSaveBtn = {\n view: function({attrs}) {\n return m('.w-section.save-draft-btn-section', {\n style: (attrs.hideMarginLeft ? { 'margin-left': 0 } : '')\n }, [\n m('.w-row', [\n m('.w-col.w-col-4.w-col-push-4',\n (attrs.loading() ? h.loader() : [\n m('input[id=\"anchor\"][name=\"anchor\"][type=\"hidden\"][value=\"about_me\"]'),\n m('input.btn.btn.btn-large[name=\"commit\"][type=\"submit\"][value=\"Salvar\"]', {\n onclick: attrs.onSubmit\n })\n ])\n ),\n m('.w-col.w-col-4')\n ])\n ]);\n }\n};\n\nexport default projectEditSaveBtn;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport h from '../h';\nimport _ from 'underscore';\nimport { catarse, commonNotification } from '../api';\nimport models from '../models';\nimport projectEditSaveBtn from '../c/project-edit-save-btn';\n\nconst adminNotifications = {\n oninit: function(vnode) {\n const templates = commonNotification.paginationVM(\n models.notificationTemplates, 'label.asc'),\n loaderTemp = prop(true),\n loaderSubmit = prop(false),\n selectedItem = prop(),\n selectedItemTemplate = prop(),\n renderedTemplate = prop(),\n renderedSubjectTemplate = prop(),\n parsedTemplate = prop(),\n parsedSubjectTemplate = prop(),\n selectedItemSubjectTemplate = prop(),\n templateDefaultVars = {\n user: {\n name: 'test name user'\n }\n },\n renderSubjectTemplate = (tpl) => {},\n renderTemplate = (tpl) => {},\n changeSelectedTo = collection => (evt) => {\n const item = _.find(collection, { label: evt.target.value });\n\n if (item && item.label) {\n const tpl = item.template || item.default_template;\n const subTpl = item.subject || item.default_subject;\n\n selectedItem(item);\n selectedItemTemplate(tpl);\n selectedItemSubjectTemplate(subTpl);\n renderSubjectTemplate(subTpl);\n renderTemplate(tpl);\n } else { selectedItem(undefined); }\n },\n onSaveSelectedItem = (evt) => {\n loaderSubmit(true);\n models.commonNotificationTemplate.postWithToken({\n data: {\n label: selectedItem().label,\n subject: parsedSubjectTemplate(),\n template: parsedTemplate()\n }\n }, null, {}).then(() => {\n templates.firstPage({}).then(() => { loaderSubmit(false); });\n });\n };\n\n templates.firstPage({}).then(() => { loaderTemp(false); });\n\n vnode.state = {\n templates,\n selectedItem,\n selectedItemTemplate,\n renderedTemplate,\n renderTemplate,\n changeSelectedTo,\n loaderTemp,\n onSaveSelectedItem,\n loaderSubmit,\n renderSubjectTemplate,\n selectedItemSubjectTemplate\n };\n },\n view: function({state}) {\n const templatesCollection = state.templates.collection(),\n selectedItem = state.selectedItem();\n\n return m('', [\n m('#notifications-admin', [\n m('.section',\n\t\t\t\t\tm('.w-container',\n\t\t\t\t\t\tm('.w-row', [\n m('.w-col.w-col-3'),\n m('.w-col.w-col-6',\n\t\t\t\t\t\t\t\tm('.w-form', [\n m('form', [\n m('.fontsize-larger.u-marginbottom-10.u-text-center',\n\t\t\t\t\t\t\t\t\t\t\t'Notificações'\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t(state.loaderTemp() && !_.isEmpty(templatesCollection) ? h.loader() : m(\n\t\t\t\t\t\t\t\t\t\t\t'select.medium.text-field.w-select', {\n oninput: state.changeSelectedTo(templatesCollection)\n}, (() => {\n const maped = _.map(\n\t\t\t\t\t\t\t\t\t\t\t\t\ttemplatesCollection,\n\t\t\t\t\t\t\t\t\t\t\t\t\titem => m('option', { value: item.label }, item.label)\n\t\t\t\t\t\t\t\t\t\t\t\t);\n maped.unshift(m(\"option[value='']\", 'Selecione uma notificação'));\n return maped;\n})())\n\t\t\t\t\t\t\t\t\t\t)\n ])\n])\n\t\t\t\t\t\t\t),\n m('.w-col.w-col-3')\n])\n\t\t\t\t\t)\n\t\t\t\t),\n m('.divider'),\n m('.u-marginbottom-80.bg-gray.section',\n\t\t\t\t\t(selectedItem ? m('.w-container',\n\t\t\t\t\t\tm('.w-row', [\n m('.w-col.w-col-6', [\n m('.fontsize-base.fontweight-semibold.u-marginbottom-20.u-text-center', [\n m('span.fa.fa-code',\n\t\t\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t\t\t),\n 'HTML'\n ]),\n m('.w-form', [\n m('form', [\n m('.u-marginbottom-20.w-row', [\n m('.w-col.w-col-2',\n\t\t\t\t\t\t\t\t\t\t\t\tm('label.fontsize-small',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Label'\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t),\n m('.w-col.w-col-10',\n\t\t\t\t\t\t\t\t\t\t\t\tm('.fontsize-small',\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedItem.label\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)\n ]),\n m('.w-row', [\n m('.w-col.w-col-2',\n\t\t\t\t\t\t\t\t\t\t\t\tm('label.fontsize-small',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Subject'\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t),\n m('.w-col.w-col-10',\n\t\t\t\t\t\t\t\t\t\t\t\tm('input.positive.text-field.w-input', {\n value: state.selectedItemSubjectTemplate(),\n oninput: m.withAttr('value', (v) => {\n state.selectedItemSubjectTemplate(v);\n state.renderSubjectTemplate(v);\n })\n})\n\t\t\t\t\t\t\t\t\t\t\t)\n ]),\n m('label.fontsize-small', [\n 'Content',\n m('a.alt-link.u-right',\n\t\t\t\t\t\t\t\t\t\t\t\t'Ver variáveis'\n\t\t\t\t\t\t\t\t\t\t\t)\n ]),\n m('textarea.positive.text-field.w-input[rows=\"20\"]', {\n value: state.selectedItemTemplate(),\n oninput: m.withAttr('value', (v) => {\n state.selectedItemTemplate(v);\n state.renderTemplate(v);\n })\n })\n ])\n ])\n ]),\n m('.w-col.w-col-6', [\n m('.fontsize-base.fontweight-semibold.u-marginbottom-20.u-text-center', [\n m('span.fa.fa-eye', ''),\n 'Visualização'\n ]),\n m('', m.trust(state.renderedTemplate()))\n ])\n])\n\t\t\t\t\t) : '')\n\t\t\t\t)\n ]),\n\t\t\t(selectedItem ? m('footer', m(projectEditSaveBtn, {\n loading: state.loaderSubmit,\n onSubmit: state.onSaveSelectedItem,\n hideMarginLeft: true\n})) : '')\n ]);\n }\n};\n\nexport default adminNotifications;\n","import m from 'mithril';\nimport h from '../h';\nimport models from '../models';\nimport { catarse, commonProject } from '../api';\n\nmodels.adminProject.pageSize(9);\nexport default catarse.paginationVM(models.adminProject, 'pledged.desc', { Prefer: 'count=exact' });\n\n\nconst getProjectSubscribersListVM = () => {\n models.projectSubscriber.pageSize(15);\n const projectSubscribersListVM = commonProject.paginationVM(models.projectSubscriber, null, { Prefer: 'count=exact' });\n return h.createBasicPaginationVMWithAutoRedraw(projectSubscribersListVM);\n};\n\nconst getProjectContributorsListVM = () => {\n models.contributor.pageSize(15);\n const projectContributorsListVM = catarse.paginationVM(models.contributor, null, { Prefer: 'count=exact' });\n return h.createBasicPaginationVMWithAutoRedraw(projectContributorsListVM);\n}\n\nexport {\n getProjectSubscribersListVM,\n getProjectContributorsListVM\n};","import m from 'mithril';\nimport h from '../h';\nimport { catarse } from '../api';\n\nconst { replaceDiacritics } = window;\n\nconst vm = catarse.filtersVM({\n full_text_index: 'plfts(portuguese)',\n state: 'eq',\n mode: 'eq',\n recommended: 'eq',\n created_at: 'between',\n project_expires_at: 'between',\n updated_at: 'between',\n goal: 'between',\n progress: 'between',\n category_name: 'eq'\n }),\n\n paramToString = function (p) {\n return (p || '').toString().trim();\n };\n\nvm.state('online');\nvm.mode('');\nvm.recommended('');\nvm.category_name('');\nvm.order({\n project_id: 'desc'\n});\n\nvm.updated_at.lte.toFilter = function () {\n const filter = paramToString(vm.updated_at.lte());\n return filter && h.momentFromString(filter).endOf('day').format('');\n};\n\nvm.updated_at.gte.toFilter = function () {\n const filter = paramToString(vm.updated_at.gte());\n return filter && h.momentFromString(filter).format();\n};\n\nvm.project_expires_at.lte.toFilter = function () {\n const filter = paramToString(vm.project_expires_at.lte());\n return filter && h.momentFromString(filter).endOf('day').format('');\n};\n\nvm.project_expires_at.gte.toFilter = function () {\n const filter = paramToString(vm.project_expires_at.gte());\n return filter && h.momentFromString(filter).format();\n};\n\nvm.created_at.lte.toFilter = function () {\n const filter = paramToString(vm.created_at.lte());\n return filter && h.momentFromString(filter).endOf('day').format('');\n};\n\nvm.created_at.gte.toFilter = function () {\n const filter = paramToString(vm.created_at.gte());\n return filter && h.momentFromString(filter).format();\n};\n\nvm.full_text_index.toFilter = function () {\n const filter = paramToString(vm.full_text_index());\n return filter && replaceDiacritics(filter) || undefined;\n};\n\nexport default vm;\n","import m from 'mithril';\n\nconst filterMain = {\n view: function({attrs}) {\n const wrapper_c = attrs.wrapper_class || '.w-row';\n const inputWrapperClass = attrs.inputWrapperClass || '.w-input.text-field.positive.medium',\n btnClass = attrs.btnClass || '.btn.btn-large.u-marginbottom-10';\n\n return m(wrapper_c, [\n m('.w-col.w-col-8', [\n m(`input${inputWrapperClass}[placeholder=\"${attrs.placeholder}\"][type=\"text\"]`, {\n onchange: m.withAttr('value', attrs.vm),\n value: attrs.vm()\n })\n ]),\n m('.w-col.w-col-4', [\n m(`input#filter-btn${btnClass}[type=\"submit\"][value=\"Buscar\"]`)\n ])\n ]);\n }\n};\n\nexport default filterMain;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport filterMain from './filter-main';\n\nconst adminFilter = {\n oninit: function(vnode) {\n vnode.state = {\n toggler: h.toggleProp(false, true)\n };\n\n return vnode.state;\n },\n view: function({state, attrs}) {\n const filterBuilder = attrs.filterBuilder,\n data = attrs.data,\n label = attrs.label || '',\n main = _.findWhere(filterBuilder, {\n component: filterMain\n });\n\n return m('#admin-contributions-filter.w-section.page-header', [\n m('.w-container', [\n m('.fontsize-larger.u-text-center.u-marginbottom-30', label),\n m('.w-form', [\n m('form', {\n onsubmit: attrs.submit\n }, [\n main ? m(main.component, main.data) : '',\n m('.u-marginbottom-20.w-row',\n m('button.w-col.w-col-12.fontsize-smallest.link-hidden-light[style=\"background: none; border: none; outline: none; text-align: left;\"][type=\"button\"]', {\n onclick: () => {\n state.toggler.toggle();\n m.redraw();\n }\n }, 'Filtros avançados >')), (state.toggler() ?\n m('#advanced-search.w-row.admin-filters', [\n _.map(filterBuilder, f => (f.component !== filterMain) ? m(f.component, f.data) : '')\n ]) : ''\n )\n ])\n ])\n ])\n ]);\n }\n};\n\nexport default adminFilter;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst adminItem = {\n oninit: function(vnode) {\n vnode.state = {\n displayDetailBox: h.toggleProp(false, true)\n };\n },\n view: function({state, attrs}) {\n const item = attrs.item,\n listWrapper = attrs.listWrapper || {},\n selectedItem = (_.isFunction(listWrapper.isSelected) ?\n listWrapper.isSelected(item.id) : false);\n\n\n return m('.w-clearfix.card.u-radius.u-marginbottom-20.results-admin-items', {\n class: (selectedItem ? 'card-alert' : '')\n }, [\n m(attrs.listItem, {\n item,\n listWrapper: attrs.listWrapper,\n }),\n m('button.w-inline-block.arrow-admin.fa.fa-chevron-down.fontcolor-secondary', {\n onclick: state.displayDetailBox.toggle\n }),\n (\n state.displayDetailBox() ? \n m(attrs.listDetail, {\n item,\n }) \n : \n ''\n )\n ]);\n }\n};\n\nexport default adminItem;\n","import m from 'mithril';\nimport h from '../h';\nimport adminItem from './admin-item';\n\nconst adminList = {\n oninit: function(vnode) {\n const list = vnode.attrs.vm.list;\n\n if (!list.collection().length && list.firstPage) {\n list\n .firstPage(vnode.attrs.filterVM ? vnode.attrs.filterVM.parameters() : null)\n .then(_ => m.redraw(), (serverError) => {\n vnode.attrs.vm.error(serverError.message);\n m.redraw();\n })\n .catch(_ => m.redraw());\n }\n\n const loadNextPage = () => {\n list\n .nextPage()\n .then(_ => m.redraw())\n .catch(_ => m.redraw());\n };\n\n vnode.state = {\n loadNextPage\n };\n },\n view: function({state, attrs}) {\n const list = attrs.vm.list,\n error = attrs.vm.error,\n label = attrs.label || '',\n itemComponent = attrs.itemComponent || adminItem;\n\n return m('.w-section.section', [\n m('.w-container',\n error() ?\n m('.card.card-error.u-radius.fontweight-bold', error()) : [\n m('.w-row.u-marginbottom-20', [\n m('.w-col.w-col-12', [\n m('.fontsize-base',\n list.isLoading() ?\n `Carregando ${label.toLowerCase()}...` : [\n m('.w-row', [\n m('.w-col.w-col-2', [\n m('.fontweight-semibold', list.total()),\n ` ${label.toLowerCase()} encontrados`\n ]),\n (attrs.vm && attrs.vm.hasInputAction ? m('.w-col-10.w-col', attrs.vm.inputActions()) : '')\n ])\n ]\n )\n ])\n ]),\n m('#admin-contributions-list.w-container', [\n list.collection().map(item => m(itemComponent, {\n listItem: attrs.listItem,\n listDetail: attrs.listDetail,\n listWrapper: attrs.vm,\n item,\n key: item.id\n })),\n m('.w-section.section', [\n m('.w-container', [\n m('.w-row', [\n m('.w-col.w-col-2.w-col-push-5', [\n (\n list.isLoading() ?\n h.loader() \n :\n m('button#load-more.btn.btn-medium.btn-terciary', {\n onclick: state.loadNextPage\n }, 'Carregar mais')\n ),\n ])\n ])\n ])\n ])\n ])\n ]\n )\n ]);\n }\n};\n\nexport default adminList;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.card');\nconst progressMeter = {\n oninit: function(vnode) {\n const project = vnode.attrs.project;\n const progress = vnode.attrs.progress;\n const isFinished = project => _.contains(['successful', 'failed', 'waiting_funds'], project.state);\n const cardMeter = () => {\n const failed = () => ((project.state === 'failed') || (project.state === 'waiting_funds')) ? 'card-secondary' : '';\n\n return `.card-project-meter.${project.mode}.${project.state}.${progress > 100 ? 'complete' : 'incomplete'}.${failed()}`;\n };\n vnode.state = {\n project,\n progress,\n cardMeter,\n isFinished\n };\n },\n view: function({state}) {\n const project = state.project;\n return m(state.cardMeter(), [\n (state.isFinished(project)) ?\n m('div',\n project.state === 'successful' && state.progress < 100 ? window.I18n.t('display_status.flex_successful', I18nScope()) : window.I18n.t(`display_status.${project.state}`, I18nScope())\n ) :\n m('.meter', [\n m('.meter-fill', {\n style: {\n width: `${(state.progress > 100 ? 100 : state.progress)}%`\n }\n })\n ])\n ]);\n }\n};\n\nexport default progressMeter;\n","import _ from 'underscore';\nimport moment from 'moment';\nimport { catarse } from '../api';\n\nconst projectFiltersVM = () => {\n const filtersVM = catarse.filtersVM,\n covid19 = filtersVM({\n integrations: 'like',\n }).integrations('COVID-19'),\n\n all = filtersVM({\n state: 'eq'\n }).state('online'),\n\n nearMe = filtersVM({\n near_me: 'eq',\n open_for_contributions: 'eq'\n }).open_for_contributions('true').near_me(true),\n\n sub = filtersVM({\n mode: 'eq'\n }).mode('sub'),\n\n notSub = filtersVM({\n mode: 'not.eq'\n }).mode('sub'),\n\n expiring = filtersVM({\n expires_at: 'lte',\n open_for_contributions: 'eq'\n }).open_for_contributions('true').expires_at(moment().add(14, 'days').format('YYYY-MM-DD')),\n\n recent = filtersVM({\n online_date: 'gte',\n open_for_contributions: 'eq'\n }).open_for_contributions('true').online_date(moment().subtract(5, 'days').format('YYYY-MM-DD')),\n\n score = filtersVM({\n score: 'gte',\n open_for_contributions: 'eq'\n }).score('1').open_for_contributions('true'),\n\n online = filtersVM({\n open_for_contributions: 'eq'\n }).open_for_contributions('true'),\n\n saved_projects = filtersVM({\n open_for_contributions: 'eq',\n saved_projects: 'eq'\n }).open_for_contributions('true').saved_projects(true),\n\n contributed_by_friends = filtersVM({\n open_for_contributions: 'eq',\n contributed_by_friends: 'eq'\n }).open_for_contributions('true').contributed_by_friends(true),\n\n successful = filtersVM({\n state: 'eq'\n }).state('successful'),\n\n finished = filtersVM({}),\n\n projects_we_love = filtersVM({\n recommended: 'eq'\n }).recommended(true),\n\n projects_we_love_not_sub = filtersVM({\n recommended: 'eq',\n mode: 'not.eq'\n }).recommended(true).mode('sub'),\n \n filters = {\n projects_we_love_not_sub: {\n title: 'Projetos que amamos',\n filter: projects_we_love_not_sub,\n mode: 'not_sub',\n nicename: 'Projetos que amamos',\n isContextual: false,\n keyName: 'projects_we_love',\n header_badges: ['badge-aon-h-margin', 'badge-flex-h-margin']\n },\n projects_we_love: {\n title: 'Projetos que amamos',\n filter: projects_we_love,\n nicename: 'Projetos que amamos',\n isContextual: false,\n keyName: 'projects_we_love',\n header_badges: ['badge-aon-h-margin', 'badge-flex-h-margin']\n },\n all: {\n title: 'Todas as Categorias',\n filter: all,\n nicename: 'Populares',\n isContextual: false,\n keyName: 'all'\n },\n covid_19: {\n title: 'Projetos COVID-19',\n filter: covid19,\n mode: 'covid_19',\n nicename: 'Projetos COVID-19',\n isContextual: false,\n keyName: 'covid_19',\n query: {\n mode: 'covid_19',\n filter: 'all'\n }\n },\n saved_projects: {\n title: 'Projetos Salvos',\n filter: saved_projects,\n nicename: 'Projetos Salvos',\n isContextual: false,\n keyName: 'saved_projects'\n },\n contributed_by_friends: {\n title: 'Amigos',\n filter: contributed_by_friends,\n nicename: 'Apoiados por amigos',\n isContextual: false,\n keyName: 'contributed_by_friends'\n },\n recent: {\n title: 'Recentes',\n filter: recent,\n nicename: 'Recentes',\n isContextual: false,\n keyName: 'recent'\n },\n expiring: {\n title: 'Reta final',\n filter: expiring,\n nicename: 'Reta final',\n isContextual: false,\n keyName: 'expiring'\n },\n finished: {\n title: 'Todas as Categorias',\n filter: finished,\n nicename: 'Finalizados',\n isContextual: false,\n keyName: 'finished'\n },\n score: {\n title: 'Todas as Categorias',\n filter: score,\n nicename: 'Populares',\n isContextual: false,\n keyName: 'score'\n },\n online: {\n title: 'No ar',\n filter: online,\n isContextual: false,\n keyName: 'online'\n },\n successful: {\n title: 'Todas as Categorias',\n filter: successful,\n nicename: 'Financiados',\n isContextual: false,\n keyName: 'successful'\n },\n not_sub: {\n title: 'Projetos pontuais',\n nicename: 'Projetos pontuais',\n filter: notSub,\n isContextual: false,\n keyName: 'not_sub',\n header_badges: ['badge-aon-h-margin', 'badge-flex-h-margin']\n },\n all_modes: {\n title: 'Todos os projetos',\n filter: {\n parameters: () => ({})\n },\n isContextual: false,\n keyName: 'all_modes'\n },\n sub: {\n title: 'Assinaturas',\n nicename: 'Assinaturas',\n filter: sub,\n mode: 'sub',\n isContextual: false,\n keyName: 'sub',\n header_badges: ['badge-sub-h-margin']\n },\n near_me: {\n title: 'Próximos a mim',\n filter: nearMe,\n isContextual: false,\n keyName: 'near_me'\n }\n };\n\n const setContextFilters = (contextFilters) => {\n _.map(contextFilters, filterKey => filters[filterKey].isContextual = true);\n\n return filters;\n },\n getContextFilters = () => _.filter(filters, filter => filter.isContextual),\n removeContextFilter = (filter) => {\n filters[filter.keyName].isContextual = false;\n\n return filters;\n };\n\n return {\n filters,\n setContextFilters,\n getContextFilters,\n removeContextFilter\n };\n};\n\nexport default projectFiltersVM;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse, commonPayment } from '../api';\nimport h from '../h';\nimport models from '../models';\nimport projectFilters from './project-filters-vm';\n\nconst idVM = h.idVM,\n currentUser = prop({}),\n createdVM = catarse.filtersVM({ project_user_id: 'eq' });\n\nconst getUserCreatedProjects = (user_id, pageSize = 3) => {\n createdVM.project_user_id(user_id).order({ project_id: 'desc' });\n\n models.project.pageSize(pageSize);\n\n const lUserCreated = catarse.loaderWithToken(models.project.getPageOptions(createdVM.parameters()));\n\n return lUserCreated.load();\n};\n\nconst getPublicUserContributedProjects = (user_id, pageSize = 3) => {\n const contextVM = catarse.filtersVM({\n user_id: 'eq',\n });\n\n contextVM.user_id(user_id);\n\n models.contributor.pageSize(pageSize);\n\n const lUserContributed = catarse.loaderWithToken(models.contributor.getPageOptions(contextVM.parameters()));\n\n return lUserContributed.load();\n};\n\nconst getUserBalance = user_id => {\n const contextVM = catarse.filtersVM({\n user_id: 'eq',\n });\n contextVM.user_id(user_id);\n\n const loader = catarse.loaderWithToken(models.balance.getPageOptions(contextVM.parameters()));\n return loader.load();\n};\n\nconst getUserBankAccount = user_id => {\n const contextVM = catarse.filtersVM({\n user_id: 'eq',\n });\n\n contextVM.user_id(user_id);\n\n const lUserAccount = catarse.loaderWithToken(models.bankAccount.getPageOptions(contextVM.parameters()));\n return lUserAccount.load();\n};\n\nconst getUserProjectReminders = user_id => {\n const contextVM = catarse.filtersVM({\n user_id: 'eq',\n without_notification: 'eq',\n });\n\n contextVM.user_id(user_id).without_notification(true);\n\n models.projectReminder;\n\n const lUserReminders = catarse.loaderWithToken(models.projectReminder.getPageOptions(contextVM.parameters()));\n\n return lUserReminders.load();\n};\n\nconst getUserUnsubscribesProjects = user_id => {\n const contextVM = catarse.filtersVM({\n user_id: 'eq',\n });\n\n contextVM.user_id(user_id);\n\n models.unsubscribes;\n\n const lUserReminders = catarse.loaderWithToken(models.unsubscribes.getPageOptions(contextVM.parameters()));\n\n return lUserReminders.load();\n};\n\nconst getMailMarketingLists = () => {\n const l = catarse.loaderWithToken(models.mailMarketingList.getPageOptions({ order: 'id.asc' }));\n\n return l.load();\n};\n\nconst getUserCreditCards = user_id => {\n const contextVM = catarse.filtersVM({\n user_id: 'eq',\n });\n\n contextVM.user_id(user_id);\n\n models.userCreditCard.pageSize(false);\n\n const lUserCards = catarse.loaderWithToken(models.userCreditCard.getPageOptions(contextVM.parameters()));\n\n return lUserCards.load();\n};\n\nconst toggleDelivery = (projectId, contribution) =>\n m.request({\n method: 'GET',\n config: h.setCsrfToken,\n url: `/projects/${projectId}/contributions/${contribution.contribution_id}/toggle_delivery`,\n });\n\nconst toggleAnonymous = (projectId, contribution) =>\n m.request({\n method: 'GET',\n config: h.setCsrfToken,\n url: `/projects/${projectId}/contributions/${contribution.contribution_id}/toggle_anonymous`,\n });\n\nconst getUserContributedProjects = (user_id, pageSize = 3) => {\n const contextVM = catarse.filtersVM({\n user_id: 'eq',\n state: 'in',\n });\n\n contextVM\n .user_id(user_id)\n .order({\n created_at: 'desc',\n })\n .state(['refunded', 'pending_refund', 'paid']);\n\n models.userContribution.pageSize(pageSize);\n\n const lUserContributed = catarse.loaderWithToken(models.userContribution.getPageOptions(contextVM.parameters()));\n\n return lUserContributed.load();\n};\n\nconst getUserSubscribedProjects = (user_external_id, pageSize = 3) => {\n const contextVM = commonPayment.filtersVM({\n user_external_id: 'eq',\n status: 'in',\n });\n\n contextVM\n .user_external_id(user_external_id)\n .order({\n created_at: 'desc',\n })\n .status(['started', 'active', 'canceling']);\n\n models.userSubscription.pageSize(pageSize);\n\n const loaderUserSubscribed = commonPayment.loaderWithToken(models.userSubscription.getPageOptions(contextVM.parameters()));\n\n return loaderUserSubscribed.load();\n};\n\nconst fetchUser = (user_id, handlePromise = true, customProp = currentUser) => {\n idVM.id(user_id);\n\n const lUser = catarse.loaderWithToken(models.userDetail.getRowOptions(idVM.parameters()));\n\n if (!handlePromise) {\n return lUser.load();\n } else {\n lUser\n .load()\n .then(\n _.compose(\n customProp,\n _.first\n )\n )\n .then(_ => h.redraw());\n return customProp;\n }\n};\n\nconst getCurrentUser = () => {\n fetchUser(h.getUserID());\n return currentUser;\n};\n\nconst displayName = user => {\n const u = user || { name: 'no name' };\n return _.isEmpty(u.public_name) ? u.name : u.public_name;\n};\n\nconst displayImage = user => {\n const defaultImg = 'https://catarse.me/assets/catarse_bootstrap/user.jpg';\n\n if (user) {\n return user.profile_img_thumbnail || defaultImg;\n }\n\n return defaultImg;\n};\n\nconst displayCover = user => {\n if (user) {\n return user.profile_cover_image || displayImage(user); //\n }\n\n return displayImage(user);\n};\n\nconst getUserRecommendedProjects = contribution => {\n const sample3 = _.partial(_.sample, _, 3),\n loaders = prop([]),\n collection = prop([]),\n { user_id } = h.getUser();\n\n const loader = () =>\n _.reduce(\n loaders(),\n (memo, curr) => {\n const _memo = _.isFunction(memo) ? memo() : memo,\n _curr = _.isFunction(curr) ? curr() : curr;\n\n return _memo && _curr;\n },\n true\n );\n\n const loadPopular = () => {\n const filters = projectFilters().filters;\n const popular = catarse.loaderWithToken(models.project.getPageOptions(_.extend({}, { order: 'score.desc' }, filters.score.filter.parameters())));\n\n loaders().push(popular);\n\n popular\n .load()\n .then(\n _.compose(\n collection,\n sample3\n )\n )\n .then(() => m.redraw());\n };\n\n const pushProject = ({ project_id }) => {\n const project = catarse.loaderWithToken(\n models.project.getPageOptions(\n catarse\n .filtersVM({ project_id: 'eq' })\n .project_id(project_id)\n .parameters()\n )\n );\n\n loaders().push(project);\n project.load().then(data => {\n collection().push(_.first(data));\n m.redraw();\n });\n };\n\n const projects = catarse.loaderWithToken(\n models.recommendedProjects.getPageOptions(\n catarse\n .filtersVM({ user_id: 'eq' })\n .user_id(user_id)\n .parameters()\n )\n );\n\n projects.load().then(recommended => {\n if (recommended.length > 0) {\n _.map(recommended, pushProject);\n } else {\n loadPopular();\n }\n m.redraw();\n });\n\n return {\n loader,\n collection,\n };\n};\n\nconst userVM = {\n getUserCreatedProjects,\n getUserCreditCards,\n toggleDelivery,\n toggleAnonymous,\n getUserProjectReminders,\n getUserRecommendedProjects,\n getUserContributedProjects,\n getUserSubscribedProjects,\n getUserBalance,\n getUserBankAccount,\n getPublicUserContributedProjects,\n displayImage,\n displayCover,\n displayName,\n fetchUser,\n getCurrentUser,\n currentUser,\n getMailMarketingLists,\n getUserUnsubscribesProjects,\n get isLoggedIn() {\n return h.getUserID() !== null;\n },\n};\n\nexport default userVM;\n","import { catarse, commonProject } from '../api';\nimport _ from 'underscore';\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport models from '../models';\nimport h from '../h';\n\nconst error = prop(''),\n rewards = prop([]),\n states = prop([]),\n fees = prop([]),\n noReward = {\n id: null,\n description: '',\n shipping_options: null,\n minimum_value: 10,\n },\n contributionValue = prop(noReward.minimum_value),\n selectedReward = prop(),\n vm = catarse.filtersVM({\n project_id: 'eq',\n });\n\nconst rewardsLoader = projectId => {\n vm.project_id(projectId);\n\n return catarse.loaderWithToken(models.rewardDetail.getPageOptions(vm.parameters()));\n};\n\nconst rewardLoader = rewardId => {\n const rewardvm = catarse.filtersVM({\n id: 'eq',\n });\n rewardvm.id(rewardId);\n\n return catarse.loaderWithToken(models.rewardDetail.getPageOptions(rewardvm.parameters()));\n};\n\nconst fetchRewards = projectId =>\n rewardsLoader(projectId)\n .load()\n .then(rewardsData => {\n rewards(rewardsData);\n h.redraw();\n return rewardsData;\n });\n\nconst fetchCommonRewards = projectId => {\n vm.project_id(projectId);\n const l = commonProject.loaderWithToken(models.projectReward.getPageOptions(vm.parameters()));\n return l.load().then(rewardsData => {\n rewards(rewardsData);\n h.redraw();\n return rewardsData;\n });\n};\n\nconst getFees = reward => {\n const feesFilter = catarse.filtersVM({\n reward_id: 'eq',\n });\n\n feesFilter.reward_id(reward.id);\n const feesLoader = catarse.loader(models.shippingFee.getPageOptions(feesFilter.parameters()));\n return feesLoader.load();\n};\n\nconst getSelectedReward = () => {\n const root = document.getElementById('application'),\n data = root && root.getAttribute('data-contribution');\n\n if (data) {\n const contribution = JSON.parse(data);\n\n selectedReward(contribution.reward);\n h.redraw(true);\n\n return selectedReward;\n }\n\n return false;\n};\n\nconst selectReward = reward => () => {\n if (selectedReward() !== reward) {\n error('');\n selectedReward(reward);\n if (reward.id) {\n contributionValue(h.applyMonetaryMask(`${reward.minimum_value},00`));\n } else {\n // no reward\n if (contributionValue() === '10,00' || !contributionValue()) contributionValue(h.applyMonetaryMask('$10,00'));\n }\n\n if (reward.id) {\n getFees(reward).then(feesData => {\n fees(feesData);\n h.redraw();\n });\n }\n }\n};\n\nconst applyMask = _.compose(\n contributionValue,\n h.applyMonetaryMask\n);\n\nconst statesLoader = catarse.loader(models.state.getPageOptions());\nconst getStates = () => {\n statesLoader.load().then(states);\n return states;\n};\n\nconst locationOptions = (reward, destination) => {\n const options = prop([]),\n mapStates = _.map(states(), state => {\n let fee;\n const feeState = _.findWhere(fees(), {\n destination: state.acronym,\n });\n const feeOthers = _.findWhere(fees(), {\n destination: 'others',\n });\n if (feeState) {\n fee = feeState.value;\n } else if (feeOthers) {\n fee = feeOthers.value;\n }\n\n return {\n name: state.name,\n value: state.acronym,\n fee,\n };\n });\n if (reward.shipping_options === 'national') {\n options(mapStates);\n } else if (reward.shipping_options === 'international') {\n let fee;\n const feeInternational = _.findWhere(fees(), {\n destination: 'international',\n });\n if (feeInternational) {\n fee = feeInternational.value;\n }\n options(\n _.union(\n [\n {\n value: 'international',\n name: 'Outside Brazil',\n fee,\n },\n ],\n mapStates\n )\n );\n }\n\n options(\n _.union(\n [\n {\n value: '',\n name: 'Selecione Opção',\n fee: 0,\n },\n ],\n options()\n )\n );\n\n return options();\n};\n\nconst shippingFeeById = feeId =>\n _.findWhere(fees(), {\n id: feeId,\n });\n\nconst getOtherNationalStates = () =>\n _.reject(\n states(),\n state =>\n !_.isUndefined(\n _.findWhere(fees(), {\n destination: state.acronym,\n })\n )\n );\n\nconst feeDestination = (reward, feeId) => {\n const fee = shippingFeeById(feeId) || {};\n const feeState = _.findWhere(states(), {\n acronym: fee.destination,\n });\n\n if (feeState) {\n return feeState.acronym;\n } else if (reward.shipping_options === 'national' && fee.destination === 'others') {\n return _.pluck(getOtherNationalStates(fees), 'acronym').join(', ');\n }\n\n return fee.destination;\n};\n\nconst shippingFeeForCurrentReward = selectedDestination => {\n let currentFee = _.findWhere(fees(), {\n destination: selectedDestination(),\n });\n\n if (\n !currentFee &&\n _.findWhere(states(), {\n acronym: selectedDestination(),\n })\n ) {\n currentFee = _.findWhere(fees(), {\n destination: 'others',\n });\n }\n\n return currentFee;\n};\n\nconst createReward = (projectId, rewardData) =>\n m.request({\n method: 'POST',\n url: `/projects/${projectId}/rewards.json`,\n data: {\n reward: rewardData,\n },\n config: h.setCsrfToken,\n });\n\nconst updateReward = (projectId, rewardId, rewardData) =>\n m.request({\n method: 'PATCH',\n url: `/projects/${projectId}/rewards/${rewardId}.json`,\n data: {\n reward: rewardData,\n },\n config: h.setCsrfToken,\n });\n\nconst uploadImage = (projectId, rewardId, rewardImageFile) => {\n const formData = new FormData();\n formData.append('uploaded_image', rewardImageFile);\n return m.request({\n method: 'POST',\n url: `/projects/${projectId}/rewards/${rewardId}/upload_image`,\n data: formData,\n config: h.setCsrfToken,\n serialize(data) {\n return data;\n },\n });\n};\n\nconst deleteImage = (projectId, rewardId) => {\n return m.request({\n method: 'DELETE',\n url: `/projects/${projectId}/rewards/${rewardId}/delete_image`,\n config: h.setCsrfToken,\n });\n};\n\nconst canEdit = (reward, projectState, user) =>\n (user || {}).is_admin ||\n (projectState === 'draft' ||\n (projectState === 'online' && reward.paid_count() <= 0 && (_.isFunction(reward.waiting_payment_count) ? reward.waiting_payment_count() <= 0 : true)));\n\nconst canAdd = (projectState, user) => (user || {}).is_admin || projectState === 'draft' || projectState === 'online';\n\nconst hasShippingOptions = reward => !(_.isNull(reward.shipping_options) || reward.shipping_options === 'free' || reward.shipping_options === 'presential');\n\nconst rewardVM = {\n canEdit,\n canAdd,\n error,\n getStates,\n getFees,\n rewardLoader,\n fees,\n rewards,\n applyMask,\n noReward,\n fetchRewards,\n fetchCommonRewards,\n selectReward,\n getSelectedReward,\n selectedReward,\n contributionValue,\n updateReward,\n createReward,\n rewardsLoader,\n locationOptions,\n shippingFeeForCurrentReward,\n shippingFeeById,\n statesLoader,\n feeDestination,\n getValue: contributionValue,\n setValue: contributionValue,\n hasShippingOptions,\n uploadImage,\n deleteImage,\n};\n\nexport default rewardVM;\n","import { catarse } from '../api';\nimport _ from 'underscore';\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport models from '../models';\nimport h from '../h';\n\nconst goals = prop([]),\n goalsData = prop([]),\n vm = catarse.filtersVM({\n project_id: 'eq'\n });\n\nconst goalsLoader = (projectId) => {\n vm.project_id(projectId);\n vm.order({\n value: 'asc'\n });\n\n return catarse.loaderWithToken(models.goalDetail.getPageOptions(vm.parameters()));\n};\n\nconst addGoal = (projectId) => {\n goals().push(prop({\n id: prop(null),\n project_id: prop(projectId),\n editing: h.toggleProp(true, false),\n value: prop(''),\n title: prop(''),\n description: prop('')\n }));\n};\n\nconst fetchGoals = projectId => goalsLoader(projectId).load().then(goalsRawData => {\n goalsData(goalsRawData);\n setTimeout(_ => {\n h.redraw();\n }, 1000);\n});\n\nconst fetchGoalsEdit = (projectId) => {\n if (_.isEmpty(goals())) {\n goalsLoader(projectId).load().then((data) => {\n _.map(data, (goal) => {\n const goalProp = prop({\n id: prop(goal.id),\n project_id: prop(projectId),\n editing: h.toggleProp(false, true),\n value: prop(goal.value),\n title: prop(goal.title),\n description: prop(goal.description)\n });\n goals().push(goalProp);\n });\n if (_.isEmpty(goals())) {\n addGoal(projectId);\n }\n });\n }\n};\n\nconst createGoal = (projectId, goalData) => m.request({\n method: 'POST',\n url: `/projects/${projectId}/goals.json`,\n data: { goal: goalData },\n config: h.setCsrfToken\n});\n\nconst updateGoal = (projectId, goalId, goalData) => m.request({\n method: 'PATCH',\n url: `/projects/${projectId}/goals/${goalId}.json`,\n data: { goal: goalData },\n config: h.setCsrfToken\n});\n\nconst projectGoalsVM = {\n goals,\n goalsData,\n fetchGoals,\n fetchGoalsEdit,\n addGoal,\n updateGoal,\n createGoal,\n goalsLoader\n};\n\nexport default projectGoalsVM;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse, commonAnalytics } from '../api';\nimport h from '../h';\nimport models from '../models';\nimport rewardVM from './reward-vm';\nimport projectGoalsVM from './project-goals-vm';\nimport userVM from './user-vm';\nimport Stream from 'mithril/stream';\n\nconst currentProject = prop(),\n userDetails = prop(),\n subscriptionData = prop(),\n projectContributions = prop([]),\n vm = catarse.filtersVM({ project_id: 'eq' }),\n idVM = h.idVM;\n\nprop.merge([currentProject, userDetails, subscriptionData, projectContributions]).map(() => {\n h.redraw();\n});\n\nconst isSubscription = (project = currentProject) => {\n if (_.isFunction(project)) {\n return project() ? project().mode === 'sub' : false;\n }\n\n return project ? project.mode === 'sub' : false;\n};\n\nconst fetchSubData = projectUuid => {\n const lproject = commonAnalytics.loaderWithToken(models.projectSubscribersInfo.postOptions({ id: projectUuid }));\n\n lproject.load().then(data => {\n subscriptionData(\n data || {\n amount_paid_for_valid_period: 0,\n total_subscriptions: 0,\n total_subscribers: 0,\n new_percent: 0,\n returning_percent: 0,\n }\n );\n h.redraw();\n });\n};\n\nconst setProject = project_user_id => data => {\n currentProject(_.first(data));\n if (isSubscription(currentProject())) {\n fetchSubData(currentProject().common_id);\n }\n\n if (!project_user_id) {\n userVM.fetchUser(currentProject().user_id, true, userDetails);\n }\n\n return currentProject;\n};\n\nconst init = (project_id, project_user_id) => {\n vm.project_id(project_id);\n\n subscriptionData({\n amount_paid_for_valid_period: 0,\n total_subscriptions: 0,\n total_subscribers: 0,\n new_percent: 0,\n returning_percent: 0,\n });\n\n const lProject = catarse.loaderWithToken(models.projectDetail.getRowOptions(vm.parameters()));\n\n fetchParallelData(project_id, project_user_id);\n\n return lProject\n .load()\n .then(setProject(project_user_id))\n .then(() => h.redraw());\n};\n\nconst resetData = () => {\n userDetails({});\n rewardVM.rewards([]);\n};\n\nconst fetchParallelData = (projectId, projectUserId) => {\n if (projectUserId) {\n userVM.fetchUser(projectUserId, true, userDetails);\n }\n\n rewardVM.fetchRewards(projectId);\n projectGoalsVM.fetchGoals(projectId);\n};\n\n// FIXME: should work with data-parameters that don't have project struct\n// just ids: {project_id project_user_id user_id }\nconst getCurrentProject = () => {\n const root = document.getElementById('application');\n const data = root && root.getAttribute('data-parameters');\n\n if (data) {\n const jsonData = JSON.parse(data);\n\n const { projectId, projectUserId } = jsonData; // legacy\n const { project_id, project_user_id } = jsonData;\n\n const project_data = {\n project_id: project_id || projectId,\n project_user_id: project_user_id || projectUserId,\n };\n\n // fill currentProject when jsonData has id and mode (legacy code)\n if (jsonData.id && jsonData.mode) {\n currentProject(project_data);\n }\n\n init(project_data.project_id, project_data.project_user_id); \n\n h.redraw();\n\n return currentProject();\n }\n\n return false;\n};\n\nconst routeToProject = (project, ref) => () => {\n currentProject(project);\n\n resetData();\n\n m.route.set(h.buildLink(project.permalink, ref), { project_id: project.project_id, project_user_id: project.project_user_id });\n\n return false;\n};\n\nconst setProjectPageTitle = () => {\n if (currentProject()) {\n const projectName = currentProject().project_name || currentProject().name;\n\n return projectName ? h.setPageTitle(projectName) : Function.prototype;\n }\n};\n\nconst fetchProject = (projectId, handlePromise = true, customProp = currentProject) => {\n idVM.id(projectId);\n\n const lproject = catarse.loaderWithToken(models.projectDetail.getRowOptions(idVM.parameters()));\n\n if (!handlePromise) {\n return lproject.load();\n } else {\n lproject\n .load()\n .then(\n _.compose(\n customProp,\n _.first\n )\n )\n .then(_ => m.redraw());\n return customProp;\n }\n};\n\nconst updateProject = (projectId, projectData) =>\n m.request({\n method: 'PUT',\n url: `/projects/${projectId}.json`,\n data: { project: projectData },\n config: h.setCsrfToken,\n });\n\nconst subscribeActionKey = 'subscribeProject';\nconst storeSubscribeAction = route => {\n h.storeAction(subscribeActionKey, route);\n};\n\nconst checkSubscribeAction = () => {\n const actionRoute = h.callStoredAction(subscribeActionKey);\n if (actionRoute) {\n m.route.set(actionRoute);\n }\n};\n\nconst sendPageViewForCurrentProject = (project_id, eventsArray) => {\n\n const root = document.getElementById('application');\n const data = root && root.getAttribute('data-parameters');\n\n if (data) {\n const jsonData = JSON.parse(data);\n\n const { projectId, projectUserId } = jsonData; // legacy\n const { project_id, project_user_id } = jsonData;\n\n const project_data = {\n project_id: project_id || projectId,\n project_user_id: project_user_id || projectUserId,\n };\n\n loadIntegrationsAndSendPageView(project_data.project_id, eventsArray);\n } else if (project_id) {\n loadIntegrationsAndSendPageView(project_id, eventsArray);\n }\n}\n\n/**\n * @param {number} projectId \n */\nconst loadIntegrationsAndSendPageView = async (projectId, eventsArray) => {\n\n try {\n const integrations = await getIntegrations(projectId);\n SendPageView(integrations, eventsArray);\n } catch(e) {\n h.captureException(e);\n }\n}\n\n/**\n * @typedef ProjectIntegration\n * @property {number} id\n * @property {string} name\n * @property {Object} data\n * @property {number} project_id\n */\n\n/** @type {Stream< ProjectIntegration[] >} */\nconst integrations = prop([]);\n\n/**\n * @param {number} projectId\n * @returns {Promise<ProjectIntegration[]>}\n */\nconst getIntegrations = (projectId) =>\n m.request({\n method: 'GET',\n config: h.setCsrfToken,\n url: `/projects/${projectId}/integrations.json`,\n });\n\n/**\n * @typedef ProjectIntegrationResponse\n * @property {string} success\n * @property {number} integration_id\n */\n\n/**\n * @param {number} projectId\n * @param {ProjectIntegration} integration\n * @returns {Promise<ProjectIntegrationResponse>}\n */\nconst createIntegration = (projectId, integration) =>\n m.request({\n method: 'POST',\n config: h.setCsrfToken,\n url: `/projects/${projectId}/integrations.json`,\n data: integration\n });\n\n/**\n * @param {number} projectId\n * @param {ProjectIntegration} updatedIntegration\n * @returns {Promise<ProjectIntegrationResponse>}\n */\nconst updateIntegration = (projectId, updatedIntegration) =>\n m.request({\n method: 'PUT',\n config: h.setCsrfToken,\n url: `/projects/${projectId}/integrations/${updatedIntegration.id}.json`,\n data: updatedIntegration\n });\n\n/**\n * @param {ProjectIntegration[]} projectIntegrations \n */\nconst SendPageView = (projectIntegrations, eventsArray) => {\n\n for (const integration of projectIntegrations) {\n const trackingFunction = window.trackingFunctions[integration.name];\n\n if (trackingFunction) {\n trackingFunction(integration.data.id, eventsArray);\n }\n }\n}\n\nconst ViewContentEvent = () => {\n return {\n event: 'ViewContent'\n }\n}\n\nconst AddToCartEvent = () => {\n return {\n event: 'AddToCart'\n }\n}\n\nconst PurchaseEvent = () => {\n return {\n event: 'Purchase'\n }\n}\n\nconst SubscribeEvent = () => {\n return {\n event: 'Subscribe'\n }\n}\n\n\nconst projectVM = {\n userDetails,\n getCurrentProject,\n projectContributions,\n currentProject,\n rewardDetails: rewardVM.rewards,\n goalDetails: projectGoalsVM.goalsData,\n routeToProject,\n setProjectPageTitle,\n init,\n fetchProject,\n fetchSubData,\n subscriptionData,\n updateProject,\n isSubscription,\n storeSubscribeAction,\n checkSubscribeAction,\n sendPageViewForCurrentProject,\n getIntegrations,\n createIntegration,\n updateIntegration,\n ViewContentEvent,\n AddToCartEvent,\n PurchaseEvent,\n SubscribeEvent,\n};\n\nexport default projectVM;\n","import m from 'mithril';\nimport h from '../h';\nimport progressMeter from './progress-meter';\nimport userVM from '../vms/user-vm';\nimport projectVM from '../vms/project-vm';\n\nconst adminProjectItem = {\n oninit: function(vnode) {\n const project = vnode.attrs.item,\n recommended = h.toggleProp(project.recommended, !project.recommended),\n toggleRecommend = () => {\n projectVM.updateProject(project.project_id, { recommended: !recommended() }).then(recommended.toggle);\n };\n\n vnode.state = {\n project,\n toggleRecommend,\n recommended\n };\n },\n view: function({state}) {\n const project = state.project,\n recommended = state.recommended;\n return m('.w-row', [\n m('.w-col.w-col-4',\n m('.w-row', [\n m('.w-col.w-col-2',\n m('a.btn-star.fa.fa-lg.fa-star.w-inline-block', { onclick: () => { state.toggleRecommend(); }, class: recommended() ? 'selected' : '' })\n ),\n m('.w-col.w-col-10',\n m('.w-row', [\n m('.u-marginbottom-10.w-col.w-col-3.w-col-small-3',\n m(`img.thumb-project.u-radius[src=${project.project_img}][width=50]`)\n ),\n m('.w-col.w-col-9.w-col-small-9', [\n m(`a.alt-link.fontsize-smaller.fontweight-semibold.lineheight-tighter.u-marginbottom-10[href='/${project.permalink}'][target='_blank']`,\n project.project_name\n ),\n m('.fontcolor-secondary.fontsize-smallest.fontweight-semibold',\n project.category_name\n )\n ])\n ])\n )\n ])\n ),\n m('.admin-project-meter.w-col.w-col-4', [\n m('.w-row', [\n m('.w-col.w-col-4',\n m('.fontsize-smaller.fontweight-semibold.text-success',\n project.state\n )\n ),\n m('.u-text-center-small-only.w-clearfix.w-col.w-col-8',\n m('.fontsize-smaller.u-right',\n `${h.momentify(project.project_online_date)} a ${h.momentify(project.project_expires_at)}`\n )\n )\n ]),\n m('.u-marginbottom-10',\n m(progressMeter, { project, progress: project.progress })\n ),\n m('.w-row', [\n m('.w-col.w-col-4',\n m('.fontsize-smaller',\n `${project.progress.toFixed(2)}%`\n )\n ),\n m('.u-text-center-small-only.w-clearfix.w-col.w-col-8',\n m('.fontsize-smaller.u-right',\n `R$${project.pledged} de R$${project.goal}`\n )\n )\n ])\n ]),\n m('.w-col.w-col-4',\n m('.w-row', [\n m('.w-col.w-col-2',\n m(`img.user-avatar[src='${userVM.displayImage({ profile_img_thumbnail: project.profile_img_thumbnail })}']`)\n ),\n m('.w-col.w-col-10', [\n m('.fontsize-smaller.fontweight-semibold.lineheight-tighter',\n project.owner_name\n ),\n m('.fontcolor-secondary.fontsize-smallest.u-marginbottom-10',\n project.email\n ),\n m('.fontcolor-secondary.fontsize-smallest',\n `${project.total_published} projetos criados`\n ),\n m('.fontcolor-secondary.fontsize-smallest',\n 'Ainda não apoiou projetos'\n )\n ])\n ])\n )\n ]);\n }\n};\n\nexport default adminProjectItem;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport {\n catarse,\n commonAnalytics\n} from '../api';\nimport h from '../h';\nimport models from '../models';\nimport adminInputAction from './admin-input-action';\nimport adminRadioAction from './admin-radio-action';\nimport adminExternalAction from './admin-external-action';\nimport projectVM from '../vms/project-vm';\n\nconst adminProjectDetail = {\n oninit: function(vnode) {\n let bankl;\n const currentItem = prop(vnode.attrs.item);\n const project_id = vnode.attrs.item.project_id;\n const loadBank = () => {\n const model = models.projectAccount,\n opts = model.getRowOptions(h.idVM.id(project_id).parameters()),\n project = prop({});\n\n bankl = catarse.loaderWithToken(opts);\n\n if (project_id) {\n bankl.load().then(_.compose(project, _.first));\n }\n\n return project;\n };\n let l;\n const loadUser = () => {\n const model = models.userDetail,\n user_id = vnode.attrs.item.user_id,\n opts = model.getRowOptions(h.idVM.id(user_id).parameters()),\n user = prop({});\n\n l = catarse.loaderWithToken(opts);\n\n if (user_id) {\n l.load().then(_.compose(user, _.first));\n }\n\n return user;\n };\n\n const changeUserAction = {\n toggler: h.toggleProp(false, true),\n submit: newValue => () => {\n changeUserAction.complete(false);\n projectVM\n .updateProject(project_id, { user_id: newValue })\n .then(() => {\n changeUserAction.complete(true);\n changeUserAction.success(true);\n changeUserAction.error(false);\n })\n .catch(() => {\n changeUserAction.complete(true);\n changeUserAction.success(true);\n changeUserAction.error(true);\n });\n return false;\n },\n complete: prop(false),\n error: prop(false),\n success: prop(false),\n newValue: prop('')\n };\n\n const contributionReport = {\n toggler: h.toggleProp(false, true)\n };\n\n const actionUnload = action => () => {\n action.complete(false);\n action.error(false);\n action.success(false);\n action.newValue('');\n };\n\n const projectSubscriberInfo = prop();\n const projectRevert = {\n toggler: h.toggleProp(false, true),\n loading: h.toggleProp(false, true),\n submit: () => {\n projectRevert.loading.toggle();\n m.redraw();\n m.request({\n method: 'PUT',\n config: h.setCsrfToken,\n url: `/admin/projects/${project_id}/revert_or_finish`\n }).then((data) => {\n console.log(data);\n catarse.loaderWithToken(\n models.adminProject.getRowOptions({project_id: `eq.${project_id}`})\n ).load().then((response) => {\n currentItem(response);\n projectRevert.loading.toggle();\n projectRevert.toggler.toggle();\n })\n });\n }\n };\n\n if (vnode.attrs.item.mode === 'sub') {\n commonAnalytics.loaderWithToken(models.projectSubscribersInfo.postOptions({\n id: vnode.attrs.item.common_id\n })).load().then(projectSubscriberInfo);\n }\n\n vnode.state = {\n user: loadUser(),\n bankAccount: loadBank(),\n subscriberInfo: projectSubscriberInfo,\n actions: {\n changeUserAction,\n projectRevert\n },\n currentItem,\n actionUnload\n };\n },\n view: function({state, attrs}) {\n const actions = state.actions,\n item = state.currentItem(),\n user = state.user(),\n bankAccount = state.bankAccount(),\n userAddress = user.address || {},\n subscriberInfo = state.subscriberInfo(),\n totalSubscriptions = subscriberInfo ? subscriberInfo.total_subscriptions : 0;\n\n return m('#admin-contribution-detail-box', [\n m('.divider.u-margintop-20.u-marginbottom-20'),\n m('.w-row.u-marginbottom-30', [\n m('.w-col.w-col-2', [\n m('button.btn.btn-small.btn-terciary', {\n onclick: state.actions.changeUserAction.toggler.toggle\n }, 'Trocar realizador'),\n (state.actions.changeUserAction.toggler() ? \n m('.dropdown-list.card.u-radius.dropdown-list-medium.zindex-10', {\n oncreate: state.actionUnload(state.actions.changeUserAction)\n }, [\n m('form.w-form', {\n onsubmit: state.actions.changeUserAction.submit\n }, (!state.actions.changeUserAction.complete()) ? [\n m('label', 'Id do novo realizador:'),\n m('input.w-input.text-field[type=\"tel\"][placeholder=\"ex: 239049\"]', {\n onchange: m.withAttr('value', state.actions.changeUserAction.newValue),\n value: state.actions.changeUserAction.newValue()\n }),\n m('input.w-button.btn.btn-small[type=\"submit\"][value=\"Transferir\"]', {\n onclick: state.actions.changeUserAction.submit(state.actions.changeUserAction.newValue())\n })\n ] : (!state.actions.changeUserAction.error()) ? [\n m('.w-form-done[style=\"display:block;\"]', [\n m('p', 'Usuário transferido com sucesso')\n ])\n ] : [\n m('.w-form-error[style=\"display:block;\"]', [\n m('p', 'Houve um problema na requisição. Verifique se o usuário que vai receber o projeto possui dados válidos.')\n ])\n ])\n ]) : '')\n ]),\n m('.w-col.w-col-2', [\n (item.mode === 'sub' ?\n m('a.btn.btn-small.btn-terciary', { href: `/projects/${item.project_id}/subscriptions_report` }, 'Base de assinantes')\n : m('a.btn.btn-small.btn-terciary', { href: `/projects/${item.project_id}/contributions_report` }, 'Relatório de apoios'))\n ]),\n (item.mode === 'sub' && item.state === 'online' ?\n m('.w-col.w-col-3', [\n m('button.btn.btn-small.btn-terciary', {\n onclick: state.actions.projectRevert.toggler.toggle\n }, (totalSubscriptions > 0 ? 'Encerrar projeto' : 'Virar projeto para Draft')),\n (state.actions.projectRevert.toggler() ? \n (state.actions.projectRevert.loading() ? h.loader()\n : m('.dropdown-list.card.u-radius.dropdown-list-medium.zindex-10', [\n m('form.w-form', {\n onsubmit: state.actions.projectRevert.submit\n }, [\n m('label', (totalSubscriptions > 0 ? 'Ao encerrar esse projeto, ele será convertido para o status FINALIZADO (Flex) e suas assinaturas serão transformadas em CANCELADAS. Tem certeza que deseja encerrar esse projeto?' : 'Tem certeza que deseja transformar esse projeto em Draft?')),\n m('input.w-button.btn.btn-small[type=\"submit\"]', {\n value: (totalSubscriptions > 0 ? 'Encerrar projeto' : 'Virar projeto para Draft' )\n })\n ])\n ])) : '')\n ]) : '')\n ]),\n m('.w-row.card.card-terciary.u-radius', [\n m('.w-col.w-col-4', [\n m('.fontsize-smaller.fontweight-semibold.lineheight-tighter.u-marginbottom-20',\n 'Detalhes do projeto'\n ),\n m('.fontsize-smallest.fontweight-semibold.u-marginbottom-20',\n `catarse.me/${item.permalink}`\n ),\n m('.fontsize-smallest.lineheight-looser.u-marginbottom-20', [\n m('span.fontweight-semibold',\n 'Meta:'\n ),\n ` R$ ${h.formatNumber(item.goal, 2, 3)}\\ `,\n m('br'),\n m('span.fontweight-semibold',\n 'Alcançado:'\n ),\n ` R$ ${h.formatNumber(item.pledged, 2, 3)}\\ `\n ]),\n m('.fontsize-smallest.lineheight-looser', [\n m('span.fontweight-semibold',\n 'Início: '\n ),\n h.momentify(item.project_online_date, 'DD/MM/YYYY, HH:mm'),\n m('br'),\n m('span.fontweight-semibold',\n 'Término: '\n ),\n h.momentify(item.project_expires_at, 'DD/MM/YYYY, HH:mm'),\n m('br'),\n m('span.fontweight-semibold',\n 'Últ. atualização: '\n ),\n h.momentify(item.updated_at, 'DD/MM/YYYY, HH:mm'),\n m('br'),\n m('span.fontweight-semibold',\n 'Novidades: '\n ),\n item.posts_count,\n m('br'),\n m('span.fontweight-semibold',\n 'Últ. novidade: '\n ),\n h.momentify(item.last_post, 'DD/MM/YYYY, HH:mm')\n ])\n ]),\n m('.w-col.w-col-4', [\n m('.fontsize-smaller.fontweight-semibold.lineheight-tighter.u-marginbottom-20',\n 'Dados bancários'\n ),\n m('.fontsize-smallest.lineheight-looser', [\n m('span.fontweight-semibold',\n 'Banco: '\n ),\n bankAccount.bank_name,\n m('br'),\n m('span.fontweight-semibold',\n 'Agencia: '\n ),\n `${bankAccount.agency}-${bankAccount.agency_digit}`,\n m('br'),\n m('span.fontweight-semibold',\n 'Conta: '\n ),\n `${bankAccount.account}-${bankAccount.account_digit}`,\n m('br'),\n bankAccount.account_type,\n m('br'),\n m('span.fontweight-semibold',\n 'Nome: '\n ),\n bankAccount.owner_name,\n m('br'),\n m('span.fontweight-semibold',\n 'CPF: '\n ),\n bankAccount.owner_document\n ])\n ]),\n m('.w-col.w-col-4', [\n m('.fontsize-smaller.fontweight-semibold.lineheight-tighter.u-marginbottom-20',\n 'Detalhes do realizador'\n ),\n m('.fontsize-smallest.lineheight-looser.u-marginbottom-20', [\n m('span.fontweight-semibold',\n 'Nome: '\n ),\n user.name,\n m('br'),\n m('span.fontweight-semibold',\n 'CPF: '\n ),\n user.owner_document,\n m('br'),\n m('span.fontweight-semibold',\n 'Inscrição estadual: '\n ),\n user.state_inscription,\n m('br'),\n m('span.fontweight-semibold',\n 'Email: '\n ),\n user.email,\n m('br'),\n m('span.fontweight-semibold',\n 'Endereço: '\n ),\n m.trust(' '),\n ` ${userAddress.address_street}, ${userAddress.address_number} ${userAddress.address_complement} - ${userAddress.address_city} - ${userAddress.address_state} ${userAddress.address_zip_code}`,\n m('br'),\n m('span.fontweight-semibold',\n 'Telefone:'\n ),\n userAddress.phone_number\n ]),\n m('.fontsize-smallest.lineheight-looser', [\n `${user.total_published_projects} projetos criados `,\n m('br'),\n m.trust(' '),\n m('br')\n ])\n ])\n ])\n ]);\n }\n};\n\nexport default adminProjectDetail;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst dateFieldMask = _.partial(h.mask, '99/99/9999');\n\nconst filterDateRange = {\n view: function({attrs}) {\n return m('.w-col.w-col-3.w-col-small-6', [\n m(`label.fontsize-smaller[for=\"${attrs.index}\"]`, attrs.label),\n m('.w-row', [\n m('.w-col.w-col-5.w-col-small-5.w-col-tiny-5', [\n m(`input.w-input.text-field.positive[id=\"${attrs.index}\"][type=\"text\"]`, {\n onkeyup: m.withAttr('value', _.compose(attrs.first, dateFieldMask)),\n value: attrs.first()\n })\n ]),\n m('.w-col.w-col-2.w-col-small-2.w-col-tiny-2', [\n m('.fontsize-smaller.u-text-center.lineheight-looser', 'e')\n ]),\n m('.w-col.w-col-5.w-col-small-5.w-col-tiny-5', [\n m('input.w-input.text-field.positive[type=\"text\"]', {\n onkeyup: m.withAttr('value', _.compose(attrs.last, dateFieldMask)),\n value: attrs.last()\n })\n ])\n ])\n ]);\n }\n};\n\nexport default filterDateRange;\n","import m from 'mithril';\n\nconst filterNumberRange = {\n view: function({attrs}) {\n return m('.w-col.w-col-3.w-col-small-6', [\n m(`label.fontsize-smaller[for=\"${attrs.index}\"]`, attrs.label),\n m('.w-row', [\n m('.w-col.w-col-5.w-col-small-5.w-col-tiny-5', [\n m(`input.w-input.text-field.positive[id=\"${attrs.index}\"][type=\"text\"]`, {\n onchange: m.withAttr('value', attrs.first),\n value: attrs.first()\n })\n ]),\n m('.w-col.w-col-2.w-col-small-2.w-col-tiny-2', [\n m('.fontsize-smaller.u-text-center.lineheight-looser', 'e')\n ]),\n m('.w-col.w-col-5.w-col-small-5.w-col-tiny-5', [\n m('input.w-input.text-field.positive[type=\"text\"]', {\n onchange: m.withAttr('value', attrs.last),\n value: attrs.last()\n })\n ])\n ])\n ]);\n }\n};\n\nexport default filterNumberRange;\n","import m from 'mithril';\nimport _ from 'underscore';\n\nconst dropdown = {\n view: function({attrs}) {\n const opts = (_.isFunction(attrs.options) ? attrs.options() : attrs.options);\n\n return m(\n `select${attrs.classes}[id=\"${attrs.id}\"]`,\n {\n onchange: (e) => { attrs.valueProp(e.target.value); attrs.onchange(); },\n value: attrs.valueProp()\n },\n _.map(opts, data => m('option', { value: data.value }, data.option))\n );\n }\n};\n\nexport default dropdown;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport dropdown from './dropdown';\n\nconst filterDropdown = {\n view: function({attrs}) {\n const wrapper_c = attrs.wrapper_class || '.w-col.w-col-3.w-col-small-6';\n return m(wrapper_c, [\n m(`label.fontsize-smaller[for=\"${attrs.index}\"]`,\n (attrs.custom_label ? m(attrs.custom_label[0], attrs.custom_label[1]) : attrs.label)),\n m(dropdown, {\n id: attrs.index,\n onchange: _.isFunction(attrs.onchange) ? attrs.onchange : Function.prototype,\n classes: '.w-select.text-field.positive',\n valueProp: attrs.vm,\n options: attrs.options\n })\n ]);\n }\n};\n\nexport default filterDropdown;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse } from '../api';\nimport projectListVM from '../vms/project-list-vm';\nimport models from '../models';\nimport projectFilterVM from '../vms/project-filter-vm';\nimport adminFilter from '../c/admin-filter';\nimport adminList from '../c/admin-list';\nimport adminProjectItem from '../c/admin-project-item';\nimport adminProjectDetail from '../c/admin-project-detail';\nimport filterDateRange from '../c/filter-date-range';\nimport filterNumberRange from '../c/filter-number-range';\nimport filterMain from '../c/filter-main';\nimport filterDropdown from '../c/filter-dropdown';\n\nconst adminProjects = {\n oninit: function(vnode) {\n const listVM = projectListVM,\n filterVM = projectFilterVM,\n categories = prop([]),\n filters = catarse.filtersVM,\n error = prop(''),\n filterBuilder = [{ // name\n component: filterMain,\n data: {\n vm: filterVM.full_text_index,\n placeholder: 'Busque por projeto, permalink, email, nome do realizador...',\n },\n }, { // status\n component: filterDropdown,\n data: {\n label: 'Com o estado',\n index: 'state',\n name: 'state',\n vm: filterVM.state,\n options: [{\n value: '',\n option: 'Qualquer um'\n }, {\n value: 'successful',\n option: 'successful'\n }, {\n value: 'waiting_funds',\n option: 'waiting_funds'\n }, {\n value: 'online',\n option: 'online'\n }, {\n value: 'failed',\n option: 'failed'\n }, {\n value: 'draft',\n option: 'draft'\n }]\n }\n },\n { // mode\n component: filterDropdown,\n data: {\n label: 'Modalidade',\n index: 'mode',\n name: 'mode',\n vm: filterVM.mode,\n options: [{\n value: '',\n option: 'Qualquer um'\n }, {\n value: 'aon',\n option: 'Tudo ou nada'\n }, {\n value: 'flex',\n option: 'Flex'\n }, {\n value: 'sub',\n option: 'Recorrente'\n }\n ]\n }\n },\n { // recommended\n component: filterDropdown,\n data: {\n label: 'Recomendado',\n index: 'recommended',\n name: 'recommended',\n vm: filterVM.recommended,\n options: [{\n value: '',\n option: 'Qualquer um'\n }, {\n value: true,\n option: 'Sim'\n }, {\n value: false,\n option: 'Não'\n }\n ]\n }\n }, { // goal\n component: filterNumberRange,\n data: {\n label: 'Meta entre',\n first: filterVM.goal.gte,\n last: filterVM.goal.lte\n }\n },\n { // progress\n component: filterNumberRange,\n data: {\n label: 'Progresso % entre',\n first: filterVM.progress.gte,\n last: filterVM.progress.lte\n }\n },\n { // updated at\n component: filterDateRange,\n data: {\n label: 'Atualizado entre',\n first: filterVM.updated_at.gte,\n last: filterVM.updated_at.lte\n }\n },\n { // expires_at\n component: filterDateRange,\n data: {\n label: 'Expira entre',\n first: filterVM.project_expires_at.gte,\n last: filterVM.project_expires_at.lte\n }\n },\n { // created_at\n component: filterDateRange,\n data: {\n label: 'Criado entre',\n first: filterVM.created_at.gte,\n last: filterVM.created_at.lte\n }\n }\n ],\n loadCategories = () => models.category.getPage(filters({}).order({\n name: 'asc'\n }).parameters()).then((data) => {\n categories(data);\n const options = _.map(categories(), category => ({ value: category.name, option: category.name }));\n options.unshift({ value: '', option: 'Qualquer uma' });\n filterBuilder.unshift(\n { // category\n component: filterDropdown,\n data: {\n label: 'Categoria',\n index: 'category',\n name: 'category_name',\n vm: filterVM.category_name,\n options\n }\n }\n );\n }),\n submit = () => {\n listVM.firstPage(filterVM.parameters()).then(_ => m.redraw(), (serverError) => {\n error(serverError.message);\n m.redraw();\n });\n return false;\n };\n\n loadCategories();\n\n vnode.state = {\n filterVM,\n filterBuilder,\n listVM: {\n list: listVM,\n error\n },\n submit\n };\n },\n view: function({state}) {\n const label = 'Projetos';\n\n return m('', [\n m(adminFilter, {\n form: state.filterVM.formDescriber,\n filterBuilder: state.filterBuilder,\n label,\n submit: state.submit\n }),\n m(adminList, {\n vm: state.listVM,\n filterVM: state.filterVM,\n label,\n listItem: adminProjectItem,\n listDetail: adminProjectDetail\n })\n ]);\n }\n};\n\nexport default adminProjects;\n","import m from 'mithril'\nimport prop from 'mithril/stream'\nimport h from '../h'\nimport { ThisWindow } from '../@types/window'\nimport { HTMLInputEvent } from '../@types/event-target'\n\ndeclare var window : ThisWindow\n\nexport type HeaderMenuSearchAttrs = {\n\n}\n\nexport type HeaderMenuSearchState = {\n searchParam: prop<string>\n formElement: HTMLFormElement\n}\n\nexport default class HeaderMenuSearch implements m.Component {\n \n oninit({state} : m.Vnode<HeaderMenuSearchAttrs, HeaderMenuSearchState>) {\n state.searchParam = prop('')\n state.formElement = null\n }\n\n view({state} : m.Vnode<HeaderMenuSearchAttrs, HeaderMenuSearchState>) {\n \n const searchParam = state.searchParam\n\n return m('span#menu-search', [\n m('.w-form.w-hidden-small.w-hidden-tiny.header-search[id=\"discover-form-wrapper\"]', [\n m(`form.discover-form[accept-charset=\"UTF-8\"][action=\"/${window.I18n.locale}/explore?ref=ctrse_header\"][id=\"search-form\"][method=\"get\"]`, {\n oncreate(vnode) {\n state.formElement = vnode.dom as HTMLFormElement\n },\n onsubmit(event : Event) {\n event.preventDefault()\n const url = `/${window.I18n.locale}/explore?ref=ctrse_header&utf8=✓&filter=all&pg_search=${searchParam()}`\n m.route.set(url)\n searchParam('')\n h.redraw()\n }\n }, [\n m('div', { style: { display: 'none' } }, [\n m('input[name=\"utf8\"][type=\"hidden\"][value=\"✓\"]'),\n m('input[name=\"filter\"][type=\"hidden\"][value=\"all\"]'),\n ]),\n m('input.w-input.text-field.prefix.search-input[autocomplete=\"off\"][id=\"pg_search\"][name=\"pg_search\"][placeholder=\"Busque projetos\"][type=\"text\"]', {\n value: searchParam(),\n oninput(event : HTMLInputEvent) {\n searchParam(event.target.value)\n }\n })\n ]),\n m(`.search-pre-result.w-hidden[data-searchpath=\"/${window.I18n.locale}/auto_complete_projects\"]`, [\n m('.result',\n m('.u-text-center',\n m('img[alt=\"Loader\"][src=\"/assets/catarse_bootstrap/loader.gif\"]')\n )\n ),\n m('a.btn.btn-small.btn-terciary.see-more-projects[href=\"javascript:void(0);\"]', ' ver todos')\n ])\n ]),\n m('a.w-inline-block.w-hidden-small.w-hidden-tiny.btn.btn-dark.btn-attached.postfix[href=\"javascript:void(0);\"][id=\"pg_search_submit\"]', { \n onclick() { \n if (state.formElement) {\n state.formElement.submit()\n } \n }\n },\n m('img.header-lupa[alt=\"Lupa\"][data-pin-nopin=\"true\"][src=\"/assets/catarse_bootstrap/lupa.png\"]')\n )\n ])\n }\n}","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport userVM from '../vms/user-vm';\nimport h from '../h';\nimport models from '../models';\nimport { catarse } from '../api';\n\nconst menuProfile = {\n oninit: function(vnode) {\n const contributedProjects = prop(),\n latestProjects = prop([]),\n userDetails = prop({}),\n user_id = vnode.attrs.user.user_id,\n userBalance = prop(0),\n userIdVM = catarse.filtersVM({ user_id: 'eq' });\n\n const userName = () => {\n const name = userVM.displayName(userDetails());\n if (name && !_.isEmpty(name)) {\n return _.first(name.split(' '));\n }\n\n return '';\n };\n\n userVM.fetchUser(user_id, true, userDetails);\n\n userIdVM.user_id(user_id);\n models.balance.getRowWithToken(userIdVM.parameters()).then((result) => {\n const data = _.first(result) || { amount: 0, user_id };\n userBalance(data.amount);\n });\n\n vnode.state = {\n contributedProjects,\n latestProjects,\n userDetails,\n userName,\n toggleMenu: h.toggleProp(false, true),\n userBalance\n };\n },\n view: function({state, attrs}) {\n const user = state.userDetails();\n\n return m('.w-dropdown.user-profile',\n [\n m('.w-dropdown-toggle.dropdown-toggle.w-clearfix[id=\\'user-menu\\']',\n {\n onclick: state.toggleMenu.toggle\n },\n [\n m('.user-name-menu', [\n m('.fontsize-smaller.lineheight-tightest.text-align-right', state.userName()),\n (state.userBalance() > 0 ? m('.fontsize-smallest.fontweight-semibold.text-success', `R$ ${h.formatNumber(state.userBalance(), 2, 3)}`) : '')\n\n ]),\n m(`img.user-avatar[alt='Thumbnail - ${user.name}'][height='40'][src='${h.useAvatarOrDefault(user.profile_img_thumbnail)}'][width='40']`)\n ]\n ),\n state.toggleMenu() ? m('nav.w-dropdown-list.dropdown-list.user-menu.w--open[id=\\'user-menu-dropdown\\']', { style: 'display:block;' },\n [\n m('.w-row',\n [\n m('.w-col.w-col-12',\n [\n m('.fontweight-semibold.fontsize-smaller.u-marginbottom-10',\n 'Meu histórico'\n ),\n m('ul.w-list-unstyled.u-marginbottom-20',\n [\n m('li.lineheight-looser',\n m(`a.alt-link.fontsize-smaller[href='/${window.I18n.locale}/users/${user.id}/edit#balance']`,\n m('span', [\n 'Saldo ',\n (state.userBalance() > 0 ? m('span.fontcolor-secondary',\n `R$ ${h.formatNumber(state.userBalance(), 2, 3)}`) : ''),\n ])\n )\n ),\n m('li.lineheight-looser',\n m(`a.alt-link.fontsize-smaller[href='/${window.I18n.locale}/users/${user.id}/edit#contributions']`,\n 'Histórico de apoio'\n )\n ),\n m('li.lineheight-looser',\n m(`a.alt-link.fontsize-smaller[href='/${window.I18n.locale}/users/${user.id}/edit#projects']`,\n 'Projetos criados'\n )\n )\n ]\n ),\n m('.fontweight-semibold.fontsize-smaller.u-marginbottom-10',\n 'Configurações'\n ),\n m('ul.w-list-unstyled.u-marginbottom-20',\n [\n m('li.lineheight-looser',\n m('a.alt-link.fontsize-smaller[href=\\'/connect-facebook/\\']',\n 'Encontre amigos'\n ),\n ),\n m('li.lineheight-looser',\n m(`a.alt-link.fontsize-smaller[href='/${window.I18n.locale}/users/${user.id}/edit#about_me']`,\n 'Perfil público'\n )\n ),\n m('li.lineheight-looser',\n m(`a.alt-link.fontsize-smaller[href='/${window.I18n.locale}/users/${user.id}/edit#notifications']`,\n 'Notificações'\n )\n ),\n m('li.lineheight-looser',\n m(`a.alt-link.fontsize-smaller[href='/${window.I18n.locale}/users/${user.id}/edit#settings']`,\n 'Dados cadastrais'\n )\n )\n ]\n ),\n m('.divider.u-marginbottom-20'),\n attrs.user.is_admin_role ? m('.fontweight-semibold.fontsize-smaller.u-marginbottom-10',\n 'Admin'\n ) : '',\n attrs.user.is_admin_role ? m('ul.w-list-unstyled.u-marginbottom-20',\n [\n m('li.lineheight-looser',\n m(`a.alt-link.fontsize-smaller[href=\\'/${window.I18n.locale}/new-admin#/home-banners\\']`,\n 'Banners'\n )\n ),\n m('li.lineheight-looser',\n m(`a.alt-link.fontsize-smaller[href=\\'/${window.I18n.locale}/new-admin#/users\\']`,\n 'Usuários'\n )\n ),\n m('li.lineheight-looser',\n m(`a.alt-link.fontsize-smaller[href=\\'/${window.I18n.locale}/new-admin\\']`,\n 'Apoios'\n )\n ),\n m('li.lineheight-looser',\n m(`a.alt-link.fontsize-smaller[href=\\'/${window.I18n.locale}/new-admin#/balance-transfers\\']`,\n 'Saques'\n )\n ),\n m('li.lineheight-looser',\n m(`a.alt-link.fontsize-smaller[href=\\'/${window.I18n.locale}/admin/financials\\']`,\n 'Rel. Financeiros'\n )\n ),\n m('li.lineheight-looser',\n m(`a.alt-link.fontsize-smaller[href=\\'/${window.I18n.locale}/new-admin#/projects\\']`,\n 'Admin projetos'\n )\n ),\n m('li.lineheight-looser',\n m(`a.alt-link.fontsize-smaller[href=\\'/${window.I18n.locale}/new-admin#/subscriptions\\']`,\n 'Admin assinaturas'\n )\n ),\n m('li.lineheight-looser',\n m(`a.alt-link.fontsize-smaller[href=\\'/${window.I18n.locale}/new-admin#/notifications\\']`,\n 'Admin notificações'\n )\n ),\n m('li.lineheight-looser',\n m(`a.alt-link.fontsize-smaller[href=\\'/${window.I18n.locale}/dbhero\\']`,\n 'Dataclips'\n )\n )\n ]\n ) : '',\n m('.fontsize-mini', 'Seu e-mail de cadastro é: '),\n m('.fontsize-smallest.u-marginbottom-20', [\n m('span.fontweight-semibold', `${user.email} `),\n m(`a.alt-link[href='/${window.I18n.locale}/users/${user.id}/edit#about_me']`, 'alterar e-mail')\n ]),\n m('.divider.u-marginbottom-20'),\n m(`a.alt-link[href=\\'/${window.I18n.locale}/logout\\']`,\n 'Sair'\n )\n ]\n ),\n ]\n )\n ]\n ) : ''\n ]\n );\n }\n};\n\nexport default menuProfile;\n","import m from 'mithril';\nimport './explore-light-box.css';\nimport userVM from '../../vms/user-vm';\n\n/**\n * @typedef ListItem\n * @property {string} label\n * @property {{[key:string] : string}} query\n */\n\nexport class ExploreLightBox {\n\n /**\n * @typedef Attrs\n * @property {() => void} onClose\n * @property {() => Array<{name: string, id: string}>} categories\n */\n\n /**\n * @param {{attrs: Attrs}} vnode\n */\n view({attrs}) {\n const onClose = attrs.onClose;\n const categories = attrs.categories;\n const closePreventRedirect = (/** @type {Event} */ event) => {\n event.preventDefault();\n onClose();\n };\n\n const filters = [\n {\n name: 'Projetos que amamos',\n query: {\n filter: 'projects_we_love',\n }\n },\n {\n name: 'Populares',\n query: {\n filter: 'all',\n }\n },\n {\n name: 'Projetos COVID-19',\n query: {\n mode: 'covid_19',\n }\n },\n userVM.isLoggedIn ? {\n name: 'Projetos Salvos',\n query: {\n filter: 'saved_projects',\n }\n } : null,\n userVM.isLoggedIn ? {\n name: 'Apoiados por amigos',\n query: {\n filter: 'contributed_by_friends',\n }\n } : null,\n {\n name: 'Recentes',\n query: {\n filter: 'recent',\n }\n },\n {\n name: 'Reta final',\n query: {\n filter: 'expiring',\n }\n }\n ].filter(f => f !== null);\n\n const queryBase = {\n ref: 'ctrse_header',\n utm_source: 'catarse',\n utm_medium: 'ctrse_header',\n utm_campaign: 'testeAB_explorelightbox',\n };\n\n /**\n * @param {{name: string, keyName: string}} filter \n * @returns {ListItem}\n */\n const mapFiltersToItems = (filter) => {\n return {\n label: filter.name,\n query: filter.query,\n };\n };\n\n /**\n * @param {{name: string, id: string}} category\n * @returns {ListItem}\n */\n const mapCategoriesToItems = (category) => {\n return {\n label: category.name,\n query: {\n category_id: category.id,\n }\n };\n };\n\n return m('div.explore-lightbox', \n m('div.explore-lightbox-container.w-clearfix', [\n m('a.modal-close-container.fa.fa-2x.fa-close.w-inline-block[href=\"#\"]', { onclick: closePreventRedirect }),\n\n m(ExploreLightBoxList, {\n title: 'Filtro',\n items: filters.map(mapFiltersToItems),\n query: queryBase,\n onSelect: () => onClose(),\n }),\n\n m(ExploreLightBoxList, {\n title: 'Categorias',\n items: categories().map(mapCategoriesToItems),\n query: queryBase,\n onSelect: () => onClose(),\n }),\n\n ])\n );\n }\n}\n\nclass ExploreLightBoxList {\n\n /**\n * @typedef Attrs\n * @property {string} title\n * @property {ListItem[]} items\n * @property {{[key:string] : string}} query\n * @property {(item : ListItem) => void} onSelect\n */\n\n /**\n * @param {{ attrs: Attrs }} vnode \n */\n view({attrs}) {\n\n const title = attrs.title;\n const items = attrs.items;\n const query = attrs.query;\n const onSelect = attrs.onSelect;\n\n return m('div.u-marginbottom-30', [\n m('div.u-margintop-30', \n m('div.fontsize-base.fontcolor-terciary', title)\n ),\n items.map(item => {\n const queryParams = m.buildQueryString(Object.assign({}, query, item.query));\n const navigateUrl = `/${window.I18n.locale}/explore?${queryParams}`;\n\n return m(ExploreLightBoxListItem, {\n onSelect: () => onSelect(item),\n url: navigateUrl,\n label: item.label,\n });\n })\n ]);\n }\n}\n\nclass ExploreLightBoxListItem {\n \n /**\n * @typedef Attrs\n * @property {() => void} onSelect \n * @property {string} url\n * @property {string} label\n */\n\n /**\n * @param {{ attrs: Attrs }} vnode \n */\n view({attrs}) {\n const label = attrs.label;\n const url = attrs.url;\n const onSelect = attrs.onSelect;\n\n return m(`a.explore-lightbox-filter-link[href=\"${url}\"]`, {\n onclick: (event) => {\n m.route.set(url);\n event.preventDefault();\n onSelect();\n }\n }, label);\n }\n}","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport HeaderMenuSearch from '../c/header-menu-search';\nimport menuProfile from '../c/menu-profile';\nimport models from '../models';\nimport { catarse } from '../api';\n\nimport { ExploreLightBox } from '../experiments/c/explore-light-box';\n\nconst menu = {\n oninit: function(vnode) {\n const exploreButtonBehavoir = h.RedrawStream((/** @type {Event} */ event) => {\n event.preventDefault();\n m.route.set('/explore?ref=ctrse_header&filter=all');\n });\n const displayLightBox = h.RedrawStream(false);\n const user = h.getUser();\n const menuCss = () => {\n return `${vnode.attrs.menuTransparency ? 'overlayer' : ''} ${(vnode.attrs.withAlert || vnode.attrs.withFixedAlert) ? 'with-global-alert' : ''}`;\n };\n const homeAttrs = () => {\n if (vnode.attrs.absoluteHome) {\n return {\n href: h.rootUrl(),\n oncreate: m.route.link\n };\n }\n return {\n oncreate: m.route.link\n };\n };\n\n const filters = catarse.filtersVM;\n const categories = h.RedrawStream([]);\n models.category.getPageWithToken(filters({}).order({ name: 'asc' }).parameters()).then(categories);\n\n window.optimizeObserver.addListener((variantName) => { \n if (variantName === 'Explore Light Box') {\n exploreButtonBehavoir((/** @type {Event} */ event) => {\n event.preventDefault();\n displayLightBox(true);\n });\n }\n });\n \n vnode.state = {\n user,\n menuCss,\n homeAttrs,\n exploreButtonBehavoir,\n displayLightBox,\n categories,\n };\n },\n view: function({state, attrs}) {\n\n const exploreButtonBehavoir = state.exploreButtonBehavoir;\n const displayLightBox = state.displayLightBox;\n const categories = state.categories;\n\n return m('header.main-header', {\n class: state.menuCss()\n }, [\n\n (displayLightBox() ? m(ExploreLightBox, { onClose: () => displayLightBox(false), categories }) : null),\n\n m('.w-row', [\n m('.w-clearfix.w-col.w-col-8.w-col-small-8.w-col-tiny-8',\n [\n m('a.header-logo.w-inline-block[href=\\'/?ref=ctrse_header\\'][title=\\'Catarse\\']',\n state.homeAttrs(),\n m('img[alt=\\'Logo big\\'][src=\\'/assets/catarse_bootstrap/logo_big.png\\']')\n ),\n attrs.menuShort ? '' : m('div#menu-components', [\n m('a.w-hidden-small.w-hidden-tiny.header-link.w-nav-link[href=\\'https://crowdfunding.catarse.me/comece\\']', 'Comece seu projeto'),\n m(`a.w-hidden-small.w-hidden-tiny.header-link.w-nav-link[href=\\'/${window.I18n.locale}/explore?ref=ctrse_header\\']`, { onclick: exploreButtonBehavoir() }, \n 'Explore'\n ),\n m(HeaderMenuSearch)\n ])\n ]\n ),\n m('.text-align-right.w-col.w-col-4.w-col-small-4.w-col-tiny-4', [\n state.user ? m(menuProfile, { user: state.user }) : m(`a.w-nav-link.header-link.w-nav-link.btn-edit.u-right[href=\\'/${window.I18n.locale}/login?ref=ctrse_header\\']`, 'Login'),\n ])\n\n ]),\n attrs.menuShort ? '' : m('.header-controls-mobile.w-hidden-main.w-hidden-medium',\n [\n m(`a.header-link.w-nav-link[href=\\'/${window.I18n.locale}/start?ref=ctrse_header\\']`,\n { onclick: () => m.route.set('/start') },\n 'Comece seu projeto'\n ),\n m(`a.header-link.w-nav-link[href=\\'/${window.I18n.locale}/explore?ref=ctrse_header\\']`,\n { onclick: exploreButtonBehavoir() },\n 'Explore'\n )\n ]\n )\n ]);\n }\n};\n\nexport default menu;\n","import m from 'mithril';\nimport h from '../h';\n\nconst footer = {\n view: function() {\n return m('footer.main-footer.main-footer-neg',\n [\n m('section.w-container',\n m('.w-row',\n [\n m('.w-col.w-col-9',\n m('.w-row',\n [\n m('.w-col.w-col-4.w-col-small-4.w-col-tiny-4.w-hidden-tiny',\n [\n m('.footer-full-signature-text.fontsize-small',\n 'Bem-vindo'\n ),\n m('a.link-footer[href=\\'http://crowdfunding.catarse.me/quem-somos?ref=ctrse_footer\\']',\n ' Quem Somos'\n ),\n m('a.link-footer[href=\\'http://crowdfunding.catarse.me/paratodos?ref=ctrse_footer\\']',\n ' Como funciona'\n ),\n m('a.link-footer[href=\\'http://blog.catarse.me\\']',\n ' Blog'\n ),\n m(`a.link-footer[href=\\'https://www.catarse.me/${window.I18n.locale}/team?ref=ctrse_footer\\']`,\n [\n ' Nosso time ',\n m.trust('<'),\n '3'\n ]\n ),\n m(`a.link-footer[href=\\'https://www.catarse.me/${window.I18n.locale}/press?ref=ctrse_footer\\']`,\n ' Imprensa'\n ),\n m('a.u-marginbottom-30.link-footer[href=\\'http://ano.catarse.me/2019?ref=ctrse_footer\\']',\n ' Retrospectiva 2019'\n ),\n m('.footer-full-signature-text.fontsize-small',\n 'Redes Sociais'\n ),\n m('a.link-footer[href=\\'http://facebook.com/catarse.me\\']',\n [\n m('span.fa.fa-facebook-square.fa-lg'),\n m.trust(' '),\n 'Facebook'\n ]\n ),\n m('a.link-footer[href=\\'http://twitter.com/catarse\\']',\n [\n m('span.fa.fa-twitter-square.fa-lg'),\n m.trust(' '),\n 'Twitter'\n ]\n ),\n m('a.link-footer[href=\\'http://instagram.com/catarse\\']',\n [\n m('span.fa.fa-instagram.fa-lg'),\n m.trust(' '),\n 'Instagram'\n ]\n ),\n m('a.link-footer[href=\\'http://github.com/catarse/catarse\\']',\n [\n m('span.fa.fa-github-square.fa-lg'),\n m.trust(' '),\n 'Github'\n ]\n )\n ]\n ),\n m('.w-col.w-col-4.w-col-small-4.w-col-tiny-4.footer-full-firstcolumn',\n [\n m('.footer-full-signature-text.fontsize-small',\n 'Ajuda'\n ),\n m('a.link-footer[href=\\'http://suporte.catarse.me?ref=ctrse_footer/\\']',\n ' Central de Suporte'\n ),\n h.getUser() ?\n m('a.link-footer[href=\\'https://suporte.catarse.me/hc/pt-br/signin?return_to=https%3A%2F%2Fsuporte.catarse.me%2Fhc%2Fpt-br%2Frequests%2Fnew&locale=19\\'][target=\"_BLANK\"]',\n ' Contato'\n )\n :\n m('a.link-footer[href=\\'http://suporte.catarse.me/hc/pt-br/requests/new\\'][target=\"_BLANK\"]',\n ' Contato'\n ),\n m('a.link-footer[href=\\'https://crowdfunding.catarse.me/changelog\\']',\n ' Atualizações 🌟'\n ),\n m('a.link-footer[href=\\'https://www.ofinanciamentocoletivo.com.br/?ref=ctrse_footer\\']',\n ' Escola Catarse'\n ),\n m('a.link-footer[href=\\'http://crowdfunding.catarse.me/nossa-taxa?ref=ctrse_footer\\']',\n ' Nossa Taxa'\n ),\n m('a.link-footer[href=\\'http://pesquisa.catarse.me/\\']',\n ' Retrato FC Brasil 2013/2014'\n ),\n m('a.link-footer[href=\\'http://suporte.catarse.me/hc/pt-br/articles/115002214043-Responsabilidades-e-Seguran%C3%A7a?ref=ctrse_footer\\']',\n ' Responsabilidades e Segurança'\n ),\n m('a.link-footer[href=\\'https://crowdfunding.catarse.me/legal/termos-de-uso\\'][target=\"_BLANK\"]',\n ' Termos de uso'\n ),\n m('a.link-footer[href=\\'https://crowdfunding.catarse.me/legal/politica-de-privacidade\\'][target=\"_BLANK\"]',\n ' Política de privacidade'\n )\n ]\n ),\n m('.w-col.w-col-4.w-col-small-4.w-col-tiny-4.footer-full-lastcolumn',\n [\n m('.footer-full-signature-text.fontsize-small',\n 'Faça uma campanha'\n ),\n m(`a.link-footer[href=\\'/${window.I18n.locale}/start?ref=ctrse_footer\\']`,\n ' Comece seu projeto'\n ),\n m('a.link-footer[href=\\'http://crowdfunding.catarse.me/financiamento-coletivo-musica-independente?ref=ctrse_footer\\']',\n ' Música no Catarse'\n ),\n m('a.link-footer[href=\\'https://crowdfunding.catarse.me/publicacoes-independentes-financiamento-coletivo?ref=ctrse_footer\\']',\n ' Publicações Independentes'\n ),\n m('a.link-footer[href=\\'https://crowdfunding.catarse.me/jornalismo?ref=ctrse_footer\\']',\n ' Jornalismo'\n ), \n m('a.u-marginbottom-30.link-footer[href=\\'https://crowdfunding.catarse.me/assinaturas?ref=ctrse_footer\\']',\n 'Catarse Assinaturas'\n ),\n m('.footer-full-signature-text.fontsize-small',\n 'Apoie projetos no Catarse'\n ),\n m(`a.link-footer[href=\\'/${window.I18n.locale}/explore?ref=ctrse_footer\\']`,\n ' Explore projetos'\n ),\n m('a.w-hidden-main.w-hidden-medium.w-hidden-small.link-footer[href=\\'http://blog.catarse.me?ref=ctrse_footer\\']',\n ' Blog'\n ),\n m('a.w-hidden-main.w-hidden-medium.w-hidden-small.link-footer[href=\\'http://suporte.catarse.me/hc/pt-br/requests/new\\']',\n ' Contato'\n ),\n m(`a.w-hidden-tiny.link-footer[href=\\'/${window.I18n.locale}/explore?filter=all&ref=ctrse_footer\\']`,\n ' Populares'\n ),\n m(`a.w-hidden-tiny.link-footer[href=\\'/${window.I18n.locale}/explore?filter=all&ref=ctrse_footer\\']`,\n ' No ar'\n ),\n m(`a.w-hidden-tiny.link-footer[href=\\'/${window.I18n.locale}/explore?filter=finished&ref=ctrse_footer\\']`,\n ' Finalizados'\n ),\n m(`a.w-hidden-tiny.link-footer[href=\\'/${window.I18n.locale}/explore?mode=sub&ref=ctrse_footer\\']`,\n ' Assinaturas'\n )\n ]\n )\n ]\n )\n ),\n m('.w-col.w-col-3.column-social-media-footer',\n [\n m('.footer-full-signature-text.fontsize-small',\n 'Assine nossa news'\n ),\n m('.w-form',\n m(`form[accept-charset='UTF-8'][action='${h.getNewsletterUrl()}'][id='mailee-form'][method='post']`,\n [\n m('.w-form.footer-newsletter',\n m('input.w-input.text-field.prefix[id=\\'EMAIL\\'][label=\\'email\\'][name=\\'EMAIL\\'][placeholder=\\'Digite seu email\\'][type=\\'email\\']')\n ),\n m('button.w-inline-block.btn.btn-edit.postfix.btn-attached[style=\"padding:0;\"]',\n m('img.footer-news-icon[alt=\\'Icon newsletter\\'][src=\\'/assets/catarse_bootstrap/icon-newsletter.png\\']')\n )\n ]\n )\n ),\n m('.footer-full-signature-text.fontsize-small',\n 'Change language'\n ),\n m('[id=\\'google_translate_element\\']')\n ]\n )\n ]\n )\n ),\n m('.w-container',\n m('.footer-full-copyleft',\n [\n m('img.u-marginbottom-20[alt=\\'Logo footer\\'][src=\\'/assets/logo-footer.png\\']'),\n m('.lineheight-loose',\n m('a.link-footer-inline[href=\\'http://github.com/catarse/catarse\\']',\n ` Feito com amor | ${new Date().getFullYear()} | Open source`\n )\n )\n ]\n )\n )\n ]\n );\n }\n};\n\nexport default footer;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport moment from 'moment';\nimport _ from 'underscore';\nimport h from '../h';\nimport userVM from '../vms/user-vm';\n\nconst I18nScope = _.partial(h.i18nScope, 'users.edit.email_confirmation');\n\nconst CheckEmail = {\n oninit: function(vnode) {\n const userID = h.getUserID(),\n user = userVM.getCurrentUser(),\n confirmedEmail = prop(false),\n hideAlert = prop(false);\n\n vnode.state = {\n confirmedEmail,\n hideAlert,\n user,\n checkEmail: () => m.request({\n method: 'PUT',\n url: `/users/${userID}.json`,\n data: {\n user: {\n confirmed_email_at: true\n }\n },\n config: h.setCsrfToken\n }).then((data) => {\n confirmedEmail(true);\n window.setTimeout(() => {\n hideAlert(true);\n m.redraw(true);\n }, 4000);\n })\n };\n },\n\n view: function({state, attrs}) {\n \n const user = state.user();\n\n if (user) {\n const userCreatedRecently = moment().isBefore(moment(user.created_at).add(2, 'days'));\n\n return ((user && !userCreatedRecently && !user.email_active && !state.hideAlert()) ? m('.card-alert.section.u-text-center', { style: (attrs.menuTransparency ? { 'padding-top': '100px' } : {}) }, [\n m('.w-container', (state.confirmedEmail() ? [\n m('.fontsize-large.fontweight-semibold', window.I18n.t('confirmed_title', I18nScope())),\n m('.fontsize-large.fontweight-semibold.u-marginbottom-20', window.I18n.t('confirmed_sub', I18nScope())),\n ] : [\n m('.fontsize-large.fontweight-semibold', _.isNull(user.name) ? 'Olá' : window.I18n.t('hello', I18nScope({ name: user.name }))),\n m('.fontsize-large.fontweight-semibold.u-marginbottom-20', window.I18n.t('hello_sub', I18nScope())),\n m('.fontsize-base.u-marginbottom-10', window.I18n.t('hello_email', I18nScope({ email: user.email }))),\n m('.w-row', [\n m('.w-col.w-col-3'),\n m('.w-col.w-col-3', [\n m('button.btn.btn-medium.btn-terciary.w-button', {\n onclick: state.checkEmail\n }, 'Sim!')\n ]),\n m('.w-col.w-col-3', [\n m(`a.btn.btn-medium.w-button[href=\"/users/${user.id}/edit#about_me\"]`, 'Editar o email')\n ]),\n m('.w-col.w-col-3')\n ])\n ]))\n ]) : m('div'));\n }\n\n return m('div');\n }\n};\n\nexport default CheckEmail;\n","import m from 'mithril';\nimport { catarse } from '../api';\nimport models from '../models';\n\nexport default catarse.paginationVM(models.user, 'id.desc', { Prefer: 'count=exact' });\n","import m from 'mithril';\nimport { catarse } from '../api';\n\nconst { replaceDiacritics } = window;\n\nconst vm = catarse.filtersVM({\n full_text_index: 'plfts(portuguese)',\n deactivated_at: 'is.null'\n }),\n\n paramToString = function (p) {\n return (p || '').toString().trim();\n };\n\n// Set default values\nvm.deactivated_at(null).order({\n id: 'desc'\n});\n\nvm.deactivated_at.toFilter = function () {\n const filter = JSON.parse(vm.deactivated_at());\n return filter;\n};\n\nvm.full_text_index.toFilter = function () {\n const filter = paramToString(vm.full_text_index());\n return filter && replaceDiacritics(filter) || undefined;\n};\n\nexport default vm;\n","import m from 'mithril';\nimport h from '../h';\n\nconst adminUser = {\n view: function({attrs}) {\n const user = attrs.item;\n\n return m('.w-row.admin-user', [\n m('.w-col.w-col-3.w-col-small-3.u-marginbottom-10', [\n m(`img.user-avatar[src=\"${h.useAvatarOrDefault(user.profile_img_thumbnail)}\"]`)\n ]),\n m('.w-col.w-col-9.w-col-small-9', [\n m('.fontweight-semibold.fontsize-smaller.lineheight-tighter.u-marginbottom-10', [\n m(`a.alt-link[target=\"_blank\"][href=\"/users/${user.id}/edit\"]`, user.name || user.email)\n ]),\n m('.fontsize-smallest', `Usuário: ${user.id}`),\n m('.fontsize-smallest.fontcolor-secondary', `Email: ${user.email}`),\n attrs.additional_data\n ])\n ]);\n }\n};\n\nexport default adminUser;\n","import m from 'mithril';\nimport h from '../h';\nimport adminUser from './admin-user';\n\nconst adminUserItem = {\n view: function({state, attrs}) {\n return m(\n '.w-row', [\n m('.w-col.w-col-4', [\n m(adminUser, attrs)\n ])\n ]\n );\n }\n};\n\nexport default adminUserItem;\n","/**\n * window.c.AdminExternalAction component\n * Makes arbitrary ajax requests and update underlying\n * data from source endpoint.\n *\n * Example:\n * m.component(c.AdminExternalAction, {\n * data: {},\n * item: rowFromDatabase\n * })\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst adminExternalAction = {\n oninit: function(vnode) {\n let builder = vnode.attrs.data,\n complete = prop(false),\n error = prop(false),\n fail = prop(false),\n data = {},\n item = vnode.attrs.item;\n\n builder.requestOptions.config = (xhr) => {\n if (h.authenticityToken()) {\n xhr.setRequestHeader('X-CSRF-Token', h.authenticityToken());\n }\n };\n\n const reload = _.compose(builder.model.getRowWithToken, h.idVM.id(item[builder.updateKey]).parameters),\n l = prop(false);\n\n const reloadItem = () => reload().then(updateItem);\n\n const requestError = (err) => {\n l(false);\n complete(true);\n error(true);\n };\n\n const updateItem = (res) => {\n _.extend(item, res[0]);\n complete(true);\n error(false);\n };\n\n const submit = () => {\n console.log('Is submitting????');\n l(true);\n m.request(builder.requestOptions).then(reloadItem, requestError);\n return false;\n };\n\n const unload = () => {\n complete(false);\n error(false);\n };\n\n vnode.state = {\n l,\n complete,\n error,\n submit,\n toggler: h.toggleProp(false, true),\n unload\n };\n },\n view: function({state, attrs}) {\n const data = attrs.data,\n btnValue = (state.l()) ? 'por favor, aguarde...' : data.callToAction;\n\n return m('.w-col.w-col-2', [\n m('button.btn.btn-small.btn-terciary', {\n onclick: state.toggler.toggle\n }, data.outerLabel), \n \n (\n state.toggler() ?\n m('.dropdown-list.card.u-radius.dropdown-list-medium.zindex-10', {\n onremove: state.unload\n }, [\n m('form.w-form', {\n onsubmit: state.submit\n }, (!state.complete()) ? [\n m('label', data.innerLabel),\n m(`input.w-button.btn.btn-small[type=\"submit\"][value=\"${btnValue}\"]`)\n ] : (!state.error()) ? [\n m('.w-form-done[style=\"display:block;\"]', [\n m('p', 'Requisição feita com sucesso.')\n ])\n ] : [\n m('.w-form-error[style=\"display:block;\"]', [\n m('p', 'Houve um problema na requisição.')\n ])\n ])\n ]) \n : \n ''\n )\n ]);\n }\n};\n\nexport default adminExternalAction;\n","/**\n * window.c.AdminResetPassword component\n * Makes ajax request to update User password.\n *\n * Example:\n * m.component(c.AdminResetPassword, {\n * data: {},\n * item: rowFromDatabase\n * })\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst adminResetPassword = {\n oninit: function(vnode) {\n let builder = vnode.attrs.data,\n complete = prop(false),\n error = prop(false),\n fail = prop(false),\n key = builder.property,\n data = {},\n item = vnode.attrs.item;\n\n builder.requestOptions.config = (xhr) => {\n if (h.authenticityToken()) {\n xhr.setRequestHeader('X-CSRF-Token', h.authenticityToken());\n }\n };\n\n const l = prop(false),\n load = () => m.request(_.extend({}, { data }, builder.requestOptions)),\n newPassword = prop(''),\n error_message = prop('');\n\n const requestError = (err) => {\n l(false);\n error_message(err.errors[0]);\n complete(true);\n error(true);\n };\n const updateItem = (res) => {\n l(false);\n _.extend(item, res[0]);\n complete(true);\n error(false);\n };\n\n const submit = () => {\n l(true);\n data[key] = newPassword();\n load().then(updateItem, requestError);\n return false;\n };\n\n const unload = () => {\n complete(false);\n error(false);\n };\n\n vnode.state = {\n complete,\n error,\n error_message,\n l,\n newPassword,\n submit,\n toggler: h.toggleProp(false, true),\n unload\n };\n },\n view: function({state, attrs}) {\n const data = attrs.data,\n btnValue = (state.l()) ? 'por favor, aguarde...' : data.callToAction;\n\n return m('.w-col.w-col-2', [\n m('button.btn.btn-small.btn-terciary', {\n onclick: state.toggler.toggle\n }, data.outerLabel), (state.toggler()) ?\n m('.dropdown-list.card.u-radius.dropdown-list-medium.zindex-10', {\n onremove: state.unload\n }, [\n m('form.w-form', {\n onsubmit: state.submit\n }, (!state.complete()) ? [\n m('label', data.innerLabel),\n m(`input.w-input.text-field[type=\"text\"][name=\"${data.property}\"][placeholder=\"${data.placeholder}\"]`, {\n onchange: m.withAttr('value', state.newPassword),\n value: state.newPassword()\n }),\n m(`input.w-button.btn.btn-small[type=\"submit\"][value=\"${btnValue}\"]`)\n ] : (!state.error()) ? [\n m('.w-form-done[style=\"display:block;\"]', [\n m('p', 'Senha alterada com sucesso.')\n ])\n ] : [\n m('.w-form-error[style=\"display:block;\"]', [\n m('p', state.error_message())\n ])\n ])\n ]) : ''\n ]);\n }\n};\n\nexport default adminResetPassword;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport { catarse } from '../api';\n\nconst adminInputAction = {\n oninit: function(vnode) {\n const builder = vnode.attrs.data,\n complete = prop(false),\n error = prop(false),\n fail = prop(false),\n data = {},\n item = vnode.attrs.item,\n key = builder.property,\n forceValue = builder.forceValue || null,\n newValue = prop(forceValue);\n\n h.idVM.id(item[builder.updateKey]);\n\n const l = catarse.loaderWithToken(builder.model.patchOptions(h.idVM.parameters(), data));\n\n const updateItem = function (res) {\n console.log('SUBMIT SUCCESS!!!', res);\n _.extend(item, res[0]);\n complete(true);\n error(false);\n };\n\n const errorOnSubmit = () => {\n console.log('SOME ERROR HAPPENED!!!');\n complete(true);\n error(true);\n };\n\n const submit = function () {\n console.log('IS SUBMITTING!!!!!!!!');\n data[key] = newValue();\n return l.load().then(updateItem, errorOnSubmit);\n };\n\n const unload = function () {\n complete(false);\n error(false);\n newValue(forceValue);\n };\n\n vnode.state = {\n complete,\n error,\n l,\n newValue,\n submit,\n toggler: h.toggleProp(false, true),\n unload\n };\n },\n view: function({state, attrs}) {\n const data = attrs.data,\n btnValue = (state.l()) ? 'por favor, aguarde...' : data.callToAction;\n\n return m('.w-col.w-col-2', [\n m('button.btn.btn-small.btn-terciary', {\n onclick: state.toggler.toggle\n }, data.outerLabel), (state.toggler()) ?\n m('.dropdown-list.card.u-radius.dropdown-list-medium.zindex-10', {\n onremove: state.unload\n }, [\n m('form.w-form', {\n onsubmit: state.submit\n }, (!state.complete()) ? [\n m('label', data.innerLabel), (data.forceValue === undefined) ?\n m(`input.w-input.text-field[type=\"text\"][placeholder=\"${data.placeholder}\"]`, {\n onchange: m.withAttr('value', state.newValue),\n value: state.newValue()\n }) : '',\n m(`input.w-button.btn.btn-small[type=\"submit\"][value=\"${btnValue}\"]`)\n ] : (!state.error()) ? [\n m('.w-form-done[style=\"display:block;\"]', [\n m('p', data.successMessage)\n ])\n ] : [\n m('.w-form-error[style=\"display:block;\"]', [\n m('p', `Houve um problema na requisição. ${data.errorMessage}`)\n ])\n ])\n ]) : ''\n ]);\n }\n};\n\nexport default adminInputAction;\n","/**\n * window.c.AdminNotificationHistory component\n * Return notifications list from an User object.\n *\n * Example:\n * m.component(c.AdminNotificationHistory, {\n * user: user\n * })\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport models from '../models';\nimport { catarse } from '../api';\n\nconst adminNotificationHistory = {\n oninit: function(vnode) {\n const notifications = prop(vnode.attrs.notifications || []),\n getNotifications = (user) => {\n const notification = models.notification;\n notification.getPageWithToken(catarse.filtersVM({\n user_id: 'eq',\n sent_at: 'is.null'\n })\n .user_id(user.id)\n .sent_at(!null)\n .order({\n sent_at: 'desc'\n })\n .parameters())\n .then(notifications);\n };\n\n getNotifications(vnode.attrs.user);\n\n vnode.state = {\n notifications\n };\n },\n view: function({state}) {\n return m('.w-col.w-col-4', [\n m('.fontweight-semibold.fontsize-smaller.lineheight-tighter.u-marginbottom-20', 'Histórico de notificações'),\n state.notifications().map(cEvent => m('.w-row.fontsize-smallest.lineheight-looser.date-event', [\n m('.w-col.w-col-24', [\n m('.fontcolor-secondary', h.momentify(cEvent.sent_at, 'DD/MM/YYYY, HH:mm'),\n ' - ', m(`a[target=\"blank\"][href=\"/notifications/${cEvent.relation}/${cEvent.id}\"]`, cEvent.template_name), cEvent.origin ? ` - ${cEvent.origin}` : '')\n ])\n ]))\n ]);\n }\n};\n\nexport default adminNotificationHistory;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport models from '../models';\nimport userVM from '../vms/user-vm';\nimport h from '../h';\nimport { catarse } from '../api';\n\nconst I18nScope = _.partial(h.i18nScope, 'users.balance');\n\nconst adminUserBalanceTransactionsList = {\n oninit: function(vnode) {\n const userBalance = prop({}),\n transactionsListVM = catarse.paginationVM(\n models.balanceTransaction,\n 'created_at.desc',\n { Prefer: 'count=exact' }\n ),\n loadNextPage = () => transactionsListVM.nextPage().then(_ => m.redraw());\n\n models.balanceTransaction.pageSize(2);\n userVM.getUserBalance(vnode.attrs.user_id).then(_.compose(userBalance, _.first));\n transactionsListVM.firstPage({ user_id: `eq.${vnode.attrs.user_id}` });\n\n vnode.state = {\n userBalance,\n transactionsListVM,\n loadNextPage\n };\n },\n view: function({state, attrs}) {\n const collection = state.transactionsListVM.collection(),\n userBalance = state.userBalance() || { amount: 0 };\n\n return m((attrs.wrapperClass || '.w-col.w-col-8'), [\n m('.fontsize-smaller.fontweight-semibold.lineheight-tighter.u-marginbottom-20',\n window.I18n.t('totals_transactions_title', I18nScope({\n value: h.formatNumber(userBalance.amount, 2, 3)\n }))),\n _.map(collection, (item, intex) => m('.divider.fontsize-smallest.lineheight-looser', [\n m('.w-row.fontweight-semibold', [\n m('.w-col.w-col-2', [\n m('.fontcolor-secondary', h.momentify(item.created_at))\n ]),\n m('.w-col.w-col-6', [\n window.I18n.t('day_balance', I18nScope())\n ]),\n m('.w-col.w-col-2', m.trust(' ')),\n m('.w-col.w-col-2', [\n m('span', window.I18n.t('shared.currency', {\n amount: h.formatNumber(item.total_amount, 2, 3) }))\n ]),\n ]),\n m('.w-row', [\n _.map(item.source, (source, index) => {\n if (source) {\n const negativeV = source.amount < 0;\n return m('.divider.fontsize-smallest.lineheight-looser.w-row', [\n m('.w-col.w-col-2', []),\n m('.w-col.w-col-6', [\n m('div', window.I18n.t(`event_names.${source.event_name}`, I18nScope({\n service_fee: source.origin_objects.service_fee ? (source.origin_objects.service_fee * 100.0) : '',\n project_name: source.origin_objects.project_name,\n contributitor_name: source.origin_objects.contributor_name\n })))\n ]),\n m('.w-col.w-col-2', [\n m((negativeV ? '.text-error' : '.text-success'), [\n negativeV ? '- ' : '+ ',\n window.I18n.t('shared.currency', {\n amount: h.formatNumber(Math.abs(source.amount), 2, 3)\n })\n ])\n ])\n ]);\n } else {\n return '';\n }\n })\n ])\n ])),\n\n\n m('.w-row', [\n (\n state.transactionsListVM.isLastPage() ? \n '' \n :\n m('.w-col.w-col-3.w-col-push-4', [\n state.transactionsListVM.isLoading() ?\n h.loader() :\n m('button#load-more.btn.btn-terciary', {\n onclick: state.loadNextPage\n }, window.I18n.t('shared.load_more'))\n ])\n )\n ])\n ]);\n }\n};\n\nexport default adminUserBalanceTransactionsList;\n","/**\n * window.c.AdminUserDetail component\n * Return action inputs to be used inside AdminList component.\n *\n * Example:\n * m.component(c.AdminList, {\n * data: {},\n * listDetail: c.AdminUserDetail\n * })\n */\nimport m from 'mithril';\nimport _ from 'underscore';\nimport models from '../models';\nimport adminExternalAction from './admin-external-action';\nimport userVM from '../vms/user-vm';\nimport adminResetPassword from './admin-reset-password';\nimport adminInputAction from './admin-input-action';\nimport adminNotificationHistory from './admin-notification-history';\nimport adminUserBalanceTransactionsList from './admin-user-balance-transactions-list';\nimport h from '../h';\nimport { catarse } from '../api';\n\nconst adminUserDetail = {\n oninit: function(vnode) {\n vnode.state = {\n actions: {\n reset: {\n property: 'password',\n callToAction: 'Redefinir',\n innerLabel: 'Nova senha de Usuário:',\n outerLabel: 'Redefinir senha',\n placeholder: 'ex: 123mud@r',\n model: models.user\n },\n ban: {\n updateKey: 'id',\n callToAction: 'Banir usuário',\n innerLabel: 'Tem certeza que deseja banir o usuário?',\n outerLabel: 'Banir usuário',\n model: models.user\n },\n reactivate: {\n property: 'deactivated_at',\n updateKey: 'id',\n callToAction: 'Reativar',\n innerLabel: 'Tem certeza que deseja reativar esse usuário?',\n successMessage: 'Usuário reativado com sucesso!',\n errorMessage: 'O usuário não pôde ser reativado!',\n outerLabel: 'Reativar usuário',\n forceValue: null,\n model: models.user\n }\n },\n };\n },\n view: function({state, attrs}) {\n const actions = state.actions,\n item = attrs.item,\n details = attrs.details,\n banUser = (builder, id) => _.extend({}, builder, {\n requestOptions: {\n url: (`/users/${id}/ban`),\n method: 'POST'\n }\n }),\n addOptions = (builder, id) => _.extend({}, builder, {\n requestOptions: {\n url: (`/users/${id}/new_password`),\n method: 'POST'\n }\n });\n\n return m('#admin-contribution-detail-box', [\n m('.divider.u-margintop-20.u-marginbottom-20'),\n m('.w-row.u-marginbottom-30', [\n m(adminResetPassword, {\n data: addOptions(actions.reset, item.id),\n item\n }),\n m(adminExternalAction, {\n data: banUser(actions.ban, item.id),\n item\n }),\n (item.deactivated_at) ?\n m(adminInputAction, { data: actions.reactivate, item }) : ''\n ]),\n m('.w-row.card.card-terciary.u-radius', [\n m(adminNotificationHistory, {\n user: item,\n wrapperClass: '.w-col.w-col-4'\n }),\n m(adminUserBalanceTransactionsList, { user_id: item.id })\n ]),\n ]);\n }\n};\n\nexport default adminUserDetail;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport h from '../h';\nimport userListVM from '../vms/user-list-vm';\nimport userFilterVM from '../vms/user-filter-vm';\nimport adminFilter from '../c/admin-filter';\nimport adminList from '../c/admin-list';\nimport adminUserItem from '../c/admin-user-item';\nimport adminUserDetail from '../c/admin-user-detail';\nimport adminUser from '../c/admin-user';\nimport filterMain from '../c/filter-main';\nimport filterDropdown from '../c/filter-dropdown';\n\nconst adminUsers = {\n oninit: function(vnode) {\n const listVM = userListVM,\n filterVM = userFilterVM,\n error = prop(''),\n itemBuilder = [{\n component: adminUser,\n wrapperClass: '.w-col.w-col-4'\n }],\n filterBuilder = [{ // name\n component: filterMain,\n data: {\n vm: filterVM.full_text_index,\n placeholder: 'Busque por nome, e-mail, Ids do usuário...',\n },\n }, { // status\n component: filterDropdown,\n data: {\n label: 'Com o estado',\n index: 'status',\n name: 'deactivated_at',\n vm: filterVM.deactivated_at,\n options: [{\n value: '',\n option: 'Qualquer um'\n }, {\n value: null,\n option: 'ativo'\n }, {\n value: !null,\n option: 'desativado'\n }]\n }\n }],\n submit = () => {\n listVM\n .firstPage(filterVM.parameters())\n .then(_ => m.redraw(), (serverError) => {\n error(serverError.message);\n m.redraw();\n });\n return false;\n };\n\n vnode.state = {\n filterVM,\n filterBuilder,\n listVM: {\n list: listVM,\n error\n },\n submit\n };\n },\n view: function({state}) {\n const label = 'Usuários';\n\n return m('', [\n m(adminFilter, {\n form: state.filterVM.formDescriber,\n filterBuilder: state.filterBuilder,\n label,\n submit: state.submit\n }),\n m(adminList, {\n vm: state.listVM,\n label,\n listItem: adminUserItem,\n listDetail: adminUserDetail\n })\n ]);\n }\n};\n\nexport default adminUsers;\n","import m from 'mithril';\nimport { catarse } from '../api';\nimport models from '../models';\n\nexport default catarse.paginationVM(models.contributionDetail, 'id.desc', { Prefer: 'count=exact' });\n","import m from 'mithril';\nimport { catarse } from '../api';\nimport h from '../h';\n\nconst { replaceDiacritics } = window;\n\nconst vm = catarse.filtersVM({\n full_text_index: 'plfts(portuguese)',\n delivery_status: 'eq',\n state: 'eq',\n gateway: 'eq',\n value: 'between',\n created_at: 'between'\n }),\n\n paramToString = function (p) {\n return (p || '').toString().trim();\n };\n\n// Set default values\nvm.state('');\nvm.delivery_status('');\nvm.gateway('');\nvm.order({\n id: 'desc'\n});\n\nvm.created_at.lte.toFilter = function () {\n const filter = paramToString(vm.created_at.lte());\n return filter && h.momentFromString(filter).endOf('day').format('');\n};\n\nvm.created_at.gte.toFilter = function () {\n const filter = paramToString(vm.created_at.gte());\n return filter && h.momentFromString(filter).format();\n};\n\nvm.full_text_index.toFilter = function () {\n const filter = paramToString(vm.full_text_index());\n return filter && replaceDiacritics(filter) || undefined;\n};\n\nexport default vm;\n","import m from 'mithril';\nimport h from '../h';\n\nconst adminProject = {\n view: function({attrs}) {\n const project = attrs.item;\n return m('.w-row.admin-project', [\n m('.w-col.w-col-3.w-col-small-3.u-marginbottom-10', [\n m(`img.thumb-project.u-radius[src=${project.project_img}][width=50]`)\n ]),\n m('.w-col.w-col-9.w-col-small-9', [\n m('.fontweight-semibold.fontsize-smaller.lineheight-tighter.u-marginbottom-10', [\n m(`a.alt-link[target=\"_blank\"][href=\"/${project.permalink}\"]`, project.project_name)\n ]),\n m('.fontsize-smallest.fontweight-semibold', project.project_state),\n m('.fontsize-smallest.fontcolor-secondary', `${h.momentify(project.project_online_date)} a ${h.momentify(project.project_expires_at)}`)\n ])\n ]);\n }\n};\n\nexport default adminProject;\n","import m from 'mithril';\nimport h from '../h';\n\nconst adminContribution = {\n view: function({attrs}) {\n const contribution = attrs.item;\n return m('.w-row.admin-contribution', [\n m('.fontweight-semibold.lineheight-tighter.u-marginbottom-10.fontsize-small', `R$${contribution.value}`),\n m('.fontsize-smallest.fontcolor-secondary', h.momentify(contribution.created_at, 'DD/MM/YYYY HH:mm[h]')),\n m('.fontsize-smallest', [\n 'ID do Gateway: ',\n m(`a.alt-link[target=\"_blank\"][href=\"https://dashboard.pagar.me/#/transactions/${contribution.gateway_id}\"]`, contribution.gateway_id)\n ])\n ]);\n }\n};\n\nexport default adminContribution;\n","/**\n * window.c.AdminContributionUser component\n * An itembuilder component that returns additional data\n * to be included in AdminUser.\n *\n * Example:\n * oninit: function() {\n * return {\n * itemBuilder: [{\n * component: 'AdminContributionUser',\n * wrapperClass: '.w-col.w-col-4'\n * }]\n * }\n * }\n */\nimport m from 'mithril';\nimport adminUser from './admin-user';\n\nconst adminContributionUser = {\n view: function({attrs}) {\n const item = attrs.item,\n user = {\n profile_img_thumbnail: item.user_profile_img,\n id: item.user_id,\n name: item.user_name,\n email: item.email,\n };\n\n const additionalData = m('.fontsize-smallest.fontcolor-secondary', `Gateway: ${item.payer_email}`);\n return m(adminUser, { item: user, additional_data: additionalData });\n }\n};\n\nexport default adminContributionUser;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n// Add translations to payment state.\nconst I18nScope = _.partial(h.i18nScope, 'projects.payment');\n\nconst paymentStatus = {\n oninit: function(vnode) {\n const payment = vnode.attrs.item;\n let card = null,\n displayPaymentMethod,\n paymentMethodClass,\n stateClass;\n\n card = () => {\n if (payment.gateway_data) {\n switch (payment.gateway.toLowerCase()) {\n case 'moip':\n return {\n first_digits: payment.gateway_data.cartao_bin,\n last_digits: payment.gateway_data.cartao_final,\n brand: payment.gateway_data.cartao_bandeira\n };\n case 'pagarme':\n return {\n first_digits: payment.gateway_data.card_first_digits,\n last_digits: payment.gateway_data.card_last_digits,\n brand: payment.gateway_data.card_brand\n };\n }\n }\n };\n\n displayPaymentMethod = () => {\n switch (payment.payment_method.toLowerCase()) {\n case 'boletobancario':\n return m('span#boleto-detail', '');\n case 'cartaodecredito':\n var cardData = card();\n if (cardData) {\n return m('#creditcard-detail.fontsize-smallest.fontcolor-secondary.lineheight-tight', [\n `${cardData.first_digits}******${cardData.last_digits}`,\n m('br'),\n `${cardData.brand} ${payment.installments}x`\n ]);\n }\n return '';\n }\n };\n\n paymentMethodClass = () => {\n switch (payment.payment_method.toLowerCase()) {\n case 'boletobancario':\n return '.fa-barcode';\n case 'cartaodecredito':\n return '.fa-credit-card';\n default:\n return '.fa-question';\n }\n };\n\n stateClass = () => {\n switch (payment.state) {\n case 'paid':\n return '.text-success';\n case 'refunded':\n return '.text-refunded';\n case 'pending':\n case 'pending_refund':\n return '.text-waiting';\n default:\n return '.text-error';\n }\n };\n\n vnode.state = {\n displayPaymentMethod,\n paymentMethodClass,\n stateClass\n };\n\n return vnode.state;\n },\n view: function({state, attrs}) {\n const payment = attrs.item;\n\n return m('.w-row.payment-status', [\n m('.fontsize-smallest.lineheight-looser.fontweight-semibold', [\n m(`span.fa.fa-circle${state.stateClass()}`), ` ${window.window.I18n.t(payment.state, I18nScope())}`\n ]),\n m('.fontsize-smallest.fontweight-semibold', [\n m(`span.fa${state.paymentMethodClass()}`), ' ', m('a.link-hidden[href=\"#\"]', payment.payment_method)\n ]),\n m('.fontsize-smallest.fontcolor-secondary.lineheight-tight', [\n state.displayPaymentMethod()\n ])\n ]);\n }\n};\n\nexport default paymentStatus;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport adminProject from './admin-project';\nimport adminContribution from './admin-contribution';\nimport adminContributionUser from './admin-contribution-user';\nimport paymentStatus from './payment-status';\n\nconst adminContributionItem = {\n oninit: function (vnode) {\n vnode.state = {\n itemBuilder: [{\n component: adminContributionUser,\n componentName: 'adminContributionUser',\n wrapperClass: '.w-col.w-col-4'\n }, {\n component: adminProject,\n componentName: 'adminProject',\n wrapperClass: '.w-col.w-col-4'\n }, {\n component: adminContribution,\n componentName: 'adminContribution',\n wrapperClass: '.w-col.w-col-2'\n }, {\n component: paymentStatus,\n componentName: 'paymentStatus',\n wrapperClass: '.w-col.w-col-2'\n }]\n };\n },\n view: function ({ state, attrs }) {\n return m(\n '.w-row',\n _.map(state.itemBuilder, panel => {\n \n return m(panel.wrapperClass, [\n m(panel.component, {\n item: attrs.item,\n key: attrs.key\n })\n ])\n })\n );\n }\n};\n\nexport default adminContributionItem;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport { catarse } from '../api';\n\nconst adminRadioAction = {\n oninit: function(vnode) {\n const builder = vnode.attrs.data,\n complete = prop(false),\n data = {},\n error = prop(false),\n fail = prop(false),\n item = vnode.attrs.item(),\n description = prop(item.description || ''),\n key = builder.getKey,\n newID = prop(''),\n getFilter = {},\n setFilter = {},\n radios = prop(vnode.attrs.radios || []),\n getAttr = builder.radios,\n getKey = builder.getKey,\n getKeyValue = vnode.attrs.getKeyValue,\n updateKey = builder.updateKey,\n updateKeyValue = vnode.attrs.updateKeyValue,\n validate = builder.validate,\n selectedItem = builder.selectedItem || prop();\n\n setFilter[updateKey] = 'eq';\n const setVM = catarse.filtersVM(setFilter);\n setVM[updateKey](updateKeyValue);\n\n getFilter[getKey] = 'eq';\n const getVM = catarse.filtersVM(getFilter);\n getVM[getKey](getKeyValue);\n\n const getLoader = catarse.loaderWithToken(builder.getModel.getPageOptions(getVM.parameters()));\n\n const setLoader = catarse.loaderWithToken(builder.updateModel.patchOptions(setVM.parameters(), data));\n\n const updateItem = data => {\n if (data.length > 0) {\n const newItem = _.findWhere(radios(), {\n id: data[0][builder.selectKey]\n });\n selectedItem(newItem);\n } else {\n error({\n message: 'Nenhum item atualizado'\n });\n }\n complete(true);\n m.redraw();\n };\n\n const populateRadios = (data) => {\n const emptyState = builder.addEmpty;\n\n radios(data);\n\n if (!_.isUndefined(emptyState)) {\n radios().unshift(emptyState);\n }\n };\n\n const fetch = () => {\n getLoader.load().then(populateRadios, error);\n };\n\n const submit = () => {\n if (newID()) {\n const validation = validate(radios(), newID());\n if (_.isUndefined(validation)) {\n data[builder.selectKey] = newID() === -1 ? null : newID();\n setLoader.load().then(updateItem, error);\n } else {\n complete(true);\n error({\n message: validation\n });\n }\n }\n return false;\n };\n\n const unload = () => {\n complete(false);\n error(false);\n newID('');\n };\n\n const setDescription = (text) => {\n description(text);\n m.redraw();\n };\n\n fetch();\n\n vnode.state = {\n complete,\n description,\n setDescription,\n error,\n setLoader,\n getLoader,\n newID,\n submit,\n toggler: h.toggleProp(false, true),\n unload,\n radios\n };\n },\n view: function({state, attrs}) {\n const data = attrs.data,\n item = attrs.item(),\n btnValue = (state.setLoader() || state.getLoader()) ? 'por favor, aguarde...' : data.callToAction;\n\n return m('.w-col.w-col-2', [\n m('button.btn.btn-small.btn-terciary', {\n onclick: state.toggler.toggle\n }, data.outerLabel), (state.toggler()) ?\n m('.dropdown-list.card.u-radius.dropdown-list-medium.zindex-10', { onremove: state.unload }, [\n m('form.w-form', {\n onsubmit: state.submit\n }, (!state.complete()) ? [\n (state.radios()) ?\n _.map(state.radios(), (radio, index) => m('.w-radio', [\n m(`input#r-${index}.w-radio-input[type=radio][name=\"admin-radio\"][value=\"${radio.id}\"]`, {\n checked: radio.id === (item[data.selectKey] || item.id),\n onclick: () => {\n state.newID(radio.id);\n state.setDescription(radio.description);\n }\n }),\n m(`label.w-form-label[for=\"r-${index}\"]`, `R$${radio.minimum_value}`)\n ])) : h.loader(),\n m('strong', 'Descrição'),\n m('p', state.description()),\n m(`input.w-button.btn.btn-small[type=\"submit\"][value=\"${btnValue}\"]`)\n ] : (!state.error()) ? [\n m('.w-form-done[style=\"display:block;\"]', [\n m('p', 'Recompensa alterada com sucesso!')\n ])\n ] : [\n m('.w-form-error[style=\"display:block;\"]', [\n m('p', state.error().message)\n ])\n ])\n ]) : ''\n ]);\n }\n};\n\nexport default adminRadioAction;\n","import m from 'mithril';\nimport h from '../h';\n\nconst adminTransaction = {\n view: function({attrs}) {\n const contribution = attrs.contribution;\n return m('.w-col.w-col-4', [\n m('.fontweight-semibold.fontsize-smaller.lineheight-tighter.u-marginbottom-20', 'Detalhes do apoio'),\n m('.fontsize-smallest.lineheight-looser', [\n `Valor: R$${h.formatNumber(contribution.value, 2, 3)}`,\n m('br'),\n `Taxa: R$${h.formatNumber(contribution.gateway_fee, 2, 3)}`,\n m('br'),\n `Aguardando Confirmação: ${contribution.waiting_payment ? 'Sim' : 'Não'}`,\n m('br'),\n `Anônimo: ${contribution.anonymous ? 'Sim' : 'Não'}`,\n m('br'),\n `Id pagamento: ${contribution.gateway_id}`,\n m('br'),\n `Apoio: ${contribution.contribution_id}`,\n m('br'),\n 'Chave: \\n',\n m('br'),\n contribution.key,\n m('br'),\n `Meio: ${contribution.gateway}`,\n m('br'),\n `Operadora: ${contribution.gateway_data && contribution.gateway_data.acquirer_name}`,\n contribution.is_second_slip ? [m('br'), m('a.link-hidden[href=\"#\"]', 'Boleto bancário'), ' ', m('span.badge', '2a via')] : ''\n ])\n ]);\n }\n};\n\nexport default adminTransaction;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst adminTransactionHistory = {\n oninit: function(vnode) {\n const contribution = vnode.attrs.contribution,\n mapEvents = _.reduce([{\n date: contribution.paid_at,\n name: 'Apoio confirmado'\n }, {\n date: contribution.pending_refund_at,\n name: 'Reembolso solicitado'\n }, {\n date: contribution.refunded_at,\n name: 'Estorno realizado'\n }, {\n date: contribution.created_at,\n name: 'Apoio criado'\n }, {\n date: contribution.refused_at,\n name: 'Apoio cancelado'\n }, {\n date: contribution.deleted_at,\n name: 'Apoio excluído'\n }, {\n date: contribution.chargeback_at,\n name: 'Chargeback'\n }], (memo, item) => {\n if (item.date !== null && item.date !== undefined) {\n item.originalDate = item.date;\n item.date = h.momentify(item.date, 'DD/MM/YYYY, HH:mm');\n return memo.concat(item);\n }\n\n return memo;\n }, []);\n\n vnode.state = {\n orderedEvents: _.sortBy(mapEvents, 'originalDate')\n };\n\n return vnode.state;\n },\n view: function({state}) {\n return m('.w-col.w-col-4', [\n m('.fontweight-semibold.fontsize-smaller.lineheight-tighter.u-marginbottom-20', 'Histórico da transação'),\n state.orderedEvents.map(cEvent => m('.w-row.fontsize-smallest.lineheight-looser.date-event', [\n m('.w-col.w-col-6', [\n m('.fontcolor-secondary', cEvent.date)\n ]),\n m('.w-col.w-col-6', [\n m('div', cEvent.name)\n ])\n ]))\n ]);\n }\n};\n\nexport default adminTransactionHistory;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore'\nimport h from '../h';\nimport { catarse } from '../api';\nimport models from '../models';\n\nconst adminReward = {\n oninit: function(vnode) {\n let l;\n const loadShippingFee = () => {\n const shippingFee = prop({});\n\n if (vnode.attrs.contribution.shipping_fee_id) {\n const options = models.shippingFee.getRowOptions(\n h.idVM.id(\n vnode.attrs.contribution.shipping_fee_id\n ).parameters());\n\n l = catarse.loaderWithToken(options);\n l.load().then(_.compose(shippingFee, _.first));\n }\n\n return shippingFee;\n };\n\n vnode.state = {\n shippingFee: loadShippingFee()\n };\n\n return vnode.state;\n },\n\n view: function({state, attrs}) {\n const reward = attrs.reward(),\n contribution = attrs.contribution,\n available = parseInt(reward.paid_count) + parseInt(reward.waiting_payment_count),\n shippingFee = state.shippingFee();\n\n return m('.w-col.w-col-4', [\n m('.fontweight-semibold.fontsize-smaller.lineheight-tighter.u-marginbottom-20', 'Recompensa'),\n m('.fontsize-smallest.lineheight-looser', reward.id ? [\n `ID: ${reward.id}`,\n m('br'),\n `Local de entrega: ${(shippingFee.destination ? `${shippingFee.destination} R$ ${shippingFee.value}` : 'Nenhum')}`,\n m('br'),\n `Envio: ${window.I18n.t(`shared.shipping_options.${reward.shipping_options}`)}`,\n m('br'),\n `Valor mínimo: R$${h.formatNumber(reward.minimum_value, 2, 3)}`,\n m('br'),\n m.trust(`Disponíveis: ${available} / ${reward.maximum_contributions || '∞'}`),\n m('br'),\n `Aguardando confirmação: ${reward.waiting_payment_count}`,\n m('br'),\n `Estimativa da Entrega: ${h.momentify(reward.deliver_at)}`,\n m('br'),\n m('div', [\n 'Status da Entrega: ',\n h.contributionStatusBadge(contribution)\n ]),\n (reward.title ? [`Título: ${reward.title}`,\n m('br')\n ] : ''),\n `Descrição: ${reward.description}`\n ] : 'Apoio sem recompensa')\n ]);\n }\n};\n\nexport default adminReward;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse } from '../api';\nimport h from '../h';\nimport models from '../models';\nimport adminInputAction from './admin-input-action';\nimport adminRadioAction from './admin-radio-action';\nimport adminExternalAction from './admin-external-action';\nimport adminTransaction from './admin-transaction';\nimport adminTransactionHistory from './admin-transaction-history';\nimport adminReward from './admin-reward';\n\nconst adminContributionDetail = {\n oninit: function(vnode) {\n let l;\n const loadReward = () => {\n const model = models.rewardDetail,\n reward_id = vnode.attrs.item.reward_id,\n opts = model.getRowOptions(h.idVM.id(reward_id).parameters()),\n reward = prop({});\n\n l = catarse.loaderWithToken(opts);\n\n if (reward_id) {\n l.load().then(_.compose(reward, _.first)).then(() => m.redraw());\n }\n\n return reward;\n };\n\n vnode.state = {\n reward: loadReward(),\n actions: {\n transfer: {\n property: 'user_id',\n updateKey: 'id',\n callToAction: 'Transferir',\n innerLabel: 'Id do novo apoiador:',\n outerLabel: 'Transferir Apoio',\n placeholder: 'ex: 129908',\n successMessage: 'Apoio transferido com sucesso!',\n errorMessage: 'O apoio não foi transferido!',\n model: models.contributionDetail\n },\n reward: {\n getKey: 'project_id',\n updateKey: 'contribution_id',\n selectKey: 'reward_id',\n radios: 'rewards',\n callToAction: 'Alterar Recompensa',\n outerLabel: 'Recompensa',\n getModel: models.rewardDetail,\n updateModel: models.contributionDetail,\n selectedItem: loadReward(),\n addEmpty: { id: -1, minimum_value: 10, description: 'Sem recompensa' },\n validate(rewards, newRewardID) {\n const reward = _.findWhere(rewards, { id: newRewardID });\n return (vnode.attrs.item.value >= reward.minimum_value) ? undefined : 'Valor mínimo da recompensa é maior do que o valor da contribuição.';\n }\n },\n refund: {\n updateKey: 'id',\n callToAction: 'Reembolso direto',\n innerLabel: 'Tem certeza que deseja reembolsar esse apoio?',\n outerLabel: 'Reembolsar Apoio',\n model: models.contributionDetail\n },\n remove: {\n property: 'state',\n updateKey: 'id',\n callToAction: 'Apagar',\n innerLabel: 'Tem certeza que deseja apagar esse apoio?',\n outerLabel: 'Apagar Apoio',\n forceValue: 'deleted',\n successMessage: 'Apoio removido com sucesso!',\n errorMessage: 'O apoio não foi removido!',\n model: models.contributionDetail\n }\n },\n l\n };\n },\n view: function({state, attrs}) {\n const actions = state.actions,\n item = attrs.item,\n reward = state.reward,\n addOptions = (builder, id) => _.extend({}, builder, {\n requestOptions: {\n url: (`/admin/contributions/${id}/gateway_refund`),\n method: 'PUT'\n }\n });\n\n return m('#admin-contribution-detail-box', [\n m('.divider.u-margintop-20.u-marginbottom-20'),\n m('.w-row.u-marginbottom-30', [\n m(adminInputAction, {\n data: actions.transfer,\n item\n }),\n (\n state.l() ? \n h.loader() \n :\n m(adminRadioAction, {\n data: actions.reward,\n item: reward,\n getKeyValue: item.project_id,\n updateKeyValue: item.contribution_id\n })\n ),\n m(adminExternalAction, {\n data: addOptions(actions.refund, item.id),\n item\n }),\n m(adminInputAction, {\n data: actions.remove,\n item\n })\n ]),\n m('.w-row.card.card-terciary.u-radius', [\n m(adminTransaction, {\n contribution: item\n }),\n m(adminTransactionHistory, {\n contribution: item\n }),\n (\n state.l() ? \n h.loader()\n :\n m(adminReward, {\n reward,\n contribution: item,\n key: item.key\n })\n )\n ])\n ]);\n }\n};\n\nexport default adminContributionDetail;\n","/**\n * window.c.ModalBox component\n * Buils the template for using modal\n *\n * Example:\n * m.component(c.ModalBox, {\n * displayModal: tooglePropObject,\n * content: ['ComponentName', {argx: 'x', argy: 'y'}]\n * })\n * ComponentName structure => m('div', [\n * m('.modal-dialog-header', []),\n * m('.modal-dialog-content', []),\n * m('.modal-dialog-nav-bottom', []),\n * ])\n */\nimport m from 'mithril';\n\nconst modalBox = {\n view: function({ attrs }) {\n return m('.modal-backdrop', [\n m('.modal-dialog-outer', [\n m('.modal-dialog-inner.modal-dialog-small.fontcolor-primary', [\n m(`a.w-inline-block.fa.fa-lg.modal-close${attrs.hideCloseButton ? '' : '.fa-close'}[href=\"javascript:void(0);\"]`, {\n onclick: attrs.displayModal.toggle,\n }),\n m(attrs.content[0], attrs.content[1]),\n ]),\n ]),\n ]);\n },\n};\n\nexport default modalBox;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport h from '../h';\nimport models from '../models';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport contributionListVM from '../vms/contribution-list-vm';\nimport contributionFilterVM from '../vms/contribution-filter-vm';\nimport adminList from '../c/admin-list';\nimport adminFilter from '../c/admin-filter';\nimport adminContributionItem from '../c/admin-contribution-item';\nimport adminContributionDetail from '../c/admin-contribution-detail';\nimport filterMain from '../c/filter-main';\nimport filterDropdown from '../c/filter-dropdown';\nimport filterNumberRange from '../c/filter-number-range';\nimport filterDateRange from '../c/filter-date-range';\nimport modalBox from '../c/modal-box';\n\nconst adminContributions = {\n oninit: function(vnode) {\n let listVM = contributionListVM,\n filterVM = contributionFilterVM,\n error = prop(''),\n filterBuilder = [{ // full_text_index\n component: filterMain,\n data: {\n vm: filterVM.full_text_index,\n placeholder: 'Busque por projeto, email, Ids do usuário e do apoio...'\n }\n }, { // delivery_status\n component: filterDropdown,\n data: {\n label: 'Status da entrega',\n name: 'delivery_status',\n vm: filterVM.delivery_status,\n options: [{\n value: '',\n option: 'Qualquer um'\n }, {\n value: 'delivered',\n option: 'delivered'\n }, {\n value: 'undelivered',\n option: 'undelivered'\n }, {\n value: 'error',\n option: 'error'\n }, {\n value: 'received',\n option: 'received'\n }]\n }\n }, { // state\n component: filterDropdown,\n data: {\n label: 'Com o estado',\n name: 'state',\n vm: filterVM.state,\n options: [{\n value: '',\n option: 'Qualquer um'\n }, {\n value: 'paid',\n option: 'paid'\n }, {\n value: 'refused',\n option: 'refused'\n }, {\n value: 'pending',\n option: 'pending'\n }, {\n value: 'pending_refund',\n option: 'pending_refund'\n }, {\n value: 'refunded',\n option: 'refunded'\n }, {\n value: 'chargeback',\n option: 'chargeback'\n }, {\n value: 'deleted',\n option: 'deleted'\n }]\n }\n }, { // gateway\n component: filterDropdown,\n data: {\n label: 'gateway',\n name: 'gateway',\n vm: filterVM.gateway,\n options: [{\n value: '',\n option: 'Qualquer um'\n }, {\n value: 'Pagarme',\n option: 'Pagarme'\n }, {\n value: 'MoIP',\n option: 'MoIP'\n }, {\n value: 'PayPal',\n option: 'PayPal'\n }, {\n value: 'Credits',\n option: 'Créditos'\n }]\n }\n }, { // value\n component: filterNumberRange,\n data: {\n label: 'Valores entre',\n first: filterVM.value.gte,\n last: filterVM.value.lte\n }\n }, { // created_at\n component: filterDateRange,\n data: {\n label: 'Período do apoio',\n first: filterVM.created_at.gte,\n last: filterVM.created_at.lte\n }\n }],\n submit = () => {\n error(false);\n listVM.firstPage(filterVM.parameters()).then(_ => m.redraw(), (serverError) => {\n error(serverError.message);\n m.redraw();\n });\n return false;\n },\n displayChargebackForm = h.toggleProp(false, true),\n chargebackIds = prop(),\n generateIdsToData = () => {\n if (chargebackIds() == undefined) {\n return null;\n }\n\n return chargebackIds().split(',').map(str => str.trim());\n },\n processChargebacksLoader = h.toggleProp(false, true),\n displayChargebackConfirmationModal = h.toggleProp(false, true),\n searchChargebackLoader = h.toggleProp(false, true),\n toChargebackListVM = models.contributionDetail,\n toChargebackCollection = prop(),\n chargebackConfirmationModalContentWrapper = (customAttrs) => {\n const wrapper = {\n view: function({state, attrs}) {\n return m('', [\n m('.modal-dialog-header', [\n m('.fontsize-large.u-text-center', attrs.modalTitle)\n ]),\n m('.modal-dialog-content', [\n m('.w-row.fontweight-semibold', [\n m('.w-col.w-col-3', 'ID do gateway'),\n m('.w-col.w-col-4', 'Nome do apoiador'),\n m('.w-col.w-col-2', 'Valor'),\n m('.w-col.w-col-3', 'Projeto'),\n ]),\n _.map(toChargebackCollection(), (item, index) => m('.divider.fontsize-smallest.lineheight-looser', [\n m('.w-row', [\n m('.w-col.w-col-3', [\n m('span', item.gateway_id)\n ]),\n m('.w-col.w-col-4', [\n m('span', item.user_name)\n ]),\n m('.w-col.w-col-2', [\n m('span', `${h.formatNumber(item.value, 2, 3)}`)\n ]),\n m('.w-col.w-col-3', [\n m('span', item.project_name)\n ]),\n ])\n ])),\n m('.w-row.fontweight-semibold.divider', [\n m('.w-col.w-col-6', 'Total'),\n m('.w-col.w-col-3', `R$ ${h.formatNumber(_.reduce(toChargebackCollection(), (t, i) => t + i.value, 0), 2, 3)}`)\n ]),\n m('.w-row.u-margintop-40', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-5',\n m('a.btn.btn-medium.w-button', {\n onclick: attrs.onClickCallback\n }, attrs.ctaText)\n ),\n m('.w-col.w-col-5',\n m('a.btn.btn-medium.btn-terciary.w-button', {\n onclick: attrs.displayModal.toggle\n }, 'Voltar')\n ),\n m('.w-col.w-col-1')\n ])\n ])\n ]);\n }\n };\n return [wrapper, customAttrs];\n },\n searchToChargebackPayments = () => {\n if (chargebackIds() != undefined && chargebackIds() != '') {\n searchChargebackLoader(true);\n m.redraw();\n toChargebackListVM.pageSize(30);\n toChargebackListVM.getPageWithToken({ gateway: 'eq.Pagarme', gateway_id: `in.(${generateIdsToData().join(',')})` }).then((data) => {\n toChargebackCollection(data);\n searchChargebackLoader(false);\n displayChargebackConfirmationModal(true);\n m.redraw();\n toChargebackListVM.pageSize(10);\n });\n }\n },\n processChargebacks = () => {\n if (generateIdsToData() != null && generateIdsToData().length >= 0) {\n processChargebacksLoader(true);\n m.redraw();\n m.request({\n method: 'POST',\n url: '/admin/contributions/batch_chargeback',\n data: {\n gateway_payment_ids: generateIdsToData()\n },\n config: h.setCsrfToken\n }).then((data) => {\n processChargebacksLoader(false);\n displayChargebackForm(false);\n displayChargebackConfirmationModal(false);\n submit(); // just to reload the contribution list\n });\n }\n },\n inputActions = () => m('', [\n m('.w-inline-block', [\n m('button.btn-inline.btn.btn-small.btn-terciary', {\n onclick: displayChargebackForm.toggle\n }, 'Chargeback em massa'),\n (displayChargebackForm() ? m('.dropdown-list.card.u-radius.dropdown-list-medium.zindex-10', [\n m('.w-form', [\n (processChargebacksLoader()\n ? h.loader()\n : m('form', {onsubmit: searchToChargebackPayments }, [\n m('label.fontsize-small', 'Insira os IDs do gateway separados por vírgula'),\n m('textarea.text-field.w-input', { oninput: m.withAttr('value', chargebackIds) }),\n m('button.btn.btn-small.w-button', 'Virar apoios para chargeback')\n ])\n )\n ])\n ]) : '')\n ])\n ]);\n\n vnode.state = {\n filterVM,\n filterBuilder,\n displayChargebackConfirmationModal,\n chargebackConfirmationModalContentWrapper,\n processChargebacks,\n listVM: {\n list: listVM,\n hasInputAction: true,\n inputActions,\n error\n },\n data: {\n label: 'Apoios'\n },\n submit\n };\n },\n\n view: function({state}) {\n return m('', [\n (state.displayChargebackConfirmationModal() ? m(modalBox, {\n displayModal: state.displayChargebackConfirmationModal,\n content: state.chargebackConfirmationModalContentWrapper({\n modalTitle: 'Aprovar chargebacks',\n ctaText: 'Aprovar',\n displayModal: state.displayChargebackConfirmationModal,\n onClickCallback: state.processChargebacks\n })\n }) : ''),\n m('#admin-root-contributions', [\n m(adminFilter, {\n form: state.filterVM.formDescriber,\n filterBuilder: state.filterBuilder,\n submit: state.submit\n }),\n m(adminList, {\n vm: state.listVM,\n listItem: adminContributionItem,\n listDetail: adminContributionDetail\n })\n ])\n ]);\n }\n};\n\nexport default adminContributions;\n","import h from '../h';\nimport { commonPayment } from '../api';\nimport models from '../models';\n\nexport default commonPayment.paginationVM(models.userSubscription, 'id.desc', { Prefer: 'count=exact' });\n\nexport const getUserPrivateSubscriptionsListVM = userCommonId => {\n models.userSubscription.pageSize(9);\n const subscriptions = commonPayment.paginationVM(models.userSubscription, 'created_at.desc', { Prefer: 'count=exact' });\n\n return {\n firstPage: params => subscriptions.firstPage(params).then(() => h.redraw()),\n isLoading: subscriptions.isLoading,\n collection: subscriptions.collection,\n isLastPage: subscriptions.isLastPage,\n nextPage: () => subscriptions.nextPage().then(() => h.redraw()),\n };\n};\n","import m from 'mithril';\nimport {\n commonPayment\n} from '../api';\nimport h from '../h';\n\nconst { replaceDiacritics } = window;\n\nconst vm = commonPayment.filtersVM({\n status: 'eq',\n search_index: 'plfts(portuguese)',\n payment_method: 'eq'\n }),\n\n paramToString = function (p) {\n return (p || '').toString().trim();\n };\n\n// Set default values\nvm.status('');\nvm.payment_method('');\nvm.order({\n id: 'desc'\n});\n\nvm.search_index.toFilter = function () {\n const filter = paramToString(vm.search_index());\n return filter && replaceDiacritics(filter) || undefined;\n};\n\nexport default vm;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectVM from '../vms/project-vm';\n\nconst adminSubProject = {\n oninit: function(vnode) {\n const project = prop({});\n projectVM.fetchProject(vnode.attrs.item.project_external_id, false).then((data) => {\n project(_.first(data));\n });\n vnode.state = {\n project\n };\n },\n\n view: function({state, attrs}) {\n const project = state.project();\n return m('.w-row.admin-project', project ? [\n m('.w-col.w-col-3.w-col-small-3.u-marginbottom-10', [\n m(`img.thumb-project.u-radius[src=${project.large_image}][width=50]`)\n ]),\n m('.w-col.w-col-9.w-col-small-9', [\n m('.fontweight-semibold.fontsize-smaller.lineheight-tighter.u-marginbottom-10', [\n m(`a.alt-link[target=\"_blank\"][href=\"/${project.permalink}\"]`, project.name)\n ]),\n // m('.fontsize-smallest.fontweight-semibold', project.state),\n m('.fontsize-smallest.fontcolor-secondary', `${h.momentify(project.zone_online_date)}`)\n ])\n ] : '');\n }\n};\n\nexport default adminSubProject;\n","import m from 'mithril';\nimport h from '../h';\n\nconst adminSubscription = {\n view: function({attrs}) {\n const subscription = attrs.item;\n return m('.w-row.admin-contribution', [\n m('.fontweight-semibold.fontsize-small',\n `R$${subscription.amount / 100} por mês`\n ),\n m('.fontsize-smaller.fontweight-semibold',\n `(${subscription.paid_count} mês ativo)`\n )\n ]);\n }\n};\n\nexport default adminSubscription;\n","/**\n * window.c.AdminSubscriptionUser component\n * An itembuilder component that returns additional data\n * to be included in AdminUser.\n *\n * Example:\n * oninit: function() {\n * return {\n * itemBuilder: [{\n * component: 'AdminSubscriptionUser',\n * wrapperClass: '.w-col.w-col-4'\n * }]\n * }\n * }\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport adminUser from './admin-user';\nimport userVM from '../vms/user-vm';\n\nconst adminSubscriptionUser = {\n oninit: function(vnode) {\n const user = prop({});\n userVM.fetchUser(vnode.attrs.item.user_external_id, false).then((data) => {\n user(_.first(data));\n });\n vnode.state = {\n user\n };\n },\n view: function({state, attrs}) {\n const item = attrs.item,\n customerData = item.checkout_data ? item.checkout_data.customer : {},\n customer = customerData ? customerData : {},\n user = {\n profile_img_thumbnail: state.user() ? state.user().profile_img_thumbnail : '',\n id: item.user_external_id,\n name: customer.name,\n email: item.user_email\n };\n\n const additionalData = m('.fontsize-smallest.fontcolor-secondary', `Gateway: ${customer.email}`);\n return state.user() ? m(adminUser, {\n item: user,\n additional_data: additionalData\n }) : h.loader();\n }\n};\n\nexport default adminSubscriptionUser;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.subscription_fields');\n\nconst paymentMethodIcon = {\n oninit: function(vnode) {\n const subscription = vnode.attrs.subscription;\n\n const paymentClass = {\n boleto: 'fa-barcode',\n credit_card: 'fa-credit-card'\n };\n vnode.state = {\n subscription,\n paymentClass\n };\n },\n view: function({state, attrs}) {\n const subscription = state.subscription,\n paymentClass = state.paymentClass;\n\n return m('span', [\n m(`span.fa.${paymentClass[subscription.payment_method]}`,\n ''\n ),\n window.I18n.t(subscription.payment_method, I18nScope())\n ]);\n }\n};\n\nexport default paymentMethodIcon;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport moment from 'moment';\nimport h from '../h';\nimport { commonPayment } from '../api';\nimport models from '../models';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.subscription_fields');\n\nconst subscriptionStatusIcon = {\n oninit: function(vnode) {\n const statusClass = {\n active: 'fa-circle.text-success',\n started: 'fa-circle.text-waiting',\n inactive: 'fa-circle.text-error',\n canceled: 'fa-times-circle.text-error',\n canceling: 'fa-times-circle-o.text-error',\n deleted: 'fa-circle.text-error',\n error: 'fa-circle.text-error',\n },\n subscriptionTransition = prop(null);\n\n // get last subscription status transition from '/subscription_status_transitions' from this subscription\n if (vnode.attrs.subscription.id) {\n vnode.attrs.subscription.transition_date = vnode.attrs.subscription.created_at;\n\n const filterRowVM = commonPayment\n .filtersVM({\n subscription_id: 'eq',\n project_id: 'eq',\n })\n .order({\n created_at: 'desc',\n })\n .subscription_id(vnode.attrs.subscription.id)\n .project_id(vnode.attrs.subscription.project_id);\n\n const lRew = commonPayment.loaderWithToken(models.subscriptionTransition.getRowOptions(filterRowVM.parameters()));\n lRew.load().then(data => {\n vnode.attrs.subscription.transition_date =\n data && data.length > 0 && _.first(data).created_at ? _.first(data).created_at : vnode.attrs.subscription.created_at;\n h.redraw();\n });\n }\n\n vnode.state = {\n statusClass,\n };\n },\n view: function({ state, attrs }) {\n const subscription = attrs.subscription,\n statusClass = state.statusClass,\n statusToShowTransitionDate = ['started', 'canceling', 'canceled', 'inactive'],\n shouldShowTransitionDate = statusToShowTransitionDate.indexOf(subscription.status) >= 0;\n\n return m('span', [\n m('span.fontsize-smaller', [\n m(`span.fa.${statusClass[subscription.status] || 'Erro'}`, ' '),\n window.I18n.t(`status.${subscription.status}`, I18nScope()),\n ]),\n shouldShowTransitionDate\n ? m(\n '.fontcolor-secondary.fontsize-mini.fontweight-semibold.lineheight-tightest',\n `em ${h.momentify(subscription.transition_date, 'DD/MM/YYYY')}`\n )\n : '',\n ]);\n },\n};\n\nexport default subscriptionStatusIcon;\n","import m from 'mithril';\nimport h from '../h';\nimport paymentMethodIcon from './payment-method-icon';\nimport subscriptionStatusIcon from './subscription-status-icon';\n\nconst subPaymentStatus = {\n view: function({attrs}) {\n const subscription = attrs.item;\n return m('.w-row.admin-contribution', [\n m('div',\n m(subscriptionStatusIcon, {\n subscription\n })),\n m('div',\n\n m(paymentMethodIcon, {\n subscription\n })\n )\n ]);\n }\n};\n\nexport default subPaymentStatus;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport adminSubProject from './admin-sub-project';\nimport adminSubscription from './admin-subscription';\nimport adminSubscriptionUser from './admin-subscription-user';\nimport subPaymentStatus from './sub-payment-status';\n\nconst adminSubscriptionItem = {\n oninit: function(vnode) {\n vnode.state = {\n itemBuilder: [{\n component: adminSubscriptionUser,\n wrapperClass: '.w-col.w-col-4'\n }, {\n component: adminSubProject,\n wrapperClass: '.w-col.w-col-4'\n }, {\n component: adminSubscription,\n wrapperClass: '.w-col.w-col-2'\n }, {\n component: subPaymentStatus,\n wrapperClass: '.w-col.w-col-2'\n }]\n };\n },\n view: function({state, attrs}) {\n return m(\n '.w-row',\n _.map(state.itemBuilder, panel => m(panel.wrapperClass, [\n m(panel.component, {\n item: attrs.item,\n key: attrs.key\n })\n ]))\n );\n }\n};\n\nexport default adminSubscriptionItem;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport {\n commonPayment,\n commonProject,\n commonNotification\n} from '../api';\nimport h from '../h';\nimport models from '../models';\n\nconst adminSubscriptionDetail = {\n oninit: function(vnode) {\n const loadReward = () => {\n \n const reward = prop({});\n\n if (vnode.attrs.item.reward_id) {\n const rewardFilterVM = commonProject.filtersVM({ id: 'eq' });\n rewardFilterVM.id(vnode.attrs.item.reward_id);\n const rewardsLoader = commonProject.loaderWithToken(models.projectReward.getRowOptions(rewardFilterVM.parameters()));\n rewardsLoader\n .load()\n .then((data) => {\n reward(_.first(data));\n h.redraw();\n });\n }\n\n return reward;\n };\n\n const filterVM = commonPayment.filtersVM({\n subscription_id: 'eq'\n });\n filterVM.subscription_id(vnode.attrs.key);\n const currentPayment = prop({});\n\n // Pagination on notifications\n const notificationsLoader = commonNotification.paginationVM(models.userNotification, 'created_at.desc');\n let isFirstPage = true;\n \n const loadNotifications = () => {\n const notificationsInternal = prop([]); \n const addNotificationsToInternal = (notifications) => notificationsInternal(notifications);\n\n // First loads the first page and configure the next interactions\n if (isFirstPage)\n {\n const notificationFilterVM = commonNotification\n .filtersVM({\n user_id: 'eq',\n project_id: 'eq'\n }).order({\n created_at: 'desc'\n });\n \n notificationFilterVM.user_id(vnode.attrs.item.user_id);\n notificationFilterVM.project_id(vnode.attrs.item.project_id);\n \n notificationsLoader\n .firstPage(notificationFilterVM.parameters())\n .then(addNotificationsToInternalData => {\n addNotificationsToInternal(addNotificationsToInternalData);\n h.redraw();\n });\n\n isFirstPage = false;\n }\n else\n {\n // Next pages set the notifications with all notifications got from endpoint\n notificationsLoader\n .nextPage()\n .then(addNotificationsToInternalData => {\n addNotificationsToInternal(addNotificationsToInternalData);\n h.redraw();\n });\n }\n\n return notificationsInternal;\n };\n\n const loadTransitions = () => {\n const transitions = prop([]);\n const paymentTransitionsFilter = commonPayment\n .filtersVM({\n subscription_id: 'eq',\n project_id: 'eq'\n })\n .order({\n created_at: 'desc'\n });\n\n paymentTransitionsFilter.subscription_id(vnode.attrs.item.id);\n paymentTransitionsFilter.project_id(vnode.attrs.item.project_id);\n\n const lPaymentTransitions = commonPayment\n .loaderWithToken(models.subscriptionTransition.getPageOptions(paymentTransitionsFilter.parameters()));\n\n lPaymentTransitions\n .load()\n .then(transitionsData => {\n transitions(transitionsData);\n h.redraw();\n });\n\n return transitions;\n };\n\n const loadPayments = () => {\n const payments = prop([]);\n const paymentsFilter = commonPayment\n .filtersVM({\n subscription_id: 'eq',\n project_id: 'eq'\n })\n .order({\n created_at: 'desc'\n });\n\n paymentsFilter.subscription_id(vnode.attrs.item.id);\n paymentsFilter.project_id(vnode.attrs.item.project_id);\n\n models.commonPayments.pageSize(false);\n const lUserPayments = commonPayment.loaderWithToken(\n models.commonPayments.getPageOptions(paymentsFilter.parameters()));\n\n lUserPayments.load().then((data) => {\n currentPayment(_.first(data));\n _.map(data, (payment, i) => {\n _.extend(payment, {\n selected: prop(i === 0)\n });\n });\n payments(data);\n\n h.redraw();\n });\n\n return payments;\n };\n\n const clearSelected = (payments) => {\n _.map(payments, (payment) => {\n payment.selected(false);\n });\n };\n\n vnode.state = {\n payments: loadPayments(),\n transitions: loadTransitions(),\n notifications: loadNotifications(),\n loadNotifications,\n notificationsLoader,\n currentPayment,\n clearSelected,\n reward: loadReward()\n };\n },\n view: function({state, attrs}) {\n const payments = state.payments(),\n transitions = state.transitions(),\n notifications = state.notifications(),\n reward = state.reward(),\n currentPayment = state.currentPayment;\n\n return m('.card.card-terciary.w-row', payments ? [\n m('.w-col.w-col-4',\n m('div', [\n m('.fontweight-semibold.fontsize-smaller.lineheight-tighter.u-marginbottom-20',\n 'Histórico da transação'\n ),\n _.map(transitions, transition => m('.fontsize-smallest.lineheight-looser.w-row', [\n m('.w-col.w-col-6',\n m('div',\n h.momentify(transition.created_at, 'DD/MM/YYYY hh:mm')\n )\n ),\n m('.w-col.w-col-6',\n m('span',\n `${transition.from_status} -> ${transition.to_status}`\n ))\n ])),\n m('.divider'),\n _.map(payments, (payment, i) => m(`.fontsize-smallest.lineheight-looser.w-row${payment.selected() ? '.fontweight-semibold' : ''}`, [\n m('.w-col.w-col-6',\n m('div',\n h.momentify(payment.created_at, 'DD/MM/YYYY hh:mm')\n )\n ),\n m('.w-col.w-col-6',\n m(`span.${payment.selected() ? 'link-hidden-dark' : 'alt-link'}`, {\n onclick: () => {\n state.clearSelected(payments);\n payment.selected(true);\n currentPayment(payment);\n }\n },\n payment.status\n ))\n ])),\n m('.fontweight-semibold.fontsize-smaller.lineheight-tighter.u-marginbottom-20.u-margintop-20',\n 'Notificações'\n ),\n _.map(notifications, notification => m('.fontsize-smallest.lineheight-looser.w-row', [\n m('.w-col.w-col-6',\n m('div',\n h.momentify(notification.created_at, 'DD/MM/YYYY hh:mm')\n )\n ),\n m('.w-col.w-col-6',\n m('span',\n notification.label\n )\n )\n ])),\n m('.w-inline-block', \n (state.notificationsLoader.isLastPage() ? ''\n : m('button.btn-inline.btn.btn-small.btn-terciary', { onclick: state.loadNotifications }, 'Carregar mais')))\n ])),\n m('.w-col.w-col-4',\n m('div', [\n m('.fontweight-semibold.fontsize-smaller.lineheight-tighter.u-marginbottom-20',\n 'Detalhes do apoio mensal'\n ),\n m('.fontsize-smallest.lineheight-loose', currentPayment() ? [\n `Início: ${h.momentify(currentPayment().created_at, 'DD/MM/YYYY hh:mm')}`,\n m('br'),\n `Confirmação: ${h.momentify(currentPayment().paid_at, 'DD/MM/YYYY hh:mm')}`,\n m('br'),\n `Valor: R$${currentPayment().amount / 100}`,\n m('br'),\n !_.isEmpty(reward) ? `Recompensa: R$${reward.data.minimum_value / 100} - ${reward.data.title} - ${reward.data.description.substring(0, 90)}(...)` : 'Sem recompensa',\n m('br'),\n `Id pagamento: ${currentPayment().id}`,\n m('br'),\n `Id gateway: ${currentPayment().gateway_id}`,\n m('br'),\n 'Apoio:',\n m.trust(' '),\n currentPayment().subscription_id,\n m('br'),\n currentPayment().payment_method === 'credit_card' ? [\n 'Cartão ',\n m.trust(' '),\n `${currentPayment().payment_method_details.first_digits}******${currentPayment().payment_method_details.last_digits}`,\n m.trust(' '),\n m.trust(' '),\n currentPayment().payment_method_details.brand\n ] : 'Boleto'\n ] : '')\n ])\n ),\n m('.w-col.w-col-4')\n ] : '');\n }\n};\n\nexport default adminSubscriptionDetail;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport h from '../h';\nimport models from '../models';\nimport _ from 'underscore';\nimport subscriptionListVM from '../vms/subscription-list-vm';\nimport subscriptionFilterVM from '../vms/subscription-filter-vm';\nimport adminList from '../c/admin-list';\nimport adminFilter from '../c/admin-filter';\nimport adminSubscriptionItem from '../c/admin-subscription-item';\nimport adminSubscriptionDetail from '../c/admin-subscription-detail';\nimport filterDropdown from '../c/filter-dropdown';\nimport filterMain from '../c/filter-main';\nimport modalBox from '../c/modal-box';\n\nconst adminSubscriptions = {\n oninit: function(vnode) {\n let listVM = subscriptionListVM,\n filterVM = subscriptionFilterVM,\n error = prop(''),\n filterBuilder = [{ // name\n component: filterMain,\n data: {\n vm: filterVM.search_index,\n placeholder: 'Busque por projeto, permalink, email, nome do realizador...'\n },\n }, { // state\n component: filterDropdown,\n data: {\n label: 'Com o estado',\n name: 'status',\n vm: filterVM.status,\n options: [{\n value: '',\n option: 'Qualquer um'\n }, {\n value: 'started',\n option: 'started'\n }, {\n value: 'active',\n option: 'active'\n }, {\n value: 'inactive',\n option: 'inactive'\n }, {\n value: 'canceled',\n option: 'canceled'\n }, {\n value: 'canceling',\n option: 'canceling'\n }, {\n value: 'deleted',\n option: 'deleted'\n }, {\n value: 'error',\n option: 'error'\n }]\n }\n }],\n submit = () => {\n error(false);\n listVM.firstPage(filterVM.parameters()).then(_ => m.redraw(), (serverError) => {\n error(serverError.message);\n m.redraw();\n });\n return false;\n },\n displayChargebackForm = h.toggleProp(false, true),\n chargebackIds = prop(),\n generateIdsToData = () => {\n if (chargebackIds() === undefined) {\n return null;\n }\n\n return chargebackIds().split(',').map(str => str.trim());\n },\n toChargebackListVM = models.commonPayments,\n toChargebackCollection = prop(),\n processChargebacksLoader = h.toggleProp(false, true),\n displayChargebackConfirmationModal = h.toggleProp(false, true),\n searchChargebackLoader = h.toggleProp(false, true),\n chargebackConfirmationModalContentWrapper = (customAttrs) => {\n const wrapper = {\n view({state, attrs}) {\n return m('', [\n m('.modal-dialog-header', [\n m('.fontsize-large.u-text-center', attrs.modalTitle)\n ]),\n m('.modal-dialog-content', [\n m('.w-row.fontweight-semibold', [\n m('.w-col.w-col-3', 'ID do gateway'),\n m('.w-col.w-col-4', 'Nome do apoiador'),\n m('.w-col.w-col-2', 'Valor'),\n m('.w-col.w-col-3', 'Projeto'),\n ]),\n _.map(toChargebackCollection(), (item, index) => m('.divider.fontsize-smallest.lineheight-looser', [\n m('.w-row', [\n m('.w-col.w-col-3', [\n m('span', item.gateway_id)\n ]),\n m('.w-col.w-col-4', [\n m('span', item.billing_data.name)\n ]),\n m('.w-col.w-col-2', [\n m('span', `${h.formatNumber((item.amount/100), 2, 3)}`)\n ]),\n m('.w-col.w-col-3', [\n m('span', item.project.name)\n ]),\n ])\n ])),\n m('.w-row.fontweight-semibold.divider', [\n m('.w-col.w-col-6', 'Total'),\n m('.w-col.w-col-3', `R$ ${h.formatNumber(_.reduce(toChargebackCollection(), (t, i) => t + (i.amount/100), 0), 2, 3)}`)\n ]),\n m('.w-row.u-margintop-40', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-5',\n m('a.btn.btn-medium.w-button', {\n onclick: attrs.onClickCallback\n }, attrs.ctaText)\n ),\n m('.w-col.w-col-5',\n m('a.btn.btn-medium.btn-terciary.w-button', {\n onclick: attrs.displayModal.toggle\n }, 'Voltar')\n ),\n m('.w-col.w-col-1')\n ])\n ])\n ]);\n }\n };\n return [wrapper, customAttrs];\n },\n searchToChargebackPayments = () => {\n if (chargebackIds() !== undefined && chargebackIds() !== '') {\n searchChargebackLoader(true);\n m.redraw();\n toChargebackListVM.pageSize(30);\n toChargebackListVM.getPageWithToken({ gateway_id: `in.(${generateIdsToData().join(',')})` }).then((data) => {\n toChargebackCollection(data);\n searchChargebackLoader(false);\n displayChargebackConfirmationModal(true);\n m.redraw();\n toChargebackListVM.pageSize(10);\n });\n }\n },\n processChargebacks = () => {\n if (generateIdsToData() !== null && generateIdsToData().length >= 0) {\n processChargebacksLoader(true);\n m.redraw();\n m.request({\n method: 'POST',\n url: '/admin/subscription_payments/batch_chargeback',\n data: {\n gateway_payment_ids: generateIdsToData()\n },\n config: h.setCsrfToken\n }).then((data) => {\n processChargebacksLoader(false);\n displayChargebackForm(false);\n displayChargebackConfirmationModal(false);\n submit(); // just to reload the contribution list\n });\n }\n },\n inputActions = () => m('', [\n m('.w-inline-block', [\n m('button.btn-inline.btn.btn-small.btn-terciary', {\n onclick: displayChargebackForm.toggle\n }, 'Chargeback em massa'),\n (displayChargebackForm() ? m('.dropdown-list.card.u-radius.dropdown-list-medium.zindex-10', [\n m('.w-form', [\n (processChargebacksLoader() ?\n h.loader()\n : m('form', { onsubmit: searchToChargebackPayments }, [\n m('label.fontsize-small', 'Insira os IDs do gateway separados por vírgula'),\n m('textarea.text-field.w-input', { oninput: m.withAttr('value', chargebackIds) }),\n m('button.btn.btn-small.w-button', 'Virar apoios para chargeback')\n ])\n )\n ])\n ]) : '')\n ])\n ]);\n\n vnode.state = {\n filterVM,\n filterBuilder,\n displayChargebackConfirmationModal,\n chargebackConfirmationModalContentWrapper,\n processChargebacks,\n listVM: {\n list: listVM,\n hasInputAction: true,\n inputActions,\n error\n },\n data: {\n label: 'Assinaturas'\n },\n submit\n };\n },\n\n view: function({state}) {\n const label = 'Assinaturas';\n return m('', [\n (state.displayChargebackConfirmationModal() ? m(modalBox, {\n displayModal: state.displayChargebackConfirmationModal,\n content: state.chargebackConfirmationModalContentWrapper({\n modalTitle: 'Aprovar chargebacks',\n ctaText: 'Aprovar',\n displayModal: state.displayChargebackConfirmationModal,\n onClickCallback: state.processChargebacks\n })\n }) : ''),\n m('#admin-root-subscriptions', [\n m(adminFilter, {\n form: state.filterVM.formDescriber,\n filterBuilder: state.filterBuilder,\n label,\n submit: state.submit\n }),\n m(adminList, {\n vm: state.listVM,\n listItem: adminSubscriptionItem,\n listDetail: adminSubscriptionDetail\n })\n ])\n ]);\n }\n};\n\nexport default adminSubscriptions;\n","import m from 'mithril';\nimport { catarse } from '../api';\nimport models from '../models';\n\nexport default catarse.paginationVM(models.balanceTransfer, 'created_at.asc', { Prefer: 'count=exact' });\n","import m from 'mithril';\nimport { catarse } from '../api';\nimport h from '../h';\nimport models from '../models';\n\nconst { replaceDiacritics } = window;\n\nconst context = () => {\n const vm = catarse.filtersVM({\n full_text_index: 'plfts(portuguese)',\n state: 'eq',\n transfer_id: 'eq',\n created_date: 'between',\n transferred_date: 'between',\n amount: 'between'\n });\n\n const paramToString = p => (p || '').toString().trim();\n\n vm.state('');\n vm.transfer_id('');\n\n vm.created_date.lte.toFilter = () => {\n const filter = paramToString(vm.created_date.lte());\n return filter && h.momentFromString(filter).endOf('day').format('');\n };\n\n vm.created_date.gte.toFilter = () => {\n const filter = paramToString(vm.created_date.gte());\n return filter && h.momentFromString(filter).endOf('day').format('');\n };\n\n vm.transferred_date.lte.toFilter = () => {\n const filter = paramToString(vm.transferred_date.lte());\n return filter && h.momentFromString(filter).endOf('day').format('');\n };\n\n vm.transferred_date.gte.toFilter = () => {\n const filter = paramToString(vm.transferred_date.gte());\n return filter && h.momentFromString(filter).endOf('day').format('');\n };\n\n vm.getAllBalanceTransfers = (filterVM) => {\n models.balanceTransfer.pageSize(false);\n const allTransfers = catarse.loaderWithToken(\n models.balanceTransfer.getPageOptions(filterVM.parameters())\n ).load();\n models.balanceTransfer.pageSize(9);\n return allTransfers;\n };\n\n return vm;\n};\nexport default context;\n","import m from 'mithril';\nimport h from '../h';\n\nconst adminBalanceTransferItem = {\n view: function({attrs}) {\n const item = attrs.item;\n return m('.w-row', [\n m('.w-col.w-col-1.w-col-tiny-1', [\n m('.w-checkbox.w-clearfix', [\n m('input.w-checkbox-input[type=\\'checkbox\\']', {\n disabled: (item.state != 'pending'),\n checked: attrs.listWrapper.isSelected(item.id),\n onchange: (event) => {\n if (event.currentTarget.checked) {\n attrs.listWrapper.selectItem(item);\n } else {\n attrs.listWrapper.unSelectItem(item);\n }\n }\n })\n ])\n ]),\n m('.w-col.w-col-3', [\n m('.fontsize-smaller.fontweight-semibold.lineheight-tighter', [\n `${item.user_name}`,\n m('span.fontcolor-secondary.fontsize-smallest',\n `(${item.user_public_name})`)\n ]),\n m('.fontcolor-secondary.fontsize-smallest',\n item.user_email),\n m('.fontcolor-secondary.fontsize-smallest',\n `USER_ID: ${item.user_id}`)\n ]),\n m('.w-col.w-col-2', [\n m('span.fontsize-small', `R$ ${h.formatNumber(item.amount, 2, 3)}`)\n ]),\n m('.w-col.w-col-2.w-hidden-small.w-hidden-tiny', [\n m('span', item.state),\n (item.transfer_id ? m('.fontcolor-secondary.fontsize-smallest',\n m(`a[href=\"https://dashboard.pagar.me/#/transfers/${item.transfer_id}\"]`,\n `ID: ${item.transfer_id}`))\n : '')\n ]),\n m('.w-col.w-col-2', [\n m('.fontsize-smallest', [\n 'Solicitado em: ',\n m('span.fontsize-small.lineheight-tightest', h.momentify(item.created_at)),\n m('br'),\n m('span.fontsize-smallest.lineheight-tightest', `(${h.momentify(item.transfer_limit_date)})`)\n ])\n ]),\n m('.w-col.w-col-2', [\n m('.fontsize-smallest', [\n 'Confirmado em: ',\n (item.transferred_at ? m('span.fontsize-small.lineheight-tightest', h.momentify(item.transferred_at)) : ''),\n ])\n ])\n ]);\n }\n};\n\nexport default adminBalanceTransferItem;\n","import m from 'mithril';\nimport h from '../h';\n\nexport type PopNotificationAttrs = {\n error: boolean\n message: string\n toggleOpt(newData? : boolean): boolean\n}\n\ntype PopNotificationState = {\n displayNotification(newData? : boolean): boolean\n setPopTimeout(): void\n}\n\nexport default class PopNotification {\n\n oninit(vnode : m.Vnode<PopNotificationAttrs, PopNotificationState>) {\n const displayNotification = vnode.attrs.toggleOpt || h.toggleProp(true, false),\n setPopTimeout = () => {\n setTimeout(() => { displayNotification(false); m.redraw(); }, 3000);\n };\n vnode.state = {\n displayNotification,\n setPopTimeout\n };\n }\n\n view({ state, attrs } : m.Vnode<PopNotificationAttrs, PopNotificationState>) {\n\n if (state.displayNotification()) {\n return (\n <div oncreate={state.setPopTimeout} class={`flash w-clearfix card card-notification u-radius zindex-20 ${attrs.error ? 'card-error' : ''}`}>\n <img onclick={() => state.displayNotification(false)} class='icon-close' src='/assets/catarse_bootstrap/x.png' width='12' alt='fechar'/>\n <div class='fontsize-small'>\n {m.trust(attrs.message)}\n </div>\n </div>\n )\n } else {\n return <span />\n }\n }\n}","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse } from '../api';\nimport h from '../h';\nimport userVM from '../vms/user-vm';\nimport models from '../models';\nimport adminUserBalanceTransactionsList from './admin-user-balance-transactions-list';\nimport popNotification from './pop-notification';\n\nconst I18nScope = _.partial(h.i18nScope, 'admin.balance_transfers');\nconst I18nBankAccount = _.partial(h.i18nScope, 'users.balance.bank');\n\nconst adminBalanceTransferItemDetail = {\n oninit: function(vnode) {\n const userBankAccount = prop(null),\n showPopNotification = prop(false),\n popNotificationAttributes = prop({}),\n metadata = vnode.attrs.item.last_transition_metadata || { transfer_data: {} },\n transferData = metadata.transfer_data || {},\n metaBank = transferData.bank_account,\n userBalance = prop({}),\n transitionBankAccount = prop({}),\n fields = {\n admin_notes: prop(vnode.attrs.item.admin_notes)\n },\n loadingNotes = prop(false),\n submitNotes = () => {\n loadingNotes(true);\n m.request({\n method: 'PUT',\n url: `/admin/balance_transfers/${vnode.attrs.item.id}`,\n data: {\n balance_transfer: {\n admin_notes: fields.admin_notes()\n }\n },\n config: h.setCsrfToken\n }).then((data) => {\n showPopNotification(true);\n popNotificationAttributes({\n message: window.I18n.t('admin_notes.success_update', I18nScope()),\n toggleOpt: showPopNotification\n });\n loadingNotes(false);\n }, (err) => {\n showPopNotification(true);\n popNotificationAttributes({\n message: window.I18n.t('admin_notes.failed_update', I18nScope()),\n error: true,\n toggleOpt: showPopNotification\n });\n loadingNotes(false);\n });\n };\n\n if (!_.isUndefined(metaBank)) {\n if (metaBank.conta) {\n transitionBankAccount({\n account: metaBank.conta,\n account_digit: metaBank.conta_dv,\n account_type: metaBank.type,\n agency: metaBank.agencia,\n agency_digit: metaBank.agencia_dv,\n bank_code: metaBank.bank_code,\n bank_name: null,\n owner_document: metaBank.document_number,\n owner_name: metaBank.legal_name\n });\n } else {\n transitionBankAccount(metaBank);\n }\n }\n\n userVM.getUserBankAccount(vnode.attrs.item.user_id).then(_.compose(userBankAccount, _.first));\n\n vnode.state = {\n metaBank,\n userBankAccount,\n transitionBankAccount,\n userBalance,\n fields,\n submitNotes,\n loadingNotes,\n showPopNotification,\n popNotificationAttributes\n };\n },\n\n view: function({state, attrs}) {\n const bankAccount = (_.isUndefined(state.metaBank) ? state.userBankAccount() : state.transitionBankAccount());\n\n return m('#admin-balance-transfer-item-detail-box', [\n m('.divider.u-margintop-20.u-marginbottom-20'),\n m('.w-row.card.card-terciary.u-radius', [\n m('.w-col.w-col-4', [\n (bankAccount ? [\n m('.fontsize-smaller.fontweight-semibold.lineheight-tighter.u-marginbottom-20', 'Dados bancários'),\n m('.fontsize-smallest.lineheight-looser', [\n m('span.fontweight-semibold', I18n.t('bank_name', I18nBankAccount())),\n ` ${bankAccount.bank_code} - ${(bankAccount.bank_name ? bankAccount.bank_name : '')}`, m('br'),\n\n m('span.fontweight-semibold', I18n.t('agency', I18nBankAccount())),\n ` ${bankAccount.agency} - ${bankAccount.agency_digit ? bankAccount.agency_digit : ''}`, m('br'),\n\n m('span.fontweight-semibold', I18n.t('account', I18nBankAccount())),\n ` ${bankAccount.account} - ${bankAccount.account_digit ? bankAccount.account_digit : ''}`, m('br'),\n\n m('span.fontweight-semibold', I18n.t('account_type_name', I18nBankAccount())),\n ` ${I18n.t(`account_type.${bankAccount.account_type}`, I18nBankAccount())} `, m('br'),\n \n m('span.fontweight-semibold', I18n.t('name', I18nBankAccount())),\n ` ${bankAccount.owner_name}`, m('br'),\n \n m('span.fontweight-semibold', 'CPF:'),\n ` ${bankAccount.owner_document}`\n ])\n ] : h.loader()),\n (state.loadingNotes() ? h.loader() : m('', [\n m('textarea.text-field.height-mini.w-input', {\n value: state.fields.admin_notes(),\n onkeyup: m.withAttr('value', state.fields.admin_notes)\n }),\n m('.u-text-center',\n m('button.btn.btn-terciary', {\n onclick: state.submitNotes\n }, window.I18n.t('shared.save_text'))\n ),\n (state.showPopNotification() ? m(popNotification, state.popNotificationAttributes()) : '')\n\n ]))\n ]),\n m(adminUserBalanceTransactionsList, { user_id: attrs.item.user_id })\n ])\n ]);\n }\n};\n\nexport default adminBalanceTransferItemDetail;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport h from '../h';\nimport _ from 'underscore';\nimport balanceTransferListVM from '../vms/balance-transfer-list-vm';\nimport balanceTransferFilterVM from '../vms/balance-transfer-filter-vm';\nimport adminList from '../c/admin-list';\nimport adminFilter from '../c/admin-filter';\nimport filterMain from '../c/filter-main';\nimport filterDropdown from '../c/filter-dropdown';\nimport filterDateRange from '../c/filter-date-range';\nimport filterNumberRange from '../c/filter-number-range';\nimport modalBox from '../c/modal-box';\nimport adminBalanceTransferItem from '../c/admin-balance-transfer-item';\nimport adminBalanceTransferItemDetail from '../c/admin-balance-transfer-item-detail';\n\nconst adminBalanceTranfers = {\n oninit: function(vnode) {\n const listVM = balanceTransferListVM,\n filterVM = balanceTransferFilterVM(),\n authorizedListVM = balanceTransferListVM,\n authorizedFilterVM = balanceTransferFilterVM(),\n authorizedCollection = prop([]),\n error = prop(''),\n selectedAny = prop(false),\n filterBuilder = [\n {\n component: filterMain,\n data: {\n vm: filterVM.full_text_index,\n placeholder: 'Busque pelo email, ids do usuario, ids de transferencia e eventos de saldo'\n }\n },\n {\n component: filterDropdown,\n data: {\n label: 'Status',\n name: 'state',\n vm: filterVM.state,\n options: [{\n value: '',\n option: 'Qualquer um'\n }, {\n value: 'pending',\n option: 'Pendente'\n }, {\n value: 'authorized',\n option: 'Autorizado'\n }, {\n value: 'processing',\n option: 'Processando'\n }, {\n value: 'transferred',\n option: 'Concluido'\n }, {\n value: 'error',\n option: 'Erro'\n }, {\n value: 'rejected',\n option: 'Rejeitado'\n }, {\n value: 'gateway_error',\n option: 'Erro no gateway'\n }]\n }\n },\n {\n component: filterDateRange,\n data: {\n label: 'Data da solicitação',\n first: filterVM.created_date.gte,\n last: filterVM.created_date.lte\n }\n\n },\n {\n component: filterDateRange,\n data: {\n label: 'Data da confirmação',\n first: filterVM.transferred_date.gte,\n last: filterVM.transferred_date.lte\n }\n\n },\n {\n component: filterNumberRange,\n data: {\n label: 'Valores entre',\n first: filterVM.amount.gte,\n last: filterVM.amount.lte\n }\n }\n ],\n selectedItemsIDs = prop([]),\n displayApprovalModal = h.toggleProp(false, true),\n displayManualModal = h.toggleProp(false, true),\n displayRejectModal = h.toggleProp(false, true),\n displayProcessTransfer = h.toggleProp(false, true),\n processingTranfersLoader = h.toggleProp(false, true),\n selectAllLoading = prop(false),\n redrawProp = prop(false),\n actionMenuToggle = h.toggleProp(false, true),\n isSelected = item_id => _.find(selectedItemsIDs(), i => i.id == item_id),\n selectItem = (item) => {\n if (!_.find(selectedItemsIDs(), i => i.id == item.id)) {\n selectedItemsIDs().push(item);\n }\n selectedAny(true);\n },\n unSelectItem = (item) => {\n const newIDs = _.reject(selectedItemsIDs(), i => i.id == item.id);\n selectedItemsIDs(newIDs);\n if (_.isEmpty(newIDs)) {\n selectedAny(false);\n }\n },\n loadAuthorizedBalances = () => {\n authorizedFilterVM.state('authorized');\n authorizedFilterVM.getAllBalanceTransfers(authorizedFilterVM).then((data) => {\n authorizedCollection(data);\n m.redraw();\n });\n },\n submit = () => {\n error(false);\n listVM.firstPage(filterVM.parameters()).then(_ => m.redraw(), (serverError) => {\n error(serverError.message);\n m.redraw();\n });\n return false;\n },\n generateWrapperModal = (customAttrs) => {\n const wrapper = {\n view: function({state, attrs}) {\n actionMenuToggle(false);\n return m('', [\n m('.modal-dialog-header', [\n m('.fontsize-large.u-text-center', attrs.modalTitle)\n ]),\n m('.modal-dialog-content', [\n m('.w-row.fontweight-semibold', [\n m('.w-col.w-col-6', 'Nome'),\n m('.w-col.w-col-3', 'Valor'),\n m('.w-col.w-col-3', 'Solicitado em'),\n ]),\n _.map(selectedItemsIDs(), (item, index) => m('.divider.fontsize-smallest.lineheight-looser', [\n m('.w-row', [\n m('.w-col.w-col-6', [\n m('span', item.user_name)\n ]),\n m('.w-col.w-col-3', [\n m('span', `R$ ${h.formatNumber(item.amount, 2, 3)}`)\n ]),\n m('.w-col.w-col-3', [\n m('span', h.momentify(item.created_at))\n ]),\n ])\n ])),\n m('.w-row.fontweight-semibold.divider', [\n m('.w-col.w-col-6', 'Total'),\n m('.w-col.w-col-3',\n `R$ ${h.formatNumber(_.reduce(selectedItemsIDs(), (t, i) => t + i.amount, 0), 2, 3)}`),\n m('.w-col.w-col-3'),\n ]),\n m('.w-row.u-margintop-40', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-5',\n m('a.btn.btn-medium.w-button', {\n onclick: attrs.onClickCallback\n }, attrs.ctaText)\n ),\n m('.w-col.w-col-5',\n m('a.btn.btn-medium.btn-terciary.w-button', {\n onclick: attrs.displayModal.toggle\n }, 'Voltar')\n ),\n m('.w-col.w-col-1')\n ])\n ])\n ]);\n }\n };\n\n return [wrapper, customAttrs];\n },\n manualTransferSelectedIDs = () => {\n m.request({\n method: 'POST',\n url: '/admin/balance_transfers/batch_manual',\n data: {\n transfer_ids: _.uniq(_.map(selectedItemsIDs(), s => s.id))\n },\n config: h.setCsrfToken\n }).then((data) => {\n selectedItemsIDs([]);\n listVM.firstPage(filterVM.parameters());\n displayManualModal(false);\n m.redraw();\n });\n },\n approveSelectedIDs = () => {\n m.request({\n method: 'POST',\n url: '/admin/balance_transfers/batch_approve',\n data: {\n transfer_ids: _.uniq(_.map(selectedItemsIDs(), s => s.id))\n },\n config: h.setCsrfToken\n }).then((data) => {\n selectedItemsIDs([]);\n listVM.firstPage(filterVM.parameters());\n loadAuthorizedBalances();\n displayApprovalModal(false);\n m.redraw();\n });\n },\n //processAuthorizedTransfers = () => {\n // processingTranfersLoader(true);\n // m.redraw();\n // m.request({\n // method: 'POST',\n // url: '/admin/balance_transfers/process_transfers',\n // data: {},\n // config: h.setCsrfToken\n // }).then((data) => {\n // listVM.firstPage(filterVM.parameters());\n // loadAuthorizedBalances();\n // displayProcessTransfer(false);\n // processingTranfersLoader(false);\n // m.redraw();\n // });\n //},\n rejectSelectedIDs = () => {\n m.request({\n method: 'POST',\n url: '/admin/balance_transfers/batch_reject',\n data: {\n transfer_ids: _.uniq(_.map(selectedItemsIDs(), s => s.id))\n },\n config: h.setCsrfToken\n }).then((data) => {\n selectedItemsIDs([]);\n displayRejectModal(false);\n listVM.firstPage();\n m.redraw();\n });\n },\n unSelectAll = () => {\n selectedItemsIDs([]);\n selectedAny(false);\n },\n selectAll = () => {\n selectAllLoading(true);\n m.redraw();\n filterVM.getAllBalanceTransfers(filterVM).then((data) => {\n _.map(_.where(data, { state: 'pending' }), selectItem);\n selectAllLoading(false);\n m.redraw();\n });\n },\n inputActions = () => {\n const authorizedSum = h.formatNumber(_.reduce(authorizedCollection(), (memo, item) => memo + item.amount, 0), 2, 3);\n return m('', [\n m('button.btn.btn-inline.btn-small.btn-terciary.u-marginright-20.w-button', { onclick: selectAll }, (selectAllLoading() ? 'carregando...' : 'Selecionar todos')),\n (selectedItemsIDs().length > 1 ? m('button.btn.btn-inline.btn-small.btn-terciary.u-marginright-20.w-button', { onclick: unSelectAll }, `Desmarcar todos (${selectedItemsIDs().length})`) : ''),\n (selectedAny() ?\n m('.w-inline-block', [\n m('button.btn.btn-inline.btn-small.btn-terciary.w-button', {\n onclick: actionMenuToggle.toggle\n }, [\n `Marcar como (${selectedItemsIDs().length})`\n ]),\n (actionMenuToggle() ?\n m('.card.dropdown-list.dropdown-list-medium.u-radius.zindex-10[id=\\'transfer\\']', [\n m('a.dropdown-link.fontsize-smaller[href=\\'javascript:void(0);\\']', {\n onclick: event => displayApprovalModal.toggle()\n }, 'Aprovada'),\n m('a.dropdown-link.fontsize-smaller[href=\\'javascript:void(0);\\']', {\n onclick: event => displayManualModal.toggle()\n }, 'Transferencia manual'),\n m('a.dropdown-link.fontsize-smaller[href=\\'javascript:void(0);\\']', {\n onclick: event => displayRejectModal.toggle()\n }, 'Recusada')\n ]) : '')\n ]) : ''),\n //(authorizedCollection().length > 0 ? m('._w-inline-block.u-right', [\n // m('button.btn.btn-small.btn-inline', {\n // onclick: displayProcessTransfer.toggle\n // }, `Repassar saques aprovados (${authorizedCollection().length})`),\n // (displayProcessTransfer() ? m('.dropdown-list.card.u-radius.dropdown-list-medium.zindex-10', [\n // m('.w-form', [\n // (processingTranfersLoader() ? h.loader() : m('form', [\n // m('label.fontsize-smaller.umarginbottom-20', `Tem certeza que deseja repassar ${authorizedCollection().length} saques aprovados (total de R$ ${authorizedSum}) ?`),\n // m('button.btn.btn-small', {\n // onclick: processAuthorizedTransfers\n // }, 'Repassar saques aprovados')\n // ]))\n // ])\n // ]) : '')\n //]) : '')\n ]);\n };\n\n loadAuthorizedBalances();\n\n vnode.state = {\n displayApprovalModal,\n displayRejectModal,\n displayManualModal,\n displayProcessTransfer,\n authorizedCollection,\n generateWrapperModal,\n approveSelectedIDs,\n manualTransferSelectedIDs,\n //processAuthorizedTransfers,\n rejectSelectedIDs,\n filterVM,\n filterBuilder,\n listVM: {\n hasInputAction: true,\n inputActions,\n list: listVM,\n selectedItemsIDs,\n selectItem,\n unSelectItem,\n selectedAny,\n isSelected,\n redrawProp,\n error\n },\n data: {\n label: 'Pedidos de saque'\n },\n submit\n };\n },\n view: function({state, attrs}) {\n return m('', [\n m(adminFilter, {\n filterBuilder: state.filterBuilder,\n submit: state.submit\n }),\n (state.displayApprovalModal() ? m(modalBox, {\n displayModal: state.displayApprovalModal,\n content: state.generateWrapperModal({\n modalTitle: 'Aprovar saques',\n ctaText: 'Aprovar',\n displayModal: state.displayApprovalModal,\n onClickCallback: state.approveSelectedIDs\n })\n }) : ''),\n (state.displayManualModal() ? m(modalBox, {\n displayModal: state.displayManualModal,\n content: state.generateWrapperModal({\n modalTitle: 'Transferencia manual de saques',\n ctaText: 'Aprovar',\n displayModal: state.displayManualModal,\n onClickCallback: state.manualTransferSelectedIDs\n })\n }) : ''),\n (state.displayRejectModal() ? m(modalBox, {\n displayModal: state.displayRejectModal,\n content: state.generateWrapperModal({\n modalTitle: 'Rejeitar saques',\n ctaText: 'Rejeitar',\n displayModal: state.displayRejectModal,\n onClickCallback: state.rejectSelectedIDs\n })\n }) : ''),\n m(adminList, {\n vm: state.listVM,\n listItem: adminBalanceTransferItem,\n listDetail: adminBalanceTransferItemDetail\n })\n ]);\n }\n};\n\nexport default adminBalanceTranfers;\n","/**\n * window.c.landingSignup component\n * A visual component that displays signup email typically used on landing pages.\n * It accepts a custom form action to attach to third-party services like Mailchimp\n *\n * Example:\n * view: () => {\n * ...\n * m.component(c.landingSignup, {\n * builder: {\n * customAction: 'http://formendpoint.com'\n * }\n * })\n * ...\n * }\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport h from '../h';\n\nconst landingSignup = {\n oninit: function(vnode) {\n const builder = vnode.attrs.builder,\n email = prop(''),\n error = prop(false),\n submit = () => {\n if (h.validateEmail(email())) {\n return true;\n }\n error(true);\n return false;\n };\n vnode.state = {\n email,\n submit,\n error\n };\n },\n view: function({state, attrs}) {\n const errorClasses = (!state.error) ? '.positive.error' : '';\n return m(`form.w-form[id=\"email-form\"][method=\"post\"][action=\"${attrs.builder.customAction}\"]`, {\n onsubmit: state.submit\n }, [\n m('.w-col.w-col-5', [\n m(`input${errorClasses}.w-input.text-field.medium[name=\"EMAIL\"][placeholder=\"Digite seu email\"][type=\"text\"]`, {\n oncreate: h.RDTracker('landing-flex'),\n onchange: m.withAttr('value', state.email),\n value: state.email()\n }),\n (state.error() ? m('span.fontsize-smaller.text-error', 'E-mail inválido') : '')\n ]),\n m('.w-col.w-col-3', [\n m('input.w-button.btn.btn-large[type=\"submit\"][value=\"Cadastrar\"]')\n ])\n ]);\n }\n};\n\nexport default landingSignup;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport models from '../models';\nimport { catarse } from '../api';\n\nconst projectFriends = {\n oninit: function(vnode) {\n const project = vnode.attrs.project,\n friendsSample = prop([]),\n listVM = catarse.paginationVM(models.contributor, 'user_id.desc', {\n Prefer: 'count=exact'\n }),\n filterVM = catarse.filtersVM({\n project_id: 'eq',\n is_follow: 'eq'\n }).project_id(project.project_id).is_follow(true);\n\n if (!listVM.collection().length) {\n listVM.firstPage(filterVM.parameters()).then(() => {\n friendsSample(_.sample(listVM.collection(), 2));\n });\n }\n vnode.state = {\n project,\n listVM,\n friendsSample\n };\n },\n view: function({state, attrs}) {\n const project = state.project,\n friendsCount = state.listVM.collection().length,\n wrapper = attrs.wrapper || '.friend-backed-card';\n\n return m(wrapper, [\n m('.friend-facepile', [\n _.map(state.friendsSample(), (user) => {\n const profile_img = _.isEmpty(user.data.profile_img_thumbnail) ? '/assets/catarse_bootstrap/user.jpg' : user.data.profile_img_thumbnail;\n return m(`img.user-avatar[src='${profile_img}']`);\n })\n ]),\n m('p.fontsize-smallest.friend-namepile.lineheight-tighter', [\n m('span.fontweight-semibold',\n _.map(state.friendsSample(), user => user.data.name.split(' ')[0]).join(friendsCount > 2 ? ', ' : ' e ')\n ),\n (friendsCount > 2 ? [\n ' e ',\n m('span.fontweight-semibold',\n `mais ${friendsCount - state.friendsSample().length}`\n )\n ] : ''),\n (friendsCount > 1 ?\n ' apoiaram' : ' apoiou')\n ])\n ]);\n }\n};\n\nexport default projectFriends;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectVM from '../vms/project-vm';\nimport projectFriends from './project-friends';\nimport progressMeter from './progress-meter';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.card');\nconst projectCard = {\n oninit: function(vnode) {\n const project = vnode.attrs.project,\n progress = project.progress.toFixed(2),\n remainingTextObj = h.translatedTime(project.remaining_time),\n elapsedTextObj = h.translatedTime(project.elapsed_time),\n type = vnode.attrs.type || 'small';\n\n const css = () => {\n const cssClasses = {\n small: {\n wrapper: '.w-col.w-col-4',\n innerWrapper: '.card-project.card.u-radius',\n thumb: '.card-project-thumb',\n descriptionWrapper: '',\n description: '.card-project-description.alt',\n title: '.fontweight-semibold.u-text-center-small-only.lineheight-tight.u-marginbottom-10.fontsize-base',\n author: '.w-hidden-small.w-hidden-tiny.fontsize-smallest.fontcolor-secondary.u-marginbottom-20',\n headline: '.w-hidden-small.w-hidden-tiny.fontcolor-secondary.fontsize-smaller',\n city: '.card-project-author.altt'\n },\n medium: {\n wrapper: '.w-col.w-col-6',\n innerWrapper: '.card-project.card.u-radius',\n thumb: '.card-project-thumb.medium',\n descriptionWrapper: '',\n description: '.card-project-description.alt',\n title: '.fontsize-large.fontweight-semibold.u-marginbottom-10',\n author: '.w-hidden-small.w-hidden-tiny.fontsize-smallest.fontcolor-secondary.u-marginbottom-20',\n headline: '.w-hidden-small.w-hidden-tiny.fontcolor-secondary.fontsize-smaller',\n city: '.card-project-author.altt'\n },\n big: {\n wrapper: '.card.u-radius.card-project',\n innerWrapper: '.w-row',\n thumb: '.w-col.w-col-8.w-col-medium-6.card-project-thumb.big',\n descriptionWrapper: '.w-col.w-col-4.w-col-medium-6',\n description: '.card-project-description.big',\n title: '.fontsize-large.fontweight-semibold.u-marginbottom-10',\n author: '.fontsize-smallest.fontcolor-secondary.u-marginbottom-20',\n headline: '.fontcolor-secondary.fontsize-smaller',\n city: '.w-hidden'\n }\n };\n\n return cssClasses[type];\n };\n\n const isFinished = project => _.contains(['successful', 'failed', 'waiting_funds'], project.state);\n\n const cardCopy = (project) => {\n if (projectVM.isSubscription(project)) {\n return m('img.product-label[src=\"https://s3.amazonaws.com/cdn.catarse/assets/assinatura-label.png\"]');\n }\n if (project.expires_at) {\n return isFinished(project) ? [\n m('.fontsize-smaller.fontweight-loose', 'Encerrado'),\n m('.fontsize-smallest.lineheight-tightest', h.momentify(project.expires_at))\n ] : [\n m('.fontsize-smaller.fontweight-semibold', `${remainingTextObj.total} ${remainingTextObj.unit}`),\n m('.fontsize-smallest.lineheight-tightest', (remainingTextObj.total > 1) ? 'Restantes' : 'Restante')\n ];\n }\n return [\n m('.fontsize-smallest.lineheight-tight', ['Iniciado há', m('br'), `${elapsedTextObj.total} ${elapsedTextObj.unit}`])\n ];\n };\n\n\n vnode.state = {\n cardCopy,\n css,\n type,\n progress,\n remainingTextObj,\n elapsedTextObj,\n isFinished\n };\n },\n view: function({state, attrs}) {\n const project = attrs.project;\n const projectOwnerName = project.user ? (project.user.public_name || project.user.name) : (project.owner_public_name || project.owner_name);\n \n const projectLocalizationObject = {\n filter: 'all',\n city_name: project.address ? project.address.city : project.city_name,\n state_acronym: project.address ? project.address.state_acronym : project.state_acronym,\n }; \n const projectLocalizationSearchUrl = `/explore?${m.buildQueryString(projectLocalizationObject)}`\n const projectLocalizationName = project.address ? `${project.address.city}, ${project.address.state_acronym}` : `${project.city_name}, ${project.state_acronym}`;\n\n const projectCategoryObject = {\n filter: 'all',\n category_id: project.category_id,\n };\n const projectCategorySearchUrl = `/explore?${m.buildQueryString(projectCategoryObject)}`;\n const projectCategoryName = project.category_name;\n\n return m(state.css().wrapper, [\n m(state.css().innerWrapper, [\n m(`a${state.css().thumb}[href=\"/${project.permalink}?ref=${attrs.ref}\"]`, {\n onclick: projectVM.routeToProject(project, attrs.ref),\n style: {\n 'background-image': `url(${project.project_img || project.large_image})`,\n display: 'block'\n }\n }),\n (\n project.recommended &&\n m('div.loved-projects-container', \n m(`a.loved-projects-badge[href=\"/${window.I18n.locale}/explore?filter=projects_we_love\"]`, 'Projeto que amamos')\n )\n ),\n m(state.css().descriptionWrapper, [\n m(state.css().description, [\n m(state.css().title, [\n project.is_adult_content && [ m('span.badge', '+18'), m.trust(' ') ],\n m(`a.link-hidden[href=\"/${project.permalink}?ref=${attrs.ref}\"]`, {\n onclick: projectVM.routeToProject(project, attrs.ref)\n },\n project.project_name || project.name)\n ]),\n m(state.css().author, `${window.I18n.t('by', I18nScope())} ${projectOwnerName}`),\n m(state.css().headline, [\n m(`a.link-hidden[href=\"/${project.permalink}?ref=${attrs.ref}\"]`, {\n onclick: projectVM.routeToProject(project, attrs.ref)\n }, project.headline)\n ])\n ]),\n m(progressMeter, { progress: state.progress, project }),\n m('.card-project-stats', [\n m('.w-row', [\n m('.w-col.w-col-4.w-col-small-4.w-col-tiny-4', [\n m('.fontsize-base.fontweight-semibold', `${Math.floor(project.progress)}%`)\n ]),\n m('.w-col.w-col-4.w-col-small-4.w-col-tiny-4.u-text-center-small-only', [\n m('.fontsize-smaller.fontweight-semibold', `R$ ${h.formatNumber(project.pledged)}`),\n m('.fontsize-smallest.lineheight-tightest', window.I18n.t(`pledged.${project.mode}`, I18nScope()))\n ]),\n m('.w-col.w-col-4.w-col-small-4.w-col-tiny-4.u-text-right', state.cardCopy(project)),\n ])\n ]),\n m(state.css().city, \n m('div', [\n m('div',\n m(`a.link-hidden-dark.fontsize-smallest.fontcolor-secondary[href=\"${projectLocalizationSearchUrl}\"]`, {\n onclick: (/** @type {Event} */ event) => {\n event.preventDefault();\n m.route.set(projectLocalizationSearchUrl);\n }\n }, [\n m('span.fa.fa-map-marker.fa-sm', ' '),\n ` ${projectLocalizationName}`\n ])\n ),\n m('div',\n m(`a.link-hidden-dark.fontsize-smallest.fontcolor-secondary[href=\"${projectCategorySearchUrl}\"]`, {\n onclick: (/** @type {Event} */ event) => {\n event.preventDefault();\n m.route.set(projectCategorySearchUrl);\n }\n }, [\n m('span.fa.fa-tag.fa-sm', ' '),\n ` ${projectCategoryName}`\n ])\n )\n ])\n ),\n ]),\n (attrs.showFriends && state.type === 'big' ?\n m('.w-col.w-col-4.w-col-medium-6', [m(projectFriends, { project })]) : '')\n ]),\n (attrs.showFriends && state.type !== 'big' ?\n m(projectFriends, { project }) : '')\n ]);\n }\n};\n\nexport default projectCard;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectCard from './project-card';\n\nconst projectRow = {\n view: function({attrs}) {\n const collection = attrs.collection,\n title = attrs.title || collection.title,\n ref = attrs.ref,\n showFriends = attrs.showFriends,\n wrapper = attrs.wrapper || '.w-section.section.u-marginbottom-40';\n\n if (collection.loader() || collection.collection().length > 0) {\n return m(wrapper, [\n m('.w-container', [\n (!_.isUndefined(collection.title) || !_.isUndefined(collection.hash)) ? m('.w-row.u-marginbottom-30', [\n m((showFriends ? '.w-col.w-col-8.w-col-small-6.w-col-tiny-6' : '.w-col.w-col-10.w-col-small-6.w-col-tiny-6'), [\n m('.fontsize-large.lineheight-looser', title)\n ]),\n m((showFriends ? '.w-col.w-col-4.w-col-small-6.w-col-tiny-6' : '.w-col.w-col-2.w-col-small-6.w-col-tiny-6'), [\n m('.w-row', [\n (showFriends ? m('.w-col.w-col-6', [\n m(`a.btn.btn-no-border.btn-small.btn-terciary[href=\"/connect-facebook?ref=${ref}\"]`, 'Encontrar amigos')\n ]) : ''),\n m((showFriends ? '.w-col.w-col-6' : '.w-col.w-col-12'),\n m(`a.btn.btn-small.btn-terciary[href=\"/explore?ref=${ref}&filter=${collection.hash}\"]`, {\n oncreate: m.route.link\n }, 'Ver todos'))\n ])\n ])\n ]) : '',\n collection.loader() ? h.loader() : m('.w-row', _.map(collection.collection(), project => m(projectCard, {\n project,\n ref,\n showFriends\n })))\n ])\n ]);\n }\n return m('div');\n }\n};\n\nexport default projectRow;\n","/**\n * window.c.landingQA component\n * A visual component that displays a question/answer box with toggle\n *\n * Example:\n * view: () => {\n * ...\n * m.component(c.landingQA, {\n * question: 'Whats your name?',\n * answer: 'Darth Vader.'\n * })\n * ...\n * }\n */\nimport m from 'mithril';\nimport h from '../h';\n\nconst landingQA = {\n oninit: function(vnode) {\n vnode.state = {\n showAnswer: h.toggleProp(false, true)\n };\n },\n view: function({state, attrs}) {\n return m('.card.qa-card.u-marginbottom-20.u-radius.btn-terciary', [\n m('.fontsize-base', {\n onclick: () => {\n state.showAnswer.toggle();\n attrs.onclick && attrs.onclick();\n }\n }, attrs.question),\n state.showAnswer() ? m('p.u-margintop-20.fontsize-small', m.trust(attrs.answer)) : ''\n ]);\n }\n};\n\nexport default landingQA;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse } from '../api';\nimport h from '../h';\nimport models from '../models';\nimport landingSignup from '../c/landing-signup';\nimport projectRow from '../c/project-row';\nimport landingQA from '../c/landing-qa';\n\nconst Flex = {\n oninit: function(vnode) {\n const stats = prop([]),\n projects = prop([]),\n l = prop(),\n sample3 = _.partial(_.sample, _, 3),\n builder = {\n customAction: 'http://fazum.catarse.me/obrigado-landing-catarse-flex'\n },\n addDisqus = () => {\n h.discuss('https://catarse.me/flex', 'flex_page');\n },\n flexVM = catarse.filtersVM({\n mode: 'eq',\n state: 'eq',\n recommended: 'eq'\n }),\n statsLoader = catarse.loaderWithToken(models.statistic.getRowOptions());\n\n flexVM.mode('flex').state('online').recommended(true);\n\n const projectsLoader = catarse.loader(models.project.getPageOptions(flexVM.parameters()));\n\n statsLoader.load().then(stats);\n\n projectsLoader.load().then(_.compose(projects, sample3));\n\n vnode.state = {\n addDisqus,\n builder,\n statsLoader,\n stats,\n projectsLoader,\n projects: {\n loader: projectsLoader,\n collection: projects\n }\n };\n },\n view: function({state, attrs}) {\n const stats = _.first(state.stats());\n\n return [\n m('.w-section.hero-full.hero-zelo', [\n m('.w-container.u-text-center', [\n m('img.logo-flex-home[src=\\'/assets/logo-flex.png\\'][width=\\'359\\']'),\n m('.w-row', [\n m('.w-col.fontsize-large.u-marginbottom-60.w-col-push-2.w-col-8', 'Vamos construir uma nova modalidade de crowdfunding! Cadastre seu email e saiba como inscrever o seu projeto no flex!')\n ]),\n m('.w-row', [\n m('.w-col.w-col-2'),\n m(landingSignup, {\n builder: state.builder\n }),\n m('.w-col.w-col-2')\n ])\n ])\n ]), [\n m('.section', [\n m('.w-container', [\n m('.fontsize-largest.u-margintop-40.u-text-center', 'Pra quem será?'), m('.fontsize-base.u-text-center.u-marginbottom-60', 'Iniciaremos a fase de testes com categorias de projetos específicas'), m('div', [\n m('.w-row.u-marginbottom-60', [\n m('.w-col.w-col-6', [\n m('.u-text-center.u-marginbottom-20', [\n m('img[src=\\'https://daks2k3a4ib2z.cloudfront.net/54b440b85608e3f4389db387/560e393a01b66e250aca67cb_icon-zelo-com.png\\'][width=\\'210\\']'), m('.fontsize-largest.lineheight-loose', 'Causas')\n ]), m('p.fontsize-base', 'Flexibilidade para causas de impacto! Estaremos abertos a campanhas de organizações ou pessoas físicas para arrecadação de recursos para causas pessoais, projetos assistenciais, saúde, ajudas humanitárias, proteção aos animais, empreendedorismo socioambiental, ativismo ou qualquer coisa que una as pessoas para fazer o bem.')\n ]), m('.w-col.w-col-6', [\n m('.u-text-center.u-marginbottom-20', [\n m('img[src=\\'https://daks2k3a4ib2z.cloudfront.net/54b440b85608e3f4389db387/560e3929a0daea230a5f12cd_icon-zelo-pessoal.png\\'][width=\\'210\\']'), m('.fontsize-largest.lineheight-loose', 'Vaquinhas')\n ]), m('p.fontsize-base', 'Campanhas simples que precisam de flexibilidade para arrecadar dinheiro com pessoas próximas. Estaremos abertos a uma variedade de campanhas pessoais que podem ir desde cobrir custos de estudos a ajudar quem precisa de tratamento médico. De juntar a grana para fazer aquela festa a comprar presentes para alguém com a ajuda da galera. ')\n ])\n ])\n ])\n ])\n ]), m('.w-section.section.bg-greenlime.fontcolor-negative', [\n m('.w-container', [\n m('.fontsize-largest.u-margintop-40.u-marginbottom-60.u-text-center', 'Como funcionará?'), m('.w-row.u-marginbottom-40', [\n m('.w-col.w-col-6', [\n m('.u-text-center', [\n m('img[src=\\'https://daks2k3a4ib2z.cloudfront.net/54b440b85608e3f4389db387/560e39c578b284493e2a428a_zelo-money.png\\'][width=\\'180\\']')\n ]), m('.fontsize-large.u-marginbottom-10.u-text-center.fontweight-semibold', 'Fique com quanto arrecadar'), m('p.u-text-center.fontsize-base', 'O flex é para impulsionar campanhas onde todo dinheiro é bem vindo! Você fica com tudo que conseguir arrecadar.')\n ]), m('.w-col.w-col-6', [\n m('.u-text-center', [\n m('img[src=\\'https://daks2k3a4ib2z.cloudfront.net/54b440b85608e3f4389db387/560e39d37c013d4a3ee687d2_icon-reward.png\\'][width=\\'180\\']')\n ]), m('.fontsize-large.u-marginbottom-10.u-text-center.fontweight-semibold', 'Não precisa de recompensas'), m('p.u-text-center.fontsize-base', 'No flex oferecer recompensas é opcional. Você escolhe se oferecê-las faz sentido para o seu projeto e campanha.')\n ])\n ]), m('.w-row.u-marginbottom-40', [\n m('.w-col.w-col-6', [\n m('.u-text-center', [\n m('img[src=\\'https://daks2k3a4ib2z.cloudfront.net/54b440b85608e3f4389db387/560e39fb01b66e250aca67e3_icon-curad.png\\'][width=\\'180\\']')\n ]), m('.fontsize-large.u-marginbottom-10.u-text-center.fontweight-semibold', 'Você mesmo publica seu projeto'), m('p.u-text-center.fontsize-base', 'Todos os projetos inscritos no flex entram no ar. Agilidade e facilidade para você captar recursos através da internet.')\n ]), m('.w-col.w-col-6', [\n m('.u-text-center', [\n m('img[src=\\'https://daks2k3a4ib2z.cloudfront.net/54b440b85608e3f4389db387/560e39e77c013d4a3ee687d4_icon-time.png\\'][width=\\'180\\']')\n ]), m('.fontsize-large.u-marginbottom-10.u-text-center.fontweight-semibold', 'Encerre a campanha quando quiser'), m('p.u-text-center.fontsize-base', 'Não há limite de tempo de captação. Você escolhe quando encerrar sua campanha e receber os valores arrecadados.')\n ])\n ])\n ])\n ]),\n m('.w-section.section', [\n m('.w-container', [\n m('.w-editable.fontsize-larger.u-margintop-40.u-margin-bottom-40.u-text-center', 'Conheça alguns dos primeiros projetos flex'),\n state.projectsLoader() ? h.loader() : m(\n projectRow,\n { collection: state.projects, ref: 'ctrse_flex', wrapper: '.w-row.u-margintop-40' }\n )\n ])\n ]),\n m('.w-section.divider'),\n m('.w-section.section', [\n m('.w-container', [\n m('.fontsize-larger.u-text-center.u-marginbottom-60.u-margintop-40', 'Dúvidas'), m('.w-row.u-marginbottom-60', [\n m('.w-col.w-col-6', [\n m(landingQA, {\n question: 'Quais são as taxas da modalidade flexível? ',\n answer: 'Como no Catarse, enviar um projeto não custa nada! A taxa cobrada no serviço Catarse flex é de 13% sobre o valor arrecadado.'\n }),\n m(landingQA, {\n question: 'De onde vem o dinheiro do meu projeto?',\n answer: 'Família, amigos, fãs e membros de comunidades que você faz parte são seus maiores colaboradores. São eles que irão divulgar sua campanha para as pessoas que eles conhecem, e assim o círculo de apoiadores vai aumentando e a sua campanha ganha força.'\n }),\n m(landingQA, {\n question: 'Qual a diferença entre o flexível e o \"tudo ou nada\"?',\n answer: 'Atualmente o Catarse utiliza apenas o modelo \"tudo ou nada\", onde você só fica com o dinheiro se bater a meta de arrecadação dentro do prazo da campanha. O modelo flexível é diferente pois permite que o realizador fique com o que arrecadar, independente de atingir ou não a meta do projeto no prazo da campanha. Não haverá limite de tempo para as campanhas. Nosso sistema flexível será algo novo em relação aos modelos que existem atualmente no mercado.'\n })\n ]), m('.w-col.w-col-6', [\n m(landingQA, {\n question: 'Posso inscrever projetos para a modalidade flexível já?',\n answer: 'Sim. Cadastre seu email e saiba como inscrever o seu projeto no flex!'\n }),\n m(landingQA, {\n question: 'Por quê vocês querem fazer o Catarse flex?',\n answer: 'Acreditamos que o ambiente do crowdfunding brasileiro ainda tem espaço para muitas ações, testes e experimentações para entender de fato o que as pessoas precisam. Sonhamos com tornar o financiamento coletivo um hábito no Brasil. O Catarse flex é mais um passo nessa direção.'\n }),\n m(landingQA, {\n question: 'Quando vocês irão lançar o Catarse flex?',\n answer: 'Ainda não sabemos quando abriremos o flex para o público em geral, mas você pode cadastrar seu email nessa página e receber um material especial de como inscrever seu projeto.'\n })\n ])\n ])\n ])\n ]),\n m('.w-section.section-large.u-text-center.bg-purple', [\n m('.w-container.fontcolor-negative', [\n m('.fontsize-largest', 'Inscreva seu projeto!'), m('.fontsize-base.u-marginbottom-60', 'Cadastre seu email e saiba como inscrever o seu projeto no flex!'), m('.w-row', [\n m('.w-col.w-col-2'),\n m(landingSignup, {\n builder: state.builder\n }),\n m('.w-col.w-col-2')\n ])\n ])\n ]), m('.w-section.section-one-column.bg-catarse-zelo.section-large[style=\"min-height: 50vh;\"]', [\n m('.w-container.u-text-center', [\n m('.w-editable.u-marginbottom-40.fontsize-larger.lineheight-tight.fontcolor-negative', 'O flex é um experimento e iniciativa do Catarse, maior plataforma de crowdfunding do Brasil.'),\n m('.w-row.u-text-center', (state.statsLoader()) ? h.loader() : [\n m('.w-col.w-col-4', [\n m('.fontsize-jumbo.text-success.lineheight-loose', h.formatNumber(stats.total_contributors, 0, 3)), m('p.start-stats.fontsize-base.fontcolor-negative', 'Pessoas ja apoiaram pelo menos 01 projeto no Catarse')\n ]),\n m('.w-col.w-col-4', [\n m('.fontsize-jumbo.text-success.lineheight-loose', h.formatNumber(stats.total_projects_success, 0, 3)), m('p.start-stats.fontsize-base.fontcolor-negative', 'Projetos ja foram financiados no Catarse')\n ]),\n m('.w-col.w-col-4', [\n m('.fontsize-jumbo.text-success.lineheight-loose', `${stats.total_contributed.toString().slice(0, 2)} milhões`), m('p.start-stats.fontsize-base.fontcolor-negative', 'Foram investidos em ideias publicadas no Catarse')\n ])\n ])\n ])\n ]),\n m('.w-section.section.bg-blue-one.fontcolor-negative', [\n m('.w-container', [\n m('.fontsize-large.u-text-center.u-marginbottom-20', 'Recomende o Catarse flex para amigos! '),\n m('.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8', [\n m('.w-row', [\n m('.w-col.w-col-6.w-col-small-6.w-col-tiny-6.w-sub-col-middle', [\n m('div', [\n m('img.icon-share-mobile[src=\\'https://daks2k3a4ib2z.cloudfront.net/54b440b85608e3f4389db387/53a3f66e05eb6144171d8edb_facebook-xxl.png\\']'),\n m(`a.w-button.btn.btn-large.btn-fb[href=\"http://www.facebook.com/sharer/sharer.php?u=https://www.catarse.me/flex?ref=facebook&title=${encodeURIComponent('Conheça o novo Catarse Flex!')}\"][target=\"_blank\"]`, 'Compartilhar')\n ])\n ]),\n m('.w-col.w-col-6.w-col-small-6.w-col-tiny-6', [\n m('div', [\n m('img.icon-share-mobile[src=\\'https://daks2k3a4ib2z.cloudfront.net/54b440b85608e3f4389db387/53a3f65105eb6144171d8eda_twitter-256.png\\']'),\n m(`a.w-button.btn.btn-large.btn-tweet[href=\"https://twitter.com/intent/tweet?text=${encodeURIComponent('Vamos construir uma nova modalidade de crowdfunding para o Catarse! Junte-se a nós, inscreva seu email!')}https://www.catarse.me/flex?ref=twitter\"][target=\"_blank\"]`, 'Tuitar')\n ])\n ])\n ])\n ]),\n m('.w-col.w-col-2')\n ])\n ])\n ]), m('.w-section.section-large.bg-greenlime', [\n m('.w-container', [\n m('#participe-do-debate.u-text-center', { oncreate: h.toAnchor() }, [\n m('h1.fontsize-largest.fontcolor-negative', 'Construa o flex conosco'), m('.fontsize-base.u-marginbottom-60.fontcolor-negative', 'Inicie uma conversa, pergunte, comente, critique e faça sugestões!')\n ]),\n m('#disqus_thread.card.u-radius[style=\"min-height: 50vh;\"]', {\n oncreate: state.addDisqus\n })\n ])\n ])\n ]\n ];\n }\n};\n\nexport default Flex;\n","/**\n * window.c.Tooltip component\n * A component that allows you to show a tooltip on\n * a specified element hover. It receives the element you want\n * to trigger the tooltip and also the text to display as tooltip.\n *\n * Example of use:\n * view: () => {\n * let tooltip = (el) => {\n * return m.component(c.Tooltip, {\n * el: el,\n * text: 'text to tooltip',\n * width: 300\n * })\n * }\n *\n * return tooltip('a#link-wth-tooltip[href=\"#\"]');\n *\n * }\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport h from '../h';\n\nconst tooltip = {\n oninit: function(vnode) {\n let parentHeight = prop(0),\n width = prop(vnode.attrs.width || 280),\n top = prop(0),\n left = prop(0),\n opacity = prop(0),\n parentOffset = prop({ top: 0, left: 0 }),\n tooltip = h.toggleProp(0, 1),\n toggle = () => {\n tooltip.toggle();\n m.redraw();\n };\n\n const setParentPosition = (localVnode) => {\n parentOffset(h.cumulativeOffset(localVnode.dom));\n },\n setPosition = (localVnode) => {\n const el = localVnode.dom;\n const elTop = el.offsetHeight + el.offsetParent.offsetHeight;\n const style = window.getComputedStyle(el);\n\n if (window.innerWidth < (el.offsetWidth + 2 * parseFloat(style.paddingLeft) + 30)) { // 30 here is a safe margin\n el.style.width = window.innerWidth - 30; // Adding the safe margin\n left(-parentOffset().left + 15); // positioning center of window, considering margin\n } else if ((parentOffset().left + (el.offsetWidth / 2)) <= window.innerWidth && (parentOffset().left - (el.offsetWidth / 2)) >= 0) {\n left(-el.offsetWidth / 2); // Positioning to the center\n } else if ((parentOffset().left + (el.offsetWidth / 2)) > window.innerWidth) {\n left(-el.offsetWidth + el.offsetParent.offsetWidth); // Positioning to the left\n } else if ((parentOffset().left - (el.offsetWidth / 2)) < 0) {\n left(-el.offsetParent.offsetWidth); // Positioning to the right\n }\n top(-elTop); // Setting top position\n };\n\n vnode.state = {\n width,\n top,\n left,\n opacity,\n tooltip,\n toggle,\n setPosition,\n setParentPosition\n };\n },\n view: function({state, attrs}) {\n const width = state.width();\n return m(attrs.el, {\n onclick: state.toggle,\n oncreate: state.setParentPosition,\n style: { cursor: 'pointer' }\n }, state.tooltip() ? [\n m(`.tooltip.dark[style=\"width: ${width}px; top: ${state.top()}px; left: ${state.left()}px;\"]`, {\n oncreate: state.setPosition\n }, [\n m('.fontsize-smallest', attrs.text)\n ])\n ] : '');\n }\n};\n\nexport default tooltip;\n","import _ from 'underscore';\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport h from '../h';\n\nconst railsErrors = prop('');\nconst setRailsErrors = errors => railsErrors(errors);\nconst errorGroups = {\n basics: ['public_name', 'permalink', 'category_id', 'city', 'public_tags', 'name', 'content_rating'],\n goal: ['goal', 'online_days'],\n goals: ['goals.size'],\n description: ['about_html'],\n budget: ['budget'],\n announce_expiration: ['online_days'],\n card: ['uploaded_image', 'headline'],\n video: ['video_url'],\n reward: ['rewards.size', 'rewards.minimum_value', 'rewards.title', 'rewards.description', 'rewards.deliver_at', 'rewards.shipping_fees.value', 'rewards.shipping_fees.destination'],\n user_about: ['user.uploaded_image', 'user.public_name', 'user.about_html'],\n user_settings: ['bank_account.id', 'bank_account.user_id', 'bank_account.account', 'bank_account.agency', 'bank_account.owner_name', 'bank_account.owner_document', 'bank_account.created_at', 'bank_account.updated_at', 'bank_account.account_digit', 'bank_account.agency_digit', 'bank_account.bank_id', 'bank_account.account_type', 'user.name', 'user.cpf', 'user.birth_date', 'user.country_id', 'user.address_state', 'user.address_street', 'user.address_number', 'user.address_city', 'user.address_neighbourhood', 'bank_account', 'user.phone_number']\n};\nconst errorsFor = (group) => {\n let parsedErrors;\n try {\n parsedErrors = JSON.parse(railsErrors());\n } catch (err) {\n parsedErrors = {};\n }\n if (_.find(errorGroups[group], key => parsedErrors.hasOwnProperty(key))) { return m('span.fa.fa-exclamation-circle.fa-fw.fa-lg.text-error'); }\n if (_.isEmpty(parsedErrors)) { return ''; }\n return m('span.fa.fa-check-circle.fa-fw.fa-lg.text-success');\n};\n\nconst mapRailsErrors = (rails_errors, errorsFields, e) => {\n let parsedErrors;\n try {\n parsedErrors = JSON.parse(rails_errors);\n } catch (err) {\n parsedErrors = {};\n }\n const extractAndSetErrorMsg = (label, fieldArray) => {\n const value = _.first(_.compact(_.map(fieldArray, field => _.first(parsedErrors[field]))));\n\n if (value) {\n e(label, value);\n e.inlineError(label, true);\n }\n };\n\n _.each(errorsFields, (item, i) => {\n if (item && item.length >= 2) {\n extractAndSetErrorMsg(item[0], item[1]);\n }\n });\n};\n\n// @FIXME: fix places where we call this\nconst validatePublish = () => {\n const currentProject = h.getCurrentProject();\n if (_.isEmpty(railsErrors())) { return false; }\n m.request({\n method: 'GET',\n url: `/projects/${currentProject.project_id}/validate_publish`,\n config: h.setCsrfToken\n }).then(() => { setRailsErrors(''); }).catch((err) => {\n if (err) {\n setRailsErrors(err.errors_json);\n }\n m.redraw();\n });\n return false;\n};\n\nconst railsErrorsVM = {\n errorsFor,\n validatePublish,\n railsErrors,\n setRailsErrors,\n mapRailsErrors\n};\n\nexport default railsErrorsVM;\n","/**\n * window.c.ProjectDashboardMenu component\n * build dashboard project menu for project owners\n * and admin.\n *\n * Example:\n * m.component(c.ProjectDashboardMenu, {\n * project: projectDetail Object,\n * })\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport railsErrorsVM from '../vms/rails-errors-vm';\nimport projectVM from '../vms/project-vm';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.dashboard_nav');\nconst linksScope = _.partial(h.i18nScope, 'projects.dashboard_nav_links');\n\nconst projectDashboardMenu = {\n oninit: function(vnode) {\n const body = document.getElementsByTagName('body')[0],\n editLinksToggle = h.toggleProp(true, false),\n validating = prop(false),\n showPublish = h.toggleProp(true, false),\n bodyToggleForNav = h.toggleProp('body-project open', 'body-project closed'),\n validatePublish = () => {\n validating(true);\n m.redraw();\n m.request({\n method: 'GET',\n url: `/projects/${vnode.attrs.project().project_id}/validate_publish`,\n config: h.setCsrfToken\n }).then(() => {\n validating(false);\n window.location.href = (`/projects/${vnode.attrs.project().project_id}/publish`);\n m.redraw();\n }).catch((err) => {\n validating(false);\n railsErrorsVM.setRailsErrors(err.errors_json);\n m.redraw();\n });\n },\n projectThumb = (project) => {\n if (_.isEmpty(project.large_image)) {\n if (_.isEmpty(project.thumb_image)) {\n return '/assets/thumb-project.png';\n }\n return project.thumb_image;\n }\n return project.large_image;\n };\n\n if (vnode.attrs.project().is_published) {\n editLinksToggle.toggle(false);\n }\n\n if (vnode.attrs.hidePublish) {\n showPublish.toggle(false);\n }\n\n vnode.state = {\n body,\n validating,\n validatePublish,\n editLinksToggle,\n showPublish,\n bodyToggleForNav,\n projectThumb\n };\n },\n view: function({state, attrs}) {\n const project = attrs.project(),\n projectRoute = `/projects/${project.project_id}`,\n editRoute = `${projectRoute}/edit`,\n editLinkClass = hash => `dashboard-nav-link-left ${project.is_published ? 'indent' : ''} ${h.hashMatch(hash) ? 'selected' : ''}`;\n const optionalOpt = m('span.fontsize-smallest.fontcolor-secondary', ' (opcional)');\n\n state.body.className = state.bodyToggleForNav();\n return m('#project-nav', [\n m('.project-nav-wrapper', [\n m('nav.w-section.dashboard-nav.side', [\n m(`a#dashboard_preview_link.w-inline-block.dashboard-project-name[href=\"${project.is_published ? `/${project.permalink}` : `${editRoute}#preview`}\"]`, {\n onclick: projectVM.routeToProject(project, attrs.ref)\n }, [\n m(`img.thumb-project-dashboard[src=\"${project ? state.projectThumb(project) : '/assets/thumb-project.png'}\"][width=\"114\"]`),\n m('.fontcolor-negative.lineheight-tight.fontsize-small', project.name),\n m(`img.u-margintop-10[src=\"/assets/catarse_bootstrap/badge-${project.mode}-h.png\"]`, {\n width: projectVM.isSubscription(project) ? 130 : 80\n })\n ]),\n m('#info-links.u-marginbottom-20', [\n (project.state === 'draft' && projectVM.isSubscription(project)) ?\n m(`a#dashboard_home_link[class=\"${editLinkClass('#start')}\"][href=\"${editRoute}#start\"]`, [\n m('span.fa.fa-info.fa-lg.fa-fw'), window.I18n.t('draft_start_tab', I18nScope())\n ]) :\n m(`a#dashboard_home_link[class=\"dashboard-nav-link-left ${h.locationActionMatch('insights') ? 'selected' : ''}\"][href=\"${projectRoute}/insights\"]`, {\n oncreate: m.route.link\n }, [\n m('span.fa.fa-bar-chart.fa-lg.fa-fw'), window.I18n.t('start_tab', I18nScope())\n ]), (project.is_published ? [\n projectVM.isSubscription(project) ?\n m(`a#dashboard_subscriptions_link[class=\"dashboard-nav-link-left ${h.locationActionMatch('subscriptions_report') ? 'selected' : ''}\"][href=\"${projectRoute}/subscriptions_report\"]`, {\n oncreate: m.route.link\n }, [\n m('span.fa.fa.fa-users.fa-lg.fa-fw'), window.I18n.t('subscriptions_tab', I18nScope())\n ]) :\n m(`a#dashboard_reports_link[class=\"dashboard-nav-link-left ${h.locationActionMatch('contributions_report') ? 'selected' : ''}\"][href=\"${projectRoute}/contributions_report\"]`, {\n oncreate: m.route.link\n }, [\n m('span.fa.fa.fa-table.fa-lg.fa-fw'), window.I18n.t('reports_tab', I18nScope())\n ]),\n m(`a#dashboard_posts_link[class=\"dashboard-nav-link-left ${h.locationActionMatch('posts') ? 'selected' : ''}\"][href=\"${projectRoute}/posts\"]`, [\n m('span.fa.fa-bullhorn.fa-fw.fa-lg'),\n window.I18n.t('posts_tab', I18nScope()),\n project.posts_count > 0 ?\n m('span.badge', project.posts_count) :\n m('span.badge.badge-attention', '0')\n ]),\n\n (projectVM.isSubscription(project) ? '' :\n m(`a#dashboard_surveys_link[class=\"dashboard-nav-link-left ${h.locationActionMatch('surveys') ? 'selected' : ''}\"][href=\"${projectRoute}/surveys\"]`, {\n oncreate: m.route.link\n }, [\n m('span.fa.fa.fa-check-square-o.fa-lg.fa-fw'), window.I18n.t('surveys_tab', I18nScope())\n ])),\n\n m(`a#dashboard_fiscal_link[class=\"dashboard-nav-link-left ${h.locationActionMatch('fiscal') ? 'selected' : ''}\"][href=\"${projectRoute}/fiscal\"]`, {\n oncreate: m.route.link\n }, [\n m('span.fa.fa.fa-book.fa-lg.fa-fw'), window.I18n.t('fiscal_tab', I18nScope())\n ])\n\n ] : '')\n ]),\n m('.edit-project-div', [\n (!project.is_published ? '' : m('button#toggle-edit-menu.dashboard-nav-link-left', {\n onclick: state.editLinksToggle.toggle\n }, [\n m('span.fa.fa-pencil.fa-fw.fa-lg'), window.I18n.t('edit_project', I18nScope())\n ])), (state.editLinksToggle() ? m('#edit-menu-items', [\n m('#dashboard-links', [\n ((!project.is_published || project.is_admin_role) ? [\n m(`a#basics_link[class=\"${editLinkClass('#basics')}\"][href=\"${editRoute}#basics\"]`, railsErrorsVM.errorsFor('basics'), window.I18n.t('basics_tab', linksScope())),\n projectVM.isSubscription(project) ? '' : m(`a#goal_link[class=\"${editLinkClass('#goal')}\"][href=\"${editRoute}#goal\"]`, railsErrorsVM.errorsFor('goal'), window.I18n.t('goal_tab', linksScope())),\n ] : ''),\n projectVM.isSubscription(project) ? m(`a#goals_link[class=\"${editLinkClass('#goals')}\"][href=\"${editRoute}#goals\"]`, railsErrorsVM.errorsFor('goals'), window.I18n.t('goals_tab', linksScope())) : '',\n m(`a#description_link[class=\"${editLinkClass('#description')}\"][href=\"${editRoute}#description\"]`, railsErrorsVM.errorsFor('description'), window.I18n.t('description_tab', linksScope())),\n projectVM.isSubscription(project) ? null : m(`a#video_link[class=\"${editLinkClass('#video')}\"][href=\"${editRoute}#video\"]`, [railsErrorsVM.errorsFor('video'),\n 'Vídeo', m('span.fontsize-smallest.fontcolor-secondary', ' (opcional)')\n ]),\n projectVM.isSubscription(project) ? null :\n m(`a#budget_link[class=\"${editLinkClass('#budget')}\"][href=\"${editRoute}#budget\"]`, railsErrorsVM.errorsFor('budget'), window.I18n.t('budget_tab', linksScope())),\n m(`a#card_link[class=\"${editLinkClass('#card')}\"][href=\"${editRoute}#card\"]`, railsErrorsVM.errorsFor('card'), window.I18n.t(`card_tab_${project.mode}`, linksScope())),\n m(`a#dashboard_reward_link[class=\"${editLinkClass('#reward')}\"][href=\"${editRoute}#reward\"]`, [railsErrorsVM.errorsFor('reward'),\n 'Recompensas', optionalOpt\n ]),\n m(`a#integrations[class=\"${editLinkClass('#integrations')}\"][href=\"${editRoute}#integrations\"]`, [railsErrorsVM.errorsFor('integrations'),\n 'Integrações', optionalOpt\n ]),\n projectVM.isSubscription(project) ?\n m(`a#dashboard_welcome_message_link[class=\"${editLinkClass('#welcome_message')}\"][href=\"${editRoute}#welcome_message\"]`, [railsErrorsVM.errorsFor('welcome_message'),\n 'Email de boas vindas', optionalOpt\n ]) : null,\n m(`a#dashboard_user_about_link[class=\"${editLinkClass('#user_about')}\"][href=\"${editRoute}#user_about\"]`, railsErrorsVM.errorsFor('user_about'), window.I18n.t('about_you_tab', linksScope())),\n ((project.is_published || project.state === 'draft') || project.is_admin_role ? [\n m(`a#dashboard_user_settings_link[class=\"${editLinkClass('#user_settings')}\"][href=\"${editRoute}#user_settings\"]`, railsErrorsVM.errorsFor('user_settings'), window.I18n.t('account_tab', linksScope())),\n ] : ''), (!project.is_published ? [\n m(`a#dashboard_preview_link[class=\"${editLinkClass('#preview')}\"][href=\"${editRoute}#preview\"]`, [\n m('span.fa.fa-fw.fa-eye.fa-lg'), window.I18n.t('preview_tab', linksScope())\n ]),\n ] : '')\n ])\n ]) : ''),\n ((!project.is_published && state.showPublish()) ? [\n (state.validating() ? h.loader() :\n m('.btn-send-draft-fixed',\n (project.mode === 'aon' ? [\n (project.state === 'draft' ? m('button.btn.btn-medium', {\n onclick: state.validatePublish\n }, [\n window.I18n.t('publish', I18nScope()), m.trust(' '), m('span.fa.fa-chevron-right')\n ]) : '')\n ] : [\n (project.state === 'draft' ? m('button.btn.btn-medium', {\n onclick: state.validatePublish\n }, [\n window.I18n.t('publish', I18nScope()), m.trust(' '), m('span.fa.fa-chevron-right')\n ]) : '')\n ]))\n )\n ] : [\n ((project.mode === 'flex' && project.is_published) ? [\n m('.btn-send-draft-fixed',\n (_.isNull(project.expires_at) ? m(`a.w-button.btn.btn-medium.btn-secondary-dark[href=\"${editRoute}#announce_expiration\"]`, window.I18n.t('announce_expiration', I18nScope())) : ''))\n ] : '')\n ])\n ])\n ])\n ]),\n m('a.btn-dashboard href=\"javascript:void(0);\"', {\n onclick: state.bodyToggleForNav.toggle\n }, [\n m('span.fa.fa-bars.fa-lg')\n ])\n ]);\n }\n};\n\nexport default projectDashboardMenu;\n","/**\n * window.c.AdminProjectDetailsCard component\n * render an box with some project statistics info\n *\n * Example:\n * m.component(c.AdminProjectDetailsCard, {\n * resource: projectDetail Object,\n * })\n */\nimport m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport moment from 'moment';\n\nconst adminProjectDetailsCard = {\n oninit: function(vnode) {\n let project = vnode.attrs.resource,\n isFinalLap = () =>\n // @TODO: use 8 days because timezone on js\n !_.isNull(project.expires_at) && moment().add(8, 'days') >= moment(project.zone_expires_at);\n vnode.state = {\n project,\n remainingTextObj: h.translatedTime(project.remaining_time),\n elapsedTextObj: h.translatedTime(project.elapsed_time),\n isFinalLap\n }\n },\n view: function({state}) {\n let project = state.project,\n progress = project.progress.toFixed(2),\n statusTextObj = h.projectStateTextClass(project.state, project.has_cancelation_request),\n remainingTextObj = state.remainingTextObj,\n elapsedTextObj = state.elapsedTextObj;\n\n return m('.project-details-card.card.u-radius.card-terciary.u-marginbottom-20', [\n m('div', [\n m('.fontsize-small.fontweight-semibold', [\n m('span.fontcolor-secondary', 'Status:'), ' ',\n m('span', {\n class: statusTextObj.cssClass\n }, (state.isFinalLap() && project.open_for_contributions ? 'RETA FINAL' : statusTextObj.text)), ' '\n ]), project.is_published ? [\n m('.meter.u-margintop-20.u-marginbottom-10', [\n m('.meter-fill', {\n style: {\n width: `${progress > 100 ? 100 : progress}%`\n }\n })\n ]),\n m('.w-row', [\n m('.w-col.w-col-3.w-col-small-3.w-col-tiny-6', [\n m('.fontcolor-secondary.lineheight-tighter.fontsize-small', 'financiado'),\n m('.fontweight-semibold.fontsize-large.lineheight-tight', `${progress}%`)\n ]),\n m('.w-col.w-col-3.w-col-small-3.w-col-tiny-6', [\n m('.fontcolor-secondary.lineheight-tighter.fontsize-small', 'levantados'),\n m('.fontweight-semibold.fontsize-large.lineheight-tight', [\n `R$ ${h.formatNumber(project.pledged, 2)}`\n ])\n ]),\n m('.w-col.w-col-3.w-col-small-3.w-col-tiny-6', [\n m('.fontcolor-secondary.lineheight-tighter.fontsize-small', 'apoios'),\n m('.fontweight-semibold.fontsize-large.lineheight-tight', project.total_contributions)\n ]),\n m('.w-col.w-col-3.w-col-small-3.w-col-tiny-6', [\n (_.isNull(project.expires_at) ? [\n m('.fontcolor-secondary.lineheight-tighter.fontsize-small', 'iniciado há'),\n m('.fontweight-semibold.fontsize-large.lineheight-tight', `${elapsedTextObj.total} ${elapsedTextObj.unit}`)\n ] : [\n m('.fontcolor-secondary.lineheight-tighter.fontsize-small', 'restam'),\n m('.fontweight-semibold.fontsize-large.lineheight-tight', `${remainingTextObj.total} ${remainingTextObj.unit}`)\n ])\n ])\n ])\n ] : ''\n ])\n ]);\n }\n};\n\nexport default adminProjectDetailsCard;\n","/**\n * window.c.OnlineSuccessModalContent component\n * Render online success message\n *\n */\nimport m from 'mithril';\n\nconst onlineSuccessModalContent = {\n view: function({state, attrs}) {\n return m('.modal-dialog-content.u-text-center', [\n m('.fa.fa-check-circle.fa-5x.text-success.u-marginbottom-40'),\n m('p.fontsize-larger.lineheight-tight', 'Sua campanha está no ar!!! Parabéns por esse primeiro grande passo. Boa sorte nessa jornada ;)')\n ]);\n }\n};\n\nexport default onlineSuccessModalContent;\n","/**\n * window.c.ProjectDataStats component\n * render a row with project stats info like:\n * state / total_contributions / total_pledged / elapsed | remaning time\n *\n * Example:\n * m.component(c.ProjectDataStats, {project: project})\n * */\nimport m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst projectDataStats = {\n view: function({attrs}) {\n const project = attrs.project(),\n visitorsTotal = attrs.visitorsTotal(),\n statusTextObj = h.projectStateTextClass(project.state, project.has_cancelation_request),\n remainingTextObj = h.translatedTime(project.remaining_time),\n elapsedTextObj = h.translatedTime(project.elapsed_time),\n contributorsByVisitors = project.total_contributors / visitorsTotal,\n contributorsByVisitorsValue = isNaN(contributorsByVisitors) || !isFinite(contributorsByVisitors) ? 0 : contributorsByVisitors * 100;\n\n return m('', [\n m('.w-row.u-marginbottom-60.u-margintop-30.u-text-center', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-4', [\n m('.fontsize-large', [\n m('span.fontcolor-secondary', 'Status: '),\n m('span', { class: statusTextObj.cssClass }, statusTextObj.text)\n ])\n ]),\n m('.w-col.w-col-4', [\n m('.fontsize-large.fontweight-semibold', [\n m('span.fa.fa-clock-o'),\n (_.isNull(project.expires_at) ?\n ` Iniciado há ${elapsedTextObj.total} ${elapsedTextObj.unit}`\n :\n ` ${remainingTextObj.total} ${remainingTextObj.unit} ${(remainingTextObj.total > 1 ? 'restantes' : 'restante')}`\n )\n ])\n ]),\n m('.w-col.w-col-2')\n ]),\n m('.card.medium.u-marginbottom-60.u-radius.u-text-center', { style: { 'white-space': 'nowrap' } }, [\n m('.w-row', [\n m('.w-col.w-col-6', [\n m('.w-row.u-marginbottom-30.u-margintop-30', [\n m('.w-col.w-col-4.w-col-small-4.w-col-tiny-4', [\n m('.fontsize-larger.fontweight-semibold', `${visitorsTotal}`),\n 'Visitas'\n ]),\n m('.w-col.w-col-4.w-col-small-4.w-col-tiny-4', [\n m('.bg-triangle-funnel.fontcolor-secondary.fontsize-base', `${h.formatNumber(contributorsByVisitorsValue, 2)}%`)\n ]),\n m('.w-col.w-col-4.w-col-small-4.w-col-tiny-4', [\n m('.fontsize-larger.fontweight-semibold', `${project.total_contributors}`),\n 'Apoiadores'\n ])\n ])\n ]),\n m('.w-col.w-col-6', [\n m('.w-row.u-marginbottom-30.u-margintop-30', [\n m('.w-col.w-col-9.w-col-small-6.w-col-tiny-6', [\n m('.fontsize-larger.fontweight-semibold', `R$ ${h.formatNumber(project.pledged, 2)}`),\n 'Arrecadados'\n ]),\n m('.w-col.w-col-3.w-col-small-6.w-col-tiny-6', [\n m('.fontsize-larger.fontweight-semibold', `${h.formatNumber(project.progress, 2)}%`),\n 'da Meta'\n ])\n ])\n ])\n ]),\n m('.fontcolor-secondary.fontsize-smallest.u-margintop-20', [\n 'Os dados podem levar até 24 horas para serem atualizados.',\n m('a.alt-link', { href: 'https://suporte.catarse.me/hc/pt-br/articles/115002214463-projeto-ONLINE#visitante', target: '_blank' }, ' Saiba mais'),\n '.'\n ])\n ])\n ]);\n }\n};\n\nexport default projectDataStats;\n","/**\n * window.c.deleteProjectModalContent component\n * Render delete project modal\n *\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse } from '../api';\nimport h from '../h';\nimport models from '../models';\n\nconst deleteProjectModalContent = {\n oninit: function(vnode) {\n let l = prop(false);\n const deleteSuccess = prop(false),\n confirmed = prop(true),\n error = prop(''),\n check = prop('');\n\n const deleteProject = () => {\n if (check() === 'deletar-rascunho') {\n const loaderOpts = models.deleteProject.postOptions({\n _project_id: vnode.attrs.project.project_id\n });\n l = catarse.loaderWithToken(loaderOpts);\n l.load().then(() => {\n deleteSuccess(true);\n }).catch((err) => {\n confirmed(false);\n error('Erro ao deletar projeto. Por favor tente novamente.');\n m.redraw();\n });\n } else {\n confirmed(false);\n error('Por favor, corrija os seguintes erros: para deletar definitivamente o projeto você deverá preencher \"deletar-rascunho\".');\n }\n return false;\n };\n\n vnode.state = {\n deleteProject,\n confirmed,\n deleteSuccess,\n error,\n check\n };\n },\n view: function({state, attrs}) {\n return m('div',\n (state.deleteSuccess() ? '' : m('.modal-dialog-header',\n m('.fontsize-large.u-text-center',\n [\n 'Confirmar ',\n m('span.fa.fa-trash',\n ''\n )\n ]\n )\n )),\n m('form.modal-dialog-content', { onsubmit: state.deleteProject },\n (state.deleteSuccess() ? [m('.fontsize-base.u-margintop-30', 'Projeto deletado com sucesso. Clique no link abaixo para voltar a página inicial.'),\n m(`a.btn.btn-inactive.btn-large.u-margintop-30[href='/${window.I18n.locale}/users/${h.getUser().user_id}/edit#projects']`, 'Voltar')\n ] :\n [\n m('.fontsize-base.u-marginbottom-60',\n [\n 'O projeto será deletado permanentemente e todos os dados que você preencheu na edição do rascunho não poderão ser recuperados.'\n ]\n ),\n m('.fontsize-base.u-marginbottom-10',\n [\n 'Confirme escrevendo ',\n 'no campo abaixo ',\n m('span.fontweight-semibold.text-error',\n 'deletar-rascunho'\n )\n ]\n ),\n m('.w-form',\n m('.text-error.u-marginbottom-10', state.error()),\n [\n m('div',\n m('input.positive.text-field.u-marginbottom-40.w-input[maxlength=\\'256\\'][type=\\'text\\']', { class: state.confirmed() ? false : 'error', placeholder: 'deletar-rascunho', onchange: m.withAttr('value', state.check) })\n )\n ]\n ),\n m('div',\n m('.w-row',\n [\n m('.w-col.w-col-3'),\n m('.u-text-center.w-col.w-col-6',\n [\n m('input.btn.btn-inactive.btn-large.u-marginbottom-20[type=\\'submit\\'][value=\\'Deletar para sempre\\']'),\n m('a.fontsize-small.link-hidden-light[href=\\'#\\']', { onclick: attrs.displayDeleteModal.toggle }, 'Cancelar'\n )\n ]\n ),\n m('.w-col.w-col-3')\n ]\n )\n )\n ])\n ));\n }\n};\n\nexport default deleteProjectModalContent;\n","/**\n * window.c.projectDeleteButton component\n * A button showing modal to delete draft project\n */\nimport m from 'mithril';\nimport h from '../h';\nimport modalBox from '../c/modal-box';\nimport deleteProjectModalContent from '../c/delete-project-modal-content';\n\nconst projectDeleteButton = {\n oninit: function(vnode) {\n const displayDeleteModal = h.toggleProp(false, true);\n vnode.state = {\n displayDeleteModal\n };\n },\n view: function({state, attrs}) {\n return m('div', [\n (state.displayDeleteModal() ? m(modalBox, {\n displayModal: state.displayDeleteModal,\n hideCloseButton: true,\n content: [deleteProjectModalContent, { displayDeleteModal: state.displayDeleteModal, project: attrs.project }]\n }) : ''),\n m('.u-margintop-80',\n m('.w-container',\n m('a.btn.btn-inline.btn-no-border.btn-small.btn-terciary.u-marginbottom-20.u-right.w-button[href=\\'javascript:void(0);\\']', { onclick: state.displayDeleteModal.toggle, style: { transition: 'all 0.5s ease 0s' } },\n [\n m.trust(' '),\n 'Deletar projeto ',\n m('span.fa.fa-trash', ''\n )\n ]\n )\n )\n )]);\n }\n};\n\nexport default projectDeleteButton;\n","/**\n * window.c.cancelProjectModalContent component\n * Render cancel project modal\n *\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport h from '../h';\n\nconst cancelProjectModalContent = {\n oninit: function(vnode) {\n const checkError = prop(false),\n showRedactor = prop(false),\n check = prop(''),\n commentHtml = prop(''),\n showNextModal = () => {\n if (check() === 'cancelar-projeto') {\n showRedactor(true);\n } else {\n checkError(true);\n }\n return false;\n };\n\n vnode.state = {\n showNextModal,\n commentHtml,\n showRedactor,\n checkError,\n check\n };\n },\n\n view: function({state, attrs}) {\n return m(`form.cancel-project-modal.modal-dialog-content[accept-charset='UTF-8'][action='/${window.I18n.locale}/projects/${attrs.project.id}'][id='edit_project_${attrs.project.id}'][method='post'][novalidate='novalidate']`,\n state.showRedactor() ? [\n m(\"input[name='utf8'][type='hidden'][value='✓']\"),\n m(\"input[name='_method'][type='hidden'][value='patch']\"),\n m(`input[name='authenticity_token'][type='hidden'][value='${h.authenticityToken()}']`),\n m(\"input[id='anchor'][name='anchor'][type='hidden'][value='posts']\"),\n m(\"input[id='cancel_project'][name='cancel_project'][type='hidden'][value='true']\"),\n m('.fontsize-smaller.u-marginbottom-20',\n 'Conte porque você está cancelando sua campanha. Essa mensagem será enviada por email para os seus apoiadores e estará pública na aba \"Novidades\" do seu projeto no Catarse.'\n ),\n m('.w-form', [\n m(\"label.string.required.field-label.field-label.fontweight-semibold[for='project_posts_attributes_0_title']\",\n 'Título'\n ),\n m(\"input.string.required.w-input.text-field.w-input.text-field.positive[id='project_posts_attributes_0_title'][name='project[posts_attributes][0][title]'][type='text']\"),\n m(\"label.string.optional.field-label.field-label.fontweight-semibold[for='project_posts_attributes_0_comment']\",\n 'Texto'\n ),\n h.redactor('project[posts_attributes][0][comment_html]', state.commentHtml)\n ]),\n m('div',\n m('.w-row', [\n m('.w-col.w-col-3'),\n m('.u-text-center.w-col.w-col-6', [\n m(\"input.btn.btn-inactive.btn-large.u-marginbottom-20[name='commit'][type='submit'][value='Cancelar campanha']\"),\n m(\".fontsize-small.link-hidden-light[id='modal-close']\", {\n onclick: attrs.displayModal.toggle\n },\n 'Cancelar'\n )\n ]),\n m('.w-col.w-col-3')\n ])\n )\n ] : [\n m('.fontsize-small.u-marginbottom-20', [\n 'Após o cancelamento, sua campanha será expirada e os seus apoiadores serão reembolsados dentro das próximas 24h horas.',\n m('span.fontweight-semibold',\n 'Essa ação não poderá ser desfeita!'\n ),\n m('br'),\n m('span.fontweight-semibold')\n ]),\n m('.fontsize-small.u-marginbottom-10', [\n 'Se você tem certeza que deseja cancelar seu projeto, confirme escrevendo ',\n m('span.fontweight-semibold.text-error',\n 'cancelar-projeto '\n ),\n 'no campo abaixo. Em seguida lhe pediremos para escrever uma mensagem aos apoiadores e seu projeto será então cancelado.',\n m('span.fontweight-semibold.text-error')\n ]),\n m('.w-form', [\n m('input.positive.text-field.u-marginbottom-40.w-input[maxlength=\\'256\\'][type=\\'text\\']', {\n class: !state.checkError() ? false : 'error',\n placeholder: 'cancelar-projeto',\n onchange: m.withAttr('value', state.check)\n })\n ]),\n m('div',\n m('.w-row', [\n m('.w-col.w-col-3'),\n m('.u-text-center.w-col.w-col-6', [\n m('button.btn.btn-inactive.btn-large.u-marginbottom-20', {\n onclick: state.showNextModal\n }, 'Próximo passo >'),\n m('a.fontsize-small.link-hidden-light[href=\\'#\\']', {\n onclick: attrs.displayModal.toggle\n },\n 'Cancelar'\n )\n ]),\n m('.w-col.w-col-3')\n ])\n )\n ]);\n }\n};\n\nexport default cancelProjectModalContent;\n","/**\n * window.c.projectCancelButton component\n * A button showing modal to cancel online project\n */\nimport m from 'mithril';\nimport h from '../h';\nimport modalBox from '../c/modal-box';\nimport cancelProjectModalContent from '../c/cancel-project-modal-content';\n\nconst projectCancelButton = {\n oninit: function(vnode) {\n const displayCancelModal = h.toggleProp(false, true);\n vnode.state = {\n displayCancelModal\n };\n },\n view: function({state, attrs}) {\n return m('div', [\n (state.displayCancelModal() ? m(modalBox, {\n displayModal: state.displayCancelModal,\n content: [cancelProjectModalContent, { displayModal: state.displayCancelModal, project: attrs.project }]\n }) : ''),\n m('.w-row.before-footer',\n m('.w-col.w-col-12',\n m('.w-container',\n m('button.btn.btn-cancel.btn-inline.btn-no-border.btn-small.btn-terciary.u-marginbottom-20.u-right.w-button', { onclick: state.displayCancelModal.toggle, style: { transition: 'all 0.5s ease 0s' } },\n [\n m('span.fa.fa-times-circle', ''),\n m.trust(' '),\n 'Cancelar projeto'\n ]\n )\n ))\n )\n ]);\n }\n};\n\nexport default projectCancelButton;\n","/**\n * window.c.ProjectDataChart component\n * A graph builder interface to be used on project related dashboards.\n * Example:\n * m.component(c.ProjectDataChart, {\n * collection: state.contributionsPerDay,\n * label: 'R$ arrecadados por dia',\n * dataKey: 'total_amount'\n * })\n */\nimport m from 'mithril';\nimport _ from 'underscore';\nimport Chart from 'chart.js';\n\nconst projectDataChart = {\n oninit: function(vnode) {\n const resource = _.first(vnode.attrs.collection()),\n limitDataset = vnode.attrs.limitDataset,\n source = !_.isUndefined(resource)\n ? _.isNumber(limitDataset)\n ? _.last(resource.source, limitDataset)\n : resource.source\n : [],\n mountDataset = () => [{\n fillColor: 'rgba(126,194,69,0.2)',\n strokeColor: 'rgba(126,194,69,1)',\n pointColor: 'rgba(126,194,69,1)',\n pointStrokeColor: '#fff',\n pointHighlightFill: '#fff',\n pointHighlightStroke: 'rgba(220,220,220,1)',\n data: _.map(source, item => item[vnode.attrs.dataKey])\n }],\n renderChart = (vnodeCanvas) => {\n const ctx = vnodeCanvas.dom.getContext('2d');\n\n new Chart(ctx).Line({\n labels: vnode.attrs.xAxis ? _.map(source, item => vnode.attrs.xAxis(item)) : [],\n datasets: mountDataset()\n });\n };\n\n vnode.state = {\n renderChart,\n source\n };\n },\n view: function({state, attrs}) {\n return m('.card.u-radius.medium.u-marginbottom-30', [\n m('.fontweight-semibold.u-marginbottom-10.fontsize-large.u-text-center', attrs.label),\n m('.u-text-center.fontsize-smaller.fontcolor-secondary.lineheight-tighter.u-marginbottom-20', attrs.subLabel || ''),\n m('.w-row', [\n m('.w-col.w-col-12.overflow-auto', [\n !_.isEmpty(state.source) ? m('canvas[id=\"chart\"][width=\"860\"][height=\"300\"]', {\n oncreate: state.renderChart\n }) : m('.w-col.w-col-8.w-col-push-2', m('p.fontsize-base', attrs.emptyState))\n ]),\n ])\n ]);\n }\n};\n\nexport default projectDataChart;\n","/**\n * window.c.ProjectDataTable component\n * A table interface constructor that should be used on project related dashboards.\n * It takes an array and a lable as it's sources.\n * The first item in the array is the header descriptor and the rest of them are row data.\n * Rows may return a string or an array and this value will be used as a row output.\n * All table rows are sortable by default. If you want to use a custom value as sort parameter\n * you may set a 2D array as row. In this case, the first array value will be the custom value\n * while the other will be the actual output.\n * Example:\n * m.component(c.ProjectDataTable, {\n * label: 'Table label',\n * table: [\n * ['col header 1', 'col header 2'],\n * ['value 1x1', [3, 'value 1x2']],\n * ['value 2x1', [1, 'value 2x2']] //We are using a custom comparator two col 2 values\n * ],\n * //Allows you to set a specific column to be ordered by default.\n * //If no value is set, the first row will be the default one to be ordered.\n * //Negative values mean that the order should be reverted\n * defaultSortIndex: -3\n * })\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport models from '../models';\nimport h from '../h';\n\nconst projectDataTable = {\n oninit: function(vnode) {\n const table = prop(vnode.attrs.table),\n sortIndex = prop(-1);\n\n const comparator = (a, b) => {\n let idx = sortIndex(),\n // Check if a custom comparator is used => Read component description\n x = (_.isArray(a[idx]) && a[idx].length > 1) ? a[idx][0] : a[idx],\n y = (_.isArray(b[idx]) && b[idx].length > 1) ? b[idx][0] : b[idx];\n\n if (x < y) {\n return -1;\n }\n if (y < x) {\n return 1;\n }\n return 0;\n };\n\n const sortTable = (idx) => {\n let header = _.first(table()),\n body;\n if (sortIndex() === idx) {\n body = _.rest(table()).reverse();\n } else {\n sortIndex(idx);\n body = _.rest(table()).sort(comparator);\n }\n\n table(_.union([header], body));\n };\n\n sortTable(Math.abs(vnode.attrs.defaultSortIndex) || 0);\n\n if (vnode.attrs.defaultSortIndex < 0) {\n sortTable(Math.abs(vnode.attrs.defaultSortIndex) || 0);\n }\n\n vnode.state = {\n table,\n sortTable\n };\n },\n view: function({state, attrs}) {\n const header = _.first(state.table()),\n body = _.rest(state.table());\n return m('.table-outer.u-marginbottom-60', [\n m('.w-row.table-row.fontweight-semibold.fontsize-smaller.header',\n _.map(header, (heading, idx) => {\n const sort = () => state.sortTable(idx);\n return m('.w-col.w-col-4.w-col-small-4.w-col-tiny-4.table-col', [\n m('a.link-hidden[href=\"javascript:void(0);\"]', {\n onclick: sort\n }, [\n `${heading} `, m('span.fa.fa-sort')\n ])\n ]);\n })\n ), m('.table-inner.fontsize-small',\n _.map(body, rowData => m('.w-row.table-row',\n _.map(rowData, (row) => {\n // Check if a custom comparator is used => Read component description\n row = (_.isArray(row) && row.length > 1) ? row[1] : row;\n return m('.w-col.w-col-4.w-col-small-4.w-col-tiny-4.table-col', [\n m('div', row)\n ]);\n })\n ))\n )\n ]);\n }\n};\n\nexport default projectDataTable;\n","import m from 'mithril';\n\nconst projectReminderCount = {\n view: function({attrs}) {\n const project = attrs.resource;\n return m('#project-reminder-count.card.u-radius.u-text-center.medium.u-marginbottom-80', [\n m('.fontsize-large.fontweight-semibold', 'Total de pessoas que clicaram no botão Lembrar-me'),\n m('.fontsize-smaller.u-marginbottom-30', 'Um lembrete por email é enviado antes do término da sua campanha, convidando as pessoas a apoiarem na reta final!'),\n m('.fontsize-jumbo', project.reminder_count)\n ]);\n }\n};\n\nexport default projectReminderCount;\n","import m from 'mithril';\n\nconst facebookButton = {\n oninit: function(vnode) {\n const share = () => {\n if (FB) {\n FB.ui({\n method: vnode.attrs.messenger ? 'send' : 'share',\n link: vnode.attrs.url,\n href: vnode.attrs.url,\n display: 'popup',\n });\n }\n };\n\n vnode.state = {\n share\n };\n },\n view: function({state, attrs}) {\n const buttonCss = () => {\n if (attrs.mobile) {\n return `w-hidden-main w-hidden-medium u-marginbottom-20 btn btn-medium btn-fb ${attrs.class}`;\n } else if (attrs.big) {\n return `btn btn-fb btn-large u-marginbottom-20 w-button ${attrs.class}`;\n } else if (attrs.medium) {\n return `btn ${attrs.messenger ? 'btn-messenger' : 'btn-fb'} btn-medium u-marginbottom-20 w-button ${attrs.class}`;\n }\n return `btn btn-inline btn-medium btn-terciary u-marginright-20 ${attrs.class}`;\n };\n\n return m('button', {\n class: buttonCss(),\n onclick: state.share\n }, [\n m('span.fa', {\n class: attrs.messenger ? 'fa-comment' : 'fa-facebook'\n }),\n attrs.messenger ? ' Messenger' : ' Facebook'\n ]);\n }\n};\n\nexport default facebookButton;\n","/**\n * copyTextInput component\n * Displays a text input that copies it's content on click\n *\n * Example of use:\n * view: () => {\n * ...\n * m.component(copyTextInput, {value: 'some value'})\n * ...\n * }\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport select from 'select';\nimport popNotification from './pop-notification';\n\nconst copyTextInput = {\n oninit: function(vnode) {\n const showSuccess = prop(false);\n const setClickHandler = localVnode => {\n let copy;\n const el = localVnode.dom;\n const textarea = el.parentNode.previousSibling.firstChild;\n\n textarea.innerText = vnode.attrs.value; // This fixes an issue when instantiating multiple copy clipboard components\n el.onclick = () => {\n select(textarea);\n copy = document.execCommand('copy');\n if (copy) {\n showSuccess(true);\n m.redraw();\n } else {\n textarea.blur();\n }\n return false;\n };\n };\n\n vnode.state = {\n setClickHandler,\n showSuccess\n };\n },\n view: function({state, attrs}) {\n return m('.clipboard.w-row', [\n m('.w-col.w-col-10.w-col-small-10.w-col-tiny-10', m('textarea.copy-textarea.text-field.w-input', {\n style: 'margin-bottom:0;'\n }, attrs.value)),\n m('.w-col.w-col-2.w-col-small-2.w-col-tiny-2', m('button.btn.btn-medium.btn-no-border.btn-terciary.fa.fa-clipboard.w-button', {\n oncreate: state.setClickHandler\n })),\n state.showSuccess() ? m(popNotification, { message: 'Link copiado' }) : ''\n ]);\n }\n};\n\nexport default copyTextInput;\n","import m from 'mithril';\nimport h from '../h';\nimport _ from 'underscore';\nimport facebookButton from '../c/facebook-button';\nimport copyTextInput from '../c/copy-text-input';\n\nconst projectInviteCard = {\n view: function({attrs}) {\n const project = attrs.project;\n\n return m('.card.card-terciary.u-marginbottom-20.u-radius.w-clearfix', [\n m('.fontsize-base.fontweight-semibold.u-marginbottom-30.u-text-center', 'Convide seus amigos para apoiar sua campanha'),\n m('.w-row', [\n m('.w-sub-col.u-marginbottom-20.w-col.w-col-4', [\n m(facebookButton, {\n url: `${h.projectFullPermalink(project)}?ref=facebook&utm_source=facebook.com&utm_medium=social&utm_campaign=project_share_insights`,\n medium: true\n })\n ]),\n m('.w-sub-col.u-marginbottom-20.w-col.w-col-4', [\n m(facebookButton, {\n messenger: true,\n url: `${h.projectFullPermalink(project)}?ref=facebook&utm_source=facebook.com&utm_medium=messenger&utm_campaign=project_share_insights`,\n medium: true\n })\n ]),\n m('.w-col.w-col-4', [\n m('.w-form', [\n m('form[data-name=\\'Email Form 2\\'][id=\\'email-form-2\\'][name=\\'email-form-2\\']', [\n m(\n copyTextInput,\n { value: `${h.projectFullPermalink(project)}?ref=project_link` }\n )\n ])\n ])\n ])\n ])\n ]);\n }\n};\n\nexport default projectInviteCard;\n","/**\n * window.c.SuccessfulProjectTaxModal component\n * Modal content for show project transfer complete values data\n */\nimport m from 'mithril';\nimport h from '../h';\n\nconst successfulProjectTaxModal = {\n view: function({attrs}) {\n const pt = attrs.projectTransfer;\n\n return m('div', [\n m('.modal-dialog-header', [\n m('.fontsize-large.u-text-center',\n 'Extrato do projeto')\n ]),\n m('.modal-dialog-content', [\n m('p.fontsize-small.u-marginbottom-40', [\n 'Confira o extrato do seu projeto, já incluindo as taxas e retenções. Se você tiver dúvidas sobre como esse cálculo é feito, ',\n m('a.alt-link[href=\"http://suporte.catarse.me/hc/pt-br/articles/202037493-FINANCIADO-Como-ser%C3%A1-feito-o-repasse-do-dinheiro-\"][target=\"__blank\"]', 'acesse aqui'),\n '.'\n ]),\n m('div', [\n m('.w-row.fontsize-small.u-marginbottom-10', [\n m('.w-col.w-col-4', [\n m('.text-success', `+ R$ ${h.formatNumber(pt.pledged, 2)}`)\n ]),\n m('.w-col.w-col-8', [\n m('div', `Arrecadação total (${pt.total_contributions} apoios)`)\n ])\n ]),\n (pt.irrf_tax > 0 ?\n m('.w-row.fontsize-small.u-marginbottom-10', [\n m('.w-col.w-col-4', [\n m('.text-success', `+ R$ ${h.formatNumber(pt.irrf_tax, 2)}`)\n ]),\n m('.w-col.w-col-8', [\n m('div', 'Retenção IRF (Imposto de Renda na Fonte)')\n ])\n ]) : ''),\n m('.w-row.fontsize-small.u-marginbottom-10', [\n m('.w-col.w-col-4', [\n m('.text-error', `- R$ ${h.formatNumber(pt.catarse_fee, 2)}`)\n ]),\n m('.w-col.w-col-8', [\n m('div', `Taxa do Catarse e meio de pagamento (${h.formatNumber((pt.service_fee * 100), 2)}%) `)\n ])\n ]),\n m('.divider.u-marginbottom-10'),\n m('.w-row.fontsize-base.fontweight-semibold', [\n m('.w-col.w-col-4', [\n m('div', `R$ ${h.formatNumber(pt.total_amount, 2)}`)\n ]),\n m('.w-col.w-col-8', [\n m('div', 'Total a ser transferido')\n ])\n ])\n ])\n ])\n ]);\n }\n};\n\nexport default successfulProjectTaxModal;\n","/**\n * window.c.ProjectSuccessfulOnboard component\n * render first interaction of successful project onboarding\n * used when project is successful and wants to confirm bank data and request transfer\n *\n * Example:\n * m.component(c.ProjectSuccessfulOnboard, {project: project})\n * */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse } from '../api';\nimport h from '../h';\nimport models from '../models';\nimport projectSuccessfulOnboardConfirmAccount from './project-successful-onboard-confirm-account';\nimport modalBox from './modal-box';\nimport successfulProjectTaxModal from './successful-project-tax-modal';\nimport insightVM from '../vms/insight-vm';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.successful_onboard');\n\nconst projectSuccessfulOnboard = {\n oninit: function(vnode) {\n const projectIdVM = catarse.filtersVM({ project_id: 'eq' }),\n projectAccounts = prop([]),\n projectTransfers = prop([]),\n showTaxModal = h.toggleProp(false, true),\n loader = catarse.loaderWithToken,\n listenToReplace = localVnode => {\n\n const toRedraw = {\n tax_link: {\n action: 'onclick',\n actionSource: () => {\n showTaxModal.toggle();\n m.redraw();\n }\n }\n };\n\n _.map(localVnode.dom.children, (item) => {\n const toR = toRedraw[item.getAttribute('id')];\n\n if (toR) {\n item[toR.action] = toR.actionSource;\n }\n });\n };\n\n\n projectIdVM.project_id(vnode.attrs.project().project_id);\n\n const lProjectAccount = loader(models.projectAccount.getRowOptions(projectIdVM.parameters()));\n lProjectAccount.load().then((data) => {\n projectAccounts(data);\n });\n\n const lProjectTransfer = loader(models.projectTransfer.getRowOptions(projectIdVM.parameters()));\n lProjectTransfer.load().then(projectTransfers);\n\n vnode.state = {\n projectAccounts,\n projectTransfers,\n lProjectAccount,\n lProjectTransfer,\n showTaxModal,\n listenToReplace\n };\n },\n view: function({state, attrs}) {\n const projectAccount = _.first(state.projectAccounts()),\n projectTransfer = _.first(state.projectTransfers()),\n lpa = state.lProjectAccount,\n lpt = state.lProjectTransfer;\n\n return m('.w-section.section', [\n (state.showTaxModal() ? m(modalBox, {\n displayModal: state.showTaxModal,\n content: [successfulProjectTaxModal, {\n projectTransfer\n }]\n }) : ''),\n (!lpa() && !lpt() ?\n m('.w-container', [\n m('.w-row.u-marginbottom-40', [\n m('.w-col.w-col-6.w-col-push-3', [\n m('.u-text-center', [\n m('img.u-marginbottom-20', { src: window.I18n.t('finished.icon', I18nScope()), width: 94 }),\n m('.fontsize-large.fontweight-semibold.u-marginbottom-20', window.I18n.t('finished.title', I18nScope())),\n m('.fontsize-base.u-marginbottom-30', {\n oncreate: state.listenToReplace\n }, m.trust(\n window.I18n.t('finished.text', I18nScope({ link_news: `/projects/${attrs.project().id}/posts`, link_surveys: `/projects/${attrs.project().id}/surveys` })))),\n // m('a.btn.btn-large.btn-inline', { href: `/users/${attrs.project().user_id}/edit#balance` }, window.I18n.t('start.cta', I18nScope()))\n ])\n ])\n ])\n ]) : h.loader())\n\n ]);\n }\n};\n\nexport default projectSuccessfulOnboard;\n","import m from 'mithril';\nimport h from '../h';\nimport _ from 'underscore';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.insights.progress_bar');\n\nconst projectSuccessfulProgressBar = {\n oninit: function(vnode) {\n const designStates = {\n waiting_funds: {\n processing: {\n lineClass: '.done',\n text: I18n.t('waiting_funds_processing_text', I18nScope()),\n circleClass: '.current',\n descriptionTextClass: '',\n descriptionTextSizeClass: '.fontsize-base',\n },\n success: {\n lineClass: '',\n text: I18n.t('waiting_funds_success_text', I18nScope()),\n circleClass: '',\n descriptionTextClass: '.fontcolor-terciary',\n descriptionTextSizeClass: '',\n }\n },\n successful_waiting_transfer: {\n processing: {\n lineClass: '.done',\n text: `${I18n.t('successful_waiting_transfer_processing_text', I18nScope())} ${h.momentify(vnode.attrs.project().expires_at, 'DD/MM/YYYY')}`,\n circleClass: '.done.fa.fa-check.fa-2x',\n descriptionTextClass: '.fontcolor-terciary',\n descriptionTextSizeClass: '',\n },\n success: {\n lineClass: '.done',\n text: '',\n circleClass: '.current',\n descriptionTextClass: '',\n descriptionTextSizeClass: '.fontsize-base',\n }\n }\n };\n\n vnode.state = {\n designStates\n };\n },\n\n view: function({state, attrs}) {\n const \n designComponent = state.designStates[attrs.current_state()],\n processingComponent = designComponent.processing,\n successComponent = designComponent.success;\n\n return m('.project-progress-bar', [\n m('.project-progress-bar-step',\n m('.project-progress-bar-content', [\n m('.project-progress-bar-circle.done.fa.fa-check.fa-2x'),\n m('.project-progress-bar-description.fontcolor-terciary', [\n m('.fontsize-smaller.lineheight-tight.fontweight-semibold',\n I18n.t('finished_initial', I18nScope())\n ),\n m('.fontsize-smallest',\n `${I18n.t('finished_initial_subtitle', I18nScope())} ${h.momentify(attrs.project().expires_at,'DD/MM/YYYY')}`\n )\n ])\n ])\n ),\n m(`.project-progress-bar-line${processingComponent.lineClass}`),\n m('.project-progress-bar-step',\n m('.project-progress-bar-content', [\n m(`.project-progress-bar-circle${processingComponent.circleClass}`),\n m(`.project-progress-bar-description${processingComponent.descriptionTextClass}`, [\n m(`.fontsize-smaller.lineheight-tight.fontweight-semibold${processingComponent.descriptionTextSizeClass}`,\n I18n.t('finished_processing', I18nScope())\n ),\n m('.fontsize-smallest',\n processingComponent.text\n )\n ])\n ])\n ),\n m(`.project-progress-bar-line${successComponent.lineClass}`),\n m('.project-progress-bar-step',\n m('.project-progress-bar-content', [\n m(`.project-progress-bar-circle${successComponent.circleClass}`),\n m(`.project-progress-bar-description${successComponent.descriptionTextClass}`, [\n m(`.fontsize-smaller.lineheight-tight.fontweight-semibold${successComponent.descriptionTextSizeClass}`,\n I18n.t('finished_withdraw', I18nScope())\n ),\n m('.fontsize-smallest',\n successComponent.text\n )\n ])\n ])\n )\n ]);\n }\n}\n\nexport default projectSuccessfulProgressBar;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectSuccessfulProgressBar from './project-successful-progress-bar';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.insights.processing');\n\nconst projectSuccessfulProcessing = {\n view: function ({attrs}) {\n return m('.u-marginbottom-40.w-row', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-10', [\n m('.fontweight-semibold.fontsize-larger.lineheight-looser.u-marginbottom-10.u-text-center.dashboard-header', I18n.t('title', I18nScope())),\n m(projectSuccessfulProgressBar, { project: attrs.project, current_state: attrs.current_state }),\n m('.u-marginbottom-40.u-text-center.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8', \n m('p.fontsize-base', [\n m('span.fontweight-semibold', attrs.project().user.name),\n I18n.t('text', I18nScope()),\n m('a.alt-link.fontweight-semibold[href=\\'https://suporte.catarse.me/hc/pt-br/articles/217916143\\'][target=\\'_blank\\']', \n I18n.t('text_link', I18nScope())\n )\n ])\n ),\n m('.w-col.w-col-2')\n ])\n ]),\n m('.w-col.w-col-1')\n ]);\n }\n};\n\nexport default projectSuccessfulProcessing;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectSuccessfulProgressBar from './project-successful-progress-bar';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.insights.enabled_withdraw');\n\nconst projectSuccessfulEnabledWithdraw = {\n\n oninit: function(vnode) {\n const balanceUrl = `/${window.I18n.locale}/users/${vnode.attrs.project().user_id}/edit#balance`;\n\n vnode.state = {\n balanceUrl\n };\n },\n\n view: function ({state, attrs}) {\n return m('.u-marginbottom-40.w-row', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-10', [\n m('.fontweight-semibold.fontsize-larger.lineheight-looser.u-marginbottom-10.u-text-center.dashboard-header', I18n.t('title', I18nScope())),\n m(projectSuccessfulProgressBar, { project: attrs.project, current_state: attrs.current_state }),\n m('.u-marginbottom-40.u-text-center.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8', [\n m('p.fontsize-base.u-marginbottom-30', [\n m('span.fontweight-semibold', attrs.project().user.name),\n I18n.t('text_1', I18nScope()),\n m('span.fontweight-semibold', I18n.t('text_2', I18nScope())),\n I18n.t('text_3', I18nScope()),\n m('a.alt-link.fontweight-semibold[href=\\'https://suporte.catarse.me/hc/pt-br/articles/217916143\\'][target=\\'_blank\\']',\n I18n.t('text_4', I18nScope())\n )\n ]),\n m(`a.btn.btn-large.btn-inline.w-button[href=\\'${state.balanceUrl}\\']`, I18n.t('button_text', I18nScope()))\n ]),\n m('.w-col.w-col-2')\n ])\n ]),\n m('.w-col.w-col-1')\n ]);\n }\n};\n\nexport default projectSuccessfulEnabledWithdraw;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse } from '../api';\nimport models from '../models';\nimport h from '../h';\nimport projectSuccessOnboard from './project-successful-onboard';\nimport projectSuccessOnboardProcessing from './project-successful-onboard-processing';\nimport projectSuccessOnboardEnabledWithdraw from './project-successful-onboard-enabled-withdraw';\n\n\nconst projectSuccessfulNextSteps = {\n\n oninit: function(vnode) {\n const \n wishedState = 'transferred',\n userIdVM = catarse.filtersVM({user_id: 'eq', state: 'eq'}),\n lastBalanceTransfer = catarse.paginationVM(models.balanceTransfer, 'created_at.desc', { Prefer: 'count=exact' }),\n current_state = prop(vnode.attrs.project().state),\n isLoading = prop(true),\n successfulOnboards = () => {\n\n const onboardProjectAndCalculatedState = { project: vnode.attrs.project, current_state: current_state };\n \n if (isLoading()) {\n return h.loader();\n }\n else {\n switch(current_state()) {\n case 'waiting_funds':\n return m(projectSuccessOnboardProcessing, onboardProjectAndCalculatedState);\n case 'successful_waiting_transfer':\n return m(projectSuccessOnboardEnabledWithdraw, onboardProjectAndCalculatedState);\n case 'successful':\n return m(projectSuccessOnboard, onboardProjectAndCalculatedState);\n default:\n return h.loader();\n }\n }\n };\n \n userIdVM.user_id(vnode.attrs.project().user_id).state(wishedState);\n lastBalanceTransfer\n .firstPage(userIdVM.parameters())\n .then((balanceTransfers) => {\n \n const \n lastBalanceTransferItem = _.first(balanceTransfers),\n hasAtLeastOneTransfered = balanceTransfers.length > 0,\n balanceCreatedAtDate = hasAtLeastOneTransfered ? new Date(lastBalanceTransferItem.transferred_at) : null,\n projectExpiredAtDate = new Date(vnode.attrs.project().expires_at),\n withdrawTransferredOccuredAfterProjectExpiredDate = hasAtLeastOneTransfered ? balanceCreatedAtDate.getTime() > projectExpiredAtDate.getTime() : false;\n\n if (withdrawTransferredOccuredAfterProjectExpiredDate) {\n current_state('successful');\n }\n else {\n if (vnode.attrs.project().state == 'successful')\n current_state('successful_waiting_transfer');\n }\n\n isLoading(false); \n });\n\n vnode.state = {\n successfulOnboards\n };\n },\n\n view: function({state, attrs}) {\n return state.successfulOnboards(); \n }\n};\n\nexport default projectSuccessfulNextSteps;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.insights.campaign');\n\nexport const SolidarityProjectInsightsWelcomeDraft = {\n view() {\n return m.trust(I18n.t('solidarity_project_insights_welcome_draft_html', I18nScope()));\n }\n}","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport h from '../h';\nimport models from '../models';\nimport tooltip from '../c/tooltip';\nimport projectDashboardMenu from '../c/project-dashboard-menu';\nimport modalBox from '../c/modal-box';\nimport adminProjectDetailsCard from '../c/admin-project-details-card';\nimport onlineSuccessModalContent from '../c/online-success-modal-content';\nimport projectDataStats from '../c/project-data-stats';\nimport projectDeleteButton from '../c/project-delete-button';\nimport projectCancelButton from '../c/project-cancel-button';\nimport projectDataChart from '../c/project-data-chart';\nimport projectDataTable from '../c/project-data-table';\nimport projectReminderCount from '../c/project-reminder-count';\nimport projectSuccessfulOnboard from '../c/project-successful-onboard';\nimport projectInviteCard from '../c/project-invite-card';\nimport projectSuccessfullNextSteps from '../c/project-successful-next-steps';\nimport {\n catarseMoments\n} from '../api';\nimport { SolidarityProjectInsightsWelcomeDraft } from './solidarity-project-insights-welcome-draft';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.insights');\n\nconst projectInsights = {\n oninit: function(vnode) {\n const filtersVM = vnode.attrs.filtersVM,\n displayModal = h.toggleProp(false, true),\n contributionsPerDay = prop([]),\n visitorsTotal = prop(0),\n visitorsPerDay = prop([]),\n loader = catarse.loaderWithToken,\n countDownToRedraw = prop(4),\n requestRedraw = () => {\n countDownToRedraw(Math.max(0, countDownToRedraw() - 1));\n if (countDownToRedraw() <= 0) {\n m.redraw();\n }\n };\n\n if (h.paramByName('online_success') === 'true') {\n displayModal.toggle();\n }\n\n const processVisitors = (data) => {\n if (!_.isEmpty(data)) {\n visitorsPerDay(data);\n visitorsTotal(_.first(data).total);\n }\n };\n\n const lVisitorsPerDay = catarseMoments.loaderWithToken(models.projectVisitorsPerDay.getRowOptions(filtersVM.parameters()));\n lVisitorsPerDay\n .load()\n .then(processVisitors)\n .then(requestRedraw);\n\n const lContributionsPerDay = loader(models.projectContributionsPerDay.getRowOptions(filtersVM.parameters()));\n lContributionsPerDay\n .load()\n .then(contributionsPerDay)\n .then(requestRedraw);\n\n const contributionsPerLocationTable = [['Estado', 'Apoios', 'R$ apoiados (% do total)']];\n const buildPerLocationTable = contributions => (!_.isEmpty(contributions)) ? _.map(_.first(contributions).source, (contribution) => {\n const column = [];\n\n column.push(contribution.state_acronym || 'Outro/other');\n column.push(contribution.total_contributions);\n column.push([contribution.total_contributed, [// Adding row with custom comparator => read project-data-table description\n m(`input[type=\"hidden\"][value=\"${contribution.total_contributed}\"`),\n 'R$ ',\n h.formatNumber(contribution.total_contributed, 2, 3),\n m('span.w-hidden-small.w-hidden-tiny', ` (${contribution.total_on_percentage.toFixed(2)}%)`)\n ]]);\n return contributionsPerLocationTable.push(column);\n }) : [];\n\n const lContributionsPerLocation = loader(models.projectContributionsPerLocation.getRowOptions(filtersVM.parameters()));\n lContributionsPerLocation\n .load()\n .then(buildPerLocationTable)\n .then(requestRedraw);\n\n const contributionsPerRefTable = [[\n window.I18n.t('ref_table.header.origin', I18nScope()),\n window.I18n.t('ref_table.header.contributions', I18nScope()),\n window.I18n.t('ref_table.header.amount', I18nScope())\n ]];\n const buildPerRefTable = contributions => (!_.isEmpty(contributions)) ? _.map(_.first(contributions).source, (contribution) => {\n // Test if the string matches a word starting with ctrse_ and followed by any non-digit group of characters\n // This allows to remove any versioned referral (i.e.: ctrse_newsletter_123) while still getting ctrse_test_ref\n const re = /(ctrse_[\\D]*)/,\n test = re.exec(contribution.referral_link);\n\n const column = [];\n\n if (test) {\n // Removes last underscore if it exists\n contribution.referral_link = test[0].substr(-1) === '_' ? test[0].substr(0, test[0].length - 1) : test[0];\n }\n\n column.push(contribution.referral_link ? window.I18n.t(`referral.${contribution.referral_link}`, I18nScope({ defaultValue: contribution.referral_link })) : window.I18n.t('referral.others', I18nScope()));\n column.push(contribution.total);\n column.push([contribution.total_amount, [\n m(`input[type=\"hidden\"][value=\"${contribution.total_contributed}\"`),\n 'R$ ',\n h.formatNumber(contribution.total_amount, 2, 3),\n m('span.w-hidden-small.w-hidden-tiny', ` (${contribution.total_on_percentage.toFixed(2)}%)`)\n ]]);\n return contributionsPerRefTable.push(column);\n }) : [];\n\n const lContributionsPerRef = loader(models.projectContributionsPerRef.getRowOptions(filtersVM.parameters()));\n lContributionsPerRef\n .load()\n .then(buildPerRefTable)\n .then(requestRedraw);\n\n function isSolidarityProject() {\n const project = vnode.attrs.project;\n if (project) {\n const solidarityIntegration = (project.integrations || []).find(integration => integration.name === 'SOLIDARITY_SERVICE_FEE');\n return !!solidarityIntegration;\n } else {\n return false;\n }\n }\n\n vnode.state = {\n lContributionsPerRef,\n lContributionsPerLocation,\n lContributionsPerDay,\n lVisitorsPerDay,\n displayModal,\n filtersVM,\n contributionsPerDay,\n contributionsPerLocationTable,\n contributionsPerRefTable,\n visitorsPerDay,\n visitorsTotal,\n isSolidarityProject\n };\n },\n view: function({state, attrs}) {\n const project = attrs.project,\n isSolidarityProject = state.isSolidarityProject,\n buildTooltip = el => m(tooltip, {\n el,\n text: [\n 'Informa de onde vieram os apoios de seu projeto. Saiba como usar essa tabela e planejar melhor suas ações de comunicação ',\n m(`a[href=\"${window.I18n.t('ref_table.help_url', I18nScope())}\"][target='_blank']`, 'aqui.')\n ],\n width: 380\n });\n\n if (!attrs.l()) {\n project.user.name = project.user.name || 'Realizador';\n }\n\n return m('.project-insights', !attrs.l() ? [\n m(`.w-section.section-product.${project.mode}`),\n (project.is_owner_or_admin ? m(projectDashboardMenu, {\n project: prop(project)\n }) : ''),\n (state.displayModal() ? m(modalBox, {\n displayModal: state.displayModal,\n content: [onlineSuccessModalContent]\n }) : ''),\n\n m('.w-container', \n ((project.state === 'successful' || project.state === 'waiting_funds' ) && !project.has_cancelation_request) ? \n m(projectSuccessfullNextSteps, { project: prop(project) }) : [\n m('.w-row.u-marginbottom-40', [\n m('.w-col.w-col-8.w-col-push-2', [\n m('.fontweight-semibold.fontsize-larger.lineheight-looser.u-marginbottom-10.u-text-center.dashboard-header', window.I18n.t('campaign_title', I18nScope())),\n\n (\n (project.state === 'draft' && !project.has_cancelation_request && isSolidarityProject()) ?\n [\n m(SolidarityProjectInsightsWelcomeDraft),\n ] \n :\n [\n (project.state === 'online' && !project.has_cancelation_request ? m(projectInviteCard, { project }) : ''),\n (project.state === 'draft' && !project.has_cancelation_request ? m(adminProjectDetailsCard, { resource: project }) : ''),\n m(`p.${project.state}-project-text.u-text-center.fontsize-small.lineheight-loose`,\n project.has_cancelation_request ? \n m.trust(window.I18n.t('has_cancelation_request_explanation', I18nScope())) : [\n project.mode === 'flex' && _.isNull(project.expires_at) && project.state !== 'draft' ? \n m('span', [\n m.trust(window.I18n.t('finish_explanation', I18nScope())),\n m('a.alt-link[href=\"http://suporte.catarse.me/hc/pt-br/articles/213783503-tudo-sobre-Prazo-da-campanha\"][target=\"_blank\"]', window.I18n.t('know_more', I18nScope()))\n ]) : \n m.trust(\n window.I18n.t(`campaign.${project.mode}.${project.state}`, \n I18nScope({ username: project.user.name, expires_at: h.momentify(project.zone_expires_at), sent_to_analysis_at: h.momentify(project.sent_to_analysis_at) })))\n ]\n )\n ]\n )\n ])\n ])\n ]),\n (project.state === 'draft' ?\n m(projectDeleteButton, { project })\n : ''),\n (project.is_published) ? [\n m('.divider'),\n m('.w-section.section-one-column.section.bg-gray.before-footer', [\n m('.w-container', [\n m(\n projectDataStats,\n { project: prop(project), visitorsTotal: state.visitorsTotal }\n ),\n m('.w-row', [\n m('.w-col.w-col-12.u-text-center', {\n style: {\n 'min-height': '300px'\n }\n }, [\n m('.fontweight-semibold.u-marginbottom-10.fontsize-large.u-text-center', [\n window.I18n.t('visitors_per_day_label', I18nScope())\n ]),\n !state.lVisitorsPerDay() ? m(projectDataChart, {\n collection: state.visitorsPerDay,\n dataKey: 'visitors',\n xAxis: item => h.momentify(item.day),\n emptyState: window.I18n.t('visitors_per_day_empty', I18nScope())\n }) : h.loader()\n ]),\n ]),\n m('.w-row', [\n m('.w-col.w-col-12.u-text-center', {\n style: {\n 'min-height': '300px'\n }\n }, [\n !state.lContributionsPerDay() ? m(projectDataChart, {\n collection: state.contributionsPerDay,\n label: window.I18n.t('amount_per_day_label', I18nScope()),\n dataKey: 'total_amount',\n xAxis: item => h.momentify(item.paid_at),\n emptyState: window.I18n.t('amount_per_day_empty', I18nScope())\n }) : h.loader()\n ]),\n ]),\n m('.w-row', [\n m('.w-col.w-col-12.u-text-center', {\n style: {\n 'min-height': '300px'\n }\n }, [\n !state.lContributionsPerDay() ? m(projectDataChart, {\n collection: state.contributionsPerDay,\n label: window.I18n.t('contributions_per_day_label', I18nScope()),\n dataKey: 'total',\n xAxis: item => h.momentify(item.paid_at),\n emptyState: window.I18n.t('contributions_per_day_empty', I18nScope())\n }) : h.loader()\n ]),\n ]),\n m('.w-row', [\n m('.w-col.w-col-12.u-text-center', [\n m('.project-contributions-per-ref', [\n m('.fontweight-semibold.u-marginbottom-10.fontsize-large.u-text-center', [\n window.I18n.t('ref_origin_title', I18nScope()),\n ' ',\n buildTooltip('span.fontsize-smallest.tooltip-wrapper.fa.fa-question-circle.fontcolor-secondary')\n ]),\n !state.lContributionsPerRef() ? !_.isEmpty(_.rest(state.contributionsPerRefTable)) ? m(projectDataTable, {\n table: state.contributionsPerRefTable,\n defaultSortIndex: -2\n }) : m('.card.u-radius.medium.u-marginbottom-60',\n m('.w-row.u-text-center.u-margintop-40.u-marginbottom-40',\n m('.w-col.w-col-8.w-col-push-2',\n m('p.fontsize-base', window.I18n.t('contributions_per_ref_empty', I18nScope()))\n )\n )\n ) : h.loader()\n ])\n ]),\n ]),\n m('.w-row', [\n m('.w-col.w-col-12.u-text-center', [\n m('.project-contributions-per-ref', [\n m('.fontweight-semibold.u-marginbottom-10.fontsize-large.u-text-center', window.I18n.t('location_origin_title', I18nScope())),\n !state.lContributionsPerLocation() ? !_.isEmpty(_.rest(state.contributionsPerLocationTable)) ? m(projectDataTable, {\n table: state.contributionsPerLocationTable,\n defaultSortIndex: -2\n }) : m('.card.u-radius.medium.u-marginbottom-60',\n m('.w-row.u-text-center.u-margintop-40.u-marginbottom-40',\n m('.w-col.w-col-8.w-col-push-2',\n m('p.fontsize-base', window.I18n.t('contributions_per_location_empty', I18nScope()))\n )\n )\n ) : h.loader()\n ])\n ]),\n ]),\n m('.w-row', [\n m('.w-col.w-col-12.u-text-center', [\n m(projectReminderCount, {\n resource: project\n })\n ]),\n ]),\n ])\n ]),\n (project.can_cancel ?\n m(projectCancelButton, { project })\n : '')\n\n ] : ''\n ] : h.loader());\n }\n};\n\nexport default projectInsights;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport moment from 'moment';\nimport h from '../h';\n\nconst subscriptionsPerMonthTable = {\n oninit: function(vnode) {\n vnode.state = {\n emptyRow: {\n total_amount: 0,\n new_amount: 0,\n total_subscriptions: 0,\n new_subscriptions: 0\n }\n };\n },\n\n view: function({state, attrs}) {\n return m('div', [\n m(\".fontsize-large.fontweight-semibold.u-text-center.u-marginbottom-30[id='origem']\", 'Pagamentos confirmados por mês'),\n m('.table-outer.u-marginbottom-60', [\n m('.table-row.fontweight-semibold.fontsize-smaller.header.lineheight-tighter.w-row', [\n m('.table-col.w-col.w-col-4.w-col-small-4.w-col-tiny-4',\n m('div', 'Mês')\n ),\n m('.table-col.w-hidden-small.w-hidden-tiny.w-col.w-col-2.w-col-small-2.w-col-tiny-2',\n m('div', [\n 'Pagamentos confirmados de Novas Assinaturas',\n m.trust(' ')\n ])\n ),\n m('.table-col.w-hidden-small.w-hidden-tiny.w-col.w-col-2.w-col-small-2.w-col-tiny-2',\n m('div', 'Arrecadação com Novas Assinaturas')\n ),\n m('.w-col.w-col-2.w-col-small-2.w-col-tiny-2',\n m('div', 'Pagamentos confirmados totais')\n ),\n m('.w-col.w-col-2.w-col-small-2.w-col-tiny-2',\n m('div', 'Arrecadação total')\n )\n ]),\n m('.table-inner.fontsize-small', [\n !attrs.data ? '' :\n _.map(_.groupBy(attrs.data, 'month'), (subscription) => {\n const slip = _.filter(subscription, sub => sub.payment_method === 'boleto')[0] || state.emptyRow;\n const credit_card = _.filter(subscription, sub => sub.payment_method === 'credit_card')[0] || state.emptyRow;\n\n return m('.table-row.w-row', [\n m('.table-col.w-col.w-col-4.w-col-small-4.w-col-stack.w-col-tiny-4', [\n m('.fontweight-semibold', h.momentify(subscription[0].month, 'MMMM YYYY')),\n m('.fontsize-smallest.fontcolor-secondary', 'Cartão de crédito'),\n m('.fontsize-smallest.fontcolor-secondary', 'Boleto bancário')\n ]),\n m('.table-col.w-hidden-small.w-hidden-tiny.w-col.w-col-2.w-col-small-2.w-col-stack.w-col-tiny-2', [\n m('.fontweight-semibold', slip.new_subscriptions + credit_card.new_subscriptions),\n m('.fontsize-smallest.fontcolor-secondary', credit_card.new_subscriptions),\n m('.fontsize-smallest.fontcolor-secondary', slip.new_subscriptions)\n ]),\n m('.table-col.w-hidden-small.w-hidden-tiny.w-col.w-col-2.w-col-small-2.w-col-stack.w-col-tiny-2', [\n m('.fontweight-semibold', `R$${h.formatNumber((slip.new_amount + credit_card.new_amount) / 100, 2, 3)}`),\n m('.fontsize-smallest.fontcolor-secondary', `R$${h.formatNumber((credit_card.new_amount) / 100, 2, 3)}`),\n m('.fontsize-smallest.fontcolor-secondary', `R$${h.formatNumber((slip.new_amount) / 100, 2, 3)}`)\n ]),\n m('.w-col.w-col-2.w-col-small-2.w-col-stack.w-col-tiny-2', [\n m('.fontweight-semibold', slip.total_subscriptions + credit_card.total_subscriptions),\n m('.fontsize-smallest.fontcolor-secondary', credit_card.total_subscriptions),\n m('.fontsize-smallest.fontcolor-secondary', slip.total_subscriptions)\n ]),\n m('.w-col.w-col-2.w-col-small-2.w-col-stack.w-col-tiny-2', [\n m('.fontweight-semibold.text-success', `R$${h.formatNumber(((slip.total_amount) + (credit_card.total_amount)) / 100, 2, 3)}`),\n m('.fontsize-smallest.fontcolor-secondary', `R$${h.formatNumber((credit_card.total_amount) / 100, 2, 3)}`),\n m('.fontsize-smallest.fontcolor-secondary', `R$${h.formatNumber((slip.total_amount) / 100, 2, 3)}`)\n ])\n ]);\n })\n ])\n ])\n ]);\n }\n};\n\nexport default subscriptionsPerMonthTable;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst projectGoalsBoxDashboard = {\n oninit: function(vnode) {\n const initialGoalIndex = vnode.attrs.goalDetails().length > 0 ? _.findIndex(vnode.attrs.goalDetails(), goal => goal.value > vnode.attrs.amount) : 0;\n const currentGoalIndex = prop(initialGoalIndex);\n const nextGoal = () => {\n if (currentGoalIndex() < vnode.attrs.goalDetails().length - 1) {\n currentGoalIndex((currentGoalIndex() + 1));\n }\n };\n const previousGoal = () => {\n if (currentGoalIndex() > 0) {\n currentGoalIndex((currentGoalIndex() - 1));\n m.redraw();\n }\n };\n if (currentGoalIndex() === -1) {\n currentGoalIndex(vnode.attrs.goalDetails().length - 1);\n }\n vnode.state = {\n currentGoalIndex,\n nextGoal,\n previousGoal\n };\n },\n view: function({state, attrs}) {\n const goals = attrs.goalDetails().length > 0 ? attrs.goalDetails() : [{\n title: 'N/A',\n value: '',\n description: ''\n }],\n currentGoalIndex = state.currentGoalIndex,\n goalPercentage = (attrs.amount / goals[currentGoalIndex()].value) * 100;\n\n return m('.card.card-terciary.flex-column.u-marginbottom-10.u-radius.w-clearfix', [\n m('.u-right', [\n m('button.btn-inline.btn-terciary.fa.fa-angle-left.u-radius.w-inline-block', {\n onclick: state.previousGoal,\n class: currentGoalIndex() === 0 ? 'btn-desactivated' : ''\n }),\n m('button.btn-inline.btn-terciary.fa.fa-angle-right.u-radius.w-inline-block', {\n onclick: state.nextGoal,\n class: currentGoalIndex() === goals.length - 1 ? 'btn-desactivated' : ''\n })\n ]),\n m('.fontsize-small.u-marginbottom-10',\n 'Metas'\n ),\n m('.fontsize-largest.fontweight-semibold',\n `${Math.floor(goalPercentage)}%`\n ),\n m('.meter.u-marginbottom-10',\n m('.meter-fill', {\n style: {\n width: `${(goalPercentage > 100 ? 100 : goalPercentage)}%`\n }\n })\n ),\n m('.fontcolor-secondary.fontsize-smallest.fontweight-semibold.lineheight-tighter',\n goals[currentGoalIndex()].title\n ),\n m('.fontcolor-secondary.fontsize-smallest',\n `R$${attrs.amount} de R$${goals[currentGoalIndex()].value} por mês`\n )\n ]);\n }\n};\n\nexport default projectGoalsBoxDashboard;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.insights');\n\nconst insightsInfoBox = {\n view: function({attrs}) {\n const newCount = attrs.newCount,\n oldCount = attrs.oldCount,\n countIncrease = Math.abs(newCount - oldCount),\n arrowClass = !attrs.inverted && (newCount > oldCount) ? 'success' : 'error';\n\n return m('.flex-column.card.u-radius.u-marginbottom-10', [\n m('div',\n attrs.label\n ),\n m('.fontsize-smallest.fontcolor-secondary.lineheight-tighter',\n 'Últimos 7 dias'\n ),\n m('.fontsize-largest.fontweight-semibold',\n attrs.info\n ),\n m(`.fontsize-small.fontweight-semibold.lineheight-tighter.text-${arrowClass}`, [\n countIncrease !== 0 ?\n m(`span.fa.fa-arrow-${newCount > oldCount ? 'up' : 'down'}`,\n ' '\n ) : '',\n m(countIncrease === 0 ? 'span.fontcolor-secondary' : 'span', countIncrease)\n ]),\n m('.fontsize-mini.fontweight-semibold.fontcolor-secondary.lineheight-tighter',\n 'Comparado ao período anterior'\n )\n ]);\n }\n};\n\nexport default insightsInfoBox;\n","import {\n commonPayment,\n commonProxy,\n commonAnalytics\n} from '../api';\nimport m from 'mithril';\nimport h from '../h';\nimport _ from 'underscore';\nimport models from '../models';\nimport moment from 'moment';\n\nconst getSubscriptionTransitions = (projectId, toStatus, fromStatus, startAt, endAt) => {\n const vm = commonPayment.filtersVM({\n project_id: 'eq',\n created_at: 'between',\n from_status: 'in',\n to_status: 'in'\n });\n\n vm.created_at.gte(startAt);\n vm.created_at.lte(endAt);\n vm.project_id(projectId);\n vm.from_status(fromStatus);\n vm.to_status(toStatus);\n\n const lSub = commonPayment.loaderWithToken(models.subscriptionTransition.getPageOptions(vm.parameters()));\n return lSub.load();\n};\n\nconst getNewSubscriptions = (projectId, startAt, endAt) => {\n const vm = commonPayment.filtersVM({\n project_id: 'eq',\n created_at: 'between',\n status: 'in'\n });\n\n vm.created_at.gte(startAt);\n vm.created_at.lte(endAt);\n vm.project_id(projectId);\n vm.status('active');\n\n const lSub = commonPayment.loaderWithToken(models.userSubscription.getPageOptions(vm.parameters()));\n return lSub.load();\n};\n\nconst getSubscriptionsPerMonth = (projectId) => {\n const vm = commonPayment.filtersVM({\n project_id: 'eq'\n }).order({\n month: 'desc',\n payment_method: 'desc'\n });\n\n models.subscriptionsPerMonth.pageSize(false);\n vm.project_id(projectId);\n const lSub = commonPayment.loaderWithToken(models.subscriptionsPerMonth.getPageOptions(vm.parameters()));\n return lSub.load();\n};\n\nconst getUserProjectSubscriptions = (userId, projectId, status) => {\n const vm = commonPayment.filtersVM({\n user_id: 'eq',\n project_id: 'eq',\n created_at: 'between',\n status: 'in'\n });\n\n vm.user_id(userId);\n vm.project_id(projectId);\n vm.status(status);\n const lSub = commonPayment.loaderWithToken(models.userSubscription.getPageOptions(vm.parameters()));\n return lSub.load();\n};\n\nconst getSubscription = (subscriptionId) => {\n const vm = commonPayment.filtersVM({\n id: 'eq'\n });\n vm.id(subscriptionId);\n\n const lSub = commonPayment.loaderWithToken(models.userSubscription.getRowOptions(vm.parameters()));\n\n return lSub.load();\n};\n\nconst toogleAnonymous = (subscription) => {\n const subscriptionAnonymity = {\n set_anonymity_state: !subscription.checkout_data.anonymous\n }\n\n const setAnonymityModel = models.setSubscriptionAnonymity(subscription.id)\n subscription.checkout_data.anonymous = !subscription.checkout_data.anonymous;\n m.redraw();\n\n return commonProxy\n .loaderWithToken(setAnonymityModel.postOptions(subscriptionAnonymity, {}))\n .load()\n .then(d => {\n if ('set_subscription_anonymity' in d) {\n subscription.checkout_data.anonymous = d.set_subscription_anonymity.anonymous;\n m.redraw();\n }\n return d;\n })\n .catch(err => {\n subscription.checkout_data.anonymous = !subscription.checkout_data.anonymous;\n m.redraw();\n });\n};\n\nconst getNewSubscriptionsInsightsFromPeriod = (project_id, startDate, endDate) => {\n\n const start_date = h.momentify(startDate, 'YYYY-MM-DDTHH:mm:ssZ');\n const end_date = h.momentify(endDate, 'YYYY-MM-DDTHH:mm:ssZ');\n\n return commonAnalytics\n .loaderWithToken(models.newSubscribersFromPeriod.getRowOptions({project_id, start_date, end_date}))\n .load()\n .then(insightData => {\n h.redraw();\n return insightData;\n })\n .catch(error => {\n console.log('Error getting insights resume:', error);\n h.redraw();\n })\n};\n\nconst getNewSubscriptionsInsightsFromLastWeek = project_id => {\n const today = moment();\n const todayMinus7Days = moment().subtract(7, 'days');\n return getNewSubscriptionsInsightsFromPeriod(project_id, todayMinus7Days, today);\n};\n\nconst getNewSubscriptionsInsightsFromLast2Week = project_id => {\n const todayMinus7Days = moment().subtract(7, 'days');\n const todayMinus14Days = moment().subtract(14, 'days');\n return getNewSubscriptionsInsightsFromPeriod(project_id, todayMinus14Days, todayMinus7Days);\n};\n\nconst subscriptionVM = {\n getNewSubscriptions,\n getSubscriptionsPerMonth,\n getSubscriptionTransitions,\n getUserProjectSubscriptions,\n getSubscription,\n toogleAnonymous,\n getNewSubscriptionsInsightsFromPeriod,\n getNewSubscriptionsInsightsFromLastWeek,\n getNewSubscriptionsInsightsFromLast2Week\n};\n\nexport default subscriptionVM;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport moment, { min } from 'moment';\nimport _ from 'underscore';\nimport { catarse, catarseMoments, commonAnalytics } from '../api';\nimport models from '../models';\nimport h from '../h';\nimport projectDashboardMenu from '../c/project-dashboard-menu';\nimport projectDataChart from '../c/project-data-chart';\nimport projectInviteCard from '../c/project-invite-card';\nimport subscriptionsPerMonthTable from '../c/subscriptions-per-month-table';\nimport projectGoalsBoxDashboard from './project-goals-box-dashboard';\nimport insightsInfoBox from './insights-info-box';\nimport projectGoalsVM from '../vms/project-goals-vm';\nimport subscriptionVM from '../vms/subscription-vm';\nimport userVM from '../vms/user-vm';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.insights');\n\nconst projectInsightsSub = {\n oninit: function(vnode) {\n const filtersVM = vnode.attrs.filtersVM,\n visitorsTotal = prop(0),\n visitorLoader = catarseMoments.loaderWithToken,\n loader = commonAnalytics.loaderWithToken,\n visitorsPerDay = prop([]);\n const insightResumeDataLastWeek = prop({\n mean_amount : 0, \n subscriptions_count : 0, \n total_amount : 0\n });\n const insightResumeDataLast2Week = prop({\n mean_amount : 0, \n subscriptions_count : 0, \n total_amount : 0\n });\n const subscriptionsPerDay = prop([]);\n const weekTransitions = prop([]);\n const lastWeekTransitions = prop([]);\n const subscriptionsPerMonth = prop([]);\n const isSubscriptionsPerMonthLoaded = prop(false);\n const balanceData = prop(null);\n const subVM = commonAnalytics.filtersVM({\n project_id: 'eq',\n });\n const processVisitors = data => {\n if (!_.isEmpty(data)) {\n visitorsPerDay(data);\n visitorsTotal(_.first(data).total);\n }\n };\n const requestRedraw = h.createRequestAutoRedraw(\n subscriptionsPerDay,\n weekTransitions,\n lastWeekTransitions,\n subscriptionsPerMonth,\n isSubscriptionsPerMonthLoaded,\n balanceData\n );\n\n subscriptionVM\n .getNewSubscriptionsInsightsFromLastWeek(vnode.attrs.project.common_id)\n .then(insights => {\n insightResumeDataLastWeek(insights);\n h.redraw();\n });\n\n subscriptionVM\n .getNewSubscriptionsInsightsFromLast2Week(vnode.attrs.project.common_id)\n .then(insightsLast2Weeks => {\n insightResumeDataLast2Week(insightsLast2Weeks);\n h.redraw();\n });\n\n subVM.project_id(vnode.attrs.project.common_id);\n const lVisitorsPerDay = visitorLoader(models.projectVisitorsPerDay.getRowOptions(filtersVM.parameters()));\n lVisitorsPerDay\n .load()\n .then(processVisitors)\n .then(requestRedraw);\n\n const lSubscriptionsPerDay = loader(models.projectSubscriptionsPerDay.getRowOptions(subVM.parameters()));\n lSubscriptionsPerDay\n .load()\n .then(subscriptionsPerDay)\n .then(requestRedraw);\n\n subscriptionVM\n .getSubscriptionTransitions(vnode.attrs.project.common_id, ['inactive', 'canceled'], 'active', moment().utc().subtract(1, 'weeks').format(), moment().utc().format())\n .then(weekTransitions)\n .then(requestRedraw);\n\n subscriptionVM\n .getSubscriptionTransitions(\n vnode.attrs.project.common_id,\n ['inactive', 'canceled'],\n 'active',\n moment()\n .utc()\n .subtract(2, 'weeks')\n .format(),\n moment()\n .utc()\n .subtract(1, 'weeks')\n .format()\n )\n .then(lastWeekTransitions)\n .then(requestRedraw);\n\n subscriptionVM.getSubscriptionsPerMonth(vnode.attrs.project.common_id).then(subscriptions => {\n subscriptionsPerMonth(subscriptions);\n isSubscriptionsPerMonthLoaded(true);\n requestRedraw();\n });\n\n projectGoalsVM.fetchGoals(filtersVM.project_id());\n const balanceLoader = userVM.getUserBalance(vnode.attrs.project.user_id);\n balanceLoader.then(balanceData).then(requestRedraw);\n\n vnode.state = {\n subscriptionsPerMonth,\n weekTransitions,\n lastWeekTransitions,\n projectGoalsVM,\n lVisitorsPerDay,\n lSubscriptionsPerDay,\n subscriptionsPerDay,\n visitorsTotal,\n visitorsPerDay,\n balanceLoader,\n balanceData,\n isSubscriptionsPerMonthLoaded,\n insightResumeDataLastWeek,\n insightResumeDataLast2Week\n };\n },\n view: function({state, attrs}) {\n const project = attrs.project,\n subscribersDetails = attrs.subscribersDetails,\n balanceData = (state.balanceData() && !_.isNull(_.first(state.balanceData())) ? _.first(state.balanceData()) : null);\n \n const atLeastZero = num => (num === null || isNaN(num)) ? 0 : Math.max(0, num);\n const averageAmount = atLeastZero(state.insightResumeDataLastWeek().mean_amount) / 100.0;\n const totalAmountFromLastWeek = atLeastZero(state.insightResumeDataLastWeek().total_amount) / 100.0;\n const totalAmountFromLast2Week = atLeastZero(state.insightResumeDataLast2Week().total_amount) / 100.0;\n\n return m('.project-insights', !attrs.l() ? [\n m(`.w-section.section-product.${project.mode}`),\n (project.is_owner_or_admin ? m(projectDashboardMenu, {\n project: prop(project)\n }) : ''),\n m('.dashboard-header.section-one-column', [\n m('.u-marginbottom-30.u-text-center', [\n m('.fontsize-larger.fontweight-semibold',\n `Olá, ${project.user.public_name || project.user.name}!`\n ),\n m('.fontsize-smaller',\n `Este é o retrato de sua campanha hoje, ${moment().format('DD [de] MMMM [de] YYYY')}`\n )\n ]),\n m('.w-container', [\n m('.flex-row.u-marginbottom-40.u-text-center-small-only', [\n subscribersDetails && !_.isEmpty(state.projectGoalsVM.goalsData()) ?\n m(projectGoalsBoxDashboard, {\n goalDetails: state.projectGoalsVM.goalsData,\n amount: subscribersDetails.amount_paid_for_valid_period\n }) : '',\n m('.card.card-terciary.flex-column.u-marginbottom-10.u-radius', [\n m('.fontsize-small.u-marginbottom-10',\n 'Assinaturas ativas'\n ),\n m('.fontsize-largest.fontweight-semibold',\n subscribersDetails.total_subscriptions\n )\n ]),\n m('.card.card-terciary.flex-column.u-marginbottom-10.u-radius', [\n m('.fontsize-small.u-marginbottom-10',\n 'Receita Mensal'\n ),\n m('.fontsize-largest.fontweight-semibold.u-marginbottom-10',\n `R$${h.formatNumber(subscribersDetails.amount_paid_for_valid_period, 2, 3)}`\n ),\n m('.fontsize-mini.fontcolor-secondary.lineheight-tighter',\n 'Com base nas assinaturas ativas que você possui hoje (taxas já descontadas).'\n )\n ]),\n m('.card.flex-column.u-marginbottom-10.u-radius', [\n m('.fontsize-small.u-marginbottom-10', [\n 'Saldo',\n m.trust(' '),\n ' ',\n m(`a.btn-inline.btn-terciary.fontsize-smallest.u-radius[href='/users/${project.user_id}/edit#balance'][target='_self']`,\n 'Sacar'\n )\n ]),\n m('.fontsize-largest.fontweight-semibold.text-success.u-marginbottom-10',\n (balanceData && balanceData.amount ? `R$${h.formatNumber(balanceData.amount, 2, 3)}` : '')\n ),\n m('.fontsize-mini.fontcolor-secondary.lineheight-tighter',\n 'O saldo demora até 20 mins após o pagamento para ser atualizado.'\n )\n ])\n ]),\n (project.state === 'online' && !project.has_cancelation_request ? m('.w-container.u-marginbottom-60', m(projectInviteCard, {\n project\n })) : ''),\n\n m('.u-marginbottom-30', [\n m('.flex-row.u-marginbottom-40.u-text-center-small-only', [\n m('.flex-column.card.u-radius.u-marginbottom-10', [\n m('div',\n 'Receita média por assinatura'\n ),\n m('.fontsize-smallest.fontcolor-secondary.lineheight-tighter',\n `em ${moment().format('DD/MM/YYYY')}`\n ),\n m('.fontsize-largest.fontweight-semibold',\n `R$${averageAmount ? `${h.formatNumber(averageAmount, 2, 3)}` : '--'}`\n )\n\n ]),\n m(insightsInfoBox, {\n label: 'Novos Assinantes',\n info: state.insightResumeDataLastWeek().subscriptions_count,\n newCount: state.insightResumeDataLastWeek().subscriptions_count,\n oldCount: state.insightResumeDataLast2Week().subscriptions_count\n }),\n m(insightsInfoBox, {\n label: 'Nova receita',\n info: `R$${h.formatNumber(totalAmountFromLastWeek, 2, 3)}`,\n newCount: totalAmountFromLastWeek,\n oldCount: totalAmountFromLast2Week\n })\n ]),\n m(\".fontsize-large.fontweight-semibold.u-marginbottom-10.u-text-center[id='origem']\", [\n window.I18n.t('visitors_per_day_label', I18nScope())\n ]),\n m('.u-text-center.fontsize-smaller.fontcolor-secondary.lineheight-tighter.u-marginbottom-20', [\n window.I18n.t('last_30_days_indication', I18nScope())\n ])\n ]), !state.lVisitorsPerDay() ? m(projectDataChart, {\n collection: state.visitorsPerDay,\n dataKey: 'visitors',\n limitDataset: 30,\n xAxis: item => h.momentify(item.day),\n emptyState: window.I18n.t('visitors_per_day_empty', I18nScope())\n }) : h.loader(),\n\n m('.u-text-center', {\n style: {\n 'min-height': '300px'\n }\n }, [!state.lSubscriptionsPerDay() ? m(projectDataChart, {\n collection: state.subscriptionsPerDay,\n label: window.I18n.t('amount_per_day_label_sub', I18nScope()),\n subLabel: window.I18n.t('paid_date_indication', I18nScope()),\n dataKey: 'total_amount',\n xAxis: item => h.momentify(item.paid_at),\n emptyState: m.trust(window.I18n.t('amount_per_day_empty_sub', I18nScope()))\n }) : h.loader()]),\n m('.u-text-center', {\n style: {\n 'min-height': '300px'\n }\n }, [!state.lSubscriptionsPerDay() ? m(projectDataChart, {\n collection: state.subscriptionsPerDay,\n label: window.I18n.t('contributions_per_day_label_sub', I18nScope()),\n subLabel: window.I18n.t('paid_date_indication', I18nScope()),\n dataKey: 'total',\n xAxis: item => h.momentify(item.paid_at),\n emptyState: m.trust(window.I18n.t('contributions_per_day_empty_sub', I18nScope()))\n }) : h.loader()]),\n (state.isSubscriptionsPerMonthLoaded() ?\n m(subscriptionsPerMonthTable, { data: state.subscriptionsPerMonth() }) : h.loader())\n ]),\n ]),\n ]\n : h.loader()\n );\n },\n};\n\nexport default projectInsightsSub;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse, commonAnalytics } from '../api';\nimport _ from 'underscore';\nimport h from '../h';\nimport models from '../models';\nimport projectInsights from '../c/project-insights';\nimport projectInsightsSub from '../c/project-insights-sub';\n\nconst insights = {\n oninit: function(vnode) {\n const filtersVM = catarse.filtersVM({\n project_id: 'eq'\n }),\n projectDetails = prop([]),\n subscribersDetails = prop(),\n load = prop(false),\n loader = catarse.loaderWithToken,\n isProjectNotLoader = prop(true),\n setProjectId = () => {\n try {\n const project_id = m.route.param('project_id');\n\n filtersVM.project_id(project_id);\n } catch (e) {\n filtersVM.project_id(vnode.attrs.root.getAttribute('data-id'));\n }\n };\n\n setProjectId();\n const l = loader(models.projectDetail.getRowOptions(filtersVM.parameters()));\n\n l.load().then((data) => {\n projectDetails(data);\n if (_.first(data).mode === 'sub') {\n const l2 = commonAnalytics.loaderWithToken(models.projectSubscribersInfo.postOptions({\n id: _.first(data).common_id\n }));\n l2.load().then((subData) => { \n subscribersDetails(subData); \n load(true); \n isProjectNotLoader(false);\n h.redraw();\n })\n .catch(() => {\n isProjectNotLoader(false);\n h.redraw();\n });\n }\n else {\n isProjectNotLoader(false);\n h.redraw();\n }\n });\n vnode.state = {\n l,\n load,\n filtersVM,\n subscribersDetails,\n projectDetails,\n isProjectNotLoader\n };\n },\n view: function({state, attrs}) {\n const project = _.first(state.projectDetails()) || {\n user: {\n name: 'Realizador'\n }\n },\n subscribersDetails = state.subscribersDetails() || {\n amount_paid_for_valid_period: 0,\n total_subscriptions: 0,\n total_subscribers: 0\n };\n\n if (!state.l()) {\n project.user.name = project.user.name || 'Realizador';\n }\n\n return m('.project-insights', state.isProjectNotLoader() ? h.loader() : (\n project.mode === 'sub' ?\n (\n state.load() ?\n m(projectInsightsSub, {\n attrs,\n subscribersDetails,\n project,\n l: state.isProjectNotLoader,\n filtersVM: state.filtersVM\n }) : '' \n )\n :\n (\n m(projectInsights, {\n attrs,\n project,\n l: state.isProjectNotLoader,\n filtersVM: state.filtersVM\n })\n )\n ));\n }\n};\n\nexport default insights;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport moment from 'moment';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.dashboard_posts');\n\nconst postsPreview = {\n oninit: function(vnode) {\n const togglePreview = () => {\n h.scrollTop();\n vnode.attrs.showPreview(false);\n },\n isLoading = prop(false),\n sendNotification = (e) => {\n e.preventDefault();\n isLoading(true);\n\n const notificationData = {\n title: vnode.attrs.title(),\n comment_html: vnode.attrs.comment_html(),\n rewards: vnode.attrs.rewards,\n recipients: vnode.attrs.recipients\n };\n\n m.request({\n method: 'POST',\n url: `/projects/${vnode.attrs.project_id}/posts.json`,\n data: {\n project_post: notificationData,\n project: vnode.attrs.project_id\n },\n config: h.setCsrfToken\n }).then(() => {\n isLoading(false);\n vnode.attrs.showSuccess(true);\n vnode.attrs.comment_html('');\n vnode.attrs.title('');\n togglePreview();\n m.redraw();\n }).catch((err) => {\n isLoading(false);\n vnode.attrs.errors('Erro ao enviar mensagem.'),\n vnode.attrs.showError(true);\n m.redraw();\n });\n };\n \n vnode.state = {\n sendNotification,\n togglePreview,\n isLoading\n };\n },\n view: function({state, attrs}) {\n const comment_html = attrs.comment_html(),\n title = attrs.title(),\n recipientsText = attrs.recipients === 'rewards' ?\n m('.fontsize-small.u-marginbottom-30', [\n `A novidade acima será enviada por email para os ${attrs.confirmationLabel} de `,\n m('span.fontweight-semibold', attrs.rewardText),\n ' e ficará ',\n m('span.fontweight-semibold', window.I18n.t(`backers_only_${attrs.mode}`, I18nScope()))\n ]) \n :\n attrs.recipients === 'backers' ?\n m('.fontsize-small.u-marginbottom-30', [\n m('span', ' A novidade acima será '),\n m('span.fontweight-semibold', window.I18n.t(`email_backers_${attrs.mode}`, I18nScope())),\n m('span', ' e ficará '),\n m('span.fontweight-semibold', 'visível somente para esses na plataforma.')\n ]) \n :\n m('.fontsize-small.u-marginbottom-30', [\n 'A novidade acima será ',\n m('span.fontweight-semibold', 'enviada por email para todos'),\n window.I18n.t(`all_backers_${attrs.mode}`, I18nScope()),\n m('span.fontweight-semibold', 'visível publicamente '),\n 'na plataforma.'\n ]);\n\n return (\n state.isLoading() ? h.loader() : \n m('div', [\n m('.dashboard-header.u-text-center',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-3'),\n m('.w-col.w-col-6',\n m('.fontsize-larger.fontweight-semibold.lineheight-tight',\n 'Revise sua novidade antes de enviar!'\n )\n ),\n m('.w-col.w-col-3')\n ])\n )\n ),\n m('.section', [\n m('.w-container',\n m('.card.u-marginbottom-60.u-radius.w-row', [\n m('.w-col.w-col-1'),\n m('.u-marginbottom-30.u-margintop-30.w-col.w-col-10.w-hidden-small.w-hidden-tiny', [\n m('.fontcolor-secondary.fontsize-small.u-text-center',\n h.momentify(moment(), 'DD/MM/YYYY')\n ),\n m('.fontsize-larger.fontweight-semibold.u-marginbottom-30.u-text-center',\n title\n ),\n m('.fontsize-base', m.originalTrust(comment_html))\n ]),\n m('.w-col.w-col-1')\n ])\n ),\n m('.w-row', [\n m('.w-col.w-col-3'),\n m('.w-col.w-col-6',\n recipientsText\n ),\n m('.w-col.w-col-3')\n ]),\n m('.u-marginbottom-20.w-row', [\n m('.w-col.w-col-3'),\n m('.w-sub-col.w-col.w-col-4',\n m('button.btn.btn-large', {\n onclick: state.sendNotification\n }, [\n m('span.fa.fa-paper-plane',\n ''\n ),\n ' ',\n m.trust(' '),\n 'Enviar'\n ])\n ),\n m('.w-col.w-col-2',\n m('button.btn.btn-large.btn-terciary', {\n onclick: state.togglePreview\n },\n 'Editar'\n )\n ),\n m('.w-col.w-col-3')\n ])\n ])\n ])\n );\n }\n};\n\nexport default postsPreview;\n","import m from 'mithril';\nimport h from '../h';\n\nconst postForRewardCheckbox = {\n view: function({attrs}) {\n const r = attrs.reward,\n reward_checkbox = attrs.reward_checkbox,\n chk_label = `R$${ h.formatNumber(parseInt(r.data.minimum_value))} - ${r.data.title ? r.data.title : `${r.data.description.substring(0, 30)}...`}`,\n sublabel = `${attrs.contributions_count} ${attrs.sublabel}`;\n\n return m('.u-marginbottom-10.w-checkbox', [\n m(`input.w-checkbox-input[type=checkbox]`, {\n onchange: () => reward_checkbox.toggle(),\n checked: reward_checkbox()\n }),\n m('label.fontsize-smaller.fontweight-semibold.lineheight-tighter.w-form-label', {\n onclick: () => reward_checkbox.toggle()\n }, chk_label),\n m('.fontsize-smallest.fontcolor-secondary.lineheight-tightest', sublabel)\n ]);\n }\n};\n\nexport default postForRewardCheckbox;","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst postEntry = {\n view: ({state, attrs}) => {\n const \n post = attrs.post,\n project = attrs.project,\n showOpenPercentage = attrs.showOpenPercentage,\n deletePost = attrs.deletePost,\n destinatedTo = attrs.destinatedTo;\n\n return m('.table-row.w-row', [\n m('.table-col.w-col.w-col-5', [\n m(`a.alt-link.fontsize-base[href='/projects/${project.project_id}/posts/${post.id}#posts'][target='_blank']`,\n post.title\n ),\n m('.fontcolor-secondary.fontsize-smallest', [\n m('span.fontweight-semibold',\n 'Enviada em: '\n ),\n h.momentify(post.created_at, 'DD/MM/YYYY, h:mm A')\n ]),\n m('.fontcolor-secondary.fontsize-smallest', [\n m('span.fontweight-semibold', 'Destinatários: '),\n m('span', destinatedTo)\n ])\n ]),\n m('.table-col.u-text-center.w-col.w-col-3',\n m('.fontsize-base',\n post.delivered_count\n )\n ),\n m('.table-col.u-text-center.w-col.w-col-3',\n m('.fontsize-base', [\n post.open_count,\n m('span.fontcolor-secondary', ` (${showOpenPercentage}%)`)\n ])\n ),\n m('.table-col.w-col.w-col-1',\n m('button.btn.btn-no-border.btn-small.btn-terciary.fa.fa-lg.fa-trash', {\n onclick: deletePost()\n })\n )\n ]);\n }\n};\n\nexport default postEntry;","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport h from '../h';\nimport models from '../models';\nimport projectDashboardMenu from '../c/project-dashboard-menu';\nimport postsPreview from '../c/posts-preview';\nimport rewardVM from '../vms/reward-vm';\nimport projectVM from '../vms/project-vm';\nimport popNotification from '../c/pop-notification';\nimport postForRewardCheckbox from '../c/post-for-reward-checkbox';\nimport postEntry from '../c/post-entry';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.dashboard_posts');\n\nconst posts = {\n oninit: function(vnode) {\n let deleteFormSubmit;\n const showPreview = prop(false),\n willSelectRewards = prop(false),\n isProjectLoaded = prop(false),\n isProjectPostsLoaded = prop(false),\n showSuccess = prop(false),\n showError = prop(false),\n selectedRewardsHasError = prop(false),\n titleHasError = prop(false),\n commentHasError = prop(false),\n projectPosts = prop(),\n loader = catarse.loaderWithToken,\n errors = prop(''),\n fields = {\n title: prop(''),\n comment_html: prop(''),\n recipients: prop('public'),\n radio_checked: prop(false),\n paid_rewards: prop([]),\n get_selected_rewards_text: () => {\n if (fields.recipients === 'public') {\n return window.I18n.t(`everyone_${project.mode}`, I18nScope())\n }\n else if (fields.recipients === 'backers') {\n return window.I18n.t(`backers_${project.mode}`, I18nScope())\n }\n else {\n return fields\n .get_selected_rewards()\n .map(rc => `R$${h.formatNumber(parseInt(rc.reward.data.minimum_value))}${rc.reward.data.title ? ` - ${rc.reward.data.title}` : ''}`).join(', ');\n } \n },\n get_selected_rewards: () => { \n return _.filter(fields.paid_rewards(), rc => rc.checked());\n },\n get_selected_reward_ids: () => {\n const project = _.first(projectDetails());\n const isSubscription = projectVM.isSubscription(project);\n const getRewardId = (r) => isSubscription ? r.external_id : r.id;\n return _.map(fields.get_selected_rewards(), rc => getRewardId(rc.reward));\n } \n },\n filterVM = catarse.filtersVM({\n project_id: 'eq'\n }),\n validateTitle = () => {\n const title = String(fields.title());\n if (title.length === 0) {\n titleHasError(true);\n }\n\n return !titleHasError();\n },\n validateComment = () => {\n const comment = String(fields.comment_html());\n if (comment.length === 0) {\n commentHasError(true);\n }\n\n return !commentHasError();\n },\n validateSelectedRewards = () => {\n const wants_to_send_to_ones_who_paid_for_rewards = fields.recipients() === 'rewards';\n const wants_to_send_to_backers_or_public = !wants_to_send_to_ones_who_paid_for_rewards;\n const has_selected_at_least_one_reward = fields.get_selected_rewards().length > 0;\n const validation_is_ok = wants_to_send_to_backers_or_public || (wants_to_send_to_ones_who_paid_for_rewards && has_selected_at_least_one_reward);\n selectedRewardsHasError(!validation_is_ok);\n\n return validation_is_ok;\n },\n togglePreview = () => {\n if (!validateTitle()) {\n errors('Título não pode ficar em branco.');\n showError(true);\n } else if (!validateComment()) {\n errors('Mensagem não pode ficar em branco.');\n showError(true);\n } else if (!validateSelectedRewards()) {\n errors('É necessário selecionar pelo menos uma recompensa.');\n showError(true);\n } else {\n h.scrollTop();\n showPreview(true);\n }\n return false;\n },\n project_id = vnode.attrs.project_id,\n projectDetails = prop([]),\n rewardText = (rewardId, project) => {\n // @TODO move non-sub rewards to common API\n if (projectVM.isSubscription(project)) {\n const reward = _.find(rewardVM.rewards(), r => String(r.external_id) === String(rewardId));\n return `Assinantes da recompensa R$${reward.data.minimum_value / 100} - ${reward.data.title ? reward.data.title : `${reward.data.description.substring(0, 70)}...`}`;\n }\n const reward = _.find(rewardVM.rewards(), r => String(r.id) === String(rewardId));\n return `Apoiadores da recompensa R$${reward.minimum_value} - ${reward.title ? reward.title : `${reward.description.substring(0, 70)}...`}`;\n },\n showRecipientes = (post, project) => {\n if (post.recipients === 'public') {\n return window.I18n.t(`everyone_${project.mode}`, I18nScope());\n } else if (post.recipients === 'backers') {\n return window.I18n.t(`backers_${project.mode}`, I18nScope());\n } else if (post.rewards_that_can_access_post && post.rewards_that_can_access_post.length) {\n const preText = project.mode === 'sub' ? 'Assinantes de ' : 'Apoiadores de ';\n return preText + _.map(\n post.rewards_that_can_access_post, \n reward => `R$${h.formatNumber(reward.minimum_value)}${reward.title ? ` - ${reward.title}` : ''}`\n ).join(', ');\n } else {\n return '...';\n }\n },\n toDeletePost = prop(-1),\n deletePost = post => () => {\n toDeletePost(post.id);\n m.redraw(true);\n deleteFormSubmit();\n return false;\n },\n setPostDeletionForm = (localVnode) => {\n deleteFormSubmit = () => localVnode.dom.submit();\n },\n openedPercentage = post => (Math.floor((post.open_count / post.delivered_count) * 100) || 0);\n\n models.projectPostDetail.pageSize(false);\n filterVM.project_id(project_id);\n const listVM = catarse.loaderWithToken(models.projectPostDetail.getPageOptions(_.extend(filterVM.parameters(), { order: 'created_at.desc' }))),\n l = loader(models.projectDetail.getRowOptions(filterVM.parameters()));\n\n listVM.load().then((posts) => {\n projectPosts(posts);\n isProjectPostsLoaded(true);\n h.redraw();\n });\n\n const filterOnlyPaidRewards = (r) => {\n const project = _.first(projectDetails()),\n isSubscription = projectVM.isSubscription(project);\n\n return (isSubscription ? r.subscribed_count : r.paid_count > 0) || false;\n };\n\n const createCheckboxesControlForRewardSelected = (rewards) => {\n const filteredRewards = _.filter(rewards, filterOnlyPaidRewards);\n const paidRewardsSorted = _.sortBy(filteredRewards, pr => parseInt(pr.data.minimum_value));\n const checkboxesArray = paidRewardsSorted.map(pr => { \n return {\n checked: h.toggleProp(false, true),\n reward: pr\n };\n });\n \n fields.paid_rewards(checkboxesArray);\n h.redraw();\n return rewards;\n };\n\n const addDataFieldToNoCommonRewards = (rewards) => rewards ? rewards.map(r => _.extend(r, { data: r })) : [];\n const remapMinimumValue = (rewards) => rewards.map(r => { \n r.data.minimum_value = parseInt(r.data.minimum_value) / 100; \n return r;\n });\n\n l.load().then((data) => {\n projectDetails(data);\n if (projectVM.isSubscription(_.first(projectDetails()))) {\n rewardVM\n .fetchCommonRewards(_.first(projectDetails()).common_id)\n .then(remapMinimumValue)\n .then(createCheckboxesControlForRewardSelected)\n .then(() => h.redraw());\n \n } else {\n rewardVM\n .fetchRewards(project_id)\n .then(addDataFieldToNoCommonRewards)\n .then(createCheckboxesControlForRewardSelected)\n .then(() => h.redraw());\n }\n\n isProjectLoaded(true);\n });\n\n vnode.state = {\n listVM,\n l,\n projectPosts,\n showRecipientes,\n fields,\n showPreview,\n togglePreview,\n project_id,\n deletePost,\n rewardText,\n errors,\n showSuccess,\n selectedRewardsHasError,\n titleHasError,\n commentHasError,\n showError,\n setPostDeletionForm,\n toDeletePost,\n projectDetails,\n openedPercentage,\n isProjectPostsLoaded,\n isProjectLoaded\n };\n },\n view: function({state}) {\n \n const project = _.first(state.projectDetails()),\n isSubscription = projectVM.isSubscription(project),\n recipients = state.fields.recipients;\n\n return (state.isProjectLoaded() && state.isProjectPostsLoaded()) ? m('.project-posts',\n (project.is_owner_or_admin ? m(projectDashboardMenu, {\n project: prop(project)\n }) : ''),\n state.showPreview() ? m(postsPreview, {\n showError: state.showError,\n showSuccess: state.showSuccess,\n errors: state.errors,\n showPreview: state.showPreview,\n project_id: state.project_id,\n mode: project.mode,\n comment_html: state.fields.comment_html,\n title: state.fields.title,\n recipients: state.fields.recipients(),\n rewards: state.fields.get_selected_reward_ids(),\n confirmationLabel: isSubscription ? 'assinantes' : 'apoiadores',\n rewardText: state.fields.get_selected_rewards_text()\n }) : [\n m(`.w-section.section-product.${project.mode}`),\n (state.showSuccess() ? m(popNotification, {\n message: window.I18n.t('successful', I18nScope())\n }) : ''),\n (state.showError() ? m(popNotification, {\n message: state.errors(),\n error: true\n }) : ''),\n m('.dashboard-header.u-text-center',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-3'),\n m('.w-col.w-col-6',\n m('.fontsize-larger.fontweight-semibold.lineheight-tight',\n window.I18n.t(`send_a_message_${project.mode}`, I18nScope())\n )\n ),\n m('.w-col.w-col-3')\n ])\n )\n ), m('.section', m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-10', [\n (\n isSubscription ? '' :\n m('.u-marginbottom-60.u-text-center',\n m('._w-inline-block.card.fontsize-small.u-radius', [\n m('span.fa.fa-lightbulb-o',\n ''\n ),\n ' Veja ótimo motivos para ',\n m('a.alt-link[href=\\'https://catarse.attach.io/B1AHAGm1x\\'][target=\\'_blank\\']',\n 'falar com seus apoiadores agora mesmo!'\n )\n ])\n )\n ),\n m('.card.card-terciary.medium.u-marginbottom-80.w-form', [\n m('form', [\n m('label.field-label.fontweight-semibold',\n 'Destinatários'\n ),\n\n\n //////////// START DESTINATIONS\n m('.u-marginbottom-20', [\n // TO EVERYONE\n m('.fontsize-small.w-radio', [\n m(`input.w-radio-input[type=radio][value='public']`, {\n checked: recipients() === 'public',\n onchange: m.withAttr('value', recipients)\n }),\n m('label.w-form-label', {\n onclick: () => recipients('public')\n }, window.I18n.t(`everyone_${project.mode}`, I18nScope()))\n ]),\n\n // TO CONTRIBUTORS/SUBSCRIBERS\n m('.fontsize-small.w-radio', [\n m(`input.w-radio-input[type=radio][value='backers']`, {\n checked: recipients() === 'backers',\n onchange: m.withAttr('value', recipients)\n }),\n m('label.w-form-label', {\n onclick: () => recipients('backers')\n }, window.I18n.t(`backers_${project.mode}`, I18nScope()))\n ]),\n\n // TO SOME CONTRIBUTORS/SUBSCRIBERS\n (\n state.fields.paid_rewards().length === 0 ? '' :\n m('.fontsize-small.w-radio', [\n m(`input.w-radio-input[type=radio][value='rewards']`, {\n checked: recipients() === 'rewards',\n onchange: m.withAttr('value', recipients)\n }),\n m('label.w-form-label', {\n onclick: () => recipients('rewards')\n }, window.I18n.t(`backers_some_${project.mode}`, I18nScope()))\n ])\n ),\n\n // SOME SELECTION CHECKBOXES CONTRIBUTORS/SUBSCRIBERS\n (\n recipients() !== 'rewards' ? '' : \n m('.card.u-radius', {\n class: state.selectedRewardsHasError() ? 'card-message-error' : '',\n onclick: () => { \n state.selectedRewardsHasError(false);\n state.showError(false);\n }\n },\n _.map(state.fields.paid_rewards(), \n pr => m(postForRewardCheckbox, {\n reward_checkbox: pr.checked,\n reward: pr.reward,\n contributions_count: isSubscription ? pr.reward.subscribed_count : pr.reward.paid_count,\n sublabel: isSubscription ? 'assinantes' : 'apoiadores'\n })\n )\n )\n )\n ]),\n\n //////////// END DESTINATIONS\n\n m('label.field-label.fontweight-semibold',\n 'Título'\n ),\n m('input.positive.text-field.w-input[id=\\'post_title\\'][maxlength=\\'256\\'][type=\\'text\\']', {\n name: 'posts[title]',\n value: state.fields.title(),\n onfocus: () => {\n state.titleHasError(false);\n state.showError(false);\n },\n class: state.titleHasError() ? 'error' : '',\n onchange: m.withAttr('value', state.fields.title)\n }),\n m('label.field-label.fontweight-semibold',\n 'Texto'\n ),\n m('.preview-container.u-marginbottom-40', {\n class: state.commentHasError() ? 'error' : '',\n onclick: () => {\n state.commentHasError(false);\n state.showError(false);\n }\n }, h.redactor('posts[comment_html]', state.fields.comment_html)),\n m('.u-marginbottom-20.w-row', [\n m('.w-col.w-col-3'),\n m('.w-sub-col.w-col.w-col-6',\n m('button.btn.btn-large', {\n onclick: state.togglePreview\n },\n window.I18n.t('preview', I18nScope())\n )\n ),\n m('.w-col.w-col-3')\n ])\n ])\n ]),\n m('.fontsize-large.fontweight-semibold.u-marginbottom-40',\n 'Novidades já enviadas'\n ),\n m('.table-outer.u-marginbottom-60', [\n m('.fontsize-smaller.fontweight-semibold.header.table-row.w-row', [\n m('.table-col.w-col.w-col-5',\n m('div',\n 'Título'\n )\n ),\n m('.table-col.u-text-center.w-col.w-col-3',\n m('div',\n 'Enviadas'\n )\n ),\n m('.table-col.u-text-center.w-col.w-col-3',\n m('div',\n 'Abertas'\n )\n ),\n m('.table-col.w-col.w-col-1')\n ]),\n (state.projectPosts() ? m('.fontsize-small.table-inner', [\n _.map(state.projectPosts(),\n post => m(postEntry, {\n post,\n project,\n destinatedTo: state.showRecipientes(post, project),\n showOpenPercentage: state.openedPercentage(post),\n deletePost: () => state.deletePost(post)\n })\n ),\n m('form.w-hidden', {\n action: `/${window.I18n.locale}/projects/${project.project_id}/posts/${state.toDeletePost()}`,\n method: 'POST',\n oncreate: state.setPostDeletionForm\n }, [\n m('input[name=\\'utf8\\'][type=\\'hidden\\'][value=\\'✓\\']'),\n m('input[name=\\'_method\\'][type=\\'hidden\\'][value=\\'delete\\']'),\n m(`input[name='authenticity_token'][type='hidden'][value='${h.authenticityToken()}']`)\n ])\n\n ]) : h.loader())\n ])\n ]),\n m('.w-col.w-col-1')\n ])\n ))\n ]) : h.loader();\n }\n};\n\nexport default posts;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport moment from 'moment';\nimport h from '../h';\nimport models from '../models';\nimport projectDashboardMenu from '../c/project-dashboard-menu';\nimport rewardVM from '../vms/reward-vm';\nimport projectVM from '../vms/project-vm';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.reward_fields');\nconst surveyScope = _.partial(h.i18nScope, 'projects.dashboard_surveys');\n\nconst surveys = {\n oninit: function(vnode) {\n const loader = catarse.loaderWithToken,\n filterVM = catarse.filtersVM({\n project_id: 'eq'\n }),\n {\n project_id\n } = vnode.attrs,\n toggleOpen = (reward) => {\n m.request({\n method: 'GET',\n config: h.setCsrfToken,\n url: `/projects/${reward.project_id}/rewards/${reward.id}/toggle_survey_finish`\n }).then(() => {\n // just to avoid another request\n if (reward.survey_finished_at) {\n reward.survey_finished_at = null;\n } else reward.survey_finished_at = moment().format();\n m.redraw();\n });\n },\n projectDetails = prop([]);\n\n filterVM.project_id(project_id);\n const l = loader(models.projectDetail.getRowOptions(filterVM.parameters()));\n\n rewardVM.fetchRewards(project_id).then(() => {\n _.map(rewardVM.rewards(), (reward) => {\n _.extend(reward, {\n sentCount: '',\n answeredCount: ''\n });\n const l = catarse.loaderWithToken(models.sentSurveyCount.postOptions({\n reward_id: reward.id\n }));\n const l2 = catarse.loaderWithToken(models.answeredSurveyCount.postOptions({\n reward_id: reward.id\n }));\n\n l.load().then((data) => {\n reward.sentCount = data;\n });\n l2.load().then((data) => {\n reward.answeredCount = data;\n });\n });\n });\n l.load().then(projectDetails);\n\n vnode.state = {\n l,\n project_id,\n toggleOpen,\n rewardVM,\n projectDetails,\n };\n },\n view: function({state}) {\n\n const project = _.first(state.projectDetails());\n const canBeCreated = reward => !reward.survey_sent_at && ((reward.maximum_contributions && (reward.paid_count >= reward.maximum_contributions)) || project.state !== 'online');\n const cannotBeCreated = reward => !reward.survey_sent_at && project.state === 'online' && (!reward.maximum_contributions || (reward.paid_count < reward.maximum_contributions));\n const availableAction = (reward) => {\n if (canBeCreated(reward)) {\n return m('.w-col.w-col-3.w-col-small-small-stack.w-col-tiny-tiny-stack',\n m('a.btn.btn-small.w-button', {\n onclick: () => m.route.set(`/projects/${state.project_id}/rewards/${reward.id}/surveys/new`)\n },\n window.I18n.t('create_survey', surveyScope())\n )\n );\n } else if (cannotBeCreated(reward)) {\n return m('.w-col.w-col-3.w-col-small-3.w-col-tiny-tiny-stack',\n m('a.btn.btn-desactivated.btn-small.btn-terciary.w-button',\n window.I18n.t('create_survey', surveyScope())\n )\n );\n } else if (reward.survey_sent_at && !reward.survey_finished_at) {\n return m('.w-clearfix.w-col.w-col-3.w-col-small-3.w-col-tiny-3',\n m('.u-right.w-clearfix', [\n m('.fontcolor-secondary.fontsize-smallest.lineheight-tighter.u-marginbottom-10',\n 'Aceitando respostas?'\n ),\n m('.u-marginbottom-10.w-clearfix',\n m('a.toggle.toggle-on.u-right.w-clearfix.w-inline-block', {\n onclick: () => {\n state.toggleOpen(reward);\n }\n }, [\n m('.toggle-btn'),\n m('.u-right',\n 'SIM'\n )\n ])\n ),\n m('.u-right', [\n m('.fontcolor-secondary.fontsize-mini.lineheight-tighter',\n 'Enviado em:'\n ),\n m('.fontcolor-secondary.fontsize-mini.lineheight-tighter',\n h.momentify(reward.survey_sent_at, 'DD/MM/YYYY')\n )\n ])\n ])\n );\n }\n\n return m('.w-clearfix.w-col.w-col-3.w-col-small-3.w-col-tiny-3',\n m('.u-right', [\n m('.fontcolor-secondary.fontsize-smallest.lineheight-tighter.u-marginbottom-10',\n 'Aceitando respostas?'\n ),\n m('.u-marginbottom-10.w-clearfix',\n m('a.toggle.toggle-off.u-right.w-inline-block', {\n onclick: () => {\n state.toggleOpen(reward);\n }\n }, [\n m('div',\n 'NÃO'\n ),\n m('.toggle-btn.toggle-btn--off')\n ])\n ),\n m('.u-right', [\n m('.fontcolor-secondary.fontsize-mini.lineheight-tighter',\n 'Finalizado em:'\n ),\n m('.fontcolor-secondary.fontsize-mini.lineheight-tighter',\n h.momentify(reward.survey_finished_at, 'DD/MM/YYYY')\n )\n ])\n ])\n );\n };\n\n return project && !projectVM.isSubscription(project) ? m('.project-surveys',\n (project.is_owner_or_admin ? m(projectDashboardMenu, {\n project: prop(project)\n }) : ''),\n m('.section',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8', [\n m('.fontsize-larger.fontweight-semibold.lineheight-looser.u-text-center',\n window.I18n.t('title', surveyScope())\n ),\n m('.fontsize-base.u-text-center',\n window.I18n.t('subtitle', surveyScope())\n ),\n m('.u-margintop-20.u-text-center',\n m('.w-inline-block.card.fontsize-small.u-radius', [\n m('span.fa.fa-lightbulb-o',\n ''\n ),\n m.trust(' '),\n m.trust(window.I18n.t('help_link', surveyScope()))\n ])\n )\n ]),\n m('.w-col.w-col-2')\n ])\n )\n ),\n m('.divider'),\n m('.before-footer.bg-gray.section',\n m('.w-container', [\n (project.state === 'online' ?\n m('.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8',\n m('.card.card-message.u-marginbottom-40.u-radius',\n m('.fontsize-base', [\n m('span.fa.fa-exclamation-circle',\n ''\n ),\n window.I18n.t('online_explanation', surveyScope())\n ])\n )\n ),\n m('.w-col.w-col-2')\n ]) : ''),\n m('.table-outer.u-marginbottom-60', [\n m('.fontweight-semibold.header.table-row.w-hidden-small.w-hidden-tiny.w-row', [\n m('.table-col.w-col.w-col-3',\n m('div',\n 'Recompensa'\n )\n ),\n m('.table-col.w-col.w-col-9',\n m('.w-row', [\n m('.u-text-center-big-only.w-col.w-col-4.w-col-small-4.w-col-tiny-4',\n m('.w-row', [\n m('.w-col.w-col-6',\n m('div',\n 'Enviados'\n )\n ),\n m('.w-col.w-col-6',\n m('div',\n 'Respondidos'\n )\n )\n ])\n ),\n m('.u-text-center-big-only.w-col.w-col-5.w-col-small-5.w-col-tiny-5',\n m('div',\n 'Resultados'\n )\n ),\n m('.w-clearfix.w-col.w-col-3.w-col-small-3.w-col-tiny-3',\n m('.u-right')\n )\n ])\n )\n ]),\n m('.fontsize-small.table-inner', [\n (_.map(state.rewardVM.rewards(), reward => m('.table-row.w-row', [\n m('.table-col.w-col.w-col-3', [\n m('.fontsize-base.fontweight-semibold',\n `R$ ${reward.minimum_value} ou mais`\n ),\n m('.fontsize-smallest.fontweight-semibold',\n reward.title\n ),\n m('.fontcolor-secondary.fontsize-smallest.u-marginbottom-10',\n `${reward.description.substring(0, 90)}...`\n ),\n m('.fontcolor-secondary.fontsize-smallest', [\n m('span.fontcolor-terciary',\n 'Entrega prevista:'\n ),\n m.trust(' '),\n h.momentify(reward.deliver_at, 'MMMM/YYYY')\n ]),\n m('.fontcolor-secondary.fontsize-smallest', [\n m('span.fontcolor-terciary',\n 'Envio:'\n ),\n m.trust(' '),\n window.I18n.t(`shipping_options.${reward.shipping_options}`, I18nScope())\n ])\n ]),\n m('.table-col.w-col.w-col-9',\n m('.u-margintop-20.w-row', [\n m('.u-text-center-big-only.w-col.w-col-4.w-col-small-4.w-col-tiny-4',\n m('.w-row', [\n m('.w-col.w-col-6',\n (!canBeCreated(reward) && !cannotBeCreated(reward)) ?\n m('.fontsize-base', [\n m('span.fa.fa-paper-plane.fontcolor-terciary',\n ' '\n ),\n ` ${reward.sentCount}`\n ]) : ''\n ),\n m('.w-col.w-col-6',\n (!canBeCreated(reward) && !cannotBeCreated(reward)) ?\n m('.fontsize-base', [\n m('span.fa.fa-check-circle.fontcolor-terciary',\n ''\n ),\n ` ${reward.answeredCount}`,\n m('span.fontcolor-secondary',\n `(${reward.sentCount === 0 ? '0' : Math.floor((reward.answeredCount / reward.sentCount) * 100)}%)`\n )\n ]) : ''\n )\n ])\n ),\n m('.u-text-center-big-only.w-col.w-col-5.w-col-small-5.w-col-tiny-5', [\n // m('a.btn.btn-inline.btn-small.btn-terciary.fa.fa-eye.fa-lg.u-marginright-10.w-button'),\n (!canBeCreated(reward) && !cannotBeCreated(reward)) ?\n m('a.btn.btn-inline.btn-small.btn-terciary.fa.fa-eye.fa-lg.w-button[target=\\'_blank\\']', {\n href : `/projects/${project.project_id}/contributions_report?rewardId=${reward.id}`\n }) : ''\n ]),\n availableAction(reward)\n ])\n )\n ])))\n ])\n ])\n ])\n )) : h.loader();\n }\n};\n\nexport default surveys;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst openQuestionType = 'open',\n multipleQuestionType = 'multiple',\n newQuestion = () => ({\n type: openQuestionType,\n question: '',\n description: '',\n survey_question_choices_attributes: prop([\n {\n option: 'opção 1'\n },\n {\n option: 'opção 2'\n }\n ]),\n toggleDropdown: h.toggleProp(false, true)\n });\n\nconst dashboardQuestions = prop([newQuestion()]);\nconst confirmAddress = h.toggleProp(true, false);\nconst questionWithEmptyFields = prop([]);\n\nconst submitQuestions = rewardId => m.request({\n method: 'POST',\n url: `/rewards/${rewardId}/surveys`,\n data: {\n confirm_address: confirmAddress(),\n survey_open_questions_attributes: _.filter(dashboardQuestions(), { type: openQuestionType }),\n survey_multiple_choice_questions_attributes: _.filter(dashboardQuestions(), { type: multipleQuestionType })\n },\n config: h.setCsrfToken\n});\n\nconst updateIfQuestion = questionToUpdate => (question, idx) => {\n if (idx === _.indexOf(dashboardQuestions(), questionToUpdate)) {\n return questionToUpdate;\n }\n\n return question;\n};\n\nconst updateDashboardQuestion = questionToUpdate => _.compose(dashboardQuestions,\n _.map(dashboardQuestions(), updateIfQuestion(questionToUpdate))\n);\n\nconst addDashboardQuestion = _.compose(dashboardQuestions, () => {\n dashboardQuestions().push(newQuestion());\n\n return dashboardQuestions();\n});\n\nconst deleteDashboardQuestion = (question) => {\n dashboardQuestions(\n _.without(dashboardQuestions(), question)\n );\n};\n\nconst addMultipleQuestionOption = (question) => {\n question.survey_question_choices_attributes().push({ option: '' });\n\n return false;\n};\n\nconst deleteMultipleQuestionOption = (question, idx) => {\n question.survey_question_choices_attributes().splice(idx, 1);\n\n return false;\n};\n\nconst isValid = () => {\n questionWithEmptyFields([]);\n\n return _.reduce(dashboardQuestions(), (isValid, question) => {\n if (isValid === false) {\n return isValid;\n }\n\n question.error = false;\n\n if (question.question.trim() === '') {\n questionWithEmptyFields().push(question);\n question.error = true;\n\n return false;\n }\n\n return true;\n }, true);\n};\n\nconst surveyVM = {\n addDashboardQuestion,\n confirmAddress,\n dashboardQuestions,\n deleteDashboardQuestion,\n updateDashboardQuestion,\n deleteMultipleQuestionOption,\n addMultipleQuestionOption,\n submitQuestions,\n openQuestionType,\n multipleQuestionType,\n isValid\n};\n\nexport default surveyVM;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.reward_fields');\n\nconst rewardCardBig = {\n view: function({attrs}) {\n const reward = attrs.reward;\n\n return m('.card.u-radius', [\n m('.fontsize-large.fontweight-semibold.u-marginbottom-10',\n `R$${reward.minimum_value} ou mais${reward.title ? `: ${reward.title}` : ''}`\n ),\n m('.fontcolor-secondary.fontsize-small.u-marginbottom-20',\n `${reward.description.substring(0, 140)}...`\n ),\n m('.fontcolor-secondary.fontsize-smallest', [\n m('span.fontcolor-terciary',\n 'Entrega prevista: '\n ),\n h.momentify(reward.deliver_at, 'MMMM/YYYY'),\n m('span.fontcolor-terciary', ' | '),\n m('span.fontcolor-terciary', 'Envio: '),\n window.I18n.t(`shipping_options.${reward.shipping_options}`, I18nScope())\n ])\n ]);\n }\n};\n\nexport default rewardCardBig;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport rewardCardBig from './reward-card-big';\n\nconst I18nScope = _.partial(h.i18nScope, 'activerecord.attributes.address');\n\nconst surveyCreatePreview = {\n oninit: function(vnode) {\n const openQuestions = _.filter(vnode.attrs.surveyVM.dashboardQuestions(), { type: 'open' }),\n multipleChoiceQuestions = _.filter(vnode.attrs.surveyVM.dashboardQuestions(), { type: 'multiple' });\n const togglePreview = () => {\n vnode.attrs.showPreview.toggle();\n h.scrollTop();\n };\n\n vnode.state = {\n togglePreview,\n multipleChoiceQuestions,\n openQuestions\n };\n },\n view: function({state, attrs}) {\n return m('.section.u-marginbottom-40',\n m('.section.u-text-center',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8', [\n m('.fontsize-larger.fontweight-semibold.lineheight-looser',\n 'Revise o questionário'\n ),\n m('.fontsize-base',\n 'Os seus apoiadores irão receber um link para o questionário abaixo por email. Veja se está tudo correto antes de enviá-lo!'\n )\n ]),\n m('.w-col.w-col-2')\n ])\n )\n ),\n\n\n m('.section',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-10',\n m('.card.card-terciary.medium.u-marginbottom-30', [\n (attrs.confirmAddress ?\n m('.u-marginbottom-30.w-form', [\n m('.fontcolor-secondary.fontsize-base.fontweight-semibold',\n 'Endereço de entrega da recompensa'\n ),\n m('.fontcolor-secondary.fontsize-smaller.u-marginbottom-30',\n 'Para onde Nome do Realizador deve enviar sua recompensa quando estiver pronta.'\n ),\n m('form', [\n m('.w-row', [\n m('.w-sub-col.w-col.w-col-6', [\n m('label.field-label.fontweight-semibold',\n 'País / Country'\n ),\n m('select.positive.text-field.w-select', [\n m(\"option[value='']\",\n 'Selecione...'\n )\n ])\n ]),\n m('.w-col.w-col-6',\n m('.w-row', [\n m('.w-sub-col-middle.w-col.w-col-6.w-col-small-6.w-col-tiny-6'),\n m('.w-col.w-col-6.w-col-small-6.w-col-tiny-6')\n ])\n )\n ]),\n m('div', [\n m('label.field-label.fontweight-semibold',\n 'Rua'\n ),\n m(\"input.positive.text-field.w-input[type='email']\")\n ]),\n m('.w-row', [\n m('.w-sub-col.w-col.w-col-4', [\n m('label.field-label.fontweight-semibold',\n 'Número'\n ),\n m(\"input.positive.text-field.w-input[type='email']\")\n ]),\n m('.w-sub-col.w-col.w-col-4', [\n m('label.field-label.fontweight-semibold',\n 'Complemento'\n ),\n m(\"input.positive.text-field.w-input[type='email']\")\n ]),\n m('.w-col.w-col-4', [\n m('label.field-label.fontweight-semibold',\n 'Bairro'\n ),\n m(\"input.positive.text-field.w-input[type='email']\")\n ])\n ]),\n m('.w-row', [\n m('.w-sub-col.w-col.w-col-4', [\n m('label.field-label.fontweight-semibold',\n 'CEP'\n ),\n m(\"input.positive.text-field.w-input[type='email']\")\n ]),\n m('.w-sub-col.w-col.w-col-4', [\n m('label.field-label.fontweight-semibold',\n 'Cidade'\n ),\n m(\"input.positive.text-field.w-input[type='email']\")\n ]),\n m('.w-col.w-col-4', [\n m('label.field-label.fontweight-semibold',\n 'Estado'\n ),\n m('select.positive.text-field.w-select', [\n m(\"option[value='']\",\n 'Selecione...'\n )\n ])\n ])\n ]),\n m('.w-row', [\n m('.w-sub-col.w-col.w-col-6', [\n m('label.field-label.fontweight-semibold',\n 'Telefone'\n ),\n m(\"input.positive.text-field.w-input[type='email']\")\n ]),\n m('.w-col.w-col-6')\n ])\n ])\n ]) : ''),\n\n _.map(state.multipleChoiceQuestions, question =>\n m('.u-marginbottom-30.w-form', [\n m('.fontcolor-secondary.fontsize-base.fontweight-semibold',\n question.question\n ),\n m('.fontcolor-secondary.fontsize-smaller.u-marginbottom-20',\n question.description\n ),\n m('form', [\n _.map(question.survey_question_choices_attributes(), choice =>\n m('.fontsize-small.w-radio', [\n m(\"input.w-radio-input[type='radio'][value='Radio']\"),\n m('label.w-form-label',\n choice.option\n )\n ]))\n ])\n ])),\n _.map(state.openQuestions, question =>\n m('.u-marginbottom-30.w-form', [\n m('.fontcolor-secondary.fontsize-base.fontweight-semibold',\n question.question\n ),\n m('.fontcolor-secondary.fontsize-smaller.u-marginbottom-20',\n question.description\n ),\n m('form',\n m(\"input.positive.text-field.w-input[placeholder='Sua resposta'][type='text']\")\n )\n ]))\n ])\n ),\n m('.w-col.w-col-1')\n ])\n )\n ),\n m('.section', [\n m('.u-marginbottom-30.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8', [\n m('.u-marginbottom-30.u-text-center', [\n m('.fontsize-small.fontweight-semibold.u-marginbottom-10',\n `O questionário acima será enviado para os ${attrs.reward.paid_count} apoiadores da recompensa`\n ),\n m(rewardCardBig, { reward: attrs.reward })\n ]),\n m('.card.card-message.fontsize-small.u-marginbottom-30.u-radius', [\n m('span.fontweight-semibold',\n 'OBS:'\n ),\n m.trust(' '),\n 'As perguntas serão reenviadas automaticamente para aqueles que não responderem em até 4 dias. Caso os apoiadores continuem sem enviar as respostas, o questionário será reenviado mais duas vezes.'\n ])\n ]),\n m('.w-col.w-col-2')\n ]),\n m('.u-marginbottom-20.w-row', [\n m('.w-col.w-col-3'),\n m('.w-sub-col.w-col.w-col-4',\n m(\"a.btn.btn-large[href='javascript:void(0);']\", { onclick: attrs.sendQuestions }, [\n m('span.fa.fa-paper-plane',\n ''\n ),\n ' ',\n m.trust(' '),\n 'Enviar'\n ])\n ),\n m('.w-col.w-col-2',\n m(\"a.btn.btn-large.btn-terciary[href='javascript:void(0);']\", { onclick: state.togglePreview },\n 'Editar'\n )\n ),\n m('.w-col.w-col-3')\n ])\n ])\n );\n }\n};\n\nexport default surveyCreatePreview;\n","import m from 'mithril';\n\nexport default class inlineError implements m.Component {\n view({attrs}) {\n const marginbottom = attrs.marginbottom || 'u-marginbottom-20'\n if (attrs.message) {\n return (\n <div class={`${marginbottom} fontsize-smaller text-error fa fa-exclamation-triangle`}>\n <span> {attrs.message}</span>\n </div>\n );\n } else {\n return null\n }\n }\n}","import m from 'mithril';\nimport _ from 'underscore';\nimport surveyVM from '../vms/survey-vm';\nimport inlineError from '../c/inline-error';\n\nconst dashboardMultipleChoiceQuestion = {\n oninit: function(vnode) {\n const { question } = vnode.attrs;\n const deleteOption = (question, idx) => () => {\n surveyVM.deleteMultipleQuestionOption(question, idx);\n\n return false;\n };\n\n const addOption = question => () => {\n surveyVM.addMultipleQuestionOption(question);\n\n return false;\n };\n\n const updateOption = idToUpdate => (newValue) => {\n const survey_question_choices_attributes = _.map(question.survey_question_choices_attributes(), (option, id) => {\n if (id === idToUpdate) {\n return { option: newValue };\n }\n\n return option;\n });\n\n question.survey_question_choices_attributes(survey_question_choices_attributes);\n };\n\n vnode.state = {\n addOption,\n deleteOption,\n updateOption\n };\n },\n view: function({state, attrs}) {\n const { question, index } = attrs;\n\n return m('.card.u-marginbottom-30.u-radius.w-form', [\n m('.dashboard-question', [\n m('.w-row', [\n m('.w-col.w-col-4',\n m('label.fontsize-smaller',\n 'Pergunta'\n )\n ),\n m('.w-col.w-col-8',\n m('input.positive.text-field.w-input[type=\"text\"]', {\n class: question.error ? 'error' : null,\n name: `reward[surveys_attributes][questions][${index}][question]`,\n onchange: m.withAttr('value', newValue => question.question = newValue),\n onfocus: () => {\n question.error = false;\n },\n value: question.question\n }),\n question.error ? m(inlineError, { message: 'O campo pergunta não pode ser vazio.' }) : null\n )\n ]),\n m('.w-row', [\n m('.w-col.w-col-4',\n m('label.fontsize-smaller[for=\"name-3\"]',\n 'Descrição'\n )\n ),\n m('.w-col.w-col-8',\n m('input.positive.text-field.w-input[type=\"text\"]', {\n onchange: m.withAttr('value', newValue => question.description = newValue),\n name: `reward[surveys_attributes][questions][${index}][description]`,\n value: question.description,\n })\n )\n ]),\n m('.w-row', [\n m('.w-col.w-col-4',\n m('label.fontsize-smaller',\n 'Opções'\n )\n ),\n m('.w-col.w-col-8', [\n _.map(question.survey_question_choices_attributes(), (option, idx) => m('.w-row', [\n m('.fa.fa-circle-o.fontcolor-terciary.prefix.u-text-center.w-col.w-col-1.w-col-medium-1.w-col-small-1.w-col-tiny-1'),\n m('.w-col.w-col-10.w-col-medium-10.w-col-small-10.w-col-tiny-10',\n m('input.positive.text-field.w-input[type=\"text\"]', {\n onchange: m.withAttr('value', state.updateOption(idx)),\n name: `reward[surveys_attributes][questions][${index}][question][survey_question_choices_attributes][${idx}][option]`,\n value: option.option\n })\n ),\n m('.w-col.w-col-1.w-col-medium-1.w-col-small-1.w-col-tiny-1',\n m('button.btn.btn-medium.btn-no-border.btn-terciary.fa.fa-trash', {\n onclick: state.deleteOption(question, idx)\n })\n )\n ])),\n m('.w-row', [\n m('.w-col.w-col-1.w-col-medium-1.w-col-small-1.w-col-tiny-1'),\n m('.w-col.w-col-11.w-col-medium-11.w-col-small-11.w-col-tiny-11',\n m('button.fontcolor-secondary.fontsize-smallest.link-hidden',\n { onclick: state.addOption(question) },\n 'Adicionar mais uma opção'\n )\n )\n ])\n ])\n ])\n ])\n ]);\n }\n};\n\nexport default dashboardMultipleChoiceQuestion;\n","import m from 'mithril';\nimport inlineError from '../c/inline-error';\n\nconst dashboardOpenQuestion = {\n view: function({attrs}) {\n const { question, index } = attrs;\n return m('.card.u-marginbottom-30.u-radius.w-form', [\n m('div', [\n m('.w-row', [\n m('.w-col.w-col-4',\n m('label.fontsize-smaller[for=\"name-3\"]',\n 'Pergunta'\n )\n ),\n m('.w-col.w-col-8',\n m('input.positive.text-field.w-input[name=\"question\"][type=\"text\"]', {\n class: question.error ? 'error' : null,\n name: `reward[surveys_attributes][questions][${index}][question]`,\n onchange: m.withAttr('value', newValue => question.question = newValue),\n value: question.question,\n onfocus: () => {\n question.error = false;\n }\n }),\n question.error ? m(inlineError, { message: 'O campo pergunta não pode ser vazio.' }) : null\n )\n ]),\n m('.w-row', [\n m('.w-col.w-col-4',\n m('label.fontsize-smaller[for=\"name-3\"]',\n 'Descrição'\n )\n ),\n m('.w-col.w-col-8',\n m('input.positive.text-field.w-input[type=\"text\"]', {\n name: `reward[surveys_attributes][questions][${index}][description]`,\n onchange: m.withAttr('value', newValue => question.description = newValue),\n value: question.description\n })\n )\n ])\n ])\n ]);\n }\n};\n\nexport default dashboardOpenQuestion;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport h from '../h';\nimport models from '../models';\nimport surveyVM from '../vms/survey-vm';\nimport projectDashboardMenu from '../c/project-dashboard-menu';\nimport rewardCardBig from '../c/reward-card-big';\nimport surveyCreatePreview from '../c/survey-create-preview';\nimport dashboardMultipleChoiceQuestion from '../c/dashboard-multiple-choice-question';\nimport dashboardOpenQuestion from '../c/dashboard-open-question';\nimport inlineError from '../c/inline-error';\n\nconst surveyCreate = {\n oninit: function(vnode) {\n const\n showError = prop(false),\n loader = catarse.loaderWithToken,\n showPreview = h.toggleProp(false, true),\n confirmAddress = surveyVM.confirmAddress,\n projectDetails = prop([]),\n rewardFilterVM = catarse.filtersVM({\n id: 'eq'\n }),\n filterVM = catarse.filtersVM({\n project_id: 'eq'\n }),\n {\n project_id,\n reward_id\n } = vnode.attrs;\n\n rewardFilterVM.id(reward_id);\n filterVM.project_id(project_id);\n const rewardVM = catarse.loaderWithToken(models.rewardDetail.getPageOptions(rewardFilterVM.parameters())),\n l = loader(models.projectDetail.getRowOptions(filterVM.parameters()));\n\n const reward = prop([]);\n l.load().then(projectDetails);\n rewardVM.load().then(reward);\n\n const choice = (type) => {\n\n switch(type) {\n case 'multiple': {\n return [\n m('span.fa.fa-dot-circle-o'),\n ' Múltipla escolha'\n ];\n }\n\n case 'open': {\n return [\n m('span.fa.fa-align-left'),\n ' Resposta aberta'\n ];\n }\n\n default: {\n return [\n m('span.fa.fa-align-left'),\n ' Resposta aberta'\n ];\n }\n }\n };\n\n const setQuestionType = (question, type) => () => {\n question.type = type;\n surveyVM.updateDashboardQuestion(question);\n };\n\n const choiceDropdown = question => {\n console.log('question to drop down', question);\n return m('.w-col.w-col-4.w-sub-col',\n m('.text-field.w-dropdown', {\n onclick: () => {\n question.toggleDropdown.toggle();\n surveyVM.updateDashboardQuestion(question);\n }\n }, [\n m('.dropdown-toggle.w-dropdown-toggle', [\n choice(question.type),\n m('span.fa.fa-chevron-down.u-right')\n ]),\n m('.card.dropdown-list.w-dropdown-list', {\n class: question.toggleDropdown() ? 'w--open' : null\n }, [\n m('span.dropdown-link.w-dropdown-link', {\n onclick: setQuestionType(question, surveyVM.openQuestionType)\n }, choice('open')),\n m('span.dropdown-link.w-dropdown-link', {\n onclick: setQuestionType(question, surveyVM.multipleQuestionType)\n }, choice('multiple'))\n ])\n ])\n );\n };\n\n const addDashboardQuestion = () => {\n surveyVM.addDashboardQuestion();\n\n return false;\n };\n\n const deleteDashboardQuestion = question => () => {\n surveyVM.deleteDashboardQuestion(question);\n\n return false;\n };\n\n const toggleShowPreview = () => {\n showError(false);\n\n if (surveyVM.isValid()) {\n h.scrollTop();\n showPreview(true);\n } else {\n showPreview(false);\n showError(true);\n }\n };\n\n const sendQuestions = () => {\n surveyVM.submitQuestions(reward_id).then(m.route.set(`/projects/${project_id}/surveys`)).catch(console.error);\n\n return false;\n };\n\n vnode.state = {\n reward,\n showError,\n showPreview,\n toggleShowPreview,\n project_id,\n confirmAddress,\n projectDetails,\n choiceDropdown,\n addDashboardQuestion,\n deleteDashboardQuestion,\n sendQuestions\n };\n },\n view({state}) {\n const project = _.first(state.projectDetails());\n const reward = _.first(state.reward());\n return [\n project ? \n m('.project-surveys', [\n (\n project.is_owner_or_admin &&\n m(projectDashboardMenu, {\n project: prop(project)\n })\n ),\n state.showPreview() ? \n m(surveyCreatePreview, {\n confirmAddress: state.confirmAddress(),\n showPreview: state.showPreview,\n surveyVM,\n reward,\n sendQuestions: state.sendQuestions\n })\n : \n [\n (\n reward &&\n m('.card-terciary.section.u-text-center',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-8.w-col-push-2',\n m('div', [\n m('.fontsize-small.fontweight-semibold.u-marginbottom-20',\n `Questionário para os ${reward.paid_count} apoiadores da recompensa`\n ),\n m(rewardCardBig, { reward })\n ])\n )\n ])\n )\n )\n ),\n m('.divider'),\n m('.section',\n m('.w-row', [\n m('.w-col.w-col-10.w-col-push-1', [\n m('.card.card-terciary.medium.u-marginbottom-20.u-text-center', [\n m('.u-marginbottom-20', [\n m('.fontsize-base.fontweight-semibold.u-marginbottom-10',\n 'Confirmar endereço de entrega?'\n ),\n m('a.toggle.w-clearfix.w-inline-block', {\n class: state.confirmAddress() ? 'toggle-on' : 'toggle-off',\n onclick: state.confirmAddress.toggle\n }, [\n m('.toggle-btn', {\n class: state.confirmAddress() ? null : 'toggle-btn--off'\n }),\n state.confirmAddress() ? m('.u-right', 'SIM') : m('.u-left', 'NÃO')\n ]\n ),\n m('input[type=\"hidden\"]', {\n name: 'reward[surveys_attributes][confirm_address]'\n })\n ]),\n m('.w-row', [\n m('.w-col.w-col-8.w-col-push-2',\n m('p.fontcolor-secondary.fontsize-small',\n 'Se essa recompensa será entregue na casa dos apoiadores, deixe essa opção como \"SIM\". Dessa forma, incluíremos uma pergunta no questionário para que eles confirmem o endereço de entrega.'\n )\n )\n ])\n ]),\n _.map(surveyVM.dashboardQuestions(), (question, index) => m('.card.card-terciary.medium.u-marginbottom-20.w-row', [\n state.choiceDropdown(question),\n m('.w-clearfix.w-col.w-col-8', [\n (\n question.type === 'multiple' ?\n m(dashboardMultipleChoiceQuestion, {\n question,\n index\n })\n :\n m(dashboardOpenQuestion, {\n question,\n index\n }) \n ),\n m('button.btn.btn-inline.btn-no-border.btn-small.btn-terciary.fa.fa-lg.fa-trash.u-right', {\n onclick: state.deleteDashboardQuestion(question)\n })\n ])\n\n ])),\n m('button.btn.btn-large.btn-message', {\n onclick: state.addDashboardQuestion\n }, [\n m('span.fa.fa-plus-circle'),\n ' Adicionar pergunta'\n ])\n ])\n ])\n ),\n m('.section',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-4.w-col-push-4',\n m('a.btn.btn-large[href=\\'javascript:void(0);\\']', {\n onclick: state.toggleShowPreview\n },\n 'Pré-visualizar'\n ),\n state.showError()\n ? m('.u-text-center.u-margintop-10', m(inlineError, { message: 'Erro ao salvar formulário.' }))\n : null\n )\n ])\n )\n )\n ]\n ])\n :\n h.loader()\n ];\n }\n};\n\nexport default surveyCreate;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'pages.jobs');\n\nconst jobs = {\n view: function({state, attrs}) {\n return m('.page-jobs', [\n m('.w-section.hero-jobs.hero-medium', [\n m('.w-containe.u-text-center', [\n m('img.icon-hero[src=\"/assets/logo-white.png\"]'),\n m('.u-text-center.u-marginbottom-20.fontsize-largest', window.I18n.t('title', I18nScope()))\n ])\n ]),\n m('.w-section.section', [\n m('.w-container.u-margintop-40', [\n m('.w-row', [\n m('.w-col.w-col-8.w-col-push-2.u-text-center', [\n m('.fontsize-large.u-marginbottom-30', window.I18n.t('info', I18nScope())),\n m('a[href=\"/projects/new\"].w-button.btn.btn-large.btn-inline', window.I18n.t('cta', I18nScope()))\n ])\n ])\n ])\n ])\n ]);\n }\n};\n\nexport default jobs;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse } from '../api';\nimport h from '../h';\nimport models from '../models';\n\nconst I18nScope = _.partial(h.i18nScope, 'pages.press');\nconst press = {\n oninit: function(vnode) {\n const stats = prop([]);\n const loader = catarse.loader;\n const statsLoader = loader(models.statistic.getRowOptions());\n\n statsLoader.load().then(stats);\n\n vnode.state = {\n stats\n };\n },\n view: function({state}) {\n const stats = _.first(state.stats());\n\n return m('#press', [\n m('.hero-jobs.hero-medium',\n m('.w-container.u-text-center', [\n m('img.icon-hero[alt=\\'Icon assets\\'][src=\\'/assets/icon-assets-98f4556940e31b239cdd5fbdd993b5d5ed3bf67dcc3164b805e224d22e1340b7.png\\']'),\n m('.u-text-center.u-marginbottom-20.fontsize-largest',\n window.I18n.t('page-title', I18nScope())\n )\n ])\n ),\n m('.section-large.bg-gray',\n m('.w-container',\n m('.w-row',\n m('.w-col.w-col-8.w-col-push-2',\n m('.u-marginbottom-20.fontsize-large',\n window.I18n.t('abstract.title', I18nScope())\n )\n )\n )\n )\n ),\n m('.section-large',\n m('.w-container',\n m('.w-row',\n m('.w-col.w-col-8.w-col-push-2', [\n m('.fontsize-large.fontweight-semibold.u-marginbottom-10',\n window.I18n.t('history.title', I18nScope())\n ),\n m('.fontsize-large.u-marginbottom-20',\n window.I18n.t('history.subtitle', I18nScope())\n ),\n m.trust(window.I18n.t('history.cta_html', I18nScope()))\n ])\n )\n )\n ),\n m('.section-large.bg-gray',\n m('.w-container',\n m('.w-row',\n m('.w-col.w-col-8.w-col-push-2', [\n m('.fontsize-large.fontweight-semibold.u-marginbottom-10',\n window.I18n.t('stats.title', I18nScope())\n ),\n m('.fontsize-large.u-marginbottom-40',\n window.I18n.t('stats.subtitle', I18nScope())\n ),\n m('.w-row.w.hidden-small.u-text-center.u-marginbottom-40', [\n m('.w-col.w-col-4.u-marginbottom-20', [\n m('.text-success.lineheight-loose.fontsize-larger',\n h.formatNumber(stats.total_contributors, 0, 3)\n ),\n m('.fontsize-smaller', m.trust(window.I18n.t('stats.people_html', I18nScope())))\n ]),\n m('.w-col.w-col-4.u-marginbottom-20', [\n m('.text-success.lineheight-loose.fontsize-larger',\n h.formatNumber(stats.total_projects_success, 0, 3)\n ),\n m('.fontsize-smaller', m.trust(window.I18n.t('stats.projects_html', I18nScope())))\n ]),\n m('.w-col.w-col-4.u-marginbottom-20', [\n m('.text-success.lineheight-loose.fontsize-larger',\n `${stats.total_contributed.toString().slice(0, 2)} milhões`\n ),\n m('.fontsize-smaller', m.trust(window.I18n.t('stats.money_html', I18nScope())))\n ])\n ]),\n m('a.alt-link.fontsize-large[href=\\'https://www.catarse.me/dbhero/dataclips/fa0d3570-9fa7-4af3-b070-2b2e386ef060\\'][target=\\'_blank\\']', [\n m.trust(window.I18n.t('stats.cta_html', I18nScope()))\n ])\n ])\n )\n )\n ),\n m('.section-large',\n m('.w-container', [\n m('.w-row.u-marginbottom-30.u-text-center',\n m('.w-col.w-col-8.w-col-push-2', [\n m('div',\n m('img[alt=\\'Logo catarse press\\'][src=\\'/assets/logo-catarse-press-2f2dad49d3e5b256c29e136673b4c4f543c03e0d5548d351ae5a8d1e6e3d2645.png\\']')\n ),\n m('.fontsize-base',\n window.I18n.t('assets.title', I18nScope())\n )\n ])\n ),\n m('.w-row',\n m('.w-col.w-col-4.w-col-push-4.u-text-center',\n m('a.alt-link.fontsize-large[href=\\'https://www.catarse.me/assets\\'][target=\\'_blank\\']', [\n m.trust(window.I18n.t('assets.cta_html', I18nScope()))\n ])\n )\n )\n ])\n ),\n m('.section-large.bg-projectgrid',\n m('.w-container', [\n m('.fontsize-large.u-text-center.fontweight-semibold.u-marginbottom-30',\n window.I18n.t('social.title', I18nScope())\n ),\n m('.w-row', [\n m('.w-col.w-col-3',\n m('a.btn.btn-dark.btn-large.u-marginbottom-10[href=\\'https://www.facebook.com/Catarse.me\\'][target=\\'_blank\\']', [\n m('span.fa.fa-facebook'),\n ' Facebook'\n ])\n ),\n m('.w-col.w-col-3',\n m('a.btn.btn-dark.btn-large.u-marginbottom-10[href=\\'https://twitter.com/catarse\\'][target=\\'_blank\\']', [\n m('span.fa.fa-twitter'),\n ' Twitter'\n ])\n ),\n m('.w-col.w-col-3',\n m('a.btn.btn-dark.btn-large.u-marginbottom-10[href=\\'https://instagram.com/catarse/\\'][target=\\'_blank\\']', [\n m('span.fa.fa-instagram'),\n ' Instagram'\n ])\n ),\n m('.w-col.w-col-3',\n m('a.btn.btn-dark.btn-large.u-marginbottom-10[href=\\'http://blog.catarse.me/\\'][target=\\'_blank\\']', [\n m('span.fa.fa-rss'),\n ' Blog do Catarse'\n ])\n )\n ])\n ])\n ),\n m('.section-large.bg-blue-one.fontcolor-negative',\n m('.w-container',\n m('.w-row',\n m('.w-col.w-col-6.w-col-push-3', [\n m('.fontsize-large.fontweight-semibold.u-text-center.u-marginbottom-30',\n window.I18n.t('social.news', I18nScope())\n ),\n m('.w-form',\n m(`form[accept-charset='UTF-8'][action='${h.getNewsletterUrl()}'][id='mailee-form'][method='post']`, [\n m('.w-form.footer-newsletter',\n m('input.w-input.text-field.prefix[id=\\'EMAIL\\'][label=\\'email\\'][name=\\'EMAIL\\'][placeholder=\\'Digite seu email\\'][type=\\'email\\']')\n ),\n m('button.w-inline-block.btn.btn-edit.postfix.btn-attached[type=\\'submit\\']',\n m('img.footer-news-icon[alt=\\'Icon newsletter\\'][src=\\'/assets/catarse_bootstrap/icon-newsletter-9c3ff92b6137fbdb9d928ecdb34c88948277a32cdde3e5b525e97d57735210f5.png\\']')\n )\n ])\n )\n ])\n )\n )\n ),\n m('.section-large.bg-gray.before-footer',\n m('.w-container',\n m('.w-row.u-text-center',\n m('.w-col.w-col-8.w-col-push-2', [\n m('.fontsize-larger.fontweight-semibold.u-marginbottom-10',\n window.I18n.t('email.title', I18nScope())\n ),\n m('div',\n m(`a.alt-link.fontsize-large[href='mailto:${window.I18n.t('email.cta', I18nScope())}']`,\n window.I18n.t('email.cta', I18nScope())\n )\n )\n ])\n )\n )\n )\n ]);\n }\n};\n\nexport default press;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport models from '../models';\nimport h from '../h';\n\nconst liveStatistics = {\n oninit: function(vnode) {\n const pageStatistics = prop([]),\n notificationData = prop({});\n\n models.statistic.getRow().then(pageStatistics);\n // attrs.socket is a socket provided by socket.io\n // can see there https://github.com/catarse/catarse-live/blob/master/public/index.js#L8\n if (vnode.attrs.socket && _.isFunction(vnode.attrs.socket.on)) {\n vnode.attrs.socket.on('new_paid_contributions', (msg) => {\n notificationData(JSON.parse(msg.payload));\n models.statistic.getRow().then(pageStatistics);\n m.redraw();\n });\n }\n\n vnode.state = {\n pageStatistics,\n notificationData\n };\n },\n view: function({state}) {\n const data = state.notificationData();\n\n return m('.w-section.bg-stats.section.min-height-100', [\n m('.w-container.u-text-center', _.map(state.pageStatistics(), stat => [m('img.u-marginbottom-60[src=\"https://daks2k3a4ib2z.cloudfront.net/54b440b85608e3f4389db387/55ada5dd11b36a52616d97df_symbol-catarse.png\"]'),\n m('.fontcolor-negative.u-marginbottom-40', [\n m('.fontsize-megajumbo.fontweight-semibold', `R$ ${h.formatNumber(stat.total_contributed, 2, 3)}`),\n m('.fontsize-large', 'Doados para projetos publicados por aqui')\n ]),\n m('.fontcolor-negative.u-marginbottom-60', [\n m('.fontsize-megajumbo.fontweight-semibold', stat.total_contributors),\n m('.fontsize-large', 'Pessoas já apoiaram pelo menos 1 projeto no Catarse')\n ])\n ])), (!_.isEmpty(data) ? m('.w-container', [\n m('div', [\n m('.card.u-radius.u-marginbottom-60.medium', [\n m('.w-row', [\n m('.w-col.w-col-4', [\n m('.w-row', [\n m('.w-col.w-col-4.w-col-small-4', [\n m(`img.thumb.u-round[src=\"${h.useAvatarOrDefault(data.user_image)}\"]`)\n ]),\n m('.w-col.w-col-8.w-col-small-8', [\n m('.fontsize-large.lineheight-tight', data.user_name)\n ])\n ])\n ]),\n m('.w-col.w-col-4.u-text-center.fontsize-base.u-margintop-20', [\n m('div', 'acabou de apoiar o')\n ]),\n m('.w-col.w-col-4', [\n m('.w-row', [\n m('.w-col.w-col-4.w-col-small-4', [\n m(`img.thumb-project.u-radius[src=\"${data.project_image}\"][width=\"75\"]`)\n ]),\n m('.w-col.w-col-8.w-col-small-8', [\n m('.fontsize-large.lineheight-tight', data.project_name)\n ])\n ])\n ])\n ])\n ])\n ])\n ]) : ''),\n m('.u-text-center.fontsize-large.u-marginbottom-10.fontcolor-negative', [\n m('a.link-hidden.fontcolor-negative[href=\"https://github.com/catarse\"][target=\"_blank\"]', [\n m('span.fa.fa-github', '.'), ' Open Source com orgulho! '\n ])\n ])\n ]);\n }\n};\n\nexport default liveStatistics;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport FilterMain from '../c/filter-main';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.dashboard_contribution_reports');\n\nconst projectContributionReportHeader = {\n view: function({attrs}) {\n const filterBuilder = attrs.filterBuilder,\n paymentStateFilter = _.findWhere(filterBuilder, {\n label: 'payment_state'\n }),\n rewardFilter = _.findWhere(filterBuilder, {\n label: 'reward_filter'\n }),\n deliveryFilter = _.findWhere(filterBuilder, {\n label: 'delivery_filter'\n }),\n surveyFilter = _.findWhere(filterBuilder, {\n label: 'survey_filter'\n }),\n mainFilter = _.findWhere(filterBuilder, {\n component: FilterMain\n }),\n project_id = attrs.filterVM.project_id();\n\n rewardFilter.data.options = attrs.mapRewardsToOptions();\n\n return m('div', [\n m('.dashboard-header',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-3'),\n m('.w-col.w-col-6', [\n m('.fontsize-larger.fontweight-semibold.lineheight-looser.u-text-center',\n window.I18n.t('title', I18nScope())\n ),\n m('.fontsize-base.u-marginbottom-20.u-text-center',\n window.I18n.t('subtitle_html', I18nScope())\n ),\n m('.u-marginbottom-60.u-text-center',\n m('.w-inline-block.card.fontsize-small.u-radius', [\n m('span.fa.fa-lightbulb-o',\n ''\n ),\n m.trust(' '),\n m.trust(window.I18n.t('help_link', I18nScope()))\n ])\n )\n ]),\n m('.w-col.w-col-3')\n ])\n )\n ),\n m('.card',\n m('.w-container',\n m('.w-form', [\n m('form', {\n onsubmit: attrs.submit\n },\n m('.u-margintop-20.w-row', [\n m('.w-col.w-col-8',\n m('.w-row', [\n m(paymentStateFilter.component, paymentStateFilter.data),\n m(rewardFilter.component, rewardFilter.data),\n m(deliveryFilter.component, deliveryFilter.data),\n m(surveyFilter.component, surveyFilter.data)\n ])\n ),\n m('.w-col.w-col-4',\n m('.u-margintop-20.w-row', [\n m(mainFilter.component, mainFilter.data)\n\n ])\n )\n ])\n )\n ])\n )\n )\n ]\n );\n }\n};\n\nexport default projectContributionReportHeader;\n","import m from 'mithril';\n\nconst anonymousBadge = {\n\n view: function({attrs}) {\n \n if (attrs.isAnonymous) {\n return m('span.fa.fa-eye-slash.fontcolor-secondary', \n m('span.fontcolor-secondary[style=\"font-size:11px;\"]', attrs.text)\n );\n }\n else {\n return m('div');\n }\n }\n};\n\nexport default anonymousBadge;","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport moment from 'moment';\nimport { catarse } from '../api';\nimport models from '../models';\nimport paymentStatus from './payment-status';\nimport anonymousBadge from './anonymous-badge';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.reward_fields');\nconst contributionScope = _.partial(h.i18nScope, 'projects.contributions');\nconst { $ } = window;\n\nconst projectContributionReportContentCard = {\n oninit: function(vnode) {\n const project = vnode.attrs.project(),\n showDetail = h.toggleProp(false, true),\n currentTab = prop('info'),\n checked = contribution => _.contains(vnode.attrs.selectedContributions(), contribution.id),\n selectContribution = (contribution) => {\n const anyChecked = $('input:checkbox').is(':checked');\n\n vnode.attrs.selectedAny(anyChecked);\n if (!checked(contribution)) {\n vnode.attrs.selectedContributions().push(contribution.id);\n } else {\n vnode.attrs.selectedContributions(_.without(vnode.attrs.selectedContributions(), contribution.id));\n }\n return true;\n },\n vm = catarse.filtersVM({\n contribution_id: 'eq'\n }),\n surveyLoader = () => {\n vm.contribution_id(vnode.attrs.contribution().id);\n\n return catarse.loaderWithToken(models.survey.getPageOptions(vm.parameters()));\n },\n survey = prop(),\n stateClass = (state) => {\n const classes = {\n online: {\n paid: 'text-success.fa-circle',\n refunded: 'text-error.fa-circle',\n pending_refund: 'text-error.fa-circle',\n pending: 'text-waiting.fa-circle',\n refused: 'text-error.fa-circle'\n },\n failed: {\n paid: 'text-error.fa-circle-o',\n refunded: 'text-refunded.fa-circle',\n pending_refund: 'text-refunded.fa-circle-o',\n pending: 'text-refunded',\n refused: 'text-refunded'\n },\n waiting_funds: {\n paid: 'text-success.fa-circle',\n refunded: 'text-error.fa-circle',\n pending_refund: 'text-error.fa-circle',\n pending: 'text-waiting.fa-circle',\n refused: 'text-error.fa-circle'\n },\n successful: {\n paid: 'text-success.fa-circle',\n refunded: 'text-error.fa-circle',\n pending_refund: 'text-error.fa-circle',\n pending: 'text-waiting.fa-circle',\n refused: 'text-error.fa-circle'\n }\n };\n\n return classes[project.state][state];\n };\n\n surveyLoader().load().then(survey);\n vnode.state = {\n stateClass,\n survey,\n checked,\n currentTab,\n showDetail,\n selectContribution\n };\n },\n view: function({state, attrs}) {\n const contribution = attrs.contribution(),\n project = attrs.project(),\n survey = _.first(state.survey()),\n profileImg = (_.isEmpty(contribution.profile_img_thumbnail) ? '/assets/catarse_bootstrap/user.jpg' : contribution.profile_img_thumbnail),\n reward = contribution.reward || {\n minimum_value: 0,\n description: window.I18n.t('contribution.no_reward', contributionScope())\n },\n deliveryBadge = () => (contribution.delivery_status === 'error' ?\n m('span.badge.badge-attention.fontsize-smaller',\n window.I18n.t(`status.${contribution.delivery_status}`, I18nScope())\n ) : contribution.delivery_status === 'delivered' ?\n m('span.badge.badge-success.fontsize-smaller',\n window.I18n.t(`status.${contribution.delivery_status}`, I18nScope())\n ) : contribution.delivery_status === 'received' ?\n m('span.fontsize-smaller.badge.badge-success', [\n m('span.fa.fa-check-circle',\n ''\n ),\n window.I18n.t(`status.${contribution.delivery_status}`, I18nScope())\n ]) : '');\n\n return m('div', [m(`.w-clearfix.card${state.checked(contribution) ? '.card-alert' : ''}`, [\n m('.w-row', [\n m('.w-col.w-col-1.w-col-small-1.w-col-tiny-1',\n m('.w-inline-block',\n m('.w-checkbox.w-clearfix',\n (contribution.delivery_status !== 'received' && project.state !== 'failed' ?\n m('input.w-checkbox-input[type=\\'checkbox\\']', {\n checked: state.checked(contribution),\n value: contribution.id,\n onclick: () => state.selectContribution(contribution)\n }) : '')\n )\n )\n ),\n m('.w-col.w-col-11.w-col-small-11.w-col-tiny-11',\n m('.w-row', [\n m('.w-col.w-col-1.w-col-tiny-1', [\n m(`img.user-avatar.u-marginbottom-10[src='${profileImg}']`)\n ]),\n m('.w-col.w-col-11.w-col-tiny-11', [\n m('.w-row', [\n m('.w-col.w-col-3', [\n m('.fontcolor-secondary.fontsize-mini.fontweight-semibold', h.momentify(contribution.created_at, 'DD/MM/YYYY, HH:mm')),\n m('.fontweight-semibold.fontsize-smaller.lineheight-tighter', contribution.public_user_name || contribution.user_name),\n m('.fontsize-smallest.lineheight-looser', [\n (contribution.has_another ? [\n m('a.link-hidden-light.badge.badge-light', '+1 apoio ')\n ] : ''),\n m(anonymousBadge, {\n isAnonymous: contribution.anonymous,\n text: ` ${window.I18n.t('contribution.anonymous_contribution', contributionScope())}`\n })\n ]),\n m('.fontsize-smallest.lineheight-looser', (contribution.email))\n ]),\n m('.w-col.w-col-3', [\n m('.lineheight-tighter', [\n m(`span.fa.fontsize-smallest.${state.stateClass(contribution.state)}`),\n ' ',\n m('span.fontsize-large', `R$ ${h.formatNumber(contribution.value, 2, 3)}`)\n ])\n ]),\n m('.w-col.w-col-3.w-hidden-small.w-hidden-tiny', [\n m('div',\n deliveryBadge()\n ),\n m('.fontsize-smallest.fontweight-semibold', `${window.I18n.t('reward', I18nScope())}: ${reward.minimum_value ? h.formatNumber(reward.minimum_value, 2, 3) : ''}`),\n m('.fontsize-smallest.fontweight-semibold',\n reward.title\n ),\n m('.fontsize-smallest.fontcolor-secondary', `${reward.description.substring(0, 80)}...`)\n ]),\n (() => {\n if (!survey) return '';\n\n if (survey.survey_answered_at) {\n return m('.w-col.w-col-3.w-col-push-1', [\n m('.fontsize-smallest', [\n m('a.link-hidden',\n 'Questionário '\n ),\n m('span.fontweight-semibold.text-success',\n 'respondido'\n )\n ]),\n m('.fontcolor-terciary.fontsize-smallest',\n `em ${h.momentify(survey.survey_answered_at, 'DD/MM/YYYY')}`\n )\n ]);\n } else if (survey.finished_at) {\n return m('.w-col.w-col-3.w-col-push-1', [\n m('.fontsize-smallest', [\n m('a.link-hidden',\n 'Questionário '\n ),\n m('span.fontweight-semibold.text-fail',\n 'sem resposta'\n )\n ]),\n m('.fontcolor-terciary.fontsize-smallest',\n `finalizado em ${h.momentify(survey.finished_at, 'DD/MM/YYYY')}`\n )\n ]);\n } else if (contribution.survey_status !== 'not_sent') {\n return m('.w-col.w-col-3.w-col-push-1', [\n m('.fontsize-smallest', [\n m('a.link-hidden',\n 'Questionário '\n ),\n m('span.fontweight-semibold.text-waiting',\n 'enviado'\n )\n ]),\n m('.fontcolor-terciary.fontsize-smallest',\n `em ${h.momentify(survey.sent_at, 'DD/MM/YYYY')}`\n )\n ]);\n }\n })(),\n ])\n ])\n ])\n )\n ]),\n m('a.arrow-admin.fa.fa-chevron-down.fontcolor-secondary.w-inline-block', {\n onclick: state.showDetail.toggle\n })\n ]),\n (state.showDetail() ?\n m('.card.details-backed-project.w-tabs', [\n m('.w-tab-menu', [\n _.map(['info', 'profile'], tab =>\n m(`a.dashboard-nav-link.w-inline-block.w-tab-link${state.currentTab() === tab ? '.w--current' : ''}`, { onclick: () => state.currentTab(tab) },\n m('div',\n window.I18n.t(`report.${tab}`, contributionScope())\n )\n ))\n ]),\n m('.card.card-terciary.w-tab-content', [\n (state.currentTab() === 'info' ?\n m('.w-tab-pane.w--tab-active',\n m('.w-row', [\n m('.right-divider.w-col.w-col-6', [\n m('.u-marginbottom-20', [\n m('.fontsize-base.fontweight-semibold.u-marginbottom-10',\n `${window.I18n.t('selected_reward.value', contributionScope())}: R$${contribution.value}`\n ),\n m(paymentStatus, { item: { payment_method: contribution.payment_method, state: contribution.state } }),\n m('.fontcolor-secondary.fontsize-smallest',\n h.momentify(contribution.created_at, 'DD/MM/YYYY hh:mm')\n )\n ]),\n m('.fontsize-base.fontweight-semibold',\n `${window.I18n.t('reward', I18nScope())}:`\n ),\n m('.fontsize-small.fontweight-semibold.u-marginbottom-10', [\n `R$${reward.minimum_value} ${reward.title ? `- ${reward.title}` : ''} `,\n deliveryBadge()\n ]),\n m('p.fontsize-smaller',\n reward.description\n ),\n m('.u-marginbottom-10', [\n m('.fontsize-smaller', [\n m('span.fontweight-semibold',\n `${window.I18n.t('deliver_at', I18nScope())} `\n ),\n h.momentify(reward.deliver_at, 'MMMM/YYYY')\n ]),\n (reward.shipping_options ?\n m('.fontsize-smaller', [\n m('span.fontweight-semibold',\n window.I18n.t('delivery', I18nScope())\n ),\n window.I18n.t(`shipping_options.${reward.shipping_options}`, I18nScope())\n ]) : '')\n ])\n ]),\n\n (survey ?\n m('.w-col.w-col-6', [\n m('.fontsize-base.fontweight-semibold',\n window.I18n.t('survey.survey', contributionScope())\n ),\n m('.fontsize-smaller.lineheight-tighter.u-marginbottom-20',\n window.I18n.t('survey.answered_at', contributionScope({ date: moment(survey.survey_answered_at).format('DD/MM/YYYY') }))\n ),\n survey.confirm_address && survey.address ? [\n m('.fontsize-small', [\n m('.fontweight-semibold.lineheight-looser',\n window.I18n.t('survey.address_title', contributionScope())\n ),\n m('p', [\n contribution.public_user_name,\n m('br'),\n `${survey.address.address_street}, ${survey.address.address_number} ${survey.address.address_complement}`,\n m('br'),\n `${window.I18n.t('survey.address_neighbourhood', contributionScope())} ${survey.address.address_neighbourhood}`,\n m('br'),\n `${survey.address.address_zip_code} ${survey.address.address_city}-${survey.state_name}`,\n m('br'),\n survey.country_name\n ])\n ])] : '',\n _.map(survey.multiple_choice_questions, (mcQuestion) => {\n const answer = _.find(mcQuestion.question_choices, choice => choice.id === mcQuestion.survey_question_choice_id);\n return !answer ? '' : m('.fontsize-small', [\n m('.fontweight-semibold.lineheight-looser',\n mcQuestion.question\n ),\n m('p',\n answer.option\n )\n ]);\n }),\n _.map(survey.open_questions, openQuestion =>\n m('.fontsize-small', [\n m('.fontweight-semibold.lineheight-looser',\n openQuestion.question\n ),\n m('p',\n openQuestion.answer\n )\n ]))\n ]) : '')\n\n\n ])\n ) :\n m('.w-tab-pane',\n m('.fontsize-small',\n m('p', [\n `Nome completo: ${contribution.user_name}`,\n m('br'),\n `Nome público: ${contribution.public_user_name}`,\n m('br'),\n contribution.email,\n m('br'),\n window.I18n.t('user_since', contributionScope({ date: h.momentify(contribution.user_created_at, 'MMMM YYYY') })),\n m('br'),\n window.I18n.t('backed_projects', contributionScope({ count: contribution.total_contributed_projects })),\n m('br'),\n window.I18n.t('created_projects', contributionScope({ count: contribution.total_published_projects }))\n ])\n )\n ))\n ])\n ]) : '')\n ]);\n }\n};\n\nexport default projectContributionReportContentCard;\n","import m from 'mithril';\nimport { catarse } from '../api';\nimport h from '../h';\nimport models from '../models';\n\nconst { replaceDiacritics } = window;\n\nconst vm = catarse.filtersVM({\n full_text_index: 'plfts(portuguese)',\n state: 'in',\n reward_id: 'eq',\n delivery_status: 'eq',\n survey_status: 'in',\n project_id: 'eq'\n }),\n paramToString = p => (p || '').toString().trim();\n\nvm.state('');\nvm.order({\n id: 'desc'\n});\n\nvm.full_text_index.toFilter = () => {\n const filter = paramToString(vm.full_text_index());\n return filter && replaceDiacritics(filter) || undefined;\n};\n\nvm.getAllContributions = (filterVM) => {\n models.projectContribution.pageSize(false);\n const allContributions = catarse.loaderWithToken(\n models.projectContribution.getPageOptions(filterVM.parameters())).load();\n models.projectContribution.pageSize(9);\n return allContributions;\n};\n\nvm.updateStatus = data => m.request({\n method: 'PUT',\n url: `/projects/${vm.project_id()}/contributions/update_status.json`,\n data,\n config: h.setCsrfToken\n});\n\nvm.withNullParameters = () => {\n const withNullVm = catarse.filtersVM({\n full_text_index: 'plfts(portuguese)',\n state: 'in',\n reward_id: 'is',\n delivery_status: 'eq',\n project_id: 'eq'\n });\n\n withNullVm.full_text_index(vm.full_text_index());\n withNullVm.order(vm.order());\n withNullVm.state(vm.state());\n withNullVm.reward_id(vm.reward_id());\n withNullVm.delivery_status(vm.delivery_status());\n withNullVm.project_id(vm.project_id());\n\n return withNullVm.parameters();\n};\n\nexport default vm;\n","/**\n * window.c.deliverContributionModalContent component\n * Render deliver contribution modal\n *\n */\nimport m from 'mithril';\n\nconst deliverContributionModalContent = {\n view: function({attrs}) {\n return m('div',\n m('.modal-dialog-header',\n m('.fontsize-large.u-text-center', [\n m('span.fa.fa-check-circle',\n ''\n ),\n ' Recompensas a caminho! Obaaa!!!!'\n ])\n ),\n m('.modal-dialog-content', [\n m('p.fontsize-small.u-marginbottom-30', [\n m('span.fontweight-semibold',\n `Você selecionou ${attrs.amount} apoios.`\n ),\n ' Após sua confirmação, os apoiadores que efetuaram esses apoios ao seu projeto serão notificados de que suas recompensas serão entregues em breve.'\n ]),\n m('.w-form', [\n m('form', [\n m('.fontsize-smaller',\n 'Se quiser adicionar alguma informação nessa mensagem, use o espaço abaixo! É um ótimo momento para agradecer a essas pessoas que acreditaram em você!'\n ),\n m(\"textarea.height-mini.text-field.w-input[placeholder='Digite sua mensagem (opcional)']\", {\n value: attrs.message(),\n onchange: m.withAttr('value', attrs.message)\n })\n ])\n ]),\n m('.w-row', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-10',\n m('.fontsize-small.fontweight-semibold.u-marginbottom-20.u-text-center',\n 'Você confirma que a recompensa dos apoios selecionados foram enviadas?'\n )\n ),\n m('.w-col.w-col-1')\n ]),\n m('.w-row', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-5',\n m('a.btn.btn-medium.w-button', {\n onclick: () => attrs.updateStatus('delivered')\n },\n 'Sim!'\n )\n ),\n m('.w-col.w-col-5',\n m('a.btn.btn-medium.btn-terciary.w-button', {\n onclick: attrs.displayModal.toggle\n },\n 'Voltar'\n )\n ),\n m('.w-col.w-col-1')\n ])\n ]));\n }\n};\n\nexport default deliverContributionModalContent;\n","/**\n * window.c.errorContributionModalContent component\n * Render deliver error contribution modal\n *\n */\nimport m from 'mithril';\n\nconst errorContributionModalContent = {\n view: function({attrs}) {\n return m('div',\n\n m('.modal-dialog-header',\n m('.fontsize-large.u-text-center', [\n m('span.fa.fa-exclamation-triangle',\n ''\n ),\n ' Ops. Erro no envio!'\n ])\n ),\n m('.modal-dialog-content', [\n m('p.fontsize-small.u-marginbottom-30', [\n m('span.fontweight-semibold',\n `Você selecionou ${attrs.amount} apoios.`\n ),\n ' Após sua confirmação, os apoiadores que efetuaram esses apoios ao seu projeto serão notificados de que houve um problema com o envio de suas recompensas.'\n ]),\n m('.w-form', [\n m('form', [\n m('.fontsize-smaller',\n 'Se quiser adicionar alguma informação nessa mensagem, use o espaço abaixo (ex: você pode pedir confirmação de endereço de entrega ou explicar motivos do erro)'\n ),\n m(\"textarea.height-mini.text-field.w-input[placeholder='Digite sua mensagem (opcional)']\", {\n value: attrs.message(),\n onchange: m.withAttr('value', attrs.message)\n })\n ])\n ]),\n m('.w-row', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-10',\n m('.fontsize-small.fontweight-semibold.u-marginbottom-20.u-text-center',\n 'Você confirma que houve um erro no envio das recompensas dos apoios selecionados?'\n )\n ),\n m('.w-col.w-col-1')\n ]),\n m('.w-row', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-5',\n m('a.btn.btn-medium.w-button', {\n onclick: () => attrs.updateStatus('error')\n },\n 'Sim!'\n )\n ),\n m('.w-col.w-col-5',\n m('a.btn.btn-medium.btn-terciary.w-button', {\n onclick: attrs.displayModal.toggle\n },\n 'Voltar'\n )\n ),\n m('.w-col.w-col-1')\n ])\n ]));\n }\n};\n\nexport default errorContributionModalContent;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport popNotification from './pop-notification';\nimport projectContributionReportContentCard from './project-contribution-report-content-card';\nimport projectsContributionReportVM from '../vms/projects-contribution-report-vm';\nimport modalBox from '../c/modal-box';\nimport deliverContributionModalContent from '../c/deliver-contribution-modal-content';\nimport errorContributionModalContent from '../c/error-contribution-modal-content';\n\nconst projectContributionReportContent = {\n oninit: function(vnode) {\n const showSelectedMenu = h.toggleProp(false, true),\n selectedAny = prop(false),\n showSuccess = prop(false),\n loading = prop(false),\n displayDeliverModal = h.toggleProp(false, true),\n displayErrorModal = h.toggleProp(false, true),\n selectedContributions = prop([]),\n deliveryMessage = prop(''),\n selectAll = () => {\n projectsContributionReportVM.getAllContributions(vnode.attrs.filterVM).then((data) => {\n const exceptReceived = _.filter(data, contrib => contrib.delivery_status !== 'received');\n selectedContributions().push(..._.pluck(exceptReceived, 'id'));\n selectedAny(!_.isEmpty(exceptReceived));\n });\n },\n unselectAll = () => {\n selectedContributions([]);\n selectedAny(false);\n },\n updateStatus = (status) => {\n const data = {\n contributions: selectedContributions(),\n message: deliveryMessage(),\n delivery_status: status\n };\n if (status === 'delivered') {\n displayDeliverModal.toggle();\n } else if (status === 'error') {\n displayErrorModal.toggle();\n }\n loading(true);\n showSelectedMenu.toggle();\n m.redraw();\n projectsContributionReportVM.updateStatus(data).then(() => {\n loading(false);\n showSuccess(true);\n // update status so we don't have to reload the page\n _.map(_.filter(vnode.attrs.list.collection(), contrib => _.contains(selectedContributions(), contrib.id)),\n item => item.delivery_status = status);\n }).catch(() => {\n m.redraw();\n });\n return false;\n };\n\n vnode.state = {\n showSuccess,\n selectAll,\n unselectAll,\n deliveryMessage,\n displayDeliverModal,\n displayErrorModal,\n updateStatus,\n loading,\n showSelectedMenu,\n selectedAny,\n selectedContributions\n };\n },\n view: function({state, attrs}) {\n const list = attrs.list;\n const isFailed = attrs.project().state === 'failed';\n\n return m('.w-section.bg-gray.before-footer.section', state.loading() ? h.loader() : [\n (state.displayErrorModal() ? m(modalBox, {\n displayModal: state.displayErrorModal,\n hideCloseButton: false,\n content: [errorContributionModalContent, { project: attrs.project, displayModal: state.displayErrorModal, amount: state.selectedContributions().length, updateStatus: state.updateStatus, message: state.deliveryMessage }]\n }) : ''),\n (state.displayDeliverModal() ? m(modalBox, {\n displayModal: state.displayDeliverModal,\n hideCloseButton: false,\n content: [deliverContributionModalContent, { project: attrs.project, displayModal: state.displayDeliverModal, amount: state.selectedContributions().length, updateStatus: state.updateStatus, message: state.deliveryMessage }]\n }) : ''),\n\n (state.showSuccess() ? m(popNotification, {\n message: 'As informações foram atualizadas'\n }) : ''),\n m('.w-container', [\n m('.u-marginbottom-40',\n m('.w-row', [\n m('.u-text-center-small-only.w-col.w-col-2',\n m('.fontsize-base.u-marginbottom-10', [\n m('span.fontweight-semibold',\n (list.isLoading() ? '' : list.total())\n ),\n ' apoios'\n ])\n ),\n m('.w-col.w-col-6', isFailed ? '' : [\n (!state.selectedAny() ?\n m('button.btn.btn-inline.btn-small.btn-terciary.u-marginright-20.w-button', {\n onclick: state.selectAll\n },\n 'Selecionar todos'\n ) :\n m('button.btn.btn-inline.btn-small.btn-terciary.u-marginright-20.w-button', {\n onclick: state.unselectAll\n },\n 'Desmarcar todos'\n )\n ),\n (state.selectedAny() ?\n m('.w-inline-block', [\n m('button.btn.btn-inline.btn-small.btn-terciary.w-button', {\n onclick: state.showSelectedMenu.toggle\n }, [\n 'Marcar ',\n m('span.w-hidden-tiny',\n 'entrega'\n ),\n ' como'\n ]),\n (state.showSelectedMenu() ?\n m('.card.dropdown-list.dropdown-list-medium.u-radius.zindex-10[id=\\'transfer\\']', [\n m('a.dropdown-link.fontsize-smaller[href=\\'#\\']', {\n onclick: () => state.displayDeliverModal.toggle()\n },\n 'Entregue'\n ),\n m('a.dropdown-link.fontsize-smaller[href=\\'#\\']', {\n onclick: () => state.displayErrorModal.toggle()\n },\n 'Erro na entrega'\n )\n ]) : '')\n ]) : '')\n ]),\n m('.w-clearfix.w-col.w-col-4',\n m('a.alt-link.fontsize-small.lineheight-looser.u-right', { onclick: () => attrs.showDownloads(true) }, [\n m('span.fa.fa-download',\n ''\n ),\n ' Baixar relatórios'\n ])\n )\n ])\n ),\n\n _.map(list.collection(), (item) => {\n const contribution = prop(item);\n return m(projectContributionReportContentCard, {\n project: attrs.project,\n contribution,\n selectedContributions: state.selectedContributions,\n selectedAny: state.selectedAny\n });\n })\n ]),\n m('.w-section.section.bg-gray', [\n m('.w-container', [\n m('.w-row.u-marginbottom-60', [\n m('.w-col.w-col-2.w-col-push-5', [\n (!list.isLoading() ?\n (list.isLastPage() ? '' : m('button#load-more.btn.btn-medium.btn-terciary', {\n onclick: list.nextPage\n }, 'Carregar mais')) : h.loader())\n ])\n ])\n\n ])\n ])\n\n ]);\n }\n};\n\nexport default projectContributionReportContent;\n","import m from 'mithril';\nimport _ from 'underscore';\n\nconst downloadReports = {\n view: function({attrs}) {\n const project = attrs.project(),\n paymentState = project.state === 'failed' ? 'paid,refunded' : 'paid',\n isFailed = project.state === 'failed',\n isSuccessful = project.state === 'successful',\n isWaitingFunds = project.state === 'waiting_funds',\n isOnline = project.state === 'online',\n paidRewards = _.filter(attrs.rewards, reward => reward.paid_count > 0);\n\n return m('section.min-height-70',\n m('.w-section',\n m('article',\n m('.section.project-metrics',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8',\n m('.card.u-radius.u-marginbottom-20.card-terciary', [\n m('.fontsize-small.fontweight-semibold.u-marginbottom-20', [\n m('span.fa.fa-download',\n m.trust(' ')\n ),\n 'Baixar relatórios'\n ]),\n m('.card.u-radius.u-marginbottom-20', [\n m('span.fontweight-semibold',\n m.trust('Atenção: ')\n ),\n (\n isFailed ?\n 'Devido a nossa política de privacidade, não podemos informar dados pessoais de apoiadores em projetos que não tenham sido financiados.'\n :\n 'Ao realizar o download desses dados, você se compromete a armazená-los em local seguro e respeitar o direitos dos usuários conforme o que está previsto nos Termos de Uso e na política de privacidade do Catarse.'\n ) \n ]),\n m('div.card.card-message.u-radius.u-margintop-20.u-marginbottom-20.fontsize-small', [\n m('span.fa.fa-lightbulb-o'),\n m.trust(' '),\n 'Saiba como ',\n m('a.alt-link[href=\"https://suporte.catarse.me/hc/pt-br/articles/360033009412-Como-gerar-etiquetas-de-impress%C3%A3o-para-envio-de-recompensas\"][target=\"_blank\"]', \n 'gerar etiquetas de impressão'\n ),\n ' com essas planilhas e como automatizar o ',\n m('a.alt-link[href=\"https://suporte.catarse.me/hc/pt-br/articles/360032844931\"][target=\"_blank\"]', \n 'envio de códigos de rastreio'\n ),\n ' para seus apoiadores!'\n ]), \n (\n isFailed ? '' :\n m('ul.w-list-unstyled', [\n m('li.fontsize-smaller.u-marginbottom-10',\n m('div', [\n 'Apoiadores confirmados ',\n m.trust(' '),\n m(`a.alt-link[href='/${window.I18n.locale}/reports/contribution_reports_for_project_owners.csv?project_id=${project.project_id}&state=${paymentState}']`,\n 'CSV'\n ),\n m.trust(' '),\n '\\\\',\n m.trust(' '),\n m(`a.alt-link[href='/${window.I18n.locale}/reports/contribution_reports_for_project_owners.xls?project_id=${project.project_id}&state=${paymentState}']`,\n 'XLS'\n )\n ]),\n ),\n (\n (isSuccessful || isWaitingFunds || isOnline) ? \n ''\n :\n (\n m('li.divider.u-marginbottom-10'),\n m('li.fontsize-smaller.u-marginbottom-10',\n m('div', [\n 'Apoiadores pendentes',\n m.trust(' '),\n m.trust(' '),\n m(`a.alt-link[href='/${window.I18n.locale}/reports/contribution_reports_for_project_owners.csv?project_id=${project.project_id}&state=pending&waiting_payment=true']`,\n 'CSV'\n ),\n m.trust(' '),\n '\\\\',\n m.trust(' '),\n m(`a.alt-link[href='/${window.I18n.locale}/reports/contribution_reports_for_project_owners.xls?project_id=${project.project_id}&state=pending&waiting_payment=true']`,\n 'XLS'\n )\n ])\n )\n )\n ),\n m('li.divider.u-marginbottom-10'),\n m('li.fontsize-smaller.u-marginbottom-10',\n m('div', [\n 'Apoiadores que não selecionaram recompensa',\n m.trust(' '),\n m.trust(' '),\n m(`a.alt-link[href='/${window.I18n.locale}/reports/contribution_reports_for_project_owners.csv?project_id=${project.project_id}&reward_id=0&state=${paymentState}']`,\n 'CSV'\n ),\n m.trust(' '),\n '\\\\',\n m.trust(' '),\n m(`a.alt-link[href='/${window.I18n.locale}/reports/contribution_reports_for_project_owners.xls?project_id=${project.project_id}&reward_id=0&state=${paymentState}']`,\n 'XLS'\n )\n ])\n ),\n m('li.divider.u-marginbottom-10'),\n m('li.fontsize-smaller.u-marginbottom-10',\n m('div', [\n 'Apoios cancelados após o pagamento',\n m.trust(' '),\n m.trust(' '),\n m(`a.alt-link[href='/${window.I18n.locale}/reports/contribution_reports_for_project_owners.csv?project_id=${project.project_id}&state=refunded,chargeback']`,\n 'CSV'\n ),\n m.trust(' '),\n '\\\\',\n m.trust(' '),\n m(`a.alt-link[href='/${window.I18n.locale}/reports/contribution_reports_for_project_owners.xls?project_id=${project.project_id}&state=refunded,chargeback']`,\n 'XLS'\n )\n ])\n ),\n _.map(paidRewards, reward => [\n m('li.divider.u-marginbottom-10'),\n m('li.fontsize-smaller.u-marginbottom-10',\n m('div', [\n `R$ ${reward.minimum_value} ${reward.description.substring(0, 40)}...;`,\n m(`a.alt-link[href='/${window.I18n.locale}/reports/contribution_reports_for_project_owners.csv?project_id=${project.project_id}&reward_id=${reward.id}&state=${paymentState}']`,\n 'CSV'\n ),\n m.trust(' '),\n '\\\\',\n m.trust(' '),\n m(`a.alt-link[href='/${window.I18n.locale}/reports/contribution_reports_for_project_owners.xls?project_id=${project.project_id}&reward_id=${reward.id}&state=${paymentState}']`,\n 'XLS'\n )\n ])\n )\n ]),\n m('li.divider.u-marginbottom-10')\n ])\n )\n ])\n ),\n m('.w-col.w-col-2')\n ])\n )\n )\n )\n )\n );\n }\n};\n\nexport default downloadReports;\n","import m from 'mithril';\nimport h from '../h';\nimport modalBox from './modal-box';\n\nconst InfoProjectContributionLegend = {\n oninit: function(vnode) {\n vnode.state = {\n modalToggle: h.toggleProp(false, true)\n };\n },\n view: function({state, attrs}) {\n return m('span', [\n attrs.text,\n m.trust(' '),\n m('a.fa.fa-question-circle.fontcolor-secondary[href=\"#\"]', {\n onclick: state.modalToggle.toggle\n }, ''),\n (state.modalToggle() ? m(modalBox, {\n displayModal: state.modalToggle,\n content: attrs.content\n }) : '')\n ]);\n }\n};\n\nexport default InfoProjectContributionLegend;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.contributions_report.legend_labels');\n\nconst ProjectContributionStateLegendModal = {\n oninit: function(vnode) {\n const translate = path => window.I18n.t(path, I18nScope());\n\n vnode.state = {\n stages: {\n online: [\n {\n label: translate('online.paid.label'),\n text: translate('online.paid.text'),\n i_class: '.fa.fa-circle.text-success'\n }, {\n label: translate('online.pending.label'),\n text: translate('online.pending.text'),\n i_class: '.fa.fa-circle.text-waiting'\n }, {\n label: translate('online.refunded.label'),\n text: translate('online.refunded.text'),\n i_class: '.fa.fa-circle.text-error'\n }\n ],\n failed: [\n {\n label: translate('failed.refunded.label'),\n text: translate('failed.refunded.text'),\n i_class: '.fa.fa-circle.text-refunded'\n }\n ],\n successful: [\n {\n label: translate('successful.paid.label'),\n text: translate('successful.paid.text'),\n i_class: '.fa.fa-circle.text-success'\n },\n {\n label: translate('successful.refunded.label'),\n text: translate('successful.refunded.text'),\n i_class: '.fa.fa-circle.text-error'\n }\n ],\n\n }\n };\n },\n view: function({state, attrs}) {\n const project = _.first(attrs.project()),\n project_stage = (project.state == 'waiting_funds' ? 'online' : project.state);\n\n return m('div', [\n m('.modal-dialog-header', [\n m('.fontsize-large.u-text-center',\n 'Status do apoio')\n ]),\n m('.modal-dialog-content', _.map(state.stages[project_stage], (item, i) => m('.u-marginbottom-20', [\n m('.fontsize-small.fontweight-semibold', [\n m(`span${item.i_class}`),\n ` ${item.label}`\n ]),\n m('.fontsize-smaller', m.trust(item.text))\n ])))\n ]);\n }\n};\n\nexport default ProjectContributionStateLegendModal;\n","import m from 'mithril';\nimport h from '../h';\n\nconst ProjectContributionDeliveryLegendModal = {\n view: function() {\n return m('div', [\n m('.modal-dialog-header', [\n m('.fontsize-large.u-text-center',\n 'Status da entrega')\n ]),\n m('.modal-dialog-content', [\n m('.fontsize-smaller.u-marginbottom-30',\n 'Todo apoio tem, por padrão, o status de entrega \\'Não enviada\\'. Para ajudar no seu controle da entrega de recompensas, você pode alterar esses status e filtrar a pesquisa de apoios com os seguintes rótulos:'\n ),\n m('.u-marginbottom-20', [\n m('.fontsize-smaller.fontweight-semibold', [\n 'Não enviada',\n m.trust(' ')\n ]),\n m('.fontsize-smaller',\n 'Você ainda não enviou a recompensa para o apoiador.'\n )\n ]),\n m('div',\n m('span.fontsize-smaller.badge.badge-success',\n 'Entregue'\n )\n ),\n m('.u-marginbottom-20',\n m('.fontsize-smaller',\n 'Você já enviou a recompensa para o apoiador.'\n )\n ),\n m('.u-marginbottom-20', [\n m('div',\n m('span.fontsize-smaller.badge.badge-attention',\n 'Erro na entrega'\n )\n ),\n m('.fontsize-smaller',\n 'Você enviou a recompensa, mas houve algum problema com o envio (ex: endereço incorreto).'\n )\n ]),\n m('.u-marginbottom-20', [\n m('div',\n m('span.fontsize-smaller.badge.badge-success', [\n m('span.fa.fa-check-circle',\n ''\n ),\n ' Recebida'\n ])\n ),\n m('.fontsize-smaller',\n 'O apoiador marcou a recompensa como \\'Recebida\\' no seu painel de controle \\o/'\n )\n ])\n ]),\n m('.divider.u-marginbottom-10'),\n m('.fontcolor-secondary.fontsize-smaller.u-marginbottom-30', [\n 'Obs: mesmo que a recompensa não seja física (como uma cópia digital, por exemplo), você pode mesmo assim usar o sistema acima!'\n ])\n ]);\n }\n};\n\nexport default ProjectContributionDeliveryLegendModal;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse } from '../api';\nimport models from '../models';\nimport h from '../h';\nimport projectDashboardMenu from '../c/project-dashboard-menu';\nimport projectContributionReportHeader from '../c/project-contribution-report-header';\nimport projectContributionReportContent from '../c/project-contribution-report-content';\nimport projectsContributionReportVM from '../vms/projects-contribution-report-vm';\nimport FilterMain from '../c/filter-main';\nimport FilterDropdown from '../c/filter-dropdown';\nimport downloadReports from '../c/download-reports';\nimport InfoProjectContributionLegend from '../c/info-project-contribution-legend';\nimport ProjectContributionStateLegendModal from '../c/project-contribution-state-legend-modal';\nimport ProjectContributionDeliveryLegendModal from '../c/project-contribution-delivery-legend-modal';\nimport projectContributionsListVM from '../vms/project-contributions-list-vm';\n\nconst projectContributionReport = {\n oninit: function(vnode) {\n const listVM = projectContributionsListVM(),\n filterVM = projectsContributionReportVM,\n project = prop([{}]),\n rewards = prop([]),\n showDownloads = prop(false),\n contributionStateOptions = prop([]),\n requestRedraw = h.createRequestAutoRedraw(project, rewards),\n reloadSelectOptions = projectState => {\n let opts = [\n {\n value: '',\n option: 'Todos',\n },\n ];\n\n const optionsMap = {\n online: [\n {\n value: 'paid',\n option: 'Confirmado',\n },\n {\n value: 'pending',\n option: 'Iniciado',\n },\n {\n value: 'refunded,chargeback,deleted,pending_refund',\n option: 'Contestado',\n },\n ],\n waiting_funds: [\n {\n value: 'paid',\n option: 'Confirmado',\n },\n {\n value: 'pending',\n option: 'Iniciado',\n },\n {\n value: 'refunded,chargeback,deleted,pending_refund',\n option: 'Contestado',\n },\n ],\n failed: [\n {\n value: 'refunded',\n option: 'Reembolsado',\n },\n ],\n successful: [\n {\n value: 'paid',\n option: 'Confirmado',\n },\n {\n value: 'refunded,chargeback,deleted,pending_refund',\n option: 'Contestado',\n },\n ],\n };\n\n opts = opts.concat(optionsMap[projectState] || []);\n\n contributionStateOptions(opts);\n },\n submit = () => {\n if (filterVM.reward_id() === 'null') {\n listVM.firstPage(filterVM.withNullParameters());\n } else {\n listVM.firstPage(filterVM.parameters());\n }\n\n return false;\n },\n filterBuilder = [\n {\n component: FilterMain,\n data: {\n inputWrapperClass: '.w-input.text-field',\n btnClass: '.btn.btn-medium',\n vm: filterVM.full_text_index,\n placeholder: 'Busque por nome ou email do apoiador',\n },\n },\n {\n label: 'reward_filter',\n component: FilterDropdown,\n data: {\n label: 'Recompensa',\n onchange: submit,\n name: 'reward_id',\n vm: filterVM.reward_id,\n wrapper_class: '.w-sub-col.w-col.w-col-3',\n options: [],\n },\n },\n {\n label: 'delivery_filter',\n component: FilterDropdown,\n data: {\n custom_label: [\n InfoProjectContributionLegend,\n {\n content: [ProjectContributionDeliveryLegendModal],\n text: 'Status da entrega',\n },\n ],\n onchange: submit,\n name: 'delivery_status',\n vm: filterVM.delivery_status,\n wrapper_class: '.w-sub-col.w-col.w-col-3',\n options: [\n {\n value: '',\n option: 'Todos',\n },\n {\n value: 'undelivered',\n option: 'Não entregue',\n },\n {\n value: 'delivered',\n option: 'Entregue',\n },\n {\n value: 'error',\n option: 'Erro no envio',\n },\n {\n value: 'received',\n option: 'Recebida',\n },\n ],\n },\n },\n {\n label: 'survey_filter',\n component: FilterDropdown,\n data: {\n label: 'Status do questionário',\n onchange: submit,\n name: 'survey_status',\n vm: filterVM.survey_status,\n wrapper_class: '.w-col.w-col-3',\n options: [\n {\n value: '',\n option: 'Todos',\n },\n {\n value: 'not_sent',\n option: 'Não enviado',\n },\n {\n value: 'sent,answered',\n option: 'Enviado',\n },\n {\n value: 'sent',\n option: 'Não Respondido',\n },\n {\n value: 'answered',\n option: 'Respondido',\n },\n ],\n },\n },\n {\n label: 'payment_state',\n component: FilterDropdown,\n data: {\n custom_label: [\n InfoProjectContributionLegend,\n {\n text: 'Status do apoio',\n content: [\n ProjectContributionStateLegendModal,\n {\n project,\n },\n ],\n },\n ],\n name: 'state',\n onchange: submit,\n vm: filterVM.state,\n wrapper_class: '.w-sub-col.w-col.w-col-3',\n options: contributionStateOptions,\n },\n },\n ];\n\n filterVM.project_id(vnode.attrs.project_id);\n\n const lReward = catarse.loaderWithToken(\n models.rewardDetail.getPageOptions({\n project_id: `eq.${filterVM.project_id()}`,\n })\n );\n const lProject = catarse.loaderWithToken(\n models.projectDetail.getPageOptions({\n project_id: `eq.${filterVM.project_id()}`,\n })\n );\n\n lReward\n .load()\n .then(rewards)\n .then(requestRedraw);\n lProject.load().then(data => {\n project(data);\n reloadSelectOptions(_.first(data).state);\n requestRedraw();\n });\n\n const mapRewardsToOptions = () => {\n let options = [];\n if (!lReward()) {\n options = _.map(rewards(), r => ({\n value: r.id,\n option: `R$ ${h.formatNumber(r.minimum_value, 2, 3)} - ${(r.title ? r.title : r.description).substring(0, 20)}`,\n }));\n }\n\n options.unshift({\n value: null,\n option: 'Sem recompensa',\n });\n\n options.unshift({\n value: '',\n option: 'Todas',\n });\n\n return options;\n };\n\n if (!listVM.collection().length) {\n if (m.route.param('rewardId')) {\n filterVM.reward_id(m.route.param('rewardId'));\n }\n listVM.firstPage(filterVM.parameters());\n }\n\n vnode.state = {\n listVM,\n filterVM,\n filterBuilder,\n submit,\n lProject,\n rewards,\n project,\n showDownloads,\n mapRewardsToOptions,\n };\n },\n view: function({ state }) {\n const list = state.listVM;\n\n if (!state.lProject()) {\n return m('', [\n m(projectDashboardMenu, {\n project: prop(_.first(state.project())),\n }),\n state.showDownloads()\n ? m(downloadReports, {\n project: prop(_.first(state.project())),\n rewards: state.rewards(),\n })\n : [\n m(`.w-section.section-product.${_.first(state.project()).mode}`),\n m(projectContributionReportHeader, {\n submit: state.submit,\n filterBuilder: state.filterBuilder,\n form: state.filterVM.formDescriber,\n mapRewardsToOptions: state.mapRewardsToOptions,\n filterVM: state.filterVM,\n }),\n m(projectContributionReportContent, {\n submit: state.submit,\n list,\n showDownloads: state.showDownloads,\n filterVM: state.filterVM,\n project: prop(_.first(state.project())),\n }),\n ],\n ]);\n }\n return m('', h.loader());\n },\n};\n\nexport default projectContributionReport;\n","import m from 'mithril';\nimport { catarse } from '../api';\nimport models from '../models';\n\nconst projectContributionsListVM = () => {\n const listVM = catarse.paginationVM(models.projectContribution, 'id.desc', {\n Prefer: 'count=exact',\n });\n\n return {\n firstPage: parameters => {\n return listVM.firstPage(parameters).then(() => m.redraw());\n },\n nextPage: () => {\n return listVM.nextPage().then(() => m.redraw());\n },\n isLoading: listVM.isLoading,\n collection: listVM.collection,\n isLastPage: listVM.isLastPage,\n total: listVM.total,\n };\n};\n\nexport default projectContributionsListVM;\n","/**\n * window.c.loadMoreBtn component\n * Button to paginate collection\n *\n * Example of use:\n * view: () => {\n * ...\n * m.component(c.loadMoreBtn, {collection: collection, cssClass: 'class'})\n * ...\n * }\n */\nimport m from 'mithril';\nimport h from '../h';\n\nconst loadMoreBtn = {\n view: function({attrs}) {\n const collection = attrs.collection,\n cssClass = attrs.cssClass;\n return m(`.w-col.w-col-4${cssClass}`, [\n (!collection.isLoading() ?\n (collection.isLastPage() ? '' : m('button#load-more.btn.btn-small.btn-terciary.w-button', {\n onclick: collection.nextPage\n }, 'Carregar mais')) : h.loader())\n ]);\n }\n};\n\nexport default loadMoreBtn;\n","import m from 'mithril';\n\nconst filterText = {\n view: function ({attrs}) {\n const buttonOptions = {};\n\n if ('onclick' in attrs)\n buttonOptions.onclick = attrs.onclick;\n\n return m(attrs.wrapper_class, [\n m('.fontsize-smaller.u-text-center',\n attrs.label\n ),\n m('.w-row', [\n m('.text-field.positive.prefix.no-hover.w-col.w-col-2.w-col-small-2.w-col-tiny-2',\n m('a.w-inline-block[href=\\'#\\']', buttonOptions,\n m('img.header-lupa[src=\\'/assets/catarse_bootstrap/lupa_grey.png\\']')\n )\n ),\n m('.w-col.w-col-10.w-col-small-10.w-col-tiny-10',\n m(`input.text-field.postfix.positive.w-input[maxlength='256'][placeholder='${attrs.placeholder}'][type='text']`, {\n onchange: m.withAttr('value', attrs.vm),\n value: attrs.vm()\n })\n )\n ])\n ]); \n }\n};\n\nexport default filterText;\n","import m from 'mithril';\n\nconst DropdownMenu = {\n oninit(vnode) {\n\n },\n\n view({ state, attrs, children }) {\n\n const display = attrs.display ? 'block' : 'none';\n\n return m('.card.u-radius.zindex-10.dropdown-list.dropdown-list-medium.u-text-center', { style: { display } }, children);\n }\n};\n\nexport default DropdownMenu;","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport h from '../h';\nimport _ from 'underscore';\n\nconst EnterKey = 13;\n\nconst innerFieldInput = {\n oninit: function(vnode) {\n const inputState = {\n value: vnode.attrs.inputValue,\n setValue: function(value) {\n value = (''+value).replace(/[^0-9]*/g, '');\n value = Math.abs(parseInt(value));\n inputState.value(value);\n }\n }\n\n vnode.state = { inputState };\n },\n view: function({state, attrs}) {\n const defaultInputOptions = {\n onchange: m.withAttr('value', state.inputState.setValue),\n value: state.inputState.value(),\n onkeyup: (e) => {\n if (e.keyCode == EnterKey) \n attrs.onsetValue();\n state.inputState.setValue(e.target.value)\n }\n };\n\n let inputExtraProps = '';\n\n if ('min' in attrs) inputExtraProps += `[min='${attrs.min}']`;\n if ('max' in attrs) inputExtraProps += `[max='${attrs.max}']`;\n if ('placeholder' in attrs) inputExtraProps += `[placeholder='${attrs.placeholder}']`;\n else inputExtraProps += `[placeholder=' ']`;\n\n return attrs.shouldRenderInnerFieldLabel ? \n m(`input.text-field.positive.w-input[type='number']${inputExtraProps}`, defaultInputOptions)\n :\n m('.w-row', [\n m('.text-field.positive.prefix.no-hover.w-col.w-col-3.w-col-small-3.w-col-tiny-3',\n m('.fontsize-smallest.fontcolor-secondary.u-text-center', attrs.label)\n ),\n m('.w-col.w-col-9.w-col-small-9.w-col-tiny-9',\n m(`input.text-field.postfix.positive.w-input[type='number']${inputExtraProps}`, defaultInputOptions)\n )\n ]);\n }\n}\n\nconst filterDropdownNumberRange = {\n oninit: function (vnode) {\n const\n firstValue = prop(0),\n secondValue = prop(0),\n clearFieldValues = () => { firstValue(0), secondValue(0) },\n getNumericValue = (value) => isNaN(value) ? 0 : value,\n getLowerValue = () => getNumericValue(firstValue()),\n getHigherValue = () => getNumericValue(secondValue()),\n renderPlaceholder = () => {\n const \n lowerValue = getLowerValue(),\n higherValue = getHigherValue();\n\n let placeholder = vnode.attrs.value_change_placeholder;\n if (higherValue !== 0) placeholder = vnode.attrs.value_change_both_placeholder;\n\n if (lowerValue !== 0)\n {\n placeholder = placeholder.replace('#V1', lowerValue);\n }\n else\n {\n placeholder = placeholder.replace('#V1', vnode.attrs.init_lower_value);\n }\n \n if (higherValue !== 0)\n {\n placeholder = placeholder.replace('#V2', higherValue);\n }\n else\n {\n placeholder = placeholder.replace('#V2', vnode.attrs.init_higher_value);\n }\n return placeholder;\n },\n showDropdown = h.toggleProp(false, true);\n \n vnode.state = {\n firstValue, \n secondValue, \n clearFieldValues, \n getLowerValue, \n getHigherValue, \n renderPlaceholder, \n showDropdown\n };\n },\n view: function ({state, attrs}) {\n \n const dropdownOptions = {};\n const shouldRenderInnerFieldLabel = !!!attrs.inner_field_label;\n const applyValueToFilter = () => {\n const higherValue = state.getHigherValue() * attrs.value_multiplier;\n const lowerValue = state.getLowerValue() * attrs.value_multiplier;\n\n attrs.vm.gte(lowerValue);\n attrs.vm.lte(higherValue);\n attrs.onapply();\n state.showDropdown.toggle();\n };\n \n if ('dropdown_inline_style' in attrs) {\n dropdownOptions.style = attrs.dropdown_inline_style;\n }\n\n return m(attrs.wrapper_class, [\n m('.fontsize-smaller.u-text-center', attrs.label),\n m('div', {\n style: {'z-index' : '1'}\n }, [\n m('select.w-select.text-field.positive', {\n style: {\n 'margin-bottom' : '0px'\n },\n onmousedown: function(e) {\n e.preventDefault();\n if (attrs.selectable() !== attrs.index && state.showDropdown()) state.showDropdown.toggle();\n attrs.selectable(attrs.index);\n state.showDropdown.toggle();\n }\n },\n [\n m('option', {\n value: ''\n }, state.renderPlaceholder())\n ]),\n ((state.showDropdown() && attrs.selectable() == attrs.index) ? \n m('nav.dropdown-list.dropdown-list-medium.card', dropdownOptions,\n [\n m('.u-marginbottom-20.w-row', [\n m('.w-col.w-col-5.w-col-small-5.w-col-tiny-5',\n m(innerFieldInput, {\n shouldRenderInnerFieldLabel,\n inputValue: state.firstValue,\n placeholder: attrs.inner_field_placeholder,\n label: attrs.inner_field_label,\n min: attrs.min,\n onsetValue: applyValueToFilter\n })\n ),\n m('.w-col.w-col-2.w-col-small-2.w-col-tiny-2',\n m('.fontsize-smaller.u-text-center.u-margintop-10',\n 'a'\n )\n ),\n m('.w-col.w-col-5.w-col-small-5.w-col-tiny-5',\n m(innerFieldInput, {\n shouldRenderInnerFieldLabel,\n inputValue: state.secondValue,\n placeholder: ' ',\n label: attrs.inner_field_label,\n min: attrs.min,\n onsetValue: applyValueToFilter\n })\n )\n ]),\n m('a.fontsize-smaller.fontweight-semibold.alt-link.u-right[href=\\'#\\']', {\n onclick: applyValueToFilter\n }, 'Aplicar'),\n m('a.fontsize-smaller.link-hidden[href=\\'#\\']', {\n onclick: () => {\n state.clearFieldValues();\n applyValueToFilter();\n }\n }, 'Limpar')\n ])\n\n : '')\n ])\n ]);\n }\n}\n\nexport default filterDropdownNumberRange;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport moment from 'moment';\nimport h from '../h';\n\nconst I18nScopePayment = _.partial(h.i18nScope, 'projects.payment');\nconst I18nScopePaymentMethod = _.partial(h.i18nScope, 'projects.payment_method');\n\nconst dashboardSubscriptionCardDetailPaymentHistoryEntry = {\n oninit: function(vnode) {\n const statusClass = {\n paid: '.text-success',\n pending: '.text-waiting',\n refused: '.text-error',\n refunded: '.text-error',\n chargedback: '.text-error',\n deleted: '.text-error',\n error: '.text-error'\n };\n\n vnode.state = {\n statusClass\n };\n },\n view: function({state, attrs}) {\n const \n captalize = (str) => str.charAt(0).toUpperCase() + str.slice(1),\n paymentStatus = attrs.payment.status,\n paymentAmount = attrs.payment.amount,\n paymentMethod = attrs.payment ? attrs.payment.payment_method : '',\n paymentDate = attrs.payment.created_at,\n paymentDetails = attrs.payment.payment_method_details,\n paymentMethodText = I18n.t(`${paymentMethod}`, I18nScopePaymentMethod()),\n isSlipWithExpiration = (paymentMethod === 'boleto' && !_.isNull(paymentDetails.expiration_date)),\n isCreditCardWithDetails = (paymentMethod === 'credit_card' && !_.isNull(paymentDetails.brand) && !_.isNull(paymentDetails.last_digits)),\n paymentStatusText = I18n.t(`last_status.${paymentMethod}.${paymentStatus}`, I18nScopePayment()),\n paymentMethodEndText = ( isSlipWithExpiration ?\n ` com venc. ${h.momentify(paymentDetails.expiration_date, 'DD/MM')}` : \n ( isCreditCardWithDetails ?\n ` ${captalize(paymentDetails.brand)} final ${paymentDetails.last_digits}` :\n ''));\n\n return m('.fontsize-smallest.w-row',\n [\n m('.w-col.w-col-3', m('.fontcolor-secondary', h.momentify(paymentDate, 'DD/MM/YYYY'))),\n m('.w-col.w-col-9', \n m('div',\n [\n m(`span.fa.fa-circle${state.statusClass[paymentStatus]}`, m.trust(' ')),\n `R$${paymentAmount / 100} ${paymentStatusText} - ${captalize(paymentMethodText)} ${paymentMethodEndText}`\n ]\n )\n )\n ]\n );\n }\n};\n\nexport default dashboardSubscriptionCardDetailPaymentHistoryEntry;\n","import m from 'mithril';\nimport moment from 'moment';\nimport h from '../h';\n\nconst subscriptionNextChargeDateMethodInfo = {\n view: function({attrs}) {\n const payment_method = attrs.payment_method;\n const payment_method_details = attrs.payment_method_details;\n const next_charge_at = attrs.next_charge_at;\n\n const hasPaymentMethodDetails = payment_method_details && payment_method_details.last_digits && payment_method_details.brand;\n\n if (payment_method === 'boleto') {\n return `${h.momentify(next_charge_at, 'DD/MM/YYYY')} - Boleto`;\n } else if (hasPaymentMethodDetails) {\n const {\n last_digits,\n brand\n } = payment_method_details;\n\n return `${h.momentify(next_charge_at, 'DD/MM/YYYY')} - Cartão ${brand} final ${last_digits}`;\n } else {\n return h.loader();\n }\n }\n};\n\nexport default subscriptionNextChargeDateMethodInfo;\n","import m from 'mithril';\nimport subscriptionNextChargeDateMethodInfo from './subscription-next-charge-date-method-info';\n\nconst subscriptionNextChargeDate = {\n view: function({\n attrs\n }) {\n const {\n subscription,\n last_payment\n } = attrs;\n\n const {\n status,\n next_charge_at\n } = subscription;\n\n const payment_method = last_payment ? last_payment.payment_method : '';\n const payment_method_details = last_payment ? last_payment.payment_method_details : '';\n\n if ((status === 'active' || status === 'started') && !!next_charge_at) {\n return m('div.card-secondary.fontsize-smaller.u-marginbottom-20', [\n m('span.fontweight-semibold', 'Próxima cobrança:'),\n m.trust(' '),\n m(subscriptionNextChargeDateMethodInfo, {\n next_charge_at,\n payment_method,\n payment_method_details\n })\n ]);\n } else {\n return m('span[style=\"display:none\"]');\n }\n }\n};\n\nexport default subscriptionNextChargeDate;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport models from '../models';\nimport {\n commonPayment\n} from '../api';\nimport loadMoreBtn from './load-more-btn';\nimport dashboardSubscriptionCardDetailPaymentHistoryEntry from './dashboard-subscription-card-detail-payment-history-entry';\nimport subscriptionNextChargeDate from './subscription-next-charge-date';\nimport h from '../h';\nimport { getPaymentsListVM } from '../vms/payments-list-vm';\n\nconst dashboardSubscriptionCardDetailPaymentHistory = {\n oninit: function(vnode) {\n const loadingFirstPage = prop(true);\n const errorOcurred = prop(false);\n const payments = getPaymentsListVM();\n const paymentsFilterVM = commonPayment.filtersVM({ subscription_id: 'eq' });\n\n paymentsFilterVM.subscription_id(vnode.attrs.subscription.id);\n\n payments.firstPage(paymentsFilterVM.parameters()).then(() => {\n loadingFirstPage(false);\n h.redraw();\n })\n .catch(() => {\n errorOcurred(true);\n h.redraw();\n });\n\n vnode.state = {\n payments,\n loadingFirstPage\n };\n },\n view: function({\n state,\n attrs\n }) {\n const payments = state.payments.collection();\n const {\n subscription\n } = attrs;\n\n const last_payment = payments.length > 0 ? payments[0] : subscription.last_payment_data;\n\n return m(`div[m-component-name='dashboardSubscriptionCardDetailPaymentHistory']`, [\n m(subscriptionNextChargeDate, {\n subscription,\n last_payment\n }),\n _.map(payments,\n payment => m(dashboardSubscriptionCardDetailPaymentHistoryEntry, {\n payment\n })\n ),\n m('.u-marginbottom-30.u-margintop-30.w-row', [\n m(loadMoreBtn, {\n collection: state.payments,\n cssClass: '.w-col-push-4'\n })\n ])\n ]);\n }\n};\n\nexport default dashboardSubscriptionCardDetailPaymentHistory;\n","import h from '../h';\nimport { commonPayment } from '../api';\nimport models from '../models';\n\nexport const getPaymentsListVM = () => {\n const listVM = commonPayment.paginationVM(models.commonPayments, 'created_at.desc', { Prefer: 'count=exact' });\n return h.createBasicPaginationVMWithAutoRedraw(listVM);\n}","import m from 'mithril';\nimport _ from 'underscore';\nimport subscriptionStatusIcon from './subscription-status-icon';\nimport paymentMethodIcon from './payment-method-icon';\nimport dashboardSubscriptionCardDetailPaymentHistory from './dashboard-subscription-card-detail-payment-history';\n\nconst dashboardSubscriptionCardDetailSubscriptionDetails = {\n view: function({attrs}) {\n const subscription = attrs.subscription,\n reward = attrs.reward,\n user = attrs.user;\n \n return m('.u-marginbottom-20.card.u-radius', \n [\n m('.fontsize-small.fontweight-semibold.u-marginbottom-10',\n 'Detalhes da assinatura'\n ),\n m('.fontsize-smaller.u-marginbottom-20', [\n m('div', [\n m('span.fontcolor-secondary',\n 'Status: '\n ),\n m(subscriptionStatusIcon, {\n subscription\n })\n ]),\n m('div', [\n m('span.fontcolor-secondary',\n 'Valor do pagamento mensal: '\n ),\n `R$${subscription.amount / 100}`\n ]),\n m('div', [\n m('span.fontcolor-secondary',\n 'Recompensa: '\n ), !_.isEmpty(reward) ? `R$${reward.minimum_value} - ${reward.title} - ${reward.description.substring(0, 90)}(...)` : 'Sem recompensa'\n ]),\n m('div', [\n m('span.fontcolor-secondary',\n 'Meio de pagamento: '\n ),\n m(paymentMethodIcon, { subscription })\n ]),\n m('div', [\n m('span.fontcolor-secondary',\n 'Qtde. de pagamentos confirmados: '\n ),\n `${subscription.paid_count} meses`\n ]),\n m('.fontsize-base.u-margintop-10', [\n m('span.fontcolor-secondary',\n 'Total pago: '\n ),\n m.trust(' '),\n m('span.fontweight-semibold.text-success',\n `R$${subscription.total_paid / 100}`\n )\n ])\n ]),\n m(\".divider.u-marginbottom-20\"),\n m(\"div\", [\n m(\".fontsize-small.fontweight-semibold.u-marginbottom-10\", \"Histórico de pagamentos\"),\n m(dashboardSubscriptionCardDetailPaymentHistory, { user, subscription })\n ])\n ]);\n }\n};\n\nexport default dashboardSubscriptionCardDetailSubscriptionDetails;\n","/*\n * UserFollowBtn - Component\n * Handles with follow / unfollow actions to an user\n *\n * Example:\n * m.component(c.UserFollowBtn, {follow_id: 10, following: false})\n */\n\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse } from '../api';\nimport h from '../h';\nimport models from '../models';\n\nconst UserFollowBtn = {\n oninit: function(vnode) {\n const following = prop(vnode.attrs.following || false),\n followVM = catarse.filtersVM({ follow_id: 'eq' }),\n loading = prop(false),\n hover = prop(false),\n userFollowInsert = models.userFollow.postOptions({\n follow_id: vnode.attrs.follow_id,\n }),\n userFollowDelete = (() => {\n followVM.follow_id(vnode.attrs.follow_id);\n\n return models.userFollow.deleteOptions(followVM.parameters());\n })(),\n follow = () => {\n const l = catarse.loaderWithToken(userFollowInsert);\n loading(true);\n\n l.load().then(() => {\n following(true);\n loading(false);\n h.redraw();\n });\n },\n unfollow = () => {\n const l = catarse.loaderWithToken(userFollowDelete);\n loading(true);\n\n l.load().then(() => {\n following(false);\n loading(false);\n h.redraw();\n });\n };\n\n vnode.state = {\n following,\n follow,\n unfollow,\n loading,\n hover,\n };\n },\n view: function({ state, attrs }) {\n if (h.userSignedIn() && h.getUserID() != attrs.follow_id) {\n let disableClass = attrs.disabledClass || '.w-button.btn.btn-medium.btn-terciary.u-margintop-20',\n enabledClass = attrs.enabledClass || '.w-button.btn.btn-medium.u-margintop-20';\n if (state.loading()) {\n return h.loader();\n }\n if (state.following()) {\n return m(\n `a${enabledClass}`,\n {\n onclick: state.unfollow,\n onmouseover: () => state.hover(true),\n onmouseout: () => state.hover(false),\n },\n state.hover() ? 'Deixar de seguir' : 'Seguindo'\n );\n }\n return m(`a${disableClass}`, { onclick: state.follow }, 'Seguir');\n }\n return m('');\n },\n};\n\nexport default UserFollowBtn;\n","/**\n * window.c.OwnerMessageContent component\n * Render project owner contact form\n *\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport h from '../h';\nimport models from '../models';\nimport userVM from '../vms/user-vm';\n\nconst ownerMessageContent = {\n oninit: function(vnode) {\n let l = prop(false);\n const sendSuccess = prop(false),\n userDetails = vnode.attrs,\n submitDisabled = prop(false),\n // sets default values when user is not logged in\n user = h.getUser() || {\n name: '',\n email: '',\n },\n from_name = prop(userVM.displayName(user)),\n from_email = prop(user.email),\n content = prop('');\n\n const sendMessage = () => {\n if (l()) {\n return false;\n }\n submitDisabled(true);\n content(\n content()\n .split('\\n')\n .join('<br />')\n );\n\n const loaderOpts = models.directMessage.postOptions({\n from_name: from_name(),\n from_email: from_email(),\n user_id: h.getUser().user_id,\n content: content(),\n project_id: vnode.attrs.project_id,\n to_user_id: userDetails.id,\n data: {\n page_title: document.title,\n page_url: window.location.href,\n },\n });\n\n l = catarse.loaderWithToken(loaderOpts);\n\n l.load().then(sendSuccess(true));\n\n submitDisabled(false);\n return false;\n };\n\n vnode.state = {\n sendMessage,\n submitDisabled,\n sendSuccess,\n userDetails: vnode.attrs,\n from_name,\n from_email,\n content,\n l,\n };\n },\n view: function({ state, attrs }) {\n const successMessage = m('.modal-dialog-content.u-text-center', [\n m('.fa.fa-check-circle.fa-5x.text-success.u-marginbottom-40'),\n m(\n 'p.fontsize-large',\n `Sua mensagem foi enviada com sucesso para ${\n state.userDetails.name\n }. Você vai receber uma cópia no seu email e pode seguir a conversa por lá!`\n ),\n ]),\n contactForm = [\n m('.modal-dialog-content', [\n m('.w-form', [\n m(\n 'form',\n {\n onsubmit: h.validate().submit(\n [\n {\n prop: state.from_name,\n rule: 'text',\n },\n {\n prop: state.from_email,\n rule: 'email',\n },\n {\n prop: state.content,\n rule: 'text',\n },\n ],\n state.sendMessage\n ),\n },\n [\n m('.w-row', [\n m('.w-col.w-col-6.w-sub-col', [\n m('label.fontsize-smaller', 'Seu nome'),\n m(`input.w-input.text-field[value='${state.from_name()}'][type='text'][required='required']`, {\n onchange: m.withAttr('value', state.from_name),\n class: h.validate().hasError(state.from_name) ? 'error' : '',\n }),\n ]),\n m('.w-col.w-col-6', [\n m('label.fontsize-smaller', 'Seu email'),\n m(`input.w-input.text-field[value='${state.from_email()}'][type='text'][required='required']`, {\n onchange: m.withAttr('value', state.from_email),\n class: h.validate().hasError(state.from_email) ? 'error' : '',\n }),\n ]),\n ]),\n m('label', 'Mensagem'),\n m(\"textarea.w-input.text-field.height-small[required='required']\", {\n onchange: m.withAttr('value', state.content),\n class: h.validate().hasError(state.content) ? 'error' : '',\n }),\n m('.u-marginbottom-10.fontsize-smallest.fontcolor-terciary', 'Você receberá uma cópia desta mensagem em seu email.'),\n m(\n '.w-row',\n h.validationErrors().length\n ? _.map(h.validationErrors(), errors =>\n m('span.fontsize-smallest.text-error', [m('span.fa.fa-exclamation-triangle'), ` ${errors.message}`, m('br')])\n )\n : ''\n ),\n m(\n '.modal-dialog-nav-bottom',\n m(\n '.w-row',\n m(\n '.w-col.w-col-6.w-col-push-3',\n !state.l()\n ? m('input.w-button.btn.btn-large[type=\"submit\"][value=\"Enviar mensagem\"]', {\n disabled: state.submitDisabled(),\n })\n : h.loader()\n )\n )\n ),\n ]\n ),\n ]),\n ]),\n ];\n\n return m('div', [m('.modal-dialog-header', m('.fontsize-large.u-text-center', 'Enviar mensagem')), state.sendSuccess() ? successMessage : contactForm]);\n },\n};\n\nexport default ownerMessageContent;\n","import m from 'mithril';\nimport h from '../h';\nimport prop from 'mithril/stream';\nimport moment from 'moment';\nimport UserFollowBtn from './user-follow-btn';\nimport ownerMessageContent from './owner-message-content';\nimport modalBox from './modal-box';\n\nconst dashboardSubscriptionCardDetailUserProfile = {\n view: function({attrs})\n {\n const contactModalC = [ownerMessageContent, attrs.user];\n\n return m('.u-marginbottom-20.card.card-secondary.u-radius', [\n m('.fontsize-small.fontweight-semibold.u-marginbottom-10',\n 'Perfil'\n ),\n m('.fontsize-smaller', [\n m('div',\n attrs.subscription.user_email\n ),\n m('div',\n `Conta no Catarse desde ${h.momentify(attrs.user.created_at, 'MMMM YYYY')}`\n ),\n m('.u-marginbottom-10', [\n `Apoiou ${attrs.user.total_contributed_projects} projetos `,\n m.trust(' '),\n '| ',\n m.trust(' '),\n `Criou ${attrs.user.total_published_projects} projetos`\n ]),\n (attrs.displayModal() ? m(modalBox, {\n displayModal: attrs.displayModal,\n content: contactModalC\n }) : ''),\n (m('a.btn.btn-small.btn-inline.btn-edit.u-marginright-10.w-button', {\n onclick: attrs.displayModal.toggle\n }, 'Enviar mensagem')),\n m(UserFollowBtn, {\n follow_id: attrs.user.id,\n following: attrs.user.following_this_user,\n enabledClass: 'a.btn.btn-small.btn-inline.btn-terciary.w-button',\n disabledClass: 'a.btn.btn-small.btn-inline.btn-terciary.w-button'\n })\n ])\n ]);\n }\n};\n\nexport default dashboardSubscriptionCardDetailUserProfile;\n","\nimport m from 'mithril';\n\nconst dashboardSubscriptionCardDetailUserAddress = {\n view: function({attrs})\n {\n return (attrs.user && attrs.user.address) ?\n m('.u-marginbottom-20.card.card-secondary.u-radius', [\n m('.fontsize-small.fontweight-semibold.u-marginbottom-10',\n 'Endereço'\n ),\n m('.fontsize-smaller', [\n m('div', [attrs.user.address.street, attrs.user.address.street_number, attrs.user.address.complementary].join(', ')),\n m('div', [attrs.user.address.city, attrs.user.address.state].join(' - ')),\n m('div', `CEP: ${attrs.user.address.zipcode}`),\n m('div', `${attrs.user.address.country}`)\n ])\n ]) : m('span', ''); \n }\n};\n\nexport default dashboardSubscriptionCardDetailUserAddress;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport models from '../models';\nimport dashboardSubscriptionCardDetailSubscriptionDetails from './dashboard-subscription-card-detail-subscription-details';\nimport dashboardSubscriptionCardDetailUserProfile from './dashboard-subscription-card-detail-user-profile';\nimport dashboardSubscriptionCardDetailUserAddress from './dashboard-subscription-card-detail-user-address';\n\nconst dashboardSubscriptionCardDetail = {\n oninit: function(vnode) {\n const userDetailsOptions = {\n id: vnode.attrs.user.common_id\n };\n\n const userDetailsLoader = models.commonUserDetails.getRowWithToken(userDetailsOptions);\n\n userDetailsLoader.then((user_details) => {\n vnode.attrs.user.address = user_details.address;\n h.redraw();\n });\n\n vnode.state = {\n displayModal: h.toggleProp(false, true)\n };\n },\n\n view: function({state, attrs}) {\n const subscription = attrs.subscription,\n user = _.extend({ project_id: subscription.project_external_id }, attrs.user),\n reward = attrs.reward,\n displayModal = state.displayModal;\n\n return m('.details-backed-project.card',\n m('.card.card-terciary',\n m('.w-row', [\n m('.w-col.w-col-7', [\n m(dashboardSubscriptionCardDetailSubscriptionDetails, { user, subscription, reward })\n ]),\n m('.w-col.w-col-5', [\n m(dashboardSubscriptionCardDetailUserProfile, { user, subscription, displayModal }),\n m(dashboardSubscriptionCardDetailUserAddress, { user })\n ])\n ])\n )\n );\n }\n};\n\nexport default dashboardSubscriptionCardDetail;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport moment from 'moment';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.payment');\n\nconst subscriptionLastPaymentStatus = {\n oninit: function(vnode) {\n const statusClass = {\n paid: '.text-success',\n pending: '.text-waiting',\n refused: '.text-error',\n refunded: '.text-error',\n chargedback: '.text-error',\n deleted: '.text-error',\n error: '.text-error'\n };\n\n vnode.state = {\n statusClass,\n lastPaymentDate: vnode.attrs.subscription.last_payment_data_created_at,\n lastPaymentStatus: vnode.attrs.subscription.last_payment_data.status,\n lastPaymentMethod: vnode.attrs.subscription.last_payment_data.payment_method\n };\n },\n view: function({state, attrs}) {\n return m('span', [\n m(\".fontsize-smaller\",\n state.lastPaymentDate ? h.momentify(state.lastPaymentDate, 'DD/MM/YYYY') : ''\n ),\n m(`.fontsize-mini.lineheight-tightest.fontweight-semibold${state.statusClass[state.lastPaymentStatus]}`,\n I18n.t(`last_status.${state.lastPaymentMethod}.${state.lastPaymentStatus}`, I18nScope())\n )\n ]);\n }\n};\n\nexport default subscriptionLastPaymentStatus;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport moment from 'moment';\nimport {\n catarse\n} from '../api';\nimport models from '../models';\nimport dashboardSubscriptionCardDetail from './dashboard-subscription-card-detail';\nimport subscriptionStatusIcon from './subscription-status-icon';\nimport paymentMethodIcon from './payment-method-icon';\nimport subscriptionLastPaymentStatus from './subscription-last-payment-status';\nimport h from '../h';\nimport anonymousBadge from './anonymous-badge';\n\nconst subscriptionScope = _.partial(h.i18nScope, 'users.subscription_row');\n\nconst dashboardSubscriptionCard = {\n oninit: function(vnode) {\n const subscription = vnode.attrs.subscription,\n reward = prop(),\n toggleDetails = h.toggleProp(false, true),\n user = prop(vnode.attrs.user);\n\n if (subscription.user_external_id) {\n const filterUserVM = catarse.filtersVM({\n id: 'eq'\n }).id(subscription.user_external_id),\n lU = catarse.loaderWithToken(models.userDetail.getRowOptions(filterUserVM.parameters()));\n\n lU.load().then((data) => {\n user(_.first(data));\n h.redraw();\n }).catch(() => h.redraw());\n }\n\n const reward_id_to_search = subscription.current_reward_external_id ? subscription.current_reward_external_id : subscription.reward_external_id;\n\n if (reward_id_to_search) {\n const filterRewVM = catarse.filtersVM({\n id: 'eq'\n }).id(reward_id_to_search),\n lRew = catarse.loaderWithToken(models.rewardDetail.getRowOptions(filterRewVM.parameters()));\n\n lRew.load().then((data) => {\n reward(_.first(data));\n h.redraw();\n }).catch(() => h.redraw());\n }\n vnode.state = {\n toggleDetails,\n reward,\n user\n };\n },\n view: function({state, attrs}) {\n const subscription = attrs.subscription,\n user = state.user(),\n cardClass = state.toggleDetails() ? '.card-detailed-open' : '';\n \n return m(`div${cardClass}`, [m('.card.card-clickable', {\n onclick: state.toggleDetails.toggle\n }, state.user() ?\n m('.w-row', [\n m('.table-col.w-col.w-col-3',\n m('.w-row', [\n m('.w-col.w-col-3',\n m(`img.u-marginbottom-10.user-avatar[src='${h.useAvatarOrDefault(state.user().profile_img_thumbnail)}']`)\n ),\n m('.w-col.w-col-9', [\n m('.fontsize-smaller.fontweight-semibold.lineheight-tighter',\n state.user().name\n ),\n m(anonymousBadge, {\n isAnonymous: subscription.anonymous,\n text: ` ${window.I18n.t('anonymous_sub_title', subscriptionScope())}`\n }),\n m('.fontcolor-secondary.fontsize-smallest',\n subscription.user_email\n )\n ])\n ])\n ),\n m('.table-col.w-col.w-col-2',\n m('.fontsize-smaller',\n _.isEmpty(state.reward()) ? '' : `${state.reward().description.substring(0, 20)}...`\n )\n ),\n m('.table-col.w-col.w-col-1.u-text-center', [\n m('.fontsize-smaller',\n `R$${h.formatNumber(subscription.amount / 100, 0, 3)}`\n ),\n m('.fontcolor-secondary.fontsize-mini.fontweight-semibold.lineheight-tightest', [\n m(paymentMethodIcon, {\n subscription\n })\n ])\n ]),\n m('.w-col.w-col-2.u-text-center', [\n m('.fontsize-smaller',\n `R$${h.formatNumber(subscription.total_paid / 100, 0, 3)}`\n ),\n m('.fontcolor-secondary.fontsize-mini.fontweight-semibold.lineheight-tightest',\n `${subscription.paid_count} meses`\n )\n ]),\n m('.w-col.w-col-2.u-text-center',\n m(subscriptionLastPaymentStatus, { subscription })\n ),\n m('.w-col.w-col-2.u-text-center',\n m(subscriptionStatusIcon, {\n subscription\n })\n ),\n m('button.w-inline-block.arrow-admin.fa.fa-chevron-down.fontcolor-secondary')\n ]) : ''\n ),\n state.toggleDetails() ? m(dashboardSubscriptionCardDetail, {\n subscription,\n reward: state.reward(),\n user\n }) : ''\n ]);\n }\n};\n\nexport default dashboardSubscriptionCard;\n","import m from 'mithril';\nimport { commonPayment } from '../api';\nimport models from '../models';\n\nconst { replaceDiacritics } = window;\n\nconst vm = commonPayment.filtersVM({\n status: 'in',\n search_index: 'plfts(portuguese)',\n reward_external_id: 'eq',\n payment_method: 'eq',\n project_id: 'eq',\n total_paid: 'between',\n paid_count: 'between'\n }),\n paramToString = function (p) {\n return (p || '').toString().trim();\n };\n\nvm.total_paid.gte(0);\nvm.total_paid.lte(0);\nvm.paid_count.gte(0);\nvm.paid_count.lte(0);\nvm.status('');\nvm.payment_method('');\nvm.order({\n created_at: 'desc'\n});\n\nvm.search_index.toFilter = function () {\n const filter = paramToString(vm.search_index());\n return filter && replaceDiacritics(filter) || undefined;\n};\n\nvm.getAllSubscriptions = (filterVM) => {\n models.userSubscription.pageSize(false);\n const allSubs = commonPayment.loaderWithToken(\n models.userSubscription.getPageOptions(filterVM.parameters())).load();\n models.userSubscription.pageSize(9);\n return allSubs;\n};\n\nvm.withNullParameters = () => {\n const withNullVm = commonPayment.filtersVM({\n status: 'in',\n reward_external_id: 'is',\n search_index: 'plfts(portuguese)',\n payment_method: 'eq',\n project_id: 'eq'\n });\n\n withNullVm.order(vm.order());\n withNullVm.status(vm.status());\n withNullVm.reward_external_id(vm.reward_external_id());\n withNullVm.payment_method(vm.payment_method());\n withNullVm.search_index(vm.search_index());\n withNullVm.project_id(vm.project_id());\n\n return withNullVm.parameters();\n};\n\nexport default vm;\n","import m from 'mithril';\nimport { commonPayment } from '../api';\nimport models from '../models';\n\nconst projectSubscriptionsListVM = () => {\n\n const subscriptions = commonPayment.paginationVM(models.userSubscription, 'last_payment_data_created_at.desc', {\n Prefer: 'count=exact'\n })\n\n return {\n firstPage: parameters => {\n return new Promise((resolve, reject) => {\n subscriptions\n .firstPage(parameters)\n .then(result => {\n resolve(result);\n m.redraw();\n })\n .catch(reject);\n });\n },\n nextPage: () => {\n return subscriptions.nextPage().then(() => m.redraw());\n },\n isLoading: subscriptions.isLoading,\n collection: subscriptions.collection,\n isLastPage: subscriptions.isLastPage,\n total: subscriptions.total,\n };\n};\n\nexport default projectSubscriptionsListVM;\n","import m from 'mithril';\nimport stream from 'mithril/stream';\nimport h from '../h';\n\nexport const SelectSubscriptionReports = {\n oninit(vnode) {\n\n const reportsExtension = stream('csv');\n const selectedReportTypes = [];\n\n vnode.state = {\n getSelectedReportTypes: () => selectedReportTypes,\n selectReportType: (report_type, checked) => {\n const indexIn = selectedReportTypes.indexOf(report_type);\n const isInside = indexIn >= 0;\n if (checked && !isInside) {\n selectedReportTypes.push(report_type);\n } else if (isInside) {\n selectedReportTypes.splice(indexIn, 1);\n }\n },\n reportsExtension,\n };\n },\n\n view({ state, attrs }) {\n\n const onSend = attrs.onSend;\n const onClose = attrs.onClose;\n const isSending = attrs.isSending();\n\n const selectReportType = state.selectReportType;\n const getSelectedReportTypes = state.getSelectedReportTypes;\n const reportsExtension = state.reportsExtension;\n\n const reportsTypeSelection = [\n {\n value: 'SubscriptionReportForProjectOwner',\n name: 'Base de Assinantes'\n },\n {\n value: 'SubscriptionMonthlyReportForProjectOwner',\n name: 'Pagamentos confirmados'\n }\n ];\n\n return m('div.modal-dialog-inner.modal-dialog-small', [\n m('a.modal-close.fa.fa-close.fa-lg.w-inline-block[href=\"#\"]', { onclick: onClose }),\n m('div.modal-dialog-header',\n m('div.fontsize-large.u-text-center', 'Exportar relatórios')\n ),\n [\n (isSending) ?\n h.loader()\n :\n [\n m('div.modal-dialog-content', [\n m('div.u-marginbottom-30', [\n m('div.fontsize-base.u-marginbottom-10',\n m('span.fontweight-semibold',\n 'Qual destes relatórios você deseja exportar?'\n )\n ),\n m('div.w-form', [\n m(`form`,\n reportsTypeSelection.map(reportTypeCheck => {\n return m('label.w-checkbox.fontsize-base', [\n m(`input.w-checkbox-input[type=\"checkbox\"][name=\"report_type\"][value=\"${reportTypeCheck.value}\"]`, {\n onclick: (event) => selectReportType(event.target.value, event.target.checked)\n }),\n m('span.w-form-label', reportTypeCheck.name)\n ]);\n })\n ),\n ])\n ]),\n m('div', [\n m('div.fontsize-base.u-marginbottom-10',\n m('span.fontweight-semibold', 'Formato do arquivo')\n ),\n m('div.w-form', [\n m('form',\n m('select.text-field.w-select', {\n value: reportsExtension(),\n onchange: (event) => reportsExtension(event.target.value),\n }, [\n m('option[value=\"csv\"]', 'CSV padrão'),\n m('option[value=\"xls\"]', 'Excel (XLS)'),\n ])\n )\n ])\n ])\n ]),\n m('div.modal-dialog-nav-bottom',\n m('div.w-row', [\n m('div.w-col.w-col-3'),\n m('div.w-col.w-col-6',\n m('a.btn.btn-medium[href=\"#\"]', { \n onclick: () => {\n onSend(getSelectedReportTypes(), reportsExtension())\n } \n }, [\n 'Avançar ', \n m.trust('>')\n ])\n ),\n m('div.w-col.w-col-3')\n ])\n )\n ]\n ]\n ]);\n\n }\n};","import m from 'mithril';\nimport h from '../h';\nimport { catarse } from '../api';\nimport models from '../models';\n\n/**\n * @typedef {Object} Report\n * @property {number} project_id\n * @property {string} report_type\n * @property {string} report_type_ext\n * @property {string} state\n * @property {string} created_at\n */\n\nexport const createProjectReportExports = async (projectId, report_type, report_type_ext) => {\n\n return m.request({\n method: 'POST',\n url: `/projects/${projectId}/project_report_exports/`,\n config: h.setCsrfToken,\n data: {\n report_type,\n report_type_ext,\n }\n });\n}\n\nexport const listProjectReportExports = (projectId) => {\n models.projectReportExports.pageSize(9);\n const projectReportExportsVM = catarse.paginationVM(models.projectReportExports, null, { Prefer: 'count=exact' });\n const vm = h.createBasicPaginationVMWithAutoRedraw(projectReportExportsVM);\n const filter = catarse.filtersVM({\n project_id: 'eq'\n });\n filter.order({\n created_at: 'desc'\n });\n filter.project_id(projectId);\n \n vm.firstPage(filter.parameters());\n return vm;\n}","import m from 'mithril';\nexport const RequestedSubscriptionReportsModal = {\n\n view({ state, attrs }) {\n\n /** @type {string} */\n const reportsExportingUrl = attrs.reportsExportingUrl;\n\n /** @type {string} */\n const projectUserEmail = attrs.projectUserEmail;\n\n /** @type {() => void} */\n const onClose = attrs.onClose;\n\n return m('div.modal-dialog-inner.modal-dialog-small', [\n m('a.modal-close.fa.fa-close.fa-lg.w-inline-block[href=\"#\"]', { onclick: onClose }),\n m('div.modal-dialog-header',\n m('div.fontsize-large.u-text-center', 'Exportar relatórios')\n ),\n m('div.modal-dialog-content.u-text-center', [\n m('div.fa.fa-check-circle.fa-5x.text-success.u-marginbottom-40'), \n m('div.fontsize-large', \n 'Pronto! Estamos preparando seu arquivo.'\n ), \n m('div.fontsize-small',\n [\n 'Você pode acompanhar o progresso da exportação. Ao finalizar, também enviaremos uma cópia do arquivo para o email ',\n m('span.fontweight-semibold', projectUserEmail),\n '.'\n ]\n )\n ]),\n m('div.modal-dialog-nav-bottom',\n m('div.w-row', [\n m('div.w-col.w-col-2'),\n m('div.w-col.w-col-8', \n m(`a.btn.btn-medium[href='${reportsExportingUrl}']`, [\n \"Acompanhar progresso \",\n m.trust(\">\")\n ])\n ),\n m(\"div.w-col.w-col-2\")\n ])\n )\n ]);\n\n }\n};","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport {\n catarse,\n commonPayment\n} from '../api';\nimport models from '../models';\nimport h from '../h';\nimport loadMoreBtn from '../c/load-more-btn';\nimport filterText from '../c/filter-text';\nimport FilterDropdown from '../c/filter-dropdown';\nimport dropdownMenu from '../c/dropdown-menu';\nimport filterDropdownNumberRange from '../c/filter-dropdown-number-range';\nimport projectDashboardMenu from '../c/project-dashboard-menu';\nimport dashboardSubscriptionCard from '../c/dashboard-subscription-card';\nimport projectsSubscriptionReportVM from '../vms/projects-subscription-report-vm';\nimport projectsContributionReportVM from '../vms/projects-contribution-report-vm';\nimport projectSubscriptionsListVM from '../vms/project-subscriptions-list-vm';\nimport { SelectSubscriptionReports } from '../c/select-subscription-reports';\nimport modalBox from '../c/modal-box';\nimport userVM from '../vms/user-vm';\nimport { createProjectReportExports } from '../vms/project-report-exports-vm';\nimport { RequestedSubscriptionReportsModal } from './requested-subscription-reports-modal';\n\nconst statusCustomFilter = {\n view: () => m('.fontsize-smaller.u-text-center', [\n 'Status ',\n m('a.fontsize-smallest.tooltip-wrapper.fa.fa-question-circle.fontcolor-secondary', {\n href: 'https://suporte.catarse.me/hc/pt-br/articles/360024090391-O-que-significa-cada-status-das-assinaturas-e-pagamentos-',\n target: '_blank'\n })\n ])\n};\n\nconst dropdownFilterCustomLabel = {\n view: function ({ attrs }) {\n return m('.fontsize-smaller.u-text-center', attrs.label);\n }\n};\n\nconst projectSubscriptionReport = {\n oninit: function (vnode) {\n const filterVM = projectsSubscriptionReportVM,\n catarseVM = projectsContributionReportVM,\n dropdownNumber = prop(0),\n error = prop(false),\n loader = prop(true),\n isProjectDataLoaded = prop(false),\n isRewardsDataLoaded = prop(false),\n rewards = prop([]),\n subscriptions = projectSubscriptionsListVM(), \n submit = () => {\n // Set order by last paid on filters too\n filterVM.order({ last_payment_data_created_at: 'desc' });\n if (filterVM.reward_external_id() === 'null') {\n subscriptions.firstPage(filterVM.withNullParameters());\n } else {\n subscriptions.firstPage(filterVM.parameters());\n }\n\n return false;\n },\n filterBuilder = [{\n component: filterText,\n label: 'text_filter',\n data: {\n label: 'Nome ou email',\n vm: filterVM.search_index,\n onchange: submit,\n wrapper_class: '.u-marginbottom-20.w-col.w-col-3',\n placeholder: 'Busque por assinantes',\n onclick: submit\n }\n },\n {\n label: 'status_filter',\n component: FilterDropdown,\n data: {\n custom_label: [\n statusCustomFilter,\n null\n ],\n onchange: submit,\n name: 'status',\n vm: filterVM.status,\n wrapper_class: '.w-col.w-col-3',\n options: [{\n value: '',\n option: 'Todos'\n },\n {\n value: 'active',\n option: 'Ativa'\n },\n {\n value: 'started',\n option: 'Iniciada'\n },\n {\n value: 'canceling',\n option: 'Cancelamento solicitado'\n },\n {\n value: 'canceled',\n option: 'Cancelada'\n },\n {\n value: 'inactive',\n option: 'Inativa'\n }\n ]\n }\n },\n {\n label: 'reward_filter',\n component: FilterDropdown,\n data: {\n custom_label: [\n dropdownFilterCustomLabel,\n { label: 'Recompensa' }\n ],\n onchange: submit,\n name: 'reward_external_id',\n vm: filterVM.reward_external_id,\n wrapper_class: '.w-col.w-col-3',\n options: []\n }\n },\n {\n label: 'payment_filter',\n component: FilterDropdown,\n data: {\n custom_label: [\n dropdownFilterCustomLabel,\n { label: 'Meio de pgto.' }\n ],\n onchange: submit,\n name: 'payment_method',\n vm: filterVM.payment_method,\n wrapper_class: '.w-col.w-col-2',\n options: [{\n value: '',\n option: 'Todos'\n },\n {\n value: 'credit_card',\n option: 'Cartão de crédito'\n },\n {\n value: 'boleto',\n option: 'Boleto'\n }\n ]\n }\n },\n {\n label: 'total_paid_filter',\n component: filterDropdownNumberRange,\n data: {\n index: 1,\n selectable: dropdownNumber,\n label: 'Total pago',\n name: 'total_paid',\n onapply: submit,\n vm: filterVM.total_paid,\n wrapper_class: '.w-col.w-col-2',\n init_lower_value: '0',\n init_higher_value: 'mais',\n value_change_placeholder: 'R$#V1 ou #V2',\n value_change_both_placeholder: 'R$#V1 a R$#V2',\n inner_field_placeholder: '0',\n inner_field_label: 'R$',\n value_multiplier: 100,\n min: 0\n }\n },\n {\n label: 'paid_count_filter',\n component: filterDropdownNumberRange,\n data: {\n index: 2,\n selectable: dropdownNumber,\n label: 'Meses pagos',\n name: 'paid_count',\n onapply: submit,\n vm: filterVM.paid_count,\n wrapper_class: '.w-col.w-col-2',\n init_lower_value: '0',\n init_higher_value: 'mais',\n value_change_placeholder: '#V1 ou #V2',\n value_change_both_placeholder: '#V1 a #V2',\n inner_field_placeholder: '0',\n value_multiplier: 1,\n min: 0,\n dropdown_inline_style: {\n right: '0'\n }\n }\n }\n\n ],\n handleError = () => {\n error(true);\n loader(false);\n isProjectDataLoaded(true);\n m.redraw();\n },\n project = prop([{}]),\n displayDownloadReportDropdownMenu = h.toggleProp(false, true),\n displayDownloadReportSelectionModal = h.toggleProp(false, true),\n wasSubscriptionReportRequestSent = h.toggleProp(false, true),\n projectUser = userVM.getCurrentUser();\n\n catarseVM.project_id(vnode.attrs.project_id);\n\n const lReward = catarse.loaderWithToken(models.rewardDetail.getPageOptions({\n project_id: `eq.${catarseVM.project_id()}`\n }));\n\n lReward.load().then((loadedRewards) => {\n rewards(loadedRewards);\n isRewardsDataLoaded(true);\n m.redraw();\n });\n const mapRewardsToOptions = () => {\n let options = [];\n if (!lReward()) {\n options = _.map(rewards(), r => ({\n value: r.id,\n option: `R$ ${h.formatNumber(r.minimum_value, 2, 3)} - ${(r.title ? r.title : r.description).substring(0, 20)}`\n }));\n }\n\n options.unshift({\n value: null,\n option: 'Sem recompensa'\n });\n\n options.unshift({\n value: '',\n option: 'Todas'\n });\n\n return options;\n };\n\n const lProject = catarse.loaderWithToken(models.projectDetail.getPageOptions({\n project_id: `eq.${catarseVM.project_id()}`\n }));\n\n lProject.load().then((data) => {\n filterVM.project_id(_.first(data).common_id);\n // override default 'created_at' order on vm\n filterVM.order({ last_payment_data_created_at: 'desc' });\n subscriptions.firstPage(filterVM.parameters()).then(result => {\n loader(false);\n isProjectDataLoaded(true);\n m.redraw();\n }).catch(err => {\n handleError();\n m.redraw();\n });\n project(data);\n m.redraw();\n });\n\n \n\n const isSendingReportDownloadRequest = prop(false);\n\n /**\n * @param {string} reportTypes \n * @param {string} reportFileExtension \n */\n const sendReportDownloadRequest = async (reportTypes, reportFileExtension) => {\n /**\n * @param {boolean} done \n */\n const updateLoader = (done) => {\n isSendingReportDownloadRequest(!done);\n h.redraw();\n };\n\n updateLoader(false);\n\n for (const reportType of reportTypes) {\n\n try {\n await createProjectReportExports(vnode.attrs.project_id, reportType, reportFileExtension);\n } catch(e) {\n console.log('Error on creating project report exports:', e);\n updateLoader(true);\n throw e;\n }\n }\n\n updateLoader(true);\n wasSubscriptionReportRequestSent(true);\n h.redraw();\n };\n\n vnode.state = {\n filterVM,\n mapRewardsToOptions,\n filterBuilder,\n submit,\n subscriptions,\n lProject,\n project,\n isProjectDataLoaded,\n isRewardsDataLoaded,\n displayDownloadReportDropdownMenu,\n displayDownloadReportSelectionModal,\n sendReportDownloadRequest,\n isSendingReportDownloadRequest,\n wasSubscriptionReportRequestSent,\n projectUser,\n };\n },\n view: function ({ state, attrs }) {\n const subsCollection = state.subscriptions.collection();\n const filterBuilder = state.filterBuilder;\n const statusFilter = _.findWhere(filterBuilder, { label: 'status_filter' });\n const textFilter = _.findWhere(filterBuilder, { label: 'text_filter' });\n const rewardFilter = _.findWhere(filterBuilder, { label: 'reward_filter' });\n const paymentFilter = _.findWhere(filterBuilder, { label: 'payment_filter' });\n const totalPaidFilter = _.findWhere(filterBuilder, { label: 'total_paid_filter' });\n const paidCountFilter = _.findWhere(filterBuilder, { label: 'paid_count_filter' });\n const displayDownloadReportDropdownMenu = state.displayDownloadReportDropdownMenu;\n const displayDownloadReportSelectionModal = state.displayDownloadReportSelectionModal;\n const isSendingReportDownloadRequest = state.isSendingReportDownloadRequest;\n const sendReportDownloadRequest = state.sendReportDownloadRequest;\n const wasSubscriptionReportRequestSent = state.wasSubscriptionReportRequestSent;\n const shouldDisplaySelectReportsToExportModal = displayDownloadReportSelectionModal() && !wasSubscriptionReportRequestSent();\n const shouldDisplayReportsExportingRedirectModal = displayDownloadReportSelectionModal() && wasSubscriptionReportRequestSent();\n const projectUser = state.projectUser;\n\n rewardFilter.data.options = state.mapRewardsToOptions();\n\n if (state.isProjectDataLoaded() && state.isRewardsDataLoaded()) {\n return m('div', [\n [\n shouldDisplaySelectReportsToExportModal &&\n m(modalBox, {\n hideCloseButton: true,\n displayModal: displayDownloadReportSelectionModal,\n content: [SelectSubscriptionReports, { \n isSending: isSendingReportDownloadRequest,\n onClose: displayDownloadReportSelectionModal.toggle,\n onSend: sendReportDownloadRequest,\n }],\n }),\n\n shouldDisplayReportsExportingRedirectModal &&\n m(modalBox, {\n hideCloseButton: true,\n displayModal: displayDownloadReportSelectionModal,\n content: [RequestedSubscriptionReportsModal, { \n projectUserEmail: projectUser().email,\n reportsExportingUrl: `/projects/${attrs.project_id}/subscriptions_report_download`,\n onClose: displayDownloadReportSelectionModal.toggle,\n }],\n })\n ],\n m(projectDashboardMenu, {\n project: prop(_.first(state.project()))\n }),\n m('.dashboard-header', [\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-3'),\n m('.w-col.w-col-6',\n m('.fontsize-larger.fontweight-semibold.lineheight-looser.u-marginbottom-30.u-text-center',\n 'Base de assinantes'\n )\n ),\n m('.w-col.w-col-3')\n ])\n ),\n m('.u-marginbottom-30.w-container',\n m('.w-form', [\n m('form', {\n onsubmit: state.submit\n },\n m('w-row', [\n m(textFilter.component, textFilter.data),\n m('.w-col.w-col-9',\n m('.w-row', [\n m(statusFilter.component, statusFilter.data),\n m(rewardFilter.component, rewardFilter.data),\n m(paymentFilter.component, paymentFilter.data),\n m(totalPaidFilter.component, totalPaidFilter.data),\n m(paidCountFilter.component, paidCountFilter.data),\n ])\n )\n ])\n )\n ])\n )\n ]),\n m('.divider'),\n m('.before-footer.bg-gray.section', [\n m('.w-container', [\n m('div.u-marginbottom-20',\n m('.w-row', [\n m('div.u-text-center-small-only.w-col.w-col-9.w-col-small-9.w-col-tiny-9',\n m('.w-inline-block.fontsize-base.u-marginright-10', [\n m('span.fontweight-semibold',\n state.subscriptions.total()\n ),\n ' assinaturas',\n m.trust(' ')\n ])\n ),\n m('div.u-text-right.w-col.w-col-3.w-col-small-3.w-col-tiny-3', [\n m(`a.alt-link.fontsize-small[href='#']`, {\n onclick: () => displayDownloadReportDropdownMenu.toggle()\n }, [\n m('span.fa.fa-download',\n m.trust(' ')\n ),\n 'Baixar relatórios'\n ]),\n m(dropdownMenu, { display: displayDownloadReportDropdownMenu() }, [\n m(`a.btn.btn-terciary.btn-small.u-marginbottom-10[href='#']`, {\n onclick: () => {\n displayDownloadReportDropdownMenu.toggle();\n displayDownloadReportSelectionModal.toggle();\n }\n }, 'Exportar CSV/XLS'),\n m(`a.btn.btn-terciary.btn-small.u-marginbottom-10[href='/projects/${attrs.project_id}/subscriptions_report_download']`, 'Ver exportações')\n ])\n ])\n ])\n ),\n m('.u-marginbottom-60', [\n m('.card.card-secondary.fontsize-smallest.fontweight-semibold.lineheight-tighter.u-marginbottom-10',\n m('.w-row', [\n m('.table-col.w-col.w-col-3',\n m('div',\n 'Assinante'\n )\n ),\n m('.table-col.w-col.w-col-2',\n m('div',\n 'Recompensa'\n )\n ),\n m('.table-col.w-col.w-col-1.u-text-center',\n m('div',\n 'Pgto. mensal'\n )\n ),\n m('.table-col.w-col.w-col-2.u-text-center',\n m('div',\n 'Total pago'\n )\n ),\n m('.table-col.w-col.w-col-2.u-text-center',\n m('div',\n 'Última cobrança'\n )\n ),\n m('.table-col.w-col.w-col-2.u-text-center',\n m('div',\n 'Status da Assinatura'\n )\n )\n ])\n ),\n m('.fontsize-small', [\n _.map(subsCollection, subscription =>\n m(dashboardSubscriptionCard, {\n subscription\n }))\n ])\n ])\n ]),\n m('.bg-gray.section',\n m('.w-container',\n m('.u-marginbottom-60.w-row', [\n m(loadMoreBtn, {\n collection: state.subscriptions,\n cssClass: '.w-col-push-4'\n })\n ])\n )\n )\n ])\n ]);\n }\n return m('', h.loader());\n }\n};\n\nexport default projectSubscriptionReport;\n","import m from 'mithril';\nimport moment from 'moment';\nimport h from '../h';\nimport { Report } from '../vms/project-report-exports-vm';\n\nexport const projectSubscriptionReportDownloadEntry = {\n\n view({attrs}) {\n\n /** @type {Report} */\n const {\n id,\n project_id,\n report_type,\n report_type_ext,\n state,\n created_at,\n } = attrs;\n\n const reportTypeTranslatedName = {\n SubscriptionReportForProjectOwner: 'Base de Assinantes',\n SubscriptionMonthlyReportForProjectOwner: 'Pagamentos confirmados',\n };\n\n const isExpired = state === 'expired' || moment(created_at).add(7, 'days').isBefore(Date.now());\n\n const realState = isExpired ? 'expired' : state;\n\n const reportStateBadge = {\n pending: realState === 'pending' && m(\"span.fontsize-smaller.badge.btn-messenger.fontcolor-negative\", \"Processando\"),\n expired: realState === 'expired' && m(\"span.fontsize-smaller.badge.badge-gone\", \"Expirado\"),\n done: realState === 'done' && m(\"span.fontsize-smaller.badge.badge-success\", \"Finalizado\"),\n };\n\n const reportIconByState = {\n pending: realState === 'pending' && m('div.w-col.w-col-1', h.loaderWithSize(30, 30)),\n expired: null,\n done: realState === 'done' && m(\"div.fa.fa-check-circle.text-success.fa-2x.w-col.w-col-1\"),\n };\n\n const shouldDisplayDownloadButton = realState === 'done';\n\n const reportDownloadUrl = () => `/projects/${project_id}/project_report_exports/${id}/`\n\n return m(`div.card.u-marginbottom-10`, {\n class: isExpired ? 'card-terciary' : ''\n }, [\n m('div.u-marginbottom-20.w-row', [\n (\n isExpired ?\n m('div.fontsize-small.fontweight-semibold.u-marginbottom-20', reportTypeTranslatedName[report_type])\n :\n [\n reportIconByState[realState],\n m('div.w-col.w-col-8',\n m('div.fontsize-small.fontweight-semibold.u-marginbottom-20', reportTypeTranslatedName[report_type])\n ),\n m('div.w-col.w-col-3', [\n shouldDisplayDownloadButton &&\n m(`a.btn.btn-small.btn-dark.w-button[href=\"${reportDownloadUrl()}\"]`, [\n m('span.fa.fa-download', ' '),\n ' Baixar arquivo'\n ])\n ])\n ]\n )\n ]),\n m('div.w-row', [\n m('div.w-col.w-col-4', [\n m('div.fontsize-smaller.fontweight-semibold', 'Status:'),\n m('div', reportStateBadge[realState])\n ]),\n m('div.w-col.w-col-5', [\n m('div.fontsize-smaller.fontweight-semibold', 'Data da exportação:'),\n m('div.fontsize-smaller.fontweight-semibold', moment(created_at).format('DD/MM/YYYY (h[h]mma)'))\n ]),\n m(\"div.w-col.w-col-3\", [\n m(\"div.fontsize-smaller.fontcolor-secondary\", \"Formato:\"),\n m(\"div.fontsize-smaller.fontcolor-secondary\", report_type_ext.toUpperCase())\n ])\n ])\n ]);\n }\n\n};","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport projectDashboardMenu from '../c/project-dashboard-menu';\nimport {\n catarse\n} from '../api';\nimport projectsContributionReportVM from '../vms/projects-contribution-report-vm';\nimport h from '../h';\nimport models from '../models';\nimport { projectSubscriptionReportDownloadEntry } from '../c/project-subscription-report-download-entry';\nimport { listProjectReportExports, Report } from '../vms/project-report-exports-vm';\nimport loadMoreBtn from '../c/load-more-btn';\n\nconst projectSubscriptionReportDownload = {\n oninit: function (vnode) {\n const catarseVM = projectsContributionReportVM;\n const reports = prop([]);\n const loading = prop(true);\n const project = prop([{}]);\n catarseVM.project_id(vnode.attrs.project_id);\n const lProject = catarse.loaderWithToken(models.projectDetail.getPageOptions({\n project_id: `eq.${catarseVM.project_id()}`\n }));\n\n lProject.load().then((data) => {\n project(data);\n loading(false);\n h.redraw();\n });\n\n const listProjectReportExportsVM = listProjectReportExports(vnode.attrs.project_id);\n\n vnode.state = {\n project,\n listProjectReportExportsVM,\n loadingProject: loading,\n };\n },\n view: function ({ state, attrs }) {\n\n const project = state.project;\n\n /** @type {Report[]} */\n const reports = state.listProjectReportExportsVM.collection();\n\n /** @type {boolean} */\n const loading = state.listProjectReportExportsVM.isLoading();\n\n /** @type {boolean} */\n const loadingProject = state.loadingProject();\n\n if (!loadingProject) {\n return m('div', [\n m(projectDashboardMenu, {\n project: prop(_.first(project()))\n }),\n m('.dashboard-header',\n m('div.w-container',\n m('div.w-row', [\n m('div.w-col.w-col-2'),\n m('div.w-col.w-col-8',\n m('div.fontweight-semibold.fontsize-larger.lineheight-looser', 'Relatórios exportados')\n ),\n m('div.w-col.w-col-2')\n ])\n )\n ),\n m('div.section.min-height-70',\n m('div.w-container',\n m('div.w-row', [\n m('div.w-col.w-col-2'),\n m('div.w-col.w-col-8', [\n m('.card.u-radius.u-marginbottom-20.card-terciary', [\n m('div.fontsize-small.fontweight-semibold.u-marginbottom-20', [\n m('span.fa.fa-download'),\n ' Baixar relatórios'\n ]),\n m('div.card.u-radius', [\n m('strong', 'Atenção: '),\n 'Ao realizar o download desses dados, você se compromete a armazená-los em local seguro e respeitar o direitos dos usuários conforme o que está previsto nos Termos de Uso e na política de privacidade do Catarse.'\n ])\n ]),\n \n (\n loading ?\n h.loader()\n :\n reports.map(report => \n m(projectSubscriptionReportDownloadEntry, report)\n )\n )\n ]), \n m(\"div.w-col.w-col-2\")\n ])\n )\n ),\n m('.u-marginbottom-30.u-margintop-30.w-row', [\n m(loadMoreBtn, {\n collection: state.listProjectReportExportsVM,\n cssClass: '.w-col-push-4'\n })\n ])\n ]);\n } else {\n return h.loader();\n }\n }\n};\n\nexport default projectSubscriptionReportDownload;\n","/**\n * window.c.root.ProjectsDashboard component\n * A root component to manage projects\n *\n * Example:\n * To mount this component just create a DOM element like:\n * <div data-mithril=\"ProjectsDashboard\">\n */\nimport m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectVM from '../vms/project-vm';\nimport projectDashboardMenu from '../c/project-dashboard-menu';\n\nconst projectsDashboard = {\n oninit: function(vnode) {\n projectVM.init(vnode.attrs.project_id, vnode.attrs.project_user_id);\n\n vnode.state = projectVM;\n },\n view: function({state}) {\n const project = state.currentProject;\n\n return project().is_owner_or_admin ?\n m(projectDashboardMenu, { project }) : '';\n }\n};\n\nexport default projectsDashboard;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst UnsignedFriendFacebookConnect = {\n oninit: function(vnode) {\n vnode.state = {\n largeBg: (() => {\n if (_.isUndefined(vnode.attrs)) {\n return false;\n }\n return _.isUndefined(vnode.attrs.largeBg) ? false : vnode.attrs.largeBg;\n })()\n };\n },\n view: function({state}) {\n return m(`.w-section.section${(state.largeBg ? '.bg-backs-carrosel.section-large' : '')}`, [\n m('.w-container', [\n m('.card.card-big', [\n m('.w-row', [\n m('.w-col.w-col-8', [\n m('.fontsize-largest.u-marginbottom-20', 'Encontre projetos incríveis junto com seus amigos'),\n m('.fontsize-small', 'O universo do Catarse junto com a sua rede do Facebook te farão descobrir projetos incríveis!')\n ]),\n m('.w-col.w-col-4', [\n m('a.w-button.btn.btn-fb.btn-large.u-margintop-30.u-marginbottom-10[href=\"/connect-facebook\"]', 'Conecte seu facebook'),\n m('.fontsize-smallest.fontcolor-secondary.u-text-center', 'Nós nunca postaremos nada no facebook sem sua permissão')\n ])\n ])\n ])\n ])\n ]);\n }\n};\n\nexport default UnsignedFriendFacebookConnect;\n","import { ViewModel } from '../vms/projects-explore-vm';\n\nexport interface Model {\n pageSize(newSize? : number) : number;\n\n}\n\nexport class SequencePaginationVM<T> implements ViewModel<T> {\n\n private vms : ViewModel<T>[];\n private pageSize : number;\n private model : Model;\n\n constructor(vms : ViewModel<T>[], pageSize : number = 9, model : Model) {\n this.vms = vms;\n this.pageSize = pageSize;\n this.model = model;\n }\n\n firstPage(parameters: Object): Promise<T[]> {\n throw new Error(\"Method not implemented.\");\n }\n\n collection() : T[] {\n let collectionData : T[] = [];\n\n for (let vmIndex = 0; vmIndex < this.vms.length; vmIndex += 1) {\n \n const vm = this.vms[vmIndex];\n const isLastPage = vm.collection().length >= vm.total();\n\n if (isLastPage) {\n collectionData = collectionData.concat(vm.collection());\n } else {\n return collectionData.concat(vm.collection());\n }\n }\n\n return collectionData;\n }\n\n isLastPage() : boolean {\n let isLastPage = true;\n\n for (let vmIndex = 0; vmIndex < this.vms.length; vmIndex += 1) {\n const vm = this.vms[vmIndex];\n const isLastPageFromVM = vm.collection().length >= vm.total();\n isLastPage = isLastPage && isLastPageFromVM;\n if (!isLastPage) {\n return isLastPage;\n }\n }\n\n return isLastPage;\n }\n\n isLoading() : boolean {\n let isLoading = false;\n\n for (let vmIndex = 0; vmIndex < this.vms.length; vmIndex += 1) {\n const vm = this.vms[vmIndex];\n isLoading = isLoading || vm.isLoading();\n }\n\n return isLoading;\n }\n\n nextPage() : Promise<T[]> {\n for (let vmIndex = 0; vmIndex < this.vms.length; vmIndex += 1) {\n const vm = this.vms[vmIndex];\n const isLastPage = vm.collection().length >= vm.total();\n if (!isLastPage) {\n this.model.pageSize(this.pageSize);\n return vm.nextPage();\n }\n }\n }\n\n total() : number {\n let total = 0;\n\n for (let vmIndex = 0; vmIndex < this.vms.length; vmIndex += 1) {\n const vm = this.vms[vmIndex];\n total = total + vm.total();\n }\n\n return total;\n }\n}","import _ from 'underscore'\nimport { catarse } from '../api'\nimport models from '../models'\nimport { City } from '../@types/city'\nimport { State } from '../@types/state'\nimport { CityState } from '../@types/city-state'\n\ntype ExtendedWindow = {\n replaceDiacritics(inputText : string): string;\n}\n\nconst { replaceDiacritics } = window as any as ExtendedWindow;\n\nexport async function searchCitiesGroupedByState(inputText: string) : Promise<CityState[]> {\n\n const cities = await searchCities(inputText);\n const cityGroup : { [key:string] : City[] } = {};\n\n for (let city of cities) {\n cityGroup[city.state_name] = [city].concat(cityGroup[city.state_name] || []);\n }\n\n return cityGroupToList(cityGroup);\n}\n\nexport async function searchCities(inputText : string) : Promise<City[]> {\n \n const filters = catarse.filtersVM({\n search_index: 'ilike'\n }).order({ name: 'asc' });\n\n filters.search_index(replaceDiacritics(inputText));\n\n return await models.city.getPage(filters.parameters());\n}\n\nexport async function getCityById(city_id : number) : Promise<City> {\n const filters = catarse.filtersVM({\n id: 'eq'\n }).id(city_id)\n\n return _.first(await models.city.getPage(filters.parameters()));\n}\n\nexport function cityGroupToList(citiesByStateOnKey: {[key:string] : City[]}) : CityState[] {\n \n const cityList : CityState[] = [];\n\n for (const stateName of Object.keys(citiesByStateOnKey)) {\n const cities = citiesByStateOnKey[stateName];\n const firstCity = cities[0];\n const cityState : CityState = {\n state: {\n acronym: firstCity.acronym, \n state_name: stateName\n }\n };\n\n cityList.push(cityState);\n\n for (const city of cities) {\n const cityState : CityState = {\n state: {\n acronym: firstCity.acronym, \n state_name: stateName\n },\n city,\n };\n cityList.push(cityState);\n }\n }\n\n return cityList;\n}","import { ViewModel } from \"../@types/view-model\";\n\nexport class SinglePageViewModel<T> implements ViewModel<T> {\n \n private _data : T[]\n private _isLoading : boolean\n private _total : number\n\n constructor(getCollection : () => Promise<T[]>) {\n\n this._data = []\n this._isLoading = true\n this._total = 0\n\n getCollection().then(retrievedData => {\n this._data = retrievedData\n this._isLoading = false\n this._total = this._data.length\n })\n }\n\n collection(data?: T[]): T[] {\n return this._data\n }\n \n isLastPage(): boolean {\n return true\n }\n\n total(): number {\n return this._total\n }\n\n isLoading(): boolean {\n return this._isLoading\n }\n \n async firstPage(parameters: Object): Promise<T[]> {\n return this._data\n }\n\n async nextPage(): Promise<T[]> {\n return []\n }\n\n}","type ExtendedWindow = {\n replaceDiacritics(inputText : string): string;\n}\n\nimport _ from 'underscore'\nimport { catarse } from '../api'\nimport models from '../models'\nimport h from '../h'\nimport projectFilters from './project-filters-vm'\nimport userVM from '../vms/user-vm'\nimport { SequencePaginationVM } from '../utils/sequence-pagination-vm'\nimport { Project } from '../@types/project'\nimport { ViewModel } from '../@types/view-model'\nimport { City } from '../@types/city'\nimport { State } from '../@types/state'\nimport { CityState } from '../@types/city-state'\nimport { searchCitiesGroupedByState } from '../vms/cities-search-vm'\nimport { SinglePageViewModel } from '../utils/single-page-vm'\n\nconst { replaceDiacritics } = window as any as ExtendedWindow;\n\ninterface Observer<T> {\n next(data: T): void;\n error?(err: Error): void;\n};\n\nconst projectFiltersVM = projectFilters();\n\ntype Mode = 'all_modes' | 'sub' | 'not_sub' | 'covid_19';\nexport type Category = {\n name: string;\n id: number;\n}\n\nconst ALL_CATEGORIES : Category = { name: 'Todas as categorias', id: null };\nconst filtersMap = projectFiltersVM.filters;\nconst filters = catarse.filtersVM;\n\nexport type ProjectsExploreVMSearchParams = {\n searchParam?: string;\n mode?: Mode;\n cityState?: CityState;\n category_id?: number;\n filter?: string;\n}\n\nexport type Filter = { \n title: string;\n nicename?: string;\n filter: any; \n isContextual: boolean; \n keyName: string; \n}\n\nexport type Query = {\n mode?: string,\n category_id?: number,\n state_acronym?: string,\n state_name?: string,\n city_name?: string,\n filter?: string,\n}\n\nexport class ProjectsExploreViewModel {\n\n private _observer : Observer<Query>;\n private _categories : Category[];\n private _mode : Mode;\n private _category : Category;\n private _category_id : number;\n private _filter : string;\n private _cityState : CityState;\n private _searchParam : string;\n private _amountFoundOnLocation : number;\n private _projectsView : ViewModel<Project>;\n private _foundCityStates : CityState[];\n private _isLoadingLocationsSearch : boolean;\n private _lastQuery : Query;\n\n constructor(params : ProjectsExploreVMSearchParams) {\n\n this._observer = null;\n this._categories = [ALL_CATEGORIES];\n this._mode = params.mode || 'all_modes';\n this._category = this._categories[0];\n this._category_id = params.category_id || null;\n this._filter = params.filter || 'projects_we_love';\n this._cityState = params.cityState || null;\n this._searchParam = params.searchParam || '';\n this._amountFoundOnLocation = 0;\n \n this._projectsView = {\n collection: () => [],\n isLastPage: () => true,\n isLoading: () => false,\n nextPage: () => new Promise<Project[]>(() => {}),\n total: () => 0,\n firstPage: (p = {}) => new Promise<Project[]>(() => {}),\n };\n \n this._foundCityStates = [];\n this._lastQuery = this.mountQuery();\n this._isLoadingLocationsSearch = false;\n\n this.loadCategories();\n this.executeSearch();\n }\n\n async search(params : ProjectsExploreVMSearchParams) {\n this._mode = params.mode || 'all_modes';\n this._category_id = params.category_id || null;\n this._filter = params.filter || 'projects_we_love';\n this._cityState = params.cityState || null;\n this._searchParam = params.searchParam || '';\n\n if (this._category_id) {\n try {\n this._category = await this.getCategoryById(this._category_id);\n h.redraw();\n } catch(e) {\n this.category = ALL_CATEGORIES;\n this.dispatchNewQuery(); \n }\n } else {\n this._category = ALL_CATEGORIES;\n h.redraw();\n }\n this.executeSearch();\n }\n\n subscribe(observer : Observer<Query>) {\n this._observer = observer;\n }\n\n get projectsView() : ViewModel<Project> {\n return this._projectsView;\n }\n\n async searchLocations(inputText : string) {\n let isLoaded = false;\n const loaderTimeout = setTimeout(() => {\n if (!isLoaded) {\n this._isLoadingLocationsSearch = true;\n h.redraw();\n }\n }, 100);\n this._foundCityStates = [];\n this._foundCityStates = await searchCitiesGroupedByState(inputText);\n isLoaded = true;\n clearTimeout(loaderTimeout);\n this._isLoadingLocationsSearch = false;\n h.redraw();\n }\n \n get foundLocations() : CityState[] {\n return this._foundCityStates;\n }\n\n get isLoadingLocationsSearch() : boolean {\n return this._isLoadingLocationsSearch;\n }\n\n get isTextSearch() : boolean {\n return this._searchParam !== '' && this._searchParam.length > 0;\n }\n\n set searchParam(value : string) {\n this._searchParam = value\n this.dispatchNewQuery();\n }\n\n get searchParam() : string {\n return this._searchParam;\n }\n\n set mode(mode : Mode) { \n this._mode = mode;\n if (mode === 'sub') {\n this._filter = 'all';\n } else if (mode === 'all_modes') {\n this._filter = 'projects_we_love';\n }\n this.dispatchNewQuery();\n }\n\n get mode() : Mode {\n return this._mode;\n }\n\n get modeName() : string {\n return filtersMap[this._mode].title;\n }\n\n set category(category : Category) {\n this._category = category;\n this._category_id = category.id;\n this.dispatchNewQuery();\n h.redraw();\n }\n\n get category() : Category {\n return this._category;\n }\n\n set category_id(category_id : number) {\n this._category_id = category_id;\n (async () => {\n try {\n this.category = await this.getCategoryById(category_id);\n } catch(e) {\n this.category = ALL_CATEGORIES;\n }\n })();\n }\n\n get category_id() {\n return this._category_id;\n }\n\n get categories() : Category[] {\n return this._categories;\n }\n\n set cityState(cityState : CityState) {\n this._cityState = cityState;\n this.dispatchNewQuery();\n }\n\n get cityState() : CityState{\n return this._cityState;\n }\n\n get amountFoundOnLocation() : number {\n return this._amountFoundOnLocation;\n }\n\n set filter(filter : string) {\n this._filter = filter;\n this.dispatchNewQuery();\n }\n\n get filter() {\n return this._filter;\n }\n\n get filterName() : string {\n return filtersMap[this._filter].nicename;\n }\n\n get filters() : Filter[] {\n return projectFiltersVM.getContextFilters();\n }\n\n private async getCategoryById(category_id : number) : Promise<Category> {\n return new Promise<Category>((resolve, reject) => {\n const category = this.findCagetoryById(category_id);\n if (category) {\n resolve(category);\n } else {\n const intervalWaitingCategoriesToLoad = setInterval(() => {\n if (this._categories.length > 1) {\n const category = this.findCagetoryById(category_id);\n if (category) {\n resolve(category);\n } else {\n reject(new Error('Category not found'));\n }\n clearInterval(intervalWaitingCategoriesToLoad);\n }\n }, 100);\n }\n });\n }\n\n private findCagetoryById(category_id : number) : Category {\n return this._categories.find(c => c.id === category_id);\n }\n\n private async loadCategories() {\n models.category.pageSize(100);\n const params = filters({}).order({ name: 'asc' }).parameters();\n const categories = await models.category.getPageWithToken(params);\n this._categories = [ALL_CATEGORIES].concat(categories); \n const category = this._categories.find(c => c.id === this._category_id);\n \n if (category) {\n this._category = category;\n }\n h.redraw();\n }\n\n private dispatchNewQuery() {\n const newQuery = this.mountQuery();\n const queryIsDifferentFromLast = !_.isEqual(this._lastQuery, newQuery);\n if (queryIsDifferentFromLast) {\n this._lastQuery = newQuery;\n if (this._observer) {\n this._observer.next(newQuery);\n }\n }\n }\n\n private mountQuery() {\n\n const query : Query = { }\n\n if (this._mode !== 'all_modes') {\n query.mode = this._mode;\n }\n\n if (this._category_id) {\n query.category_id = this._category_id;\n }\n \n if (this._cityState) {\n query.state_acronym = this._cityState.state.acronym;\n query.state_name = this._cityState.state.state_name;\n\n if (this._cityState.city) {\n query.city_name = this._cityState.city.name;\n }\n }\n\n if (this._filter !== 'projects_we_love') {\n query.filter = this._filter;\n }\n\n return query;\n }\n\n private async executeSearch() {\n this.resetContextFilter();\n\n if (this._mode === 'sub') {\n projectFiltersVM.removeContextFilter(projectFiltersVM.filters.finished);\n projectFiltersVM.removeContextFilter(projectFiltersVM.filters.expiring);\n this._filter = 'all';\n }\n\n const model = this.getModelBasedOnFilter();\n const parameters = this.getParametersBaserOnFilter();\n this._projectsView = this.loadProjects(model, parameters);\n this.countProjectsOnCity(model, parameters);\n this._lastQuery = this.mountQuery();\n h.redraw();\n }\n\n private resetContextFilter() {\n const loggedInContextFilters = ['finished', 'projects_we_love', 'all', 'saved_projects', 'contributed_by_friends', 'expiring', 'recent'];\n const notLoggedInContextFilters = ['finished', 'projects_we_love', 'all', 'expiring', 'recent'];\n const contextFilters = userVM.isLoggedIn ? loggedInContextFilters : notLoggedInContextFilters;\n projectFiltersVM.setContextFilters(contextFilters);\n }\n\n private loadProjects(model, parameters : Object = {}) : ViewModel<Project> {\n model.pageSize(9);\n if (this._searchParam) {\n return new SinglePageViewModel(async () => {\n const projectsFound = await this.makeProjectsSearch()\n h.redraw()\n return projectsFound\n });\n } else if (this._cityState?.city?.name) {\n \n const cityOnlyVmInstance = catarse.paginationVM(model, null, { Prefer: 'count=exact' });\n const stateOnlyVmInstance = catarse.paginationVM(model, null, { Prefer: 'count=exact' });\n\n const cityOnlyPages = h.createBasicPaginationVMWithAutoRedraw(cityOnlyVmInstance);\n const stateOnlyPages = h.createBasicPaginationVMWithAutoRedraw(stateOnlyVmInstance);\n\n const cityOnlyParameters = {\n ...parameters,\n ...filters({ city_name: 'eq' }).city_name(this._cityState.city.name).parameters(),\n };\n const stateOnlyParameters = {\n ...parameters,\n ...filters({ state_acronym: 'eq', city_name: 'not.eq' }).state_acronym(this._cityState.state.acronym).city_name(this._cityState.city.name).parameters(),\n };\n\n cityOnlyPages.firstPage(cityOnlyParameters);\n stateOnlyPages.firstPage(stateOnlyParameters);\n\n const pageSize = 9;\n\n const vms = [cityOnlyPages, stateOnlyPages];\n\n return new SequencePaginationVM<Project>(vms, pageSize, model);\n } else {\n const vmInstance = catarse.paginationVM(model, null, { Prefer: 'count=exact' });\n const pages = h.createBasicPaginationVMWithAutoRedraw(vmInstance);\n pages.firstPage(parameters);\n return pages;\n }\n }\n\n private async makeProjectsSearch() : Promise<Project[]> {\n try {\n const response = await models.projectSearch.postWithToken({ query: replaceDiacritics(this._searchParam) })\n return response as Project[]\n } catch(e) {\n if (this._observer) {\n this._observer.error(e)\n }\n }\n }\n\n private async countProjectsOnCity(model, filterParameters : Object = {}) {\n try {\n if (this._cityState?.city?.name && _.isEmpty(this._searchParam)) {\n const parametersWithOnlyCityNotState = _.extend(\n filterParameters,\n filters({ city_name: 'eq' }).city_name(this._cityState.city.name).parameters()\n );\n this._amountFoundOnLocation = await this.countProjects(model, parametersWithOnlyCityNotState);\n }\n } catch(e) {\n this._amountFoundOnLocation = 0;\n } finally {\n h.redraw();\n }\n }\n\n private async countProjects(model, filterParameters: Object = {}) {\n model.pageSize(1);\n const selectMinimalFieldsFilterVM = catarse.filtersVM({ selectFields: 'select' });\n selectMinimalFieldsFilterVM.selectFields('project_id');\n const pages = catarse.paginationVM(model, null, { Prefer: 'count=exact' });\n const countParameters = _.extend(filterParameters, selectMinimalFieldsFilterVM.parameters());\n await pages.firstPage(countParameters);\n return pages.total();\n }\n\n private getModelBasedOnFilter() {\n return this._filter === 'finished' ? models.finishedProject : models.project;\n }\n\n private getParametersBaserOnFilter() {\n const modeFilter = filtersMap[this._mode];\n const filterFilter = filtersMap[this._filter];\n const parametersFilter = this.getParametersFromLocationSearchAndCategory();\n const order = this.filterOrderBasedOnFilter();\n\n return _.extend(\n modeFilter.filter.parameters(),\n filterFilter.filter.order(order).parameters(),\n this.setOpenForContribution(),\n parametersFilter\n );\n }\n\n private filterOrderBasedOnFilter() {\n if (this._filter === 'finished') {\n return {\n state_order: 'asc',\n state: 'desc',\n pledged: 'desc'\n };\n } else {\n return {\n open_for_contributions: 'desc',\n state_order: 'asc',\n state: 'desc',\n score: 'desc',\n pledged: 'desc'\n };\n }\n }\n\n private setOpenForContribution() {\n if (this._filter !== 'finished') {\n return filters({ open_for_contributions: 'eq' }).open_for_contributions(true).parameters();\n } else {\n return {};\n }\n }\n\n private getParametersFromLocationSearchAndCategory() {\n let parametersFilter = {};\n\n if (this._category_id) {\n parametersFilter = Object.assign(parametersFilter, filters({ category_id : 'eq' }).category_id(this._category_id).parameters());\n }\n\n const cityName = this._cityState?.city?.name;\n const stateAcronym = this._cityState?.state?.acronym;\n \n if (!cityName && stateAcronym) {\n parametersFilter = Object.assign(parametersFilter, filters({ state_acronym: 'eq' }).state_acronym(stateAcronym).parameters());\n }\n\n parametersFilter = Object.assign(parametersFilter, this.getOrParameters());\n\n return parametersFilter;\n }\n\n private getOrParameters() {\n if (this._searchParam) {\n return filters({\n textSearch: 'or'\n })\n .textSearch({\n full_text_index: {\n plfts: this._searchParam,\n },\n project_name: {\n plfts: this._searchParam,\n }\n }).parameters();\n } else {\n return {};\n }\n }\n}","import m from 'mithril';\nimport h from '../../h';\n\nexport const ExploreSearchFilterSelect = {\n oninit(vnode) {\n\n const openSearchControl = h.RedrawToggleStream(false, true);\n\n vnode.state = {\n openSearchControl\n };\n },\n\n view({ state, attrs }) {\n\n const onSearch = attrs.onSearch;\n const onSelect = attrs.onSelect;\n const isLoading = attrs.isLoading;\n const itemToString = attrs.itemToString;\n const mobileLabel = attrs.mobileLabel;\n const hasItemSelected = attrs.selectedItem() !== null;\n const noneSelected = attrs.noneSelected;\n const selectedItem = hasItemSelected ? itemToString(attrs.selectedItem()) : noneSelected;\n const foundItems = attrs.foundItems() || [];\n const openSearchControl = state.openSearchControl; \n const onToggleSearchBox = (/** @type {Event} */ event) => {\n event.stopPropagation();\n openSearchControl.toggle();\n if (openSearchControl()) {\n onSearch('');\n }\n };\n\n return m('div.explore-filter-wrapper', [\n m('div.explore-span-filter', {\n onclick: onToggleSearchBox\n }, [\n m('div.explore-span-filter-name', [\n m('div.explore-mobile-label', mobileLabel),\n m('div.inline-block', selectedItem)\n ]),\n m(`.inline-block${ hasItemSelected ? '.far.fa-times' : '.fa.fa-angle-down'}[aria-hidden=\"true\"]`, {\n onclick: (/** @type {Event} */ event) => {\n if (hasItemSelected) {\n onSelect(null);\n event.stopPropagation();\n openSearchControl(false);\n } else {\n onToggleSearchBox(event);\n }\n }\n })\n ]),\n (\n openSearchControl() &&\n (\n m('div.explore-filter-select.big.w-clearfix', { 'style': { 'display': 'block' } }, [\n m('a.modal-close.fa.fa-close.fa-lg.w-hidden-main.w-hidden-medium.w-inline-block[href=\"#\"]', {\n onclick: onToggleSearchBox\n }),\n m('div.w-form', [\n m('form.position-relative', [\n m('a.btn-search.w-inline-block[href=\"#\"]',\n m('img.header-lupa[src=\"https://uploads-ssl.webflow.com/57ba58b4846cc19e60acdd5b/57ba58b4846cc19e60acdda7_lupa.png\"][alt=\"\"]')\n ),\n m('input.text-field.positive.city-search.w-input[type=\"text\"][autofocus][maxlength=\"256\"][placeholder=\"Pesquise por cidade ou estado\"]', {\n oninput: (/** @type {Event} */ event) => onSearch(event.target.value),\n onkeyup: (/** @type {Event} */ event) => onSearch(event.target.value),\n }),\n m('div.table-outer.search-cities-pre-result', [\n (\n isLoading() ?\n h.loader()\n :\n (\n foundItems.length === 0 ?\n (\n m('div.table-row.fontsize-smallest.fontcolor-secondary',\n m('a.fontsize-smallest.link-hidden-light[href=\"#\"]', {\n onclick: (/** @type {Event} */ event) => {\n event.preventDefault();\n onSelect(null);\n onToggleSearchBox(event);\n }\n }, noneSelected)\n )\n )\n :\n (\n foundItems.map(item => {\n return m('div.table-row.fontsize-smallest.fontcolor-secondary',\n m('a.fontsize-smallest.link-hidden-light[href=\"#\"]', {\n onclick: (/** @type {Event} */ event) => {\n event.preventDefault();\n onSelect(item);\n onToggleSearchBox(event);\n }\n }, itemToString(item))\n );\n })\n )\n )\n )\n ])\n ]),\n ])\n ])\n )\n )\n ]);\n }\n};\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport h from '../../h';\nimport _ from 'underscore';\n\n/**\n * @typedef ExploreFilterValue\n * @property {string} label\n * @property {string} value\n */\n\n\ntype ExploreFilterAttrs = {\n values: any[];\n isSelected(item : any): boolean;\n onSelect(item : any): void;\n mobileLabel: string;\n itemToString(item : any): string;\n selectedItem(): any;\n splitNumberColumns?: number;\n}\n\ntype ExploreFilterState = {\n showFilterSelect: {(newData?:any): any, toggle() : any}\n}\n\ntype ExploreFilterViewParams = {\n attrs: ExploreFilterAttrs;\n state: ExploreFilterState;\n}\n\nexport const ExploreFilterSelect : m.Component<ExploreFilterAttrs, ExploreFilterState> = {\n oninit(vnode) {\n const showFilterSelect = h.RedrawToggleStream(false, true);\n\n vnode.state = {\n showFilterSelect,\n };\n },\n \n view({state, attrs}) {\n \n const isSelected = attrs.isSelected;\n const itemToString = attrs.itemToString;\n const onSelect = attrs.onSelect;\n const selectedItem = attrs.selectedItem;\n const values = attrs.values;\n const mobileLabel = attrs.mobileLabel;\n const splitNumberColumns = attrs.splitNumberColumns || 1;\n const showFilterSelect = state.showFilterSelect;\n const onClickExploreFilter = (event : Event) => {\n showFilterSelect.toggle();\n event.stopPropagation();\n };\n \n return m('.explore-filter-wrapper', [\n m('.explore-span-filter', {\n onclick: onClickExploreFilter\n }, [\n m('div.explore-span-filter-name', [\n m('div.explore-mobile-label', mobileLabel),\n m('div.inline-block', itemToString(selectedItem())),\n ]),\n m('.inline-block.fa.fa-angle-down[aria-hidden=\"true\"]', {\n onclick: onClickExploreFilter\n })\n ]),\n (\n showFilterSelect() && \n (\n splitNumberColumns > 1 ?\n m(ExploreFilterSelectionColumns, {\n isSelected,\n onSelect,\n values,\n splitNumberColumns,\n showFilterSelect,\n itemToString,\n })\n :\n m(ExploreFilterSelectionSingleColumn, {\n isSelected,\n onSelect,\n values,\n showFilterSelect,\n itemToString,\n })\n )\n )\n ]);\n }\n};\n\ntype ExploreFilterSelectionColumnsViewParams = {\n showFilterSelect: {(newData?:any): any, toggle() : any};\n values: any[];\n isSelected: (item) => boolean;\n onSelect: (item : any) => void;\n itemToString: (item) => string;\n splitNumberColumns?: number;\n}\n\nconst ExploreFilterSelectionColumns : m.Component<ExploreFilterSelectionColumnsViewParams> = {\n\n view({attrs}) {\n const isSelected = attrs.isSelected;\n const onSelect = attrs.onSelect;\n const itemToString = attrs.itemToString;\n const values = attrs.values;\n const splitNumberColumns = attrs.splitNumberColumns || 1;\n const showFilterSelect = attrs.showFilterSelect;\n const onSelectWithClose = (item) => {\n showFilterSelect(false);\n onSelect(item); \n };\n\n const splitPartAmount = values.length / splitNumberColumns;\n const splitPartAmountRounded = Math.floor(splitPartAmount);\n let displayedElementsCount = 0;\n\n return m('.explore-filter-select.big',\n m('.explore-filer-select-row', [\n _.range(0, splitNumberColumns).map(columnIndex => {\n const startIndex = splitPartAmountRounded * columnIndex;\n const endPartIndex = splitPartAmountRounded * (columnIndex + 1);\n displayedElementsCount += (endPartIndex - startIndex);\n const endIndex = endPartIndex + (displayedElementsCount >= values.length ? 0 : 1);\n return m('.explore-filter-select-col', [\n columnSplit(\n itemToString,\n values, \n startIndex,\n endIndex,\n onSelectWithClose,\n isSelected\n )\n ]);\n }),\n m('a.modal-close.fa.fa-close.fa-lg.w-hidden-main.w-hidden-medium.w-inline-block', {\n onclick: () => showFilterSelect(false)\n })\n ])\n );\n }\n};\n\ntype ExploreFilterSingleColumnViewParams = {\n showFilterSelect: {(newData?:any): any, toggle() : any};\n values: any[];\n isSelected: (item) => boolean;\n onSelect: (item : any) => void;\n itemToString: (item) => string;\n}\n\nconst ExploreFilterSelectionSingleColumn : m.Component<ExploreFilterSingleColumnViewParams> = {\n \n /**\n * @param {ExploreFilterViewParams} viewParams\n * @returns {m.Vnode}\n */\n view({attrs}) {\n const isSelected = attrs.isSelected;\n const onSelect = attrs.onSelect;\n const itemToString = attrs.itemToString;\n const values = attrs.values;\n const showFilterSelect = attrs.showFilterSelect;\n\n return m('.explore-filter-select', [\n values.map(item => {\n return m('a.explore-filter-link[href=\"javascript:void(0);\"]', {\n onclick: () => {\n showFilterSelect(false);\n onSelect(item);\n },\n class: isSelected(item) ? 'selected' : ''\n }, itemToString(item));\n }),\n m('a.modal-close.fa.fa-close.fa-lg.w-hidden-main.w-hidden-medium.w-inline-block', {\n onclick: () => showFilterSelect(false)\n })\n ]);\n }\n};\n\nfunction columnSplit(itemToString : (item : any) => string, values : any[], start : number, finish : number, onSelect : (item : any) => void, isSelected : (item : any) => boolean) {\n return values.slice(start, finish).map(item => {\n return m('a.explore-filter-link[href=\"javascript:void(0);\"]', {\n onclick: () => onSelect(item),\n class: isSelected(item) ? 'selected' : ''\n }, itemToString(item));\n });\n}","import m from 'mithril';\n\nexport const ExploreProjectsFoundCounter : m.Component<{ total: number; }> = {\n view({attrs, children}) {\n \n const total = attrs.total;\n\n return (\n <div>\n <div class=\"w-container\">\n <div class=\"w-row\">\n <div class=\"w-col w-col-9 w-col-tiny-9 w-col-small-9\">\n <div class=\"fontsize-large\">\n {total} projetos encontrados\n </div>\n {children}\n </div>\n <div class=\"w-col w-col-3 w-col-tiny-3 w-col-small-3\">\n </div>\n </div>\n </div>\n </div>\n );\n }\n};","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../../h';\nimport projectCard from '../project-card';\n\nexport const ExploreProjectsList = {\n view({attrs}) {\n\n const projects = attrs.projects;\n const isSearch = attrs.isSearch;\n const filterKeyName = attrs.filterKeyName;\n const isContributedByFriendsFilter = (filterKeyName === 'contributed_by_friends');\n\n return m('.w-section.section', [\n m('.w-container', [\n m('.w-row', [\n m('.w-row', _.map(projects.collection(), project => {\n let cardType = 'small';\n let ref = 'ctrse_explore';\n\n if (isSearch) {\n ref = 'ctrse_explore_pgsearch';\n } else if (isContributedByFriendsFilter) {\n ref = 'ctrse_explore_friends';\n } else if (filterKeyName === 'all') {\n if (project.score >= 1) {\n ref = 'ctrse_explore_featured';\n }\n } else if (filterKeyName === 'saved_projects') {\n ref = 'ctrse_explore_saved_project';\n } else if (filterKeyName === 'projects_we_love') {\n ref = 'ctrse_explore_projects_we_love';\n }\n\n return m(projectCard, {\n project,\n ref,\n type: cardType,\n showFriends: isContributedByFriendsFilter,\n });\n })),\n projects.isLoading() ? h.loader() : ''\n ])\n ])\n ]);\n }\n};","import m from 'mithril';\n\nexport type ProjectsExplorerFooterAttrs = {\n hasSpecialFooter: boolean;\n icon: string;\n title: string;\n link: string;\n cta: string;\n}\n\nexport const ProjectsExplorerFooter : m.Component<ProjectsExplorerFooterAttrs> = {\n view({attrs}) {\n const hasSpecialFooter = attrs.hasSpecialFooter;\n const icon = attrs.icon;\n const title = attrs.title;\n const link = attrs.link;\n const cta = attrs.cta;\n\n const iconSrc = hasSpecialFooter ? icon : 'https://daks2k3a4ib2z.cloudfront.net/54b440b85608e3f4389db387/56f4414d3a0fcc0124ec9a24_icon-launch-explore.png';\n const footerTitle = hasSpecialFooter ? title : 'Lance sua campanha no Catarse!';\n const startLink = hasSpecialFooter ? `${link}?ref=ctrse_explore` : '/start?ref=ctrse_explore';\n const startLinkTitle = hasSpecialFooter ? cta : 'Aprenda como';\n\n return (\n <div class=\"w-section section-large before-footer u-margintop-80 bg-gray divider\">\n <div class=\"w-container u-text-center\">\n <img src={iconSrc} class=\"u-marginbottom-20 icon-hero\"/>\n <h2 class=\"fontsize-larger u-marginbottom-60\">\n {footerTitle}\n </h2>\n <div class=\"w-row\">\n <div class=\"w-col w-col-4 w-col-push-4\">\n <a href={startLink} class=\"w-button btn btn-large\">{startLinkTitle}</a>\n </div>\n </div>\n </div>\n </div>\n );\n }\n};","import m from 'mithril';\n\nexport type ProjectsExploreLoadMoreButtonAttrs = {\n showNextPageButton: boolean;\n onclick(event : Event): boolean;\n}\n\nexport const ProjectsExploreLoadMoreButton : m.Component<ProjectsExploreLoadMoreButtonAttrs> = {\n view({attrs}) {\n const showNextPageButton = attrs.showNextPageButton;\n const onclick = attrs.onclick;\n\n return (\n <div class=\"w-section u-marginbottom-80\">\n <div class=\"w-container\">\n <div class=\"w-row\">\n {\n showNextPageButton &&\n <div class=\"w-col w-col-2 w-col-push-5\">\n <a href=\"#\" onclick={onclick} class=\"btn btn-medium btn-terciary\">\n Carregar mais\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n );\n }\n};","export function defineDeepObject(objectPath = '', value = null, previousObj = {}) {\n const obj = previousObj;\n defineDeepObjectRecursive(objectPath, obj, value);\n return obj;\n}\n\nfunction defineDeepObjectRecursive(objectPath = '', deepObject = {}, value = null) {\n if (typeof value !== 'undefined' && value !== null && value !== '') {\n const index = objectPath.indexOf('.');\n const hasDeeperPath = index >= 0;\n const currentKey = objectPath.slice(0, index > 0 ? index : objectPath.length);\n\n if (hasDeeperPath) {\n deepObject[currentKey] = deepObject[currentKey] || {}\n const remainingPath = objectPath.slice(index + 1, objectPath.length);\n defineDeepObjectRecursive(remainingPath, deepObject[currentKey], value);\n } else {\n deepObject[currentKey] = value;\n }\n }\n}","import m from 'mithril'\n\nexport type ExploreSearchParamAttrs = {\n mobileLabel: string\n searchParam: string\n onClose(): void\n}\n\nexport class ExploreSearchParam implements m.Component {\n view({ attrs } : m.Vnode<ExploreSearchParamAttrs>) {\n\n const mobileLabel = attrs.mobileLabel\n const searchParam = attrs.searchParam\n const onClose = attrs.onClose\n\n return (\n <div class='explore-filter-wrapper'>\n <div class='explore-span-filter'>\n <div class='explore-span-filter-name'>\n <div class='explore-mobile-label'>\n {mobileLabel}\n </div>\n <div class='inline-block'>\n {searchParam}\n </div>\n </div>\n\n <div onclick={onClose} class='inline-block far fa-times'></div>\n </div>\n </div>\n )\n }\n}","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport h from '../../h';\nimport { ThisWindow } from '../../@types/window';\n\ndeclare var window : ThisWindow\n\nexport type ExploreMobileSearchAttrs = {\n action?: string\n method?: string\n}\n\nexport type ExploreMobileSearchState = {\n searchParam(data? : string): string\n}\n\nexport default class ExploreMobileSearch implements m.Component {\n \n oninit({ attrs, state } : m.Vnode<ExploreMobileSearchAttrs, ExploreMobileSearchState>) {\n state.searchParam = prop('')\n }\n\n view({ attrs, state } : m.Vnode<ExploreMobileSearchAttrs, ExploreMobileSearchState>) {\n const action = attrs.action || `/${window.I18n.locale}/explore?ref=ctrse_explore_pgsearch&filter=all`\n const method = attrs.method || 'GET'\n const searchParam = state.searchParam\n\n return (\n <div id='#search' class='w-hidden-main w-hidden-medium w-row'>\n <div class='w-col w-col-11'>\n <div class='header-search'>\n <div class='w-row'>\n <div class='w-col w-col-10 w-col-small-10 w-col-tiny-10'>\n <div class='w-form'>\n <form onsubmit={(event : Event) => {\n event.preventDefault()\n const url = `/${window.I18n.locale}/explore?ref=ctrse_header&utf8=✓&filter=all&pg_search=${searchParam()}`\n m.route.set(url)\n searchParam('')\n h.redraw()\n }} id='search-form-id' action={action} method={method}>\n <input value={searchParam()} oninput={(event) => searchParam(event.target.value)} id='pg_search_inside' type='text' name='pg_search' placeholder='Busque projetos' class='w-input text-field negative prefix'/>\n <input type='hidden' name='filter' value='all' />\n </form>\n </div>\n </div>\n\n <div class='w-col w-col-2 w-col-small-2 w-col-tiny-2'>\n <input value='' type='submit' alt='Lupa' form='search-form-id' class='btn btn-attached postfix btn-dark w-inline-block' style='background-repeat: no-repeat; background-position: center; background-image: url(/assets/catarse_bootstrap/lupa.png)'/>\n </div>\n </div>\n </div>\n </div>\n\n <div class='w-col w-col-1'></div>\n </div>\n )\n }\n}","/**\n * window.root.ProjectsExplore component\n * A root component to show projects according to user defined filters\n *\n * Example:\n * To mount this component just create a DOM element like:\n * <div data-mithril=\"ProjectsExplore\">\n */\nimport m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport UnsignedFriendFacebookConnect from '../c/unsigned-friend-facebook-connect';\nimport { CityState } from '../@types/city-state'\nimport { Category, Filter, ProjectsExploreViewModel, ProjectsExploreVMSearchParams } from '../vms/projects-explore-vm';\nimport { ExploreSearchFilterSelect } from '../c/explore/explore-search-filter-select';\nimport { ExploreFilterSelect } from '../c/explore/explore-filter-select';\nimport { ExploreProjectsFoundCounter } from '../c/explore/explore-projects-found-counter';\nimport { ExploreProjectsList } from '../c/explore/explore-projects-list';\nimport { ProjectsExplorerFooter } from '../c/projects-explore-footer';\nimport { ProjectsExploreLoadMoreButton } from '../c/projects-explore-load-more-button';\nimport { defineDeepObject } from '../utils/deep-object-operators';\nimport { ExploreSearchParam } from '../c/explore/explore-search-param';\nimport { ThisWindow } from '../@types/window';\nimport ExploreMobileSearch from '../c/explore/explore-mobile-search';\n\ndeclare var window : ThisWindow\n\ntype ProjectExploreAttrs = {\n pg_search?: string\n mode?: string\n category_id?: number\n city_name?: string\n state_acronym?: string\n state_name?: string\n filter?: string\n}\n\ntype ProjectExploreState = {\n projectsExploreVM: ProjectsExploreViewModel\n hasFBAuth: boolean\n hasSpecialFooter(category_id : number): boolean\n externalLinkCategories: {\n [category_id:number] : {\n icon: string\n title: string\n link: string\n cta: string\n }\n }\n}\n\nconst I18nScope = _.partial(h.i18nScope, 'pages.explore');\n\nconst projectsExplore : m.Component<ProjectExploreAttrs, ProjectExploreState> = {\n\n oninit(vnode) {\n \n h.scrollTop();\n const currentUser = h.getUser() || {};\n const hasFBAuth = currentUser.has_fb_auth;\n const externalLinkCategories = window.I18n.translations[window.I18n.currentLocale()].projects.index.explore_categories;\n const hasSpecialFooter = categoryId => !_.isUndefined(externalLinkCategories[categoryId]);\n const projectsExploreVM = new ProjectsExploreViewModel(getProjectsViewQuery());\n\n window.addEventListener('popstate', () => {\n projectsExploreVM.search(getProjectsViewQuery());\n });\n\n window.addEventListener('pushstate', () => {\n projectsExploreVM.search(getProjectsViewQuery());\n });\n\n projectsExploreVM.subscribe({\n next(query) {\n \n h.scrollTop();\n\n const removeQueryParams = [\n 'mode',\n 'category_id',\n 'state_acronym',\n 'state_name',\n 'city_name',\n 'filter',\n ];\n \n h.setAndResetMultParamsArray(query, removeQueryParams);\n }\n });\n\n function getProjectsViewQuery() {\n const searchParam = h.paramByName('pg_search') || vnode.attrs.pg_search;\n const mode = h.paramByName('mode') || vnode.attrs.mode || 'all_modes';\n const filter = h.paramByName('filter') || vnode.attrs.filter || 'projects_we_love';\n const category_id = Number(h.paramByName('category_id')) || vnode.attrs.category_id || null;\n const cityState = getCityStateFromSearchParams();\n \n return {\n searchParam,\n mode,\n category_id,\n cityState: _.isEmpty(cityState) ? null : cityState,\n filter: mode === 'sub' ? 'all' : filter\n } as ProjectsExploreVMSearchParams;\n }\n\n function getCityStateFromSearchParams() : CityState {\n const city_name = h.paramByName('city_name') || vnode.attrs.city_name;\n const state_acronym = h.paramByName('state_acronym') || vnode.attrs.state_acronym;\n const state_name = h.paramByName('state_name') || vnode.attrs.state_name;\n\n const cityState = defineDeepObject('city.name', city_name);\n defineDeepObject('state.acronym', state_acronym, cityState);\n defineDeepObject('state.state_name', state_name, cityState);\n return cityState as CityState;\n };\n\n vnode.state = {\n projectsExploreVM,\n hasFBAuth,\n hasSpecialFooter,\n externalLinkCategories,\n };\n },\n onremove() {\n window.removeEventListener('popstate', window.onpopstate);\n window.removeEventListener('pushstate', window.onpushstate);\n },\n view({state, attrs}) {\n \n const projectsExploreVM : ProjectsExploreViewModel = state.projectsExploreVM;\n const projectsCollection = projectsExploreVM.projectsView.collection();\n const isContributedByFriendsFilter = projectsExploreVM.filter === 'contributed_by_friends';\n const hasSpecialFooter = state.hasSpecialFooter(projectsExploreVM.category_id);\n const showProjectsFoundCounter = !projectsExploreVM.projectsView.isLoading();\n const showConnectToFacebookButton = isContributedByFriendsFilter && _.isEmpty(projectsCollection) && !state.hasFBAuth;\n const showNextPageButton = !projectsExploreVM.projectsView.isLastPage() && !projectsExploreVM.projectsView.isLoading() && !_.isEmpty(projectsCollection);\n const specialFooterData = state.externalLinkCategories[projectsExploreVM.category_id] || { icon: '', title: '', link: '', cta: ''};\n const searchParam = state.projectsExploreVM.searchParam\n const hasSeachParam = !_.isEmpty(searchParam)\n\n const modes = [\n {\n label: 'Todos os projetos',\n value: 'all_modes',\n },\n {\n label: 'Projetos pontuais',\n value: 'not_sub',\n },\n {\n label: 'Assinaturas',\n value: 'sub',\n },\n {\n label: 'Projetos COVID-19',\n value: 'covid_19',\n }, \n ];\n\n return m('#explore', {\n oncreate: h.setPageTitle(window.I18n.t('header_html', I18nScope()))\n }, [\n m('.hero-search.explore', [\n m('.u-marginbottom-10.w-container', m(ExploreMobileSearch)),\n m('.u-text-center.w-container', [\n [\n hasSeachParam ?\n [\n m('div', [\n m('.explore-text-fixed', 'Busca por'),\n m(ExploreSearchParam, {\n mobileLabel: 'BUSCA',\n searchParam,\n onClose: () => m.route.set('/pt/explore?filter=all')\n })\n ])\n ]\n :\n [\n m('div', [\n m('.explore-text-fixed', 'Quero ver'),\n m(ExploreFilterSelect, {\n values: modes,\n mobileLabel: 'MODALIDADE',\n selectedItem: () => ({ label: projectsExploreVM.modeName, value: projectsExploreVM.mode }), \n itemToString: (item : {label : string, value : string}) => item.label,\n isSelected: (item : {label : string, value : string}) => item.value === projectsExploreVM.mode,\n onSelect: (item) => projectsExploreVM.mode = item.value,\n }),\n m('.explore-text-fixed', 'de'),\n m(ExploreFilterSelect, {\n values: projectsExploreVM.categories,\n mobileLabel: 'CATEGORIA',\n splitNumberColumns: 2,\n selectedItem: () => projectsExploreVM.category,\n itemToString: (category : Category) => category.name,\n isSelected: (category : Category) => projectsExploreVM.category_id === category.id,\n onSelect: (category : Category) => projectsExploreVM.category = category,\n }),\n ]),\n m('div', [\n m('div.explore-text-fixed', 'localizados em'),\n m(ExploreSearchFilterSelect, {\n onSearch: (inputText : string) => projectsExploreVM.searchLocations(inputText),\n onSelect: (cityState : CityState) => projectsExploreVM.cityState = cityState,\n selectedItem: () => projectsExploreVM.cityState,\n foundItems: () => projectsExploreVM.foundLocations,\n noneSelected: 'Brasil',\n mobileLabel: 'LOCAL',\n isLoading: () => projectsExploreVM.isLoadingLocationsSearch,\n itemToString: (cityState : CityState) => {\n const firstPart = `${cityState.city ? cityState.city.name : cityState.state.state_name}`;\n const secondPart = `${cityState.city ? `, ${cityState.state.acronym}` : ' (Estado)'}`;\n return `${firstPart}${secondPart}`;\n },\n }),\n [\n projectsExploreVM.mode !== 'sub' && \n [\n m('.explore-text-fixed', 'que são'),\n m(ExploreFilterSelect, {\n values: projectsExploreVM.filters,\n mobileLabel: 'FILTRO',\n selectedItem: () => ({\n nicename: projectsExploreVM.filterName,\n keyName: projectsExploreVM.filter\n } as { nicename : string, keyName : string }),\n itemToString: (item : Filter) => item.nicename,\n isSelected: (item : Filter) => projectsExploreVM.filter === item.keyName,\n onSelect: (item : Filter) => projectsExploreVM.filter = item.keyName,\n }),\n ]\n ]\n ])\n ]\n ]\n ])\n ]), \n [\n showProjectsFoundCounter &&\n m(ExploreProjectsFoundCounter, {\n total: projectsExploreVM.projectsView.total(),\n }, [\n projectsExploreVM.cityState?.city &&\n m('div.fontsize-small.fontcolor-secondary.fontweight-semibold', [\n m('span.fas.fa-map-marker-check.text-success'),\n ` ${projectsExploreVM.amountFoundOnLocation || 'Nenhum'} em ${projectsExploreVM.cityState.city.name}, ${projectsExploreVM.cityState.state.acronym} `,\n '|',\n ` ${(projectsExploreVM.projectsView.total() - projectsExploreVM.amountFoundOnLocation) || 'Nenhum'} em outras cidades de ${projectsExploreVM.cityState.state.acronym}`\n ])\n ])\n ],\n [\n showConnectToFacebookButton &&\n m(UnsignedFriendFacebookConnect)\n ],\n m(ExploreProjectsList, {\n projects: projectsExploreVM.projectsView,\n isSearch: projectsExploreVM.isTextSearch,\n filterKeyName: projectsExploreVM.filter,\n }),\n m(ProjectsExploreLoadMoreButton, {\n showNextPageButton,\n onclick(event : Event) {\n projectsExploreVM.projectsView.nextPage();\n return false;\n }\n }),\n m(ProjectsExplorerFooter, {\n hasSpecialFooter,\n ...specialFooterData\n })\n ]);\n }\n};\n\nexport default projectsExplore;\n","/**\n * window.c.Slider component\n * Build a slider from any array of mithril elements\n *\n * Example of use:\n * view: () => {\n * ...\n * m.component(c.Slider, {\n * slides: [m('slide1'), m('slide2'), m('slide3')],\n * title: 'O que estão dizendo por aí...'\n * })\n * ...\n * }\n */\n\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\n\nconst slider = {\n oninit: function(vnode) {\n let interval;\n const selectedSlideIdx = prop(0),\n translationSize = prop(1600),\n sliderTime = vnode.attrs.sliderTime || 6500,\n decrementSlide = () => {\n if (selectedSlideIdx() > 0) {\n selectedSlideIdx(selectedSlideIdx() - 1);\n } else {\n selectedSlideIdx(vnode.attrs.slides().length - 1);\n }\n },\n incrementSlide = () => {\n if (selectedSlideIdx() < (vnode.attrs.slides().length - 1)) {\n selectedSlideIdx(selectedSlideIdx() + 1);\n } else {\n selectedSlideIdx(0);\n }\n },\n startSliderTimer = () => {\n interval = setInterval(() => {\n incrementSlide();\n m.redraw();\n }, sliderTime);\n },\n resetSliderTimer = () => {\n clearInterval(interval);\n startSliderTimer();\n },\n translationSizeAndRedraw = localVnode => {\n translationSize(Math.max(document.documentElement.clientWidth, window.innerWidth || 0));\n m.redraw();\n },\n clearTheIntervalSettle = localVnode => clearInterval(interval);\n\n startSliderTimer();\n\n vnode.state = {\n translationSizeAndRedraw,\n clearTheIntervalSettle,\n selectedSlideIdx,\n translationSize,\n decrementSlide,\n incrementSlide,\n resetSliderTimer\n };\n },\n view: function({state, attrs}) {\n \n const slideClass = attrs.slideClass || '';\n const slideComponent = attrs.slideComponent || '';\n const wrapperClass = attrs.wrapperClass || '';\n const effect = attrs.effect || 'slide';\n const sliderClick = (fn, param) => {\n fn(param);\n state.resetSliderTimer();\n attrs.onchange && attrs.onchange();\n };\n \n const effectStyle = (idx, translateStr) => {\n const slideFx = `transform: ${translateStr}; -webkit-transform: ${translateStr}; -ms-transform:${translateStr}`;\n const fadeFx = idx === state.selectedSlideIdx() ? 'opacity: 1; visibility: visible;' : 'opacity: 0; visibility: hidden;';\n return effect === 'fade' ? fadeFx : slideFx;\n };\n\n return m(`.w-slider.${wrapperClass}`, {\n oncreate: state.translationSizeAndRedraw,\n onremove: state.clearTheIntervalSettle,\n }, [\n m('.fontsize-larger', attrs.title),\n m('.w-slider-mask', [\n _.map(attrs.slides(), (slide, idx) => {\n let translateValue = (idx - state.selectedSlideIdx()) * state.translationSize(),\n translateStr = `translate3d(${translateValue}px, 0, 0)`;\n\n const sliderTransitionStyle = effectStyle(idx, translateStr);\n return m(slideComponent, {\n slide,\n slideClass,\n sliderTransitionStyle,\n });\n }),\n m('#slide-prev.w-slider-arrow-left.w-hidden-small.w-hidden-tiny', {\n onclick: () => sliderClick(state.decrementSlide)\n }, [\n m('.w-icon-slider-left.fa.fa-lg.fa-angle-left.fontcolor-terciary')\n ]),\n m('#slide-next.w-slider-arrow-right.w-hidden-small.w-hidden-tiny', {\n onclick: () => sliderClick(state.incrementSlide)\n }, [\n m('.w-icon-slider-right.fa.fa-lg.fa-angle-right.fontcolor-terciary')\n ]),\n m('.w-slider-nav.w-slider-nav-invert.w-round.slide-nav', _(attrs.slides().length).times(idx => m(`.slide-bullet.w-slider-dot${state.selectedSlideIdx() === idx ? '.w-active' : ''}`, {\n onclick: () => sliderClick(state.selectedSlideIdx, idx)\n })))\n ])\n ]);\n }\n};\n\nexport default slider;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectCard from './project-card';\n\nconst projectRowWithHeader = {\n view: function ({ attrs }) {\n const collection = attrs.collection,\n title = attrs.title || collection.title,\n ref = attrs.ref,\n showFriends = attrs.showFriends,\n wrapper = attrs.wrapper || `.section.u-marginbottom-40${attrs.isOdd ? '.bg-gray' : ''}`,\n showFriendsLinkComponent = (\n showFriends ?\n m(`a.btn.btn-small.btn-terciary.btn-inline.u-right-big-only.btn-no-border[href=\"/connect-facebook?ref=${ref}\"]`,\n 'Encontrar amigos') : ''\n ),\n collectionHeaderComponent = (\n (!_.isUndefined(collection.title) || !_.isUndefined(collection.hash)) ?\n m('.u-marginbottom-20.u-text-center-small-only', [\n m('div', _.map(collection.badges, badge => m(`img[src=\"/assets/catarse_bootstrap/${badge}.png\"][width='105']`))),\n m('.w-row', [\n m('.w-col.w-col-8', m('.fontsize-larger.u-marginbottom-20', `${title}`)),\n m('.w-col.w-col-4', [\n m(`a.btn.btn-small.btn-terciary.btn-inline.u-right-big-only[href=\"/explore?ref=${ref}&${m.buildQueryString(collection.query)}\"]`,\n {\n oncreate: m.route.link\n },\n 'Ver todos'\n ),\n showFriendsLinkComponent\n ])\n ])\n ]) : ''\n ),\n projectsOrLoadingIconComponent = (\n collection.loader() ?\n h.loader() :\n m('.w-row',\n _.map(collection.collection(), project => m(projectCard, {\n project,\n ref,\n showFriends\n }))\n )\n );\n\n const conditionToShowProjectCards = collection.loader() || (collection.collection().length > 0);\n\n if (conditionToShowProjectCards) {\n return m(wrapper, [\n m('.w-container', [\n collectionHeaderComponent,\n projectsOrLoadingIconComponent\n ])\n ]);\n }\n return m('div');\n }\n};\n\nexport default projectRowWithHeader;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport projectFilters from '../vms/project-filters-vm';\nimport models from '../models';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectRow from './project-row';\nimport projectRowWithHeader from './project-row-with-header';\n\nconst projectsDisplay = {\n oninit: function(vnode) {\n const EXPERIMENT_CASE_CURRENT = 'EXPERIMENT_CASE_CURRENT',\n EXPERIMENT_CASE_6SUBHOM = 'EXPERIMENT_CASE_6SUBHOM',\n EXPERIMENT_CASE_3SUBHOM = 'EXPERIMENT_CASE_3SUBHOM';\n\n // FIXED HOME CASE, 'EXPERIMENT_CASE_3SUBHOM'\n window.__GO_EXPE_NAME = EXPERIMENT_CASE_3SUBHOM;\n\n const filters = projectFilters().filters,\n currentCase = prop(window.__GO_EXPE_NAME == EXPERIMENT_CASE_CURRENT),\n subHomeWith6 = prop(window.__GO_EXPE_NAME == EXPERIMENT_CASE_6SUBHOM),\n subHomeWith3 = prop(window.__GO_EXPE_NAME == EXPERIMENT_CASE_3SUBHOM),\n sample3 = _.partial(_.sample, _, 3),\n loader = catarse.loaderWithToken,\n project = models.project,\n subHomeWith6CollectionsFilters = ['projects_we_love_not_sub', 'sub', 'covid_19', 'contributed_by_friends'],\n windowEventNOTDispatched = true;\n\n project.pageSize(20);\n\n const collectionsMapper = (sampleNo, name) => {\n const f = filters[name],\n forSubPledged = name === 'sub' ? { pledged: 'gte.1000' } : {},\n defaultOptions = {\n order: 'score.desc',\n open_for_contributions: 'eq.true',\n limit: '10',\n offset: '0',\n },\n cLoader = loader(project.getPageOptions(_.extend(forSubPledged, defaultOptions, f.filter.parameters()))),\n collection = prop([]);\n\n cLoader\n .load()\n .then(\n _.compose(\n collection,\n sampleNo\n )\n )\n .then(() => m.redraw());\n\n const query = f.query || {};\n \n if (!f.query) {\n if (f.mode) {\n query.mode = f.mode;\n } else {\n query.filter = f.keyName;\n }\n }\n\n return {\n title: f.nicename,\n hash: name === 'score' ? 'all' : f.keyName,\n mode: f.mode,\n collection,\n query,\n loader: cLoader,\n showFriends: name === 'contributed_by_friends',\n badges: !_.isUndefined(f.header_badges) ? f.header_badges : [],\n };\n };\n\n const aonAndFlex_Sub_3 = _.map(subHomeWith6CollectionsFilters, collectionsMapper.bind(collectionsMapper, sample3));\n\n vnode.state = {\n aonAndFlex_Sub_3,\n currentCase,\n subHomeWith6,\n subHomeWith3,\n windowEventNOTDispatched,\n };\n },\n\n view: function({ state }) {\n if (state.windowEventNOTDispatched) {\n window.dispatchEvent(new Event('on_projects_controller_loaded'));\n state.windowEventNOTDispatched = false;\n }\n\n if (state.subHomeWith6()) {\n return m(\n 'div',\n _.map(state.aonAndFlex_Sub_6, (collection, index) =>\n m(projectRowWithHeader, {\n collection,\n title: collection.title,\n ref: `home_${collection.hash === 'all' ? 'score' : collection.hash}`,\n showFriends: collection.showFriends,\n isOdd: index & 1,\n })\n )\n );\n } else if (state.subHomeWith3()) {\n return m(\n 'div',\n _.map(state.aonAndFlex_Sub_3, (collection, index) =>\n m(projectRowWithHeader, {\n collection,\n title: collection.title,\n ref: `home_${collection.hash === 'all' ? 'score' : collection.hash}`,\n showFriends: collection.showFriends,\n isOdd: index & 1,\n })\n )\n );\n } else {\n return m(\n 'div',\n _.map(state.collections, collection =>\n m(projectRow, {\n collection,\n title: collection.title,\n ref: `home_${collection.hash === 'all' ? 'score' : collection.hash}`,\n showFriends: collection.showFriends,\n })\n )\n );\n }\n },\n};\n\nexport default projectsDisplay;\n","import _ from 'underscore';\nimport m from 'mithril';\n\nconst blogVM = {\n getBlogPosts() {\n const p = new Promise((resolve, reject) => {\n const posts = _.first(document.getElementsByTagName('body')).getAttribute('data-blog');\n\n if (posts) {\n resolve(JSON.parse(posts));\n m.redraw();\n } else {\n m.request({ method: 'GET', url: '/posts' })\n .then(data => {\n resolve(data);\n m.redraw();\n })\n .catch(err => {\n reject(err);\n m.redraw();\n });\n }\n });\n\n return p;\n }\n};\n\nexport default blogVM;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport blogVM from '../vms/blog-vm';\n\nconst blogBanner = {\n oninit: function(vnode) {\n const posts = prop([]),\n error = prop(false);\n\n blogVM.getBlogPosts().then(posts).catch(error);\n\n vnode.state = { posts, error };\n },\n view: function({state}) {\n return m('section.section-large.bg-gray.before-footer[id=\\'blog\\']',\n m('.w-container',\n [\n m('.u-text-center',\n [\n m('a[href=\\'http://blog.catarse.me\\'][target=\\'blank\\']',\n m('img.u-marginbottom-10[alt=\\'Icon blog\\'][src=\\'/assets/icon-blog.png\\']')\n ),\n m('.fontsize-large.u-marginbottom-60.text-success',\n m('a.link-hidden-success[href=\\'http://blog.catarse.me\\'][target=\\'__blank\\']',\n 'Blog do Catarse'\n )\n )\n ]\n ),\n m('.w-row', _.map(state.posts(), post => m('.w-col.w-col-4.col-blog-post',\n [\n m(`a.link-hidden.fontweight-semibold.fontsize-base.u-marginbottom-10[href=\"${post[1][1]}\"][target=\\'__blank\\']`, post[0][1]),\n m('.fontsize-smaller.fontcolor-secondary.u-margintop-10', m.trust(`${h.strip(post[6][1].substr(0, 130))}...`))\n ]\n ))),\n state.error() ? m('.w-row', m('.w-col.w-col-12.u-text-center', 'Erro ao carregar posts...')) : ''\n ]\n )\n );\n }\n};\n\nexport default blogBanner;\n","import m from 'mithril';\n\nexport const HomeBannerSlide = {\n view({attrs}) {\n\n const {\n slide,\n slideClass,\n sliderTransitionStyle\n } = attrs;\n\n return m(`.slide.w-slide.${slideClass}`, {\n style: `${sliderTransitionStyle} background-image: url(${slide.image});`\n }, [\n m('.hero-slide-wrapper', [ \n m('.w-container.u-text-center', [\n m('.w-row', [\n m('.w-col.w-col-8.w-col-push-2', [\n m('h1.hero-home-title', m.trust(slide.title)),\n m('h2.hero-home-subtitle.u-marginbottom-20', m.trust(slide.subtitle)),\n m('a.btn.btn-large.btn-inline', { href: slide.link }, slide.cta)\n ])\n ])\n ])\n ])\n ]);\n }\n};","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport h from '../h';\nimport models from '../models';\nimport homeVM, { HomeBanner, HomeVM } from '../vms/home-vm';\nimport slider from '../c/slider';\nimport projectsDisplay from '../c/projects-display';\nimport blogBanner from './blog-banner';\nimport UnsignedFriendFacebookConnect from '../c/unsigned-friend-facebook-connect';\nimport { HomeBannerSlide } from '../c/home-banner-slide';\nconst I18nScope = _.partial(h.i18nScope, 'projects.home');\n\nconst projectsHome = {\n oninit: function(vnode) {\n const userFriendVM = catarse.filtersVM({ user_id: 'eq' }),\n friendListVM = catarse.paginationVM(models.userFriend, 'user_id.desc', {\n Prefer: 'count=exact'\n }),\n currentUser = h.getUser() || {},\n hasFBAuth = currentUser.has_fb_auth,\n vm = homeVM();\n\n userFriendVM.user_id(currentUser.user_id);\n\n if (hasFBAuth && !friendListVM.collection().length) {\n friendListVM.firstPage(userFriendVM.parameters());\n }\n\n vnode.state = {\n vm,\n hasFBAuth\n };\n },\n view: function({state}) {\n /** @type {HomeVM} */\n const vm = state.vm;\n const banners = vm.banners;\n\n return m('#projects-home-component', {\n oncreate: h.setPageTitle(window.I18n.t('header_html', I18nScope())) \n }, [\n m(slider, {\n slides: banners,\n slideComponent: HomeBannerSlide,\n effect: 'fade',\n slideClass: 'hero-slide start',\n wrapperClass: 'hero-full hero-full-slide',\n sliderTime: 10000\n }),\n m(projectsDisplay),\n (!state.hasFBAuth ? m(UnsignedFriendFacebookConnect, { largeBg: true }) : ''),\n m(blogBanner)\n ]);\n }\n};\n\nexport default projectsHome;\n","import m from 'mithril';\nimport h from '../h';\nimport facebookButton from './facebook-button';\n\nconst projectShareBox = {\n oninit: function(vnode) {\n vnode.state = {\n displayEmbed: h.toggleProp(false, true)\n };\n },\n view: function({state, attrs}) {\n return m('.pop-share.fontcolor-primary', {\n style: 'display: block;'\n }, [\n m('.w-hidden-main.w-hidden-medium.w-clearfix', [\n m('a.btn.btn-small.btn-terciary.btn-inline.u-right', {\n onclick: attrs.displayShareBox.toggle\n }, 'Fechar'),\n m('.fontsize-small.fontweight-semibold.u-marginbottom-30', 'Compartilhe este projeto')\n ]),\n m('.w-widget.w-widget-twitter.w-hidden-small.w-hidden-tiny.share-block', [\n m(`iframe[allowtransparency=\"true\"][width=\"120px\"][height=\"22px\"][frameborder=\"0\"][scrolling=\"no\"][src=\"//platform.twitter.com/widgets/tweet_button.8d007ddfc184e6776be76fe9e5e52d69.en.html#_=1442425984936&count=horizontal&dnt=false&id=twitter-widget-1&lang=en&original_referer=https%3A%2F%2Fwww.catarse.me%2Fpt%2F${attrs.project().permalink}&size=m&text=Confira%20o%20projeto%20${attrs.project().name}%20no%20%40catarse&type=share&url=https%3A%2F%2Fwww.catarse.me%2Fpt%2F${attrs.project().permalink}%3Fref%3Dtwitter%26utm_source%3Dtwitter.com%26utm_medium%3Dsocial%26utm_campaign%3Dproject_share&via=catarse\"]`)\n ]),\n m('a.w-hidden-small.widget-embed.w-hidden-tiny.fontsize-small.link-hidden.fontcolor-secondary[href=\"javascript:void(0);\"]', {\n onclick: state.displayEmbed.toggle\n }, '< embed >'), (state.displayEmbed() ? m('.embed-expanded.u-margintop-30', [\n m('.fontsize-small.fontweight-semibold.u-marginbottom-20', 'Insira um widget em seu site'),\n m('.w-form', [\n m(`input.w-input[type=\"text\"][value=\"<iframe frameborder=\"0\" height=\"340px\" src=\"https://www.catarse.me/pt/projects/${attrs.project().project_id}/embed\" width=\"300px\" scrolling=\"no\"></iframe>\"]`)\n ]),\n m('.card-embed', [\n m(`iframe[frameborder=\"0\"][height=\"350px\"][src=\"/projects/${attrs.project().project_id}/embed\"][width=\"300px\"][scrolling=\"no\"]`)\n ])\n ]) : ''),\n attrs.project().permalink ? m(facebookButton, {\n mobile: true,\n url: `https://www.catarse.me/${attrs.project().permalink}?ref=facebook&utm_source=facebook.com&utm_medium=social&utm_campaign=project_share`\n }) : '',\n m(`a.w-hidden-main.w-hidden-medium.btn.btn-medium.btn-tweet.u-marginbottom-20[href=\"https://twitter.com/intent/tweet?text=Acabei%20de%20apoiar%20o%20projeto%20${encodeURIComponent(attrs.project().name)}%20https://www.catarse.me/${attrs.project().permalink}%3Fref%3Dtwitter%26utm_source%3Dtwitter.com%26utm_medium%3Dsocial%26utm_campaign%3Dproject_share\"][target=\"_blank\"]`, [\n m('span.fa.fa-twitter'), ' Tweet'\n ]),\n m('a.w-hidden-main.w-hidden-medium.btn.btn-medium[data-action=\"share/whatsapp/share\"]', {\n href: `whatsapp://send?text=${encodeURIComponent(`https://www.catarse.me/${attrs.project().permalink}/?ref=whatsapp&utm_source=whatsapp&utm_medium=social&utm_campaign=project_share`)}`\n }, [m('span.fa.fa-whatsapp'), ' Whatsapp'])\n ]);\n }\n};\n\nexport default projectShareBox;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst addressTag = {\n view: function({attrs}) {\n const project = attrs.project;\n const address = project().address || { state_acronym: '', city: '' };\n const addressSearchUrl = `/${window.I18n.locale}/explore?filter=all&city_name=${address.city}&state_acronym=${address.state_acronym}`;\n \n return !_.isNull(address) ? m(`a.btn.btn-inline.btn-small.btn-transparent.link-hidden-light.u-marginbottom-10${attrs.isDark ? '.fontcolor-negative' : ''}[href=\"${addressSearchUrl}\"]`, {\n onclick: (/** @type {Event} */ event) => {\n h.analytics.event({\n cat: 'project_view',\n act: 'project_location_link',\n lbl: `${address.city} ${address.state_acronym}`,\n project: project()\n })(event);\n event.preventDefault();\n m.route.set(addressSearchUrl);\n }\n }, [\n m('span.fa.fa-map-marker'), ` ${address.city}, ${address.state_acronym}`\n ]) : '';\n }\n};\n\nexport default addressTag;\n","import m from 'mithril';\nimport h from '../h';\n\nconst categoryTag = {\n view: function({attrs}) {\n const project = attrs.project;\n const categorySearchUrl = `/${window.I18n.locale}/explore?filter=all&category_id=${project().category_id}`;\n\n return project ? m(`a.btn.btn-inline.btn-small.btn-transparent.link-hidden-light${attrs.isDark ? '.fontcolor-negative' : ''}[href=\"${categorySearchUrl}\"]`, {\n onclick: (/** @type {Event} */ event) => {\n h.analytics.event({\n cat: 'project_view',\n act: 'project_category_link',\n lbl: project().category_name,\n project: project()\n })(event);\n event.preventDefault();\n m.route.set(categorySearchUrl);\n }\n }, [\n m('span.fa.fa-tag'), ' ',\n project().category_name\n ]) : '';\n }\n};\n\nexport default categoryTag;\n","import m from 'mithril';\nimport h from '../h';\n\nexport const ProjectWeLovedTag = {\n view({attrs}) {\n const project = attrs.project;\n const isDark = attrs.isDark;\n const filterSearchUrl = `/${window.I18n.locale}/explore?filter=projects_we_love`;\n\n return m(`a.btn.btn-small.btn-inline.btn-transparent.link-hidden-light.u-marginbottom-10.w-inline-block[href=\"${filterSearchUrl}\"]`, {\n onclick: (/** @type {Event} */ event) => {\n h.analytics.event({\n cat: 'project_view',\n act: 'projects_we_love_link',\n lbl: `${project().name} projects_we_love`,\n project: project()\n })(event);\n event.preventDefault();\n m.route.set(filterSearchUrl);\n }\n }, [\n m('img[src=\"https://uploads-ssl.webflow.com/5849f4f0a275a2a744efd93e/5e6ee98114890713cbd0c3d1_ctrse_heart_icon.png\"][width=\"20\"][alt=\"\"]'),\n m(`div.inline-block.link-hidden-light${isDark ? '.fontcolor-negative' : ''}`, 'Projeto que Amamos')\n ]);\n }\n}","import m from 'mithril';\n\nconst projectVideo = {\n view({attrs}) {\n return m('.w-embed.w-video.project-video', { style : 'min-height: 240px;', component: 'projectVideo' }, [\n m(`iframe.embedly-embed[itemprop=\"video\"][src=\"${attrs.video_embed_url}\"][frameborder=\"0\"][allowFullScreen]`)\n ]);\n }\n}\n\nexport default projectVideo;","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectShareBox from './project-share-box';\nimport facebookButton from './facebook-button';\nimport addressTag from './address-tag';\nimport categoryTag from './category-tag';\nimport { ProjectWeLovedTag } from './project-we-loved-tag';\nimport projectVM from '../vms/project-vm';\nimport projectVideo from './project-video';\n\nconst projectHighlight = {\n oninit: function(vnode) {\n vnode.state = {\n displayShareBox: h.toggleProp(false, true)\n };\n },\n view: function({state, attrs}) {\n const project = attrs.project;\n const isSub = projectVM.isSubscription(project);\n\n return m('#project-highlight', [\n (\n project().video_embed_url ? \n m(projectVideo, { video_embed_url : project().video_embed_url }) \n :\n m('.project-image', { style: `background-image:url('${project().original_image || project().project_img}');` })\n ),\n m('.w-hidden-small.w-hidden-tiny', [\n m(addressTag, { project, isDark: isSub }),\n m(categoryTag, { project, isDark: isSub }),\n project().recommended && m(ProjectWeLovedTag, { project, isDark: isSub }),\n ]),\n !isSub ? m('.project-blurb', project().headline) : null,\n m('.project-share.w-hidden-small.w-hidden-tiny',\n m('.u-marginbottom-30.u-text-center-small-only', [\n m('.w-inline-block.fontcolor-secondary.fontsize-smaller.u-marginright-20',\n 'Compartilhar:'\n ),\n project().permalink ? m(facebookButton, {\n class: isSub ? 'btn-terciary-negative' : null,\n url: `https://www.catarse.me/${project().permalink}?ref=facebook&utm_source=facebook.com&utm_medium=social&utm_campaign=project_share`\n }) : '',\n project().permalink ? m(facebookButton, {\n class: isSub ? 'btn-terciary-negative' : null,\n messenger: true,\n url: `https://www.catarse.me/${project().permalink}?ref=facebook&utm_source=facebook.com&utm_medium=messenger&utm_campaign=project_share`\n }) : '',\n m('button#more-share.btn.btn-inline.btn-medium.btn-terciary', {\n class: isSub ? 'btn-terciary-negative' : null,\n style: {\n transition: 'all 0.5s ease 0s'\n },\n onclick: state.displayShareBox.toggle\n }, [\n '···',\n ' Mais'\n ]),\n (state.displayShareBox() ? m(projectShareBox, {\n project,\n displayShareBox: state.displayShareBox\n }) : '')\n ])\n )\n ]);\n }\n};\n\nexport default projectHighlight;\n","/**\n * window.c.ProjectMode component\n * A simple component that displays a badge with the current project mode\n * together with a description of the mode, shown inside a tooltip.\n * It receives a project as resource\n *\n * Example:\n * view: {\n * return m.component(c.ProjectMode, {project: project})\n * }\n */\n\nimport m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport tooltip from './tooltip';\n\nconst projectMode = {\n view: function({attrs}) {\n const project = attrs.project(),\n mode = project.mode,\n modeImgSrc = (mode === 'aon')\n ? '/assets/aon-badge.png'\n : (mode === 'sub')\n ? '/assets/catarse_bootstrap/badge-sub-h.png'\n : '/assets/flex-badge.png',\n modeTitle = (mode === 'aon') ? 'Campanha Tudo-ou-nada ' : 'Campanha Flexível ',\n goal = _.isNull(project.goal) ? 'não definida' : h.formatNumber(project.goal),\n buildTooltip = el => m(tooltip, {\n el,\n text: (mode === 'aon') ? `Somente receberá os recursos se atingir ou ultrapassar a meta até o dia ${h.momentify(project.zone_expires_at, 'DD/MM/YYYY')}.` : 'O realizador receberá todos os recursos quando encerrar a campanha, mesmo que não tenha atingido esta meta.',\n width: 280\n });\n\n return mode === 'sub' ? m(`#${mode}`, [\n !_.isEmpty(project) ? m(`img.u-marginbottom-10[src=\"${modeImgSrc}\"][width='130']`) : '',\n m('.fontsize-smallest.lineheight-tighter', 'Assine esse projeto mensalmente.')\n ]) : m(`#${mode}.w-row`, [\n m('.w-col.w-col-2.w-col-small-2.w-col-tiny-2', [\n !_.isEmpty(project) ? m(`img[src=\"${modeImgSrc}\"][width='30']`) : ''\n ]),\n m('.w-col.w-col-10.w-col-small-10.w-col-tiny-10', [\n m('.fontsize-base.fontweight-semibold', `Meta R$ ${h.selfOrEmpty(goal, '--')}`),\n m('.w-inline-block.fontsize-smallest', [\n !_.isEmpty(project) ? modeTitle : '',\n buildTooltip('span.w-inline-block.tooltip-wrapper.fa.fa-question-circle.fontcolor-secondary')\n ])\n ])\n ]);\n }\n};\n\nexport default projectMode;\n","/**\n * window.c.ProjectReminder component\n * A component that displays a clickable project reminder element.\n * The component can be of two types: a 'link' or a 'button'\n *\n * Example:\n * view: {\n * return m.component(c.ProjectReminder, {project: project, type: 'button'})\n * }\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse } from '../api';\nimport models from '../models';\nimport h from '../h';\nimport popNotification from './pop-notification';\n\nconst projectReminder = {\n oninit: function(vnode) {\n let l = prop(false);\n const project = vnode.attrs.project,\n filterVM = catarse.filtersVM({\n project_id: 'eq'\n }),\n storeReminderName = 'reminder',\n popNotification = prop(false),\n submitReminder = () => {\n if (!h.getUser()) {\n h.storeAction(storeReminderName, project().project_id);\n return h.navigateToDevise(`?redirect_to=/projects/${project().project_id}`);\n }\n const loaderOpts = project().in_reminder ? models.projectReminder.deleteOptions(filterVM.parameters()) : models.projectReminder.postOptions({\n project_id: project().project_id\n });\n l = catarse.loaderWithToken(loaderOpts);\n\n l.load().then(() => {\n project().in_reminder = !project().in_reminder;\n\n if (project().in_reminder) {\n popNotification(true);\n setTimeout(() => {\n popNotification(false);\n h.redraw();\n }, 5000);\n } else {\n popNotification(false);\n }\n \n h.redraw();\n });\n };\n\n if (h.callStoredAction(storeReminderName) == project().project_id) {\n submitReminder();\n }\n\n filterVM.project_id(project().project_id);\n\n vnode.state = {\n l,\n submitReminder,\n popNotification\n };\n },\n view: function({state, attrs}) {\n const mainClass = (attrs.type === 'button') ? '' : '.u-text-center.u-marginbottom-30',\n buttonClass = (attrs.type === 'button') ? 'w-button btn btn-terciary btn-no-border' : 'btn-link link-hidden fontsize-large',\n hideTextOnMobile = attrs.hideTextOnMobile || false,\n project = attrs.project,\n onclickFunc = h.analytics.event({ cat: 'project_view', act: 'project_floatingreminder_click', project: project() }, state.submitReminder);\n\n return m(`#project-reminder${mainClass}`, [\n m('a.btn.btn-small.btn-terciary.w-hidden-main.w-hidden-medium[data-ix=\\'popshare\\'][href=\\'#\\']', {\n onclick: onclickFunc\n },\n\n (project().in_reminder ? [\n m('span.fa.fa-bookmark'),\n ' Lembrete ativo'\n ] : [\n m('span.fa.fa-bookmark-o'),\n ' Lembrar-me'\n ])\n ),\n\n m(`button[class=\"w-hidden-small w-hidden-tiny ${buttonClass} ${(project().in_reminder ? 'link-hidden-success' : 'fontcolor-secondary')} fontweight-semibold\"]`, {\n onclick: onclickFunc\n }, [\n (state.l() ? h.loader() : (project().in_reminder ? m('span.fa.fa-bookmark') : m('span.fa.fa-bookmark-o')))\n ]), (state.popNotification() ? m(popNotification, {\n message: 'Ok, Vamos te mandar um lembrete por e-mail antes do fim da campanha!'\n }) : '')\n ]);\n }\n};\n\nexport default projectReminder;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport ownerMessageContent from './owner-message-content';\nimport modalBox from './modal-box';\nimport UserFollowBtn from './user-follow-btn';\nimport userVM from '../vms/user-vm';\n\nconst projectUserCard = {\n oninit: function(vnode) {\n const project = vnode.attrs.project || prop({}),\n displayModal = h.toggleProp(false, true),\n storeId = 'message',\n sendMessage = () => {\n if (!h.getUser()) {\n console.log('I will store an action');\n h.storeAction(storeId, project().project_id);\n return h.navigateToDevise(`?redirect_to=/projects/${project().project_id}`);\n }\n\n displayModal(true);\n };\n\n if (h.callStoredAction(storeId) == project().project_id) {\n displayModal(true);\n }\n\n vnode.state = {\n displayModal,\n sendMessage,\n };\n },\n view: function({ state, attrs }) {\n const project = attrs.project;\n const userDetail = attrs.userDetails();\n const contactData = _.extend(attrs.userDetails(), { project_id: project().id });\n const contactModalC = [ownerMessageContent, contactData];\n\n return m(\n '#user-card',\n _.isEmpty(userDetail)\n ? 'carregando...'\n : m('.u-marginbottom-30.u-text-center-small-only', [\n state.displayModal()\n ? m(modalBox, {\n displayModal: state.displayModal,\n content: contactModalC,\n })\n : '',\n m('.w-row', [\n m('.w-col.w-col-4', [\n m(`img.thumb.u-marginbottom-30.u-round[width=\"100\"][itemprop=\"image\"][src=\"${userVM.displayImage(userDetail)}\"]`),\n ]),\n m('.w-col.w-col-8', [\n m('.fontsize-small.link-hidden.fontweight-semibold.u-marginbottom-10.lineheight-tight[itemprop=\"name\"]', [\n m(\n `a.link-hidden${attrs.isDark ? '.link-hidden-white' : ''}[href=\"${\n _.isNull(userDetail.deactivated_at) ? `/users/${userDetail.id}` : 'javascript:void(0);'\n }\"]`,\n {\n oncreate: m.route.link,\n onclick: () => {\n if (!_.isNull(userDetail.deactivated_at)) {\n return false;\n }\n m.route(`/users/${userDetail.id}`, {\n user_id: userDetail.id,\n });\n h.analytics.event({\n cat: 'project_view',\n act: 'project_creator_link',\n lbl: userDetail.id,\n project: project(),\n });\n },\n },\n userVM.displayName(userDetail)\n ),\n ]),\n !_.isNull(userDetail.deactivated_at)\n ? ''\n : m('.fontsize-smallest', [\n h.pluralize(userDetail.total_published_projects, ' criado', ' criados'),\n m.trust(' | '),\n h.pluralize(userDetail.total_contributed_projects, ' apoiado', ' apoiados'),\n ]),\n !_.isNull(userDetail.deactivated_at)\n ? ''\n : m('ul.w-hidden-tiny.w-hidden-small.w-list-unstyled.fontsize-smaller.fontweight-semibold.u-margintop-20.u-marginbottom-20', [\n !_.isEmpty(userDetail.facebook_link)\n ? m('li', [\n m(\n `a.link-hidden${attrs.isDark ? '.link-hidden-white' : ''}[itemprop=\"url\"][href=\"${\n userDetail.facebook_link\n }\"][target=\"_blank\"]`,\n {\n onclick: h.analytics.event({\n cat: 'project_view',\n act: 'project_creator_fb',\n lbl: userDetail.facebook_link,\n project: project(),\n }),\n },\n 'Perfil no Facebook'\n ),\n ])\n : '',\n !_.isEmpty(userDetail.twitter_username)\n ? m('li', [\n m(\n `a.link-hidden${attrs.isDark ? '.link-hidden-white' : ''}[itemprop=\"url\"][href=\"https://twitter.com/${\n userDetail.twitter_username\n }\"][target=\"_blank\"]`,\n {\n onclick: h.analytics.event({\n cat: 'project_view',\n act: 'project_creator_twitter',\n lbl: userDetail.twitter_username,\n project: project(),\n }),\n },\n 'Perfil no Twitter'\n ),\n ])\n : '',\n _.map(userDetail.links, link => {\n const parsedLink = h.parseUrl(link.link);\n\n return !_.isEmpty(parsedLink.hostname)\n ? m('li', [\n m(\n `a.link-hidden${attrs.isDark ? '.link-hidden-white' : ''}[itemprop=\"url\"][href=\"${\n link.link\n }\"][target=\"_blank\"]`,\n {\n onclick: h.analytics.event({\n cat: 'project_view',\n act: 'project_creator_otherlinks',\n lbl: link.link,\n project: project(),\n }),\n },\n parsedLink.hostname\n ),\n ])\n : '';\n }),\n ]),\n !_.isEmpty(userDetail)\n ? [\n !_.isNull(userDetail.deactivated_at)\n ? ''\n : m(UserFollowBtn, {\n enabledClass: `a.w-button.btn.btn-terciary${\n attrs.isDark ? '.btn-terciary-negative' : ''\n }.btn-small..u-marginbottom-10`,\n disabledClass: `a.w-button.btn.btn-terciary${\n attrs.isDark ? '.btn-terciary-negative' : ''\n }.btn-small.u-marginbottom-10`,\n follow_id: userDetail.id,\n following: userDetail.following_this_user,\n }),\n m(\n `button.w-button.btn.btn-terciary${attrs.isDark ? '.btn-terciary-negative' : ''}.btn-small`,\n {\n onclick: h.analytics.event(\n {\n cat: 'project_view',\n act: 'project_creator_sendmsg',\n lbl: userDetail.id,\n project: project(),\n },\n state.sendMessage\n ),\n },\n 'Contato'\n ),\n ]\n : '',\n attrs.project().is_admin_role ? m('p', userDetail.email) : '',\n ]),\n ]),\n ])\n );\n },\n};\n\nexport default projectUserCard;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectMode from './project-mode';\nimport projectReminder from './project-reminder';\nimport projectUserCard from './project-user-card';\nimport projectShareBox from './project-share-box';\nimport projectFriends from './project-friends';\nimport addressTag from './address-tag';\nimport categoryTag from './category-tag';\nimport projectVM from '../vms/project-vm';\nimport { ProjectWeLovedTag } from './project-we-loved-tag';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.project_sidebar');\n\nconst projectSidebar = {\n oninit: function(vnode) {\n const project = vnode.attrs.project,\n animateProgress = localVnode => {\n let animation,\n progress = 0,\n pledged = 0,\n contributors = 0;\n const pledgedIncrement = project().pledged / project().progress,\n contributorsIncrement = project().total_contributors / project().progress;\n\n const progressBar = document.getElementById('progressBar'),\n pledgedEl = document.getElementById('pledged'),\n contributorsEl = document.getElementById('contributors'),\n incrementProgress = () => {\n if (progress <= parseInt(project().progress)) {\n progressBar.style.width = `${progress}%`;\n pledgedEl.innerText = `R$ ${h.formatNumber(pledged)}`;\n contributorsEl.innerText = `${parseInt(contributors)} pessoas`;\n localVnode.dom.innerText = `${progress}%`;\n pledged += pledgedIncrement;\n contributors += contributorsIncrement;\n progress += 1;\n } else {\n clearInterval(animation);\n }\n },\n animate = () => {\n animation = setInterval(incrementProgress, 28);\n };\n\n setTimeout(() => {\n animate();\n }, 1800);\n };\n\n const navigate = () => {\n if (projectVM.isSubscription(vnode.attrs.project)) {\n h.navigateTo(`/projects/${project().project_id}/subscriptions/start`);\n return false;\n }\n h.navigateTo(`/projects/${project().project_id}/contributions/new`);\n return false;\n };\n\n vnode.state = {\n animateProgress,\n displayShareBox: h.toggleProp(false, true),\n navigate\n };\n },\n view: function({state, attrs}) {\n // @TODO: remove all those things from the view\n const project = attrs.project,\n elapsed = project().elapsed_time,\n remaining = project().remaining_time,\n displayCardClass = () => {\n const states = {\n waiting_funds: 'card-waiting',\n successful: 'card-success',\n failed: 'card-error',\n draft: 'card-dark',\n in_analysis: 'card-dark',\n approved: 'card-dark'\n };\n\n return (states[project().state] ? `card u-radius zindex-10 ${states[project().state]}` : '');\n },\n displayStatusText = () => {\n const states = {\n approved: window.I18n.t('display_status.approved', I18nScope()),\n online: h.existy(project().zone_expires_at) && project().open_for_contributions ? window.I18n.t('display_status.online', I18nScope({ date: h.momentify(project().zone_expires_at) })) : '',\n failed: window.I18n.t('display_status.failed', I18nScope({ date: h.momentify(project().zone_expires_at), goal: `R$ ${h.formatNumber(project().goal, 2, 3)}` })),\n rejected: window.I18n.t('display_status.rejected', I18nScope()),\n in_analysis: window.I18n.t('display_status.in_analysis', I18nScope()),\n successful: window.I18n.t('display_status.successful', I18nScope({ date: h.momentify(project().zone_expires_at) })),\n waiting_funds: window.I18n.t('display_status.waiting_funds', I18nScope()),\n draft: window.I18n.t('display_status.draft', I18nScope())\n };\n\n return states[project().state];\n },\n isSub = projectVM.isSubscription(project),\n subscriptionData = attrs.subscriptionData && attrs.subscriptionData() ? attrs.subscriptionData() : prop(),\n subGoal = isSub ? (_.find(attrs.goalDetails(), g => g.value > subscriptionData.amount_paid_for_valid_period) || _.last(attrs.goalDetails()) || { value: '--' }) : null,\n pledged = isSub ? subscriptionData.amount_paid_for_valid_period : project().pledged,\n progress = isSub ? (subscriptionData.amount_paid_for_valid_period / subGoal.value) * 100 : project().progress,\n totalContributors = isSub ? subscriptionData.total_subscriptions : project().total_contributors;\n\n return m('#project-sidebar.aside', [\n m('.project-stats', [\n m(`.project-stats-inner${isSub ? '.dark' : ''}`, [\n m('.project-stats-info', [\n m('.u-marginbottom-20', [\n m(`#pledged.${isSub ? 'fontsize-larger' : 'fontsize-largest'}.fontweight-semibold.u-text-center-small-only`, [\n `R$ ${pledged ? h.formatNumber(pledged) : '0'}`,\n isSub ? m('span.fontsize-large', ' por mês') : null\n ]),\n isSub ? m('.fontsize-small.u-text-center-small-only', [\n window.I18n.t('subscribers_call', I18nScope()),\n m('span#contributors.fontweight-semibold', window.I18n.t('contributors_count', I18nScope({ count: totalContributors }))),\n ])\n : m('.fontsize-small.u-text-center-small-only', [\n window.I18n.t('contributors_call', I18nScope()),\n m('span#contributors.fontweight-semibold', window.I18n.t('contributors_count', I18nScope({ count: totalContributors }))),\n (!project().expires_at && elapsed) ? ` em ${window.I18n.t(`datetime.distance_in_words.x_${elapsed.unit}`, { count: elapsed.total }, I18nScope())}` : ''\n ])\n ]),\n m('.meter', [\n m('#progressBar.meter-fill', {\n style: {\n width: `${progress}%`\n }\n })\n ]),\n isSub\n ? m('.fontsize-smaller.fontweight-semibold.u-margintop-10', `${progress ? parseInt(progress) : '0'}% de R$${subGoal.value} por mês`)\n : m('.w-row.u-margintop-10', [\n m('.w-col.w-col-5.w-col-small-6.w-col-tiny-6', [\n m('.fontsize-small.fontweight-semibold.lineheight-tighter', `${progress ? parseInt(progress) : '0'}%`)\n ]),\n m('.w-col.w-col-7.w-col-small-6.w-col-tiny-6.w-clearfix', [\n m('.u-right.fontsize-small.lineheight-tighter', remaining && remaining.total ? [\n m('span.fontweight-semibold', remaining.total), window.I18n.t(`remaining_time.${remaining.unit}`, I18nScope({ count: remaining.total }))\n ] : '')\n ])\n ])\n ]),\n m('.w-row', [\n m(projectMode, {\n project\n })\n ])\n ]),\n (project().open_for_contributions && !attrs.hasSubscription ? m('.back-project-btn-div', [\n m('.back-project--btn-row', [\n m('a#contribute_project_form.btn.btn-large.u-marginbottom-20[href=\"javascript:void(0);\"]', {\n onclick: h.analytics.event({\n cat: 'contribution_create',\n act: 'contribution_button_click',\n project: project()\n }, state.navigate)\n\n }, window.I18n.t(`submit_${project().mode}`, I18nScope()))\n ]),\n isSub ? null : m('.back-project-btn-row-right', m(projectReminder, {\n project,\n type: 'link'\n }))\n ]) : ''),\n m('.friend-backed-card.project-page', [\n (!_.isUndefined(project()) && project().contributed_by_friends ? m(projectFriends, { project: project(), wrapper: 'div' }) : '')\n ]),\n m(`div[class=\"fontsize-smaller u-marginbottom-30 ${displayCardClass()}\"]`, displayStatusText())\n ]),\n m('.project-share.w-hidden-main.w-hidden-medium', [\n m(addressTag, { project, isDark: isSub }),\n m(categoryTag, { project, isDark: isSub }),\n project().recommended && m(ProjectWeLovedTag, { project, isDark: isSub }),\n m('.u-marginbottom-30.u-text-center-small-only',\n m(`button.btn.btn-inline.btn-medium.btn-terciary${projectVM.isSubscription(project) ? '.btn-terciary-negative' : ''}`, {\n onclick: state.displayShareBox.toggle\n }, 'Compartilhar este projeto')\n ),\n state.displayShareBox() ? m(projectShareBox, {\n project,\n displayShareBox: state.displayShareBox\n }) : ''\n ]),\n m('.user-c', m(projectUserCard, {\n userDetails: attrs.userDetails,\n isDark: projectVM.isSubscription(project),\n project\n }))\n ]);\n }\n};\n\nexport default projectSidebar;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport userVM from '../vms/user-vm';\nimport projectVM from '../vms/project-vm';\nimport h from '../h';\n\nconst projectHeaderTitle = {\n view: function({attrs}) {\n const project = attrs.project,\n isSub = projectVM.isSubscription(project);\n\n return !_.isUndefined(project()) ? m(`.w-section.page-header${isSub ? '.transparent-background' : ''}`, [\n m('.w-container', [\n attrs.children,\n m('h1.u-text-center.fontsize-larger.fontweight-semibold.project-name[itemprop=\"name\"]', h.selfOrEmpty(project().name || project().project_name)),\n !isSub ? m('h2.u-text-center.fontsize-base.lineheight-looser[itemprop=\"author\"]', [\n 'por ',\n project().user ? userVM.displayName(project().user) : (project().owner_public_name ? project().owner_public_name : project().owner_name)\n ]) : m('.w-row',\n m('.w-col.w-col-6.w-col-push-3',\n m('p.fontsize-small.lineheight-tight.u-margintop-10.u-text-center', project().headline)\n )\n )\n ])\n ]) : m('div', '');\n }\n};\n\nexport default projectHeaderTitle;\n","import m from 'mithril';\nimport userVM from '../vms/user-vm';\nimport contributionVM from '../vms/contribution-vm';\n\nconst rewardReceiver = {\n oninit: function(vnode) {\n const toggleDelivery = (projectId, contribution) => {\n userVM.toggleDelivery(projectId, contribution).then(() => {\n const lastStatus = contribution.reward_sent_at ? 'delivered' : 'undelivered';\n contribution.delivery_status = contribution.delivery_status === 'received' ? lastStatus : 'received'; // so we don't have to reload the page\n });\n };\n\n vnode.state = {\n toggleDelivery\n };\n },\n view: function({state, attrs}) {\n const contribution = attrs.contribution;\n\n return contributionVM.canBeDelivered(contribution) ?\n m('.u-text-center.w-col.w-col-1', {\n onclick: () => state.toggleDelivery(contribution.project_id, contribution)\n }, [\n m('.fontsize-smallest',\n m(`a.checkbox-big${contribution.delivery_status === 'received' ? '.checkbox--selected.fa.fa-check.fa-lg' : ''}`,\n ''\n )\n ),\n m('.fontcolor-secondary.fontsize-smallest.lineheight-looser',\n 'Recebi!'\n )\n ]) : m('');\n }\n};\n\nexport default rewardReceiver;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport contributionVM from '../vms/contribution-vm';\nimport ownerMessageContent from '../c/owner-message-content';\nimport modalBox from '../c/modal-box';\nimport userVM from '../vms/user-vm';\nimport rewardReceiver from './reward-receiver';\nimport paymentVM from '../vms/payment-vm';\n\nconst I18nScope = _.partial(h.i18nScope, 'payment.state');\nconst contributionScope = _.partial(h.i18nScope, 'users.contribution_row');\n\nconst userContributedBox = {\n oninit: function(vnode) {\n const displayModal = h.toggleProp(false, true),\n toggleDelivery = (projectId, contribution) => {\n userVM.toggleDelivery(projectId, contribution).then(() => {\n const lastStatus = contribution.reward_sent_at ? 'delivered' : 'undelivered';\n contribution.delivery_status = contribution.delivery_status === 'received' ? lastStatus : 'received'; // so we don't have to reload the page\n });\n },\n installmentTotalAmount = prop(h.formatNumber(vnode.attrs.contribution.installments_total_amount, 2));\n \n vnode.state = {\n toggleAnonymous: userVM.toggleAnonymous,\n displayModal,\n contribution: vnode.attrs.contribution,\n toggleDelivery,\n installmentTotalAmount\n };\n },\n view: function({state}) {\n const contribution = state.contribution,\n contactModalC = [ownerMessageContent, {\n id: contribution.project_user_id,\n name: contribution.project_owner_name,\n project_id: contribution.project_id\n }],\n finishedAt = contribution.survey && contribution.survey.finished_at,\n answeredAt = contribution.survey_answered_at;\n\n return (!_.isEmpty(contribution) ? m('div',\n (state.displayModal() ? m(modalBox, {\n displayModal: state.displayModal,\n content: contactModalC\n }) : ''), [\n m('.card.w-row', [\n m('.u-marginbottom-20.w-col.w-col-3', [\n m('.u-marginbottom-10.w-row', [\n m('.u-marginbottom-10.w-col.w-col-4',\n m(`a.w-inline-block[href='/${contribution.permalink}']`,\n m(`img.thumb-project.u-radius[alt='${contribution.project_name}'][src='${contribution.project_image}'][width='50']`)\n )\n ),\n m('.w-col.w-col-8',\n m('.fontsize-small.fontweight-semibold.lineheight-tight',\n m(`a.link-hidden[href='/${contribution.permalink}']`,\n contribution.project_name\n )\n )\n )\n ]),\n m(\"a.btn.btn-edit.btn-inline.btn-small.w-button[href='javascript:void(0);']\", {\n onclick: () => {\n state.displayModal.toggle();\n }\n },\n window.I18n.t('contact_author', contributionScope())\n )\n ]),\n m('.u-marginbottom-20.w-col.w-col-3', [\n m('.fontsize-base.fontweight-semibold.lineheight-looser',\n `R$ ${contribution.value}`\n ),\n m('.w-embed',\n m('div', [\n m('.w-hidden-main.w-hidden-medium.fontsize-smallest.fontweight-semibold',\n window.I18n.t('status', contributionScope())\n ),\n m('.fontsize-smaller.fontweight-semibold', [\n m('.lineheight-tighter'),\n m(`span.fa.fa-circle.fontsize-smallest.${contribution.state === 'paid' ? 'text-success' : contribution.state === 'pending' ? 'text-waiting' : 'text-error'}`,\n m.trust(' ')\n ),\n window.I18n.t(`${contribution.payment_method.toLowerCase()}.${contribution.state}`, I18nScope({\n date: h.momentify(contribution[`${contribution.state}_at`])\n }))\n ]),\n m('.fontsize-smallest',\n (contribution.installments > 1 ? (`${contribution.installments} x R$ ${ h.formatNumber(contribution.installment_value, 2) } `) : ''),\n (contribution.payment_method === 'BoletoBancario' ? 'Boleto Bancário' : 'Cartão de Crédito')\n ),\n (\n contribution.installments > 1 ? \n m(\".fontsize-smallest.fontweight-semibold.u-marginbottom-10\", \n I18n.t('total_amount', contributionScope({\n total_amount: state.installmentTotalAmount()\n }))\n ) : ''\n ),\n (contributionVM.canShowReceipt(contribution) ?\n m(`a.alt-link.u-margintop-10[href='/projects/${contribution.project_id}/contributions/${contribution.contribution_id}/receipt'][target='__blank']`,\n window.I18n.t('show_receipt', contributionScope())\n ) : ''),\n\n (contribution.gateway_data && contributionVM.canShowSlip(contribution) ?\n m(`a.alt-link.u-margintop-10[href='${contribution.gateway_data.boleto_url}'][target='__blank']`,\n window.I18n.t('print_slip', contributionScope())\n ) : ''),\n\n (contribution.gateway_data && contributionVM.canGenerateSlip(contribution) ?\n m(`a.alt-link.u-margintop-10[href='/projects/${contribution.project_id}/contributions/${contribution.contribution_id}/second_slip'][target='__blank']`,\n window.I18n.t('slip_copy', contributionScope())\n ) : ''),\n m('.w-checkbox.fontsize-smallest.fontcolor-secondary.u-margintop-10', [\n m(`input.w-checkbox-input[id='anonymous'][name='anonymous'][type='checkbox']${contribution.anonymous ? '[checked=\\'checked\\']' : ''}[value='1']`, {\n onclick: () => state.toggleAnonymous(contribution.project_id, contribution)\n }),\n m('label.w-form-label',\n window.I18n.t('anonymous', contributionScope())\n )\n ])\n ])\n )\n ]),\n m('.u-marginbottom-20.w-col.w-col-3', [\n (contribution.reward_id ? [m('.fontsize-smallest.fontweight-semibold',\n contribution.reward_title\n ), m('p.fontcolor-secondary.fontsize-smallest', m.trust(h.simpleFormat(\n `${contribution.reward_description.substring(0, 90)} (...)`\n )))] : ` ${window.I18n.t('no_reward', contributionScope())} `),\n contribution.deliver_at ? m('.fontsize-smallest', [\n m('span.fontweight-semibold',\n `${window.I18n.t('delivery_estimate', contributionScope())} `\n ),\n h.momentify(contribution.deliver_at, 'MMMM/YYYY')\n ]) : '',\n contributionVM.canBeDelivered(contribution) ? m('.fontsize-smallest', [\n m('span.fontweight-semibold',\n window.I18n.t('delivery_status', contributionScope())\n ),\n m.trust(' '),\n h.contributionStatusBadge(contribution)\n ]) : ''\n ]),\n m(rewardReceiver, {\n contribution\n }),\n (contribution.survey ? [\n (!answeredAt && finishedAt) ?\n m('.u-text-center.w-col.w-col-2',\n m('.fontsize-smaller.fontweight-semibold.lineheight-tighter',\n m(`a.link-error[href='/contributions/${contribution.contribution_id}/surveys/${contribution.survey.survey_id}'][target='_blank']`, [\n m(\"span[xmlns='http://www.w3.org/1999/xhtml']\"),\n m(\"span.fa.fa-exclamation-circle[xmlns='http://www.w3.org/1999/xhtml']\",\n ''\n ),\n m.trust(' '),\n 'Questionário',\n m('br'),\n 'Não respondido'\n ])\n )\n ) : answeredAt ?\n m('.u-text-center.w-col.w-col-2', [\n m('.fontsize-smaller.fontweight-semibold.lineheight-tighter',\n m(`a.link-hidden-dark[href='/contributions/${contribution.contribution_id}/surveys/${contribution.survey.survey_id}'][target='_blank']`, [\n 'Questionário',\n m('br'),\n 'Respondido'\n ])\n ),\n m('.fontcolor-secondary.fontsize-smallest',\n `em ${h.momentify(answeredAt, 'DD/MM/YYYY')}`\n )\n ]) :\n m('.u-text-center.w-col.w-col-2',\n m(`a.btn.w-button[href='/contributions/${contribution.contribution_id}/surveys/${contribution.survey.survey_id}']`,\n window.I18n.t('answer_survey', contributionScope())\n )\n )\n ] : '')\n ])\n ]\n ) : m('div', ''))\n }\n};\n\nexport default userContributedBox;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport userContributedBox from './user-contributed-box';\n\nconst userContributionDetail = {\n oninit: function(vnode) {\n const contribution = vnode.attrs.contribution,\n rewardDetails = vnode.attrs.rewardDetails,\n chosenReward = _.findWhere(rewardDetails(), {\n id: contribution.reward_id\n });\n\n vnode.state = {\n contribution,\n chosenReward\n };\n },\n view: function({state, attrs}) {\n const contribution = attrs.contribution;\n\n return m(userContributedBox, { contribution });\n }\n};\n\nexport default userContributionDetail;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse } from '../api';\nimport h from '../h';\nimport models from '../models';\n\nconst states = prop([]);\nconst countries = prop([]);\nconst defaultCountryID = 36;\nconst defaultForeignCountryID = 74;\n\nconst addressVM = (args) => {\n const data = args.data;\n const international = prop();\n const statesLoader = catarse.loader(models.state.getPageOptions());\n\n const fields = {\n id: prop(data.id || ''),\n countryID: prop(data.country_id || defaultCountryID),\n stateID: prop(data.state_id || ''),\n addressStreet: prop(data.address_street || ''),\n addressNumber: prop(data.address_number || ''),\n addressComplement: prop(data.address_complement || ''),\n addressNeighbourhood: prop(data.address_neighbourhood || ''),\n addressCity: prop(data.address_city || ''),\n addressState: prop(data.address_state || ''),\n addressZipCode: prop(data.address_zip_code || ''),\n phoneNumber: prop(data.phone_number || ''),\n states,\n countries\n };\n\n const errors = {\n countryID: prop(false),\n stateID: prop(false),\n addressStreet: prop(false),\n addressNumber: prop(false),\n addressComplement: prop(false),\n addressNeighbourhood: prop(false),\n addressCity: prop(false),\n addressState: prop(false),\n addressZipCode: prop(false),\n phoneNumber: prop(false),\n };\n\n fields.errors = errors;\n\n const exportData = {\n international,\n defaultCountryID,\n defaultForeignCountryID,\n fields,\n states,\n countries,\n errors\n };\n\n statesLoader.load().then(data => {\n states(data);\n h.redraw();\n });\n\n const setFields = (data) => {\n \n exportData.fields.id = prop(data.id || '');\n exportData.fields.countryID = prop(data.country_id || defaultCountryID);\n exportData.fields.stateID = prop(data.state_id || '');\n exportData.fields.addressStreet = prop(data.address_street || '');\n exportData.fields.addressNumber = prop(data.address_number || '');\n exportData.fields.addressComplement = prop(data.address_complement || '');\n exportData.fields.addressNeighbourhood = prop(data.address_neighbourhood || '');\n exportData.fields.addressCity = prop(data.address_city || '');\n exportData.fields.addressState = prop(data.address_state || '');\n exportData.fields.addressZipCode = prop(data.address_zip_code || '');\n exportData.fields.phoneNumber = prop(data.phone_number || '');\n international(Number(data.country_id) !== defaultCountryID);\n\n if (!_.isEmpty(states()) && !exportData.international()) {\n const countryState = _.first(_.filter(states(), countryState => {\n return exportData.fields.stateID() === countryState.id;\n }));\n \n if (countryState) {\n exportData.fields.addressState(countryState.acronym);\n }\n }\n };\n\n const getFields = () => {\n const isInternational = Number(exportData.fields.countryID()) !== defaultCountryID;\n\n if (!_.isEmpty(states()) && !isInternational) {\n const countryState = _.first(_.filter(states(), countryState => {\n return exportData.fields.stateID() === countryState.id;\n }));\n \n if (countryState) {\n exportData.fields.addressState(countryState.acronym);\n }\n }\n const data = {};\n // data.id = exportData.fields.id();\n data.country_id = exportData.fields.countryID();\n data.address_street = exportData.fields.addressStreet();\n\n if (!isInternational) {\n data.state_id = exportData.fields.stateID();\n data.address_number = exportData.fields.addressNumber();\n data.address_complement = exportData.fields.addressComplement();\n data.address_neighbourhood = exportData.fields.addressNeighbourhood();\n data.phone_number = exportData.fields.phoneNumber();\n }\n\n data.address_city = exportData.fields.addressCity();\n data.address_state = exportData.fields.addressState();\n data.address_zip_code = exportData.fields.addressZipCode();\n return data;\n };\n\n const checkPhone = () => {\n let hasError = false;\n const phone = fields.phoneNumber();\n const strippedPhone = String(phone || '').replace(/\\D*/g, '');\n\n if (strippedPhone.length < 10) {\n errors.phoneNumber(true);\n hasError = true;\n } else {\n const controlDigit = Number(strippedPhone.charAt(2));\n if (!(controlDigit >= 2 && controlDigit <= 9)) {\n errors.phoneNumber(true);\n hasError = true;\n }\n }\n return hasError;\n };\n\n fields.validate = () => {\n let hasError = false;\n const fieldsToIgnore = international()\n ? ['id', 'stateID', 'addressComplement', 'addressNumber', 'addressNeighbourhood', 'phoneNumber']\n : ['id', 'addressComplement', 'addressState', 'phoneNumber'];\n // clear all errors\n _.mapObject(errors, (val, key) => {\n val(false);\n });\n // check for empty fields\n _.mapObject(_.omit(fields, fieldsToIgnore), (val, key) => {\n\n if (key !== 'validate' && key !== 'errors') {\n if (!val()) {\n errors[key](true);\n hasError = true;\n }\n }\n });\n if (!international()) {\n const hasPhoneError = checkPhone();\n hasError = hasError || hasPhoneError;\n }\n return !hasError;\n };\n\n exportData.setFields = setFields;\n exportData.getFields = getFields;\n\n return exportData;\n};\n\naddressVM.states = states;\naddressVM.countries = countries;\naddressVM.defaultCountryID = defaultCountryID;\naddressVM.defaultForeignCountryID = defaultForeignCountryID;\n\nexport default addressVM;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport projectVM from '../vms/project-vm';\nimport addressVM from '../vms/address-vm';\nimport models from '../models';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.contributions.edit.errors');\nconst paymentInfoId = prop();\nconst { commonPayment, commonSubscriptionUpgrade, commonPaymentInfo, commonCreditCard, commonCreditCards, rechargeSubscription } = models;\nconst sendPaymentRequest = data => commonPayment.postWithToken(\n { data: _.extend({}, data, { payment_id: paymentInfoId() }) },\n null,\n (h.isDevEnv() ? { 'X-forwarded-For': '127.0.0.1' } : {})\n)\n.catch((error) => {\n h.captureException(error);\n throw error;\n});\n\nconst sendSubscriptionUpgrade = data => commonSubscriptionUpgrade.postWithToken(\n { data },\n null,\n (h.isDevEnv() ? { 'X-forwarded-For': '127.0.0.1' } : {})\n)\n.catch((error) => {\n h.captureException(error);\n throw error;\n});\n\nconst saveCreditCard = creditCardHash => commonCreditCard\n.postWithToken({ data: { card_hash: creditCardHash } })\n.catch((error) => {\n h.captureException(error);\n throw error;\n});;\n\nconst updateUser = user => m.request({\n method: 'PUT',\n url: `/users/${user.id}.json`,\n data: {\n user\n },\n config: h.setCsrfToken\n})\n.catch((error) => {\n h.captureException(error);\n throw error;\n});\n\nconst userPayload = (customer, address) => ({\n id: h.getUser().id,\n cpf: customer.ownerDocument(),\n name: customer.completeName(),\n address_attributes: {\n country_id: address.country_id,\n state_id: address.state_id,\n address_street: address.address_street,\n address_neighbourhood: address.address_neighbourhood,\n address_number: address.address_number,\n address_zip_code: address.address_zip_code,\n address_city: address.address_city,\n address_state: address.address_state,\n address_complement: address.address_complement,\n phone_number: address.phone_number\n }\n});\n\nconst displayError = fields => (exception) => {\n const errorMsg = exception.message || window.I18n.t('submission.encryption_error', I18nScope());\n fields.isLoading(false);\n fields.submissionError(window.I18n.t('submission.error', I18nScope({ message: errorMsg })));\n m.redraw();\n h.captureException(exception);\n};\n\nconst paymentInfo = paymentId => commonPaymentInfo\n .postWithToken({ id: paymentId }, null, (h.isDevEnv() ? { 'X-forwarded-For': '127.0.0.1' } : {}))\n .catch((error) => {\n h.captureException(error);\n throw error;\n });\n\nconst creditCardInfo = creditCard => commonCreditCards\n .getRowWithToken(h.idVM.id(creditCard.id).parameters())\n .catch((error) => {\n h.captureException(error);\n throw error;\n });\n\nlet retries = 10;\nconst isReactivation = () => {\n const subscriptionStatus = m.route.param('subscription_status');\n return subscriptionStatus === 'inactive' || subscriptionStatus === 'canceled';\n};\nconst resolvePayment = (gateway_payment_method, payment_confirmed, payment_id, isEdit) => m.route.set(`/projects/${projectVM.currentProject().project_id}/subscriptions/thank_you?project_id=${projectVM.currentProject().project_id}&payment_method=${gateway_payment_method}&payment_confirmed=${payment_confirmed}${payment_id ? `&payment_id=${payment_id}` : ''}${isEdit && !isReactivation() ? '&is_edit=1' : ''}`);\nconst requestInfo = (promise, paymentId, defaultPaymentMethod, isEdit) => {\n if (retries <= 0) {\n return promise.resolve(resolvePayment(defaultPaymentMethod, false, paymentId, isEdit));\n }\n\n paymentInfo(paymentId).then((infoR) => {\n if (_.isNull(infoR.gateway_payment_method) || _.isUndefined(infoR.gateway_payment_method)) {\n if (!_.isNull(infoR.gateway_errors)) {\n return promise.reject(_.first(infoR.gateway_errors));\n }\n\n return h.sleep(4000).then(() => {\n retries -= 1;\n\n return requestInfo(promise, paymentId, defaultPaymentMethod);\n });\n }\n\n return promise.resolve(resolvePayment(infoR.gateway_payment_method, true, paymentId, isEdit));\n }).catch(error => promise.reject({}));\n};\n\nconst getPaymentInfoUntilNoError = (paymentMethod, isEdit) => ({ id, catalog_payment_id }) => {\n const p = new Promise((resolve, reject) => {\n const paymentId = isEdit ? catalog_payment_id : id;\n\n if (paymentId) {\n paymentInfoId(paymentId);\n requestInfo({resolve, reject}, paymentId, paymentMethod, isEdit);\n } else {\n resolvePayment(paymentMethod, false, null, isEdit);\n }\n });\n\n return p;\n};\n\n\nlet creditCardRetries = 5;\nconst waitForSavedCreditCard = promise => (creditCardId) => {\n if (creditCardRetries <= 0) {\n return promise.reject({ message: 'Could not save card' });\n }\n\n creditCardInfo(creditCardId).then(([infoR]) => {\n if (_.isEmpty(infoR.gateway_data)) {\n if (!_.isEmpty(infoR.gateway_errors)) {\n return promise.reject(_.first(infoR.gateway_errors));\n }\n\n return h.sleep(4000).then(() => {\n creditCardRetries -= 1;\n\n return waitForSavedCreditCard(promise)(creditCardId);\n });\n }\n\n return promise.resolve({ creditCardId });\n }).catch(error => promise.reject({ message: error.message }));\n\n\n return promise;\n};\n\nconst processCreditCard = (cardHash, fields) => {\n const p = new Promise((resolve, reject) => {\n saveCreditCard(cardHash)\n .then(waitForSavedCreditCard({resolve, reject}))\n .catch(reject);\n });\n\n return p;\n};\n\nconst kondutoExecute = function () {\n const customerID = h.getUserCommonID();\n\n if (customerID) {\n var period = 300;\n var limit = 20 * 1e3;\n var nTry = 0;\n var intervalID = setInterval(function () {\n var clear = limit / period <= ++nTry;\n if ((typeof (Konduto) !== \"undefined\") && (typeof (Konduto.setCustomerID) !== \"undefined\")) {\n window.Konduto.setCustomerID(customerID);\n clear = true;\n }\n if (clear) {\n clearInterval(intervalID);\n }\n }, period);\n }\n};\n\nconst sendCreditCardPayment = (selectedCreditCard, fields, commonData, addVM) => {\n\n if (!fields) {\n return false;\n }\n fields.isLoading(true);\n m.redraw();\n\n const meta = _.first(document.querySelectorAll('[name=pagarme-encryption-key]'));\n const encryptionKey = meta.getAttribute('content');\n\n window.pagarme.encryption_key = encryptionKey;\n const card = h.buildCreditCard(fields.creditCardFields);\n\n const customer = fields.fields;\n const address = customer.address().getFields();\n const phoneDdd = address.phone_number ? h.extractPhoneDDD(address.phone_number) : null;\n const phoneNumber = address.phone_number ? h.extractPhoneNumber(address.phone_number) : null;\n const addressState = address.state_id ? _.findWhere(addVM.states(), { id: address.state_id }) : address.address_state;\n const addressCountry = _.findWhere(addVM.countries(), { id: address.country_id }) || {};\n\n window.pagarme.client.connect({ encryption_key: encryptionKey })\n .then(client => client.security.encrypt(card))\n .then((cardHash) => {\n const payload = {\n subscription: true,\n anonymous: customer.anonymous(),\n user_id: commonData.userCommonId,\n project_id: commonData.projectCommonId,\n amount: commonData.amount,\n payment_method: 'credit_card',\n credit_card_owner_document: fields.creditCardFields.cardOwnerDocument(),\n is_international: address.country_id !== addVM.defaultCountryID,\n customer: {\n name: customer.completeName(),\n document_number: customer.ownerDocument(),\n address: {\n neighborhood: address.address_neighbourhood,\n street: address.address_street,\n street_number: address.address_number,\n zipcode: address.address_zip_code,\n country: addressCountry.name,\n country_code: addressCountry.code,\n state: addressState.acronym ? addressState.acronym : addressState,\n city: address.address_city,\n complementary: address.address_complement\n },\n phone: {\n ddi: '55',\n ddd: phoneDdd,\n number: phoneNumber\n }\n }\n };\n\n if (commonData.rewardCommonId) {\n _.extend(payload, { reward_id: commonData.rewardCommonId });\n }\n\n if (commonData.subscription_id) {\n _.extend(payload, { id: commonData.subscription_id });\n }\n\n const pay = ({ creditCardId }) => {\n kondutoExecute()\n const p = new Promise((resolve, reject) => {\n if (creditCardId) {\n _.extend(payload, {\n card_id: creditCardId.id,\n credit_card_id: creditCardId.id\n });\n }\n\n if (commonData.subscription_id) {\n sendSubscriptionUpgrade(payload).then(resolve).catch(reject);\n } else {\n sendPaymentRequest(payload).then(resolve).catch(reject);\n }\n });\n\n return p;\n };\n\n updateUser(userPayload(customer, address))\n .then(() => processCreditCard(cardHash, fields))\n .then(pay)\n .then(getPaymentInfoUntilNoError(payload.payment_method, Boolean(commonData.subscription_id)))\n .catch(displayError(fields));\n\n });\n};\n\nconst sendSlipPayment = (fields, commonData) => {\n fields.isLoading(true);\n m.redraw();\n\n const customer = fields.fields;\n const address = customer.address().getFields();\n const phoneDdd = address.phone_number ? h.extractPhoneDDD(address.phone_number) : null;\n const phoneNumber = address.phone_number ? h.extractPhoneNumber(address.phone_number) : null;\n const addressState = _.findWhere(addressVM.states(), { id: address.state_id });\n const addressCountry = _.findWhere(addressVM.countries(), { id: address.country_id });\n const payload = {\n subscription: true,\n anonymous: customer.anonymous(),\n user_id: commonData.userCommonId,\n project_id: commonData.projectCommonId,\n amount: commonData.amount,\n payment_method: 'boleto',\n customer: {\n name: customer.completeName(),\n document_number: customer.ownerDocument(),\n address: {\n neighborhood: address.address_neighbourhood,\n street: address.address_street,\n street_number: address.address_number,\n zipcode: address.address_zip_code,\n // TOdO: remove hard-coded country when international support is added on the back-end\n country: 'Brasil',\n country_code: 'BR',\n state: addressState.acronym,\n city: address.address_city,\n complementary: address.address_complement\n },\n phone: {\n ddi: '55',\n ddd: phoneDdd,\n number: phoneNumber\n }\n }\n };\n\n if (commonData.rewardCommonId) {\n _.extend(payload, { reward_id: commonData.rewardCommonId });\n }\n\n if (commonData.subscription_id) {\n _.extend(payload, { id: commonData.subscription_id });\n }\n\n const sendPayment = () => {\n const p = new Promise((resolve, reject) => {\n if (commonData.subscription_id) {\n sendSubscriptionUpgrade(payload).then(resolve).catch(reject);\n } else {\n sendPaymentRequest(payload).then(resolve).catch(reject);\n }\n });\n\n return p;\n };\n\n updateUser(userPayload(customer, address))\n .then(sendPayment)\n .then(getPaymentInfoUntilNoError(payload.payment_method, Boolean(commonData.subscription_id)))\n .catch(displayError(fields));\n};\n\n// Makes a request count down of retries of getting payment info\nconst trialsToGetPaymentInfo = (p, catalog_payment_id, retries) => {\n if (retries > 0) {\n paymentInfo(catalog_payment_id).then((infoR) => {\n if (_.isNull(infoR.gateway_payment_method) || _.isUndefined(infoR.gateway_payment_method)) {\n if (!_.isNull(infoR.gateway_errors)) {\n return p.reject(_.first(infoR.gateway_errors));\n }\n\n return h.sleep(4000).then(() => trialsToGetPaymentInfo(p, catalog_payment_id, retries - 1));\n }\n\n return p.resolve({\n boleto_url: infoR.boleto_url,\n boleto_expiration_date: infoR.boleto_expiration_date,\n boleto_barcode: infoR.boleto_barcode,\n status: infoR.status\n });\n }).catch(() => p.reject({}));\n } else {\n return p.reject({});\n }\n\n return p.promise;\n};\n\n// Try recharge a payment if it's slip is expired, pinging /rpc/payment_info endpoint\n// looking up for new payment_info\nconst tryRechargeSubscription = (subscription_id) => {\n const p = new Promise((resolve, reject) => {\n rechargeSubscription\n .postWithToken({ subscription_id })\n .then(payment_data => trialsToGetPaymentInfo({resolve, reject}, payment_data.catalog_payment_id, 5))\n .catch((error) => {\n h.captureException(error);\n throw error;\n })\n .catch(reject);\n });\n\n return p;\n};\n\nconst commonPaymentVM = {\n sendCreditCardPayment,\n sendSlipPayment,\n paymentInfo,\n tryRechargeSubscription\n};\n\nexport default commonPaymentVM;\n","/**\n * window.c.cancelSubscriptionContent component\n * Render cancel subscription form\n *\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport {\n catarse,\n commonPayment\n} from '../api';\nimport _ from 'underscore';\nimport h from '../h';\nimport models from '../models';\n\nconst cancelSubscriptionContent = {\n oninit: function(vnode) {\n const canceling = prop(false);\n\n const cancelSubscription = () => {\n const l = commonPayment.loaderWithToken(models.cancelSubscription.postOptions({\n id: vnode.attrs.subscription.id\n }));\n l.load().then(() => {\n canceling(true);\n vnode.attrs.subscription.status = 'canceling';\n m.redraw();\n });\n };\n\n vnode.state = {\n cancelSubscription,\n canceling\n };\n },\n view: function({state, attrs}) {\n const successMessage = m('.modal-dialog-content', [\n m('.fontsize-megajumbo.u-text-center.u-marginbottom-20',\n '🙁'\n ),\n m('.fontsize-base.u-marginbottom-20', [\n 'Sua assinatura de ',\n m('span.fontweight-semibold',\n `R$${attrs.subscription.amount / 100}`\n ),\n ' para o projeto ',\n m('span.fontweight-semibold',\n attrs.subscription.project.project_name\n ),\n ` foi cancelada. Como sua próxima data de vencimento é no dia ${h.momentify(attrs.subscription.next_charge_at, 'DD/MM/YYYY')}, sua assinatura ainda estará ativa até este dia. Mas não se preocupe, que você não terá mais nenhuma cobrança em seu nome daqui pra frente.`,\n m('br'),\n m('br'),\n 'Se por algum motivo você quiser um reembolso de seu apoio mensal, entre em contato direto com ',\n m(`a.alt-link[href='/users/${attrs.subscription.project.project_user_id}#about']`,\n attrs.subscription.project.owner_name\n ),\n '.',\n m('br'),\n m('br'),\n 'Até logo!'\n ])\n ]),\n contactForm = [\n m('.modal-dialog-content', [\n m('.modal-dialog-nav-bottom',\n m('.w-row', [\n m('.w-col.w-col-2'),\n m('.u-text-center.w-col.w-col-5',\n m('a.btn.btn-large.u-marginbottom-20', {\n onclick: state.cancelSubscription\n },\n 'Cancelar assinatura'\n )\n ),\n m('.w-col.w-col-3',\n m('a.btn.btn-large.u-marginbottom-20.btn-terciary.btn-no-border', {\n onclick: attrs.displayModal.toggle\n },\n 'Voltar'\n )\n ),\n m('.w-col.w-col-2')\n ])\n ),\n m('.fontsize-base', [\n 'Tem certeza que você quer solicitar o cancelamento de sua assinatura de ',\n m('span.fontweight-semibold',\n `R$${attrs.subscription.amount / 100}`\n ),\n ' para o projeto ',\n m('span.fontweight-semibold',\n attrs.subscription.project.project_name\n ),\n '?'\n ])\n ])\n ];\n\n return m('div', [\n m('.modal-dialog-header',\n m('.fontsize-large.u-text-center', 'Cancelar sua assinatura')\n ),\n state.canceling() ? successMessage : contactForm\n ]);\n }\n};\n\nexport default cancelSubscriptionContent;\n","import m from 'mithril';\n\nconst checkboxUpdateIndividual = {\n view: function ({attrs}) {\n return m('.w-checkbox.fontsize-smallest.fontcolor-secondary.u-margintop-10', [\n m('input.w-checkbox-input[type=\"checkbox\"]', {\n checked: attrs.current_state,\n onclick: attrs.onToggle\n }),\n m('label.w-form-label', attrs.text)\n ]);\n }\n};\n\nexport default checkboxUpdateIndividual;","import m from 'mithril';\nimport dashboardSubscriptionCardDetailPaymentHistory from './dashboard-subscription-card-detail-payment-history';\n\nconst userSubscriptionPaymentHistoryModal = {\n view: function({attrs}) {\n const subscription = attrs.subscription,\n project = attrs.project;\n\n return m('div', [\n m('.modal-dialog-header',\n m('.fontsize-large.u-text-center', project.project_name)\n ),\n m('.u-margintop-30', \n m(dashboardSubscriptionCardDetailPaymentHistory, { subscription })\n )\n ]);\n }\n};\n\nexport default userSubscriptionPaymentHistoryModal;\n","import m from 'mithril';\nimport moment from 'moment';\n\nconst subscriptionNextChargeDateCompact = {\n\n view: function({\n state,\n attrs\n }) {\n\n const {\n subscription,\n } = attrs;\n\n const {\n status,\n next_charge_at\n } = subscription;\n\n if ((status === 'active' || status === 'started') && !!next_charge_at) {\n return m('div.fontsize-smallest.fontweight-semibold.fontcolor-secondary.u-marginbottom-10', [\n 'Próx. cobrança:',\n m.trust(' '),\n moment(next_charge_at).format('DD/MM/YYYY')\n ]);\n } else {\n return m('span[style=\"display:none\"]');\n }\n }\n};\n\nexport default subscriptionNextChargeDateCompact;\n","import m from 'mithril';\nimport h from '../h';\nimport moment from 'moment';\n\nconst UserSubscriptionBoxControl = {\n view({state, attrs}) {\n return m('.u-marginbottom-10.u-text-center.w-col.w-col-3', this.userInteraction(attrs));\n },\n userInteraction(attrs) {\n const {\n subscription,\n displayCancelModal,\n isGeneratingSecondSlip,\n generateSecondSlip,\n showLastSubscriptionVersionEditionNextCharge,\n } = attrs;\n \n if (subscription.status === 'started') {\n\n if (subscription.last_payment_data.status === 'refused' && subscription.payment_method != 'boleto') {\n return [\n m('.card-alert.u-radius.fontsize-smaller.u-marginbottom-10.fontweight-semibold',\n m('div', [\n m('span.fa.fa-exclamation-triangle', '.'),\n `Seu pagamento foi recusado em ${\n h.momentify(subscription.last_payment_data.refused_at)\n }. Vamos tentar uma nova cobrança em ${\n h.momentify(subscription.last_payment_data.next_retry_at)\n }`,\n ])\n ),\n m(`a.btn.btn-inline.btn-small.w-button[href='/projects/${\n subscription.project_external_id\n }/subscriptions/start?subscription_id=${subscription.id}${\n subscription.reward_external_id ? `&reward_id=${subscription.reward_external_id}` : ''\n }&subscription_status=inactive']`,\n 'Refazer pagamento'\n ),\n m('button.btn-link.fontsize-smallest.link-hidden-light.u-margintop-10', {\n onclick: () => { displayCancelModal.toggle(); },\n }, 'Cancelar assinatura'),\n ]\n } else if (subscription.payment_status === 'pending' && subscription.boleto_url && subscription.boleto_expiration_date) {\n if (moment(subscription.boleto_expiration_date).add(1, 'days').endOf('day').isBefore(Date.now())) {\n return [\n m('.card-alert.fontsize-smaller.fontweight-semibold.u-marginbottom-10.u-radius', [\n m('span.fa.fa-exclamation-triangle'),\n ` O boleto de sua assinatura venceu dia ${h.momentify(subscription.boleto_expiration_date)}`,\n ]),\n isGeneratingSecondSlip() ? \n h.loader()\n : \n m('button.btn.btn-inline.btn-small.w-button', {\n disabled: isGeneratingSecondSlip(),\n onclick: generateSecondSlip,\n }, 'Gerar segunda via'),\n \n m('button.btn-link.fontsize-smallest.link-hidden-light.u-margintop-10', {\n onclick: () => { displayCancelModal.toggle(); },\n }, 'Cancelar assinatura'),\n ]\n } else {\n return [\n m('.card-alert.fontsize-smaller.fontweight-semibold.u-marginbottom-10.u-radius', [\n m('span.fa.fa-exclamation-triangle'),\n ` O boleto de sua assinatura vence dia ${h.momentify(subscription.boleto_expiration_date)}`,\n ]),\n m(`a.btn.btn-inline.btn-small.w-button[target=_blank][href=${\n subscription.boleto_url\n }]`, 'Imprimir boleto'),\n \n m('button.btn-link.fontsize-smallest.link-hidden-light.u-margintop-10', {\n onclick: () => { displayCancelModal.toggle(); },\n }, 'Cancelar assinatura'),\n ]\n }\n } else if (subscription.payment_status === 'pending' && subscription.payment_method != 'boleto') {\n return [\n m('.card-alert.fontsize-smaller.fontweight-semibold.u-marginbottom-10.u-radius', [\n m('span.fa.fa-exclamation-triangle'),\n m.trust(' '),\n 'Aguardando confirmação do pagamento',\n ]),\n ]\n } else {\n return '';\n }\n \n } else if (subscription.status === 'inactive') {\n \n if (subscription.payment_status === 'pending' && subscription.boleto_url && subscription.boleto_expiration_date) {\n return [\n m('.card-alert.fontsize-smaller.fontweight-semibold.u-marginbottom-10.u-radius', [\n m('span.fa.fa-exclamation-triangle'),\n ` O boleto de sua assinatura vence dia ${h.momentify(subscription.boleto_expiration_date)}`,\n ]),\n m(`a.btn.btn-inline.btn-small.w-button[target=_blank][href=${subscription.boleto_url}]`, 'Imprimir boleto'),\n ]\n } else {\n return [\n m('.card-alert.fontsize-smaller.fontweight-semibold.u-marginbottom-10.u-radius', [\n m('span.fa.fa-exclamation-triangle'),\n m.trust(' '),\n 'Sua assinatura está inativa por falta de pagamento',\n ]),\n m(`a.btn.btn-inline.btn-small.w-button[target=_blank][href=/projects/${\n subscription.project_external_id\n }/subscriptions/start?subscription_id=${subscription.id}${\n subscription.reward_external_id ? `&reward_id=${subscription.reward_external_id}` : ''\n }&subscription_status=${subscription.status}]`,\n 'Assinar novamente'\n ),\n ]\n }\n \n } else if (subscription.status === 'canceled' && subscription.project.state == 'online') {\n return [\n m('.card-error.fontsize-smaller.fontweight-semibold.u-marginbottom-10.u-radius', [\n m('span.fa.fa-exclamation-triangle'),\n m.trust(' '),\n ' Você cancelou sua assinatura',\n ]),\n\n m(`a.btn.btn-inline.btn-small.w-button[target=_blank][href=/projects/${\n subscription.project_external_id\n }/subscriptions/start?subscription_id=${subscription.id}${\n subscription.reward_external_id ? `&reward_id=${subscription.reward_external_id}` : ''\n }&subscription_status=${subscription.status}]`,\n 'Assinar novamente'\n ),\n ]\n \n } else if (subscription.status === 'canceling') {\n return m('.u-radius.fontsize-smaller.u-marginbottom-10.fontweight-semibold.card-error',\n m('div', [\n m('span.fa.fa-exclamation-triangle', ' '),\n ` Sua assinatura será cancelada no dia ${\n h.momentify(subscription.next_charge_at, 'DD/MM/YYYY')\n }. Até lá, ela ainda será considerada ativa.`,\n ])\n );\n } else if (subscription.status === 'active') {\n if (subscription.last_payment_data.status === 'refused') {\n return [\n m('.card-alert.u-radius.fontsize-smaller.u-marginbottom-10.fontweight-semibold',\n m('div', [\n m('span.fa.fa-exclamation-triangle', '.'),\n `Seu pagamento foi recusado em ${\n h.momentify(subscription.last_payment_data.refused_at)\n }. Vamos tentar uma nova cobrança em ${\n h.momentify(subscription.last_payment_data.next_retry_at)\n }`,\n ])\n ),\n m(`a.btn.btn-inline.btn-small.w-button[href='/projects/${\n subscription.project_external_id\n }/subscriptions/start?subscription_id=${subscription.id}${\n subscription.reward_external_id ? `&reward_id=${subscription.reward_external_id}` : ''\n }&subscription_status=inactive']`,\n 'Refazer pagamento'\n ),\n m('button.btn-link.fontsize-smallest.link-hidden-light.u-margintop-10', {\n onclick: () => { displayCancelModal.toggle(); },\n }, 'Cancelar assinatura'),\n ]\n } else {\n \n if (subscription.payment_status !== 'pending') {\n const editHref = `/projects/${subscription.project_external_id}/subscriptions/start?${subscription.reward_external_id ? `reward_id=${subscription.reward_external_id}` : ''}&subscription_id=${subscription.id}&subscription_status=${subscription.status}`;\n return [\n showLastSubscriptionVersionEditionNextCharge(),\n m('a.btn.btn-terciary.btn-inline.w-button', {\n href: editHref,\n }, 'Editar assinatura'),\n \n m('button.btn-link.fontsize-smallest.link-hidden-light.u-margintop-10', {\n onclick: () => { displayCancelModal.toggle(); },\n }, 'Cancelar assinatura'),\n ];\n } else if (subscription.payment_status === 'pending' && !!subscription.boleto_url && !!subscription.boleto_expiration_date) {\n const isExpiredSlip = moment(subscription.boleto_expiration_date).add(1, 'days').endOf('day').isBefore(Date.now());\n if (isExpiredSlip) {\n return [\n showLastSubscriptionVersionEditionNextCharge(),\n m('.card-alert.fontsize-smaller.fontweight-semibold.u-marginbottom-10.u-radius', [\n m('span.fa.fa-exclamation-triangle'),\n ` O boleto de sua assinatura venceu dia ${\n h.momentify(subscription.boleto_expiration_date)\n }`,\n ]),\n isGeneratingSecondSlip() ? \n h.loader()\n : \n m('button.btn.btn-inline.btn-small.u-marginbottom-20.w-button', {\n disabled: isGeneratingSecondSlip( ),\n onclick: generateSecondSlip,\n }, 'Gerar segunda via'),\n \n m('button.btn-link.fontsize-smallest.link-hidden-light', {\n onclick: () => { displayCancelModal.toggle(); },\n }, 'Cancelar assinatura'),\n ] \n } else {\n return [\n showLastSubscriptionVersionEditionNextCharge(),\n m('.card-alert.fontsize-smaller.fontweight-semibold.u-marginbottom-10.u-radius', [\n m('span.fa.fa-exclamation-triangle'),\n ` O boleto de sua assinatura vence dia ${h.momentify(subscription.boleto_expiration_date)}`,\n ]),\n m(`a.btn.btn-inline.btn-small.w-button[target=_blank][href=${\n subscription.boleto_url\n }]`, 'Imprimir boleto'),\n m('button.btn-link.fontsize-smallest.link-hidden-light.u-margintop-10', {\n onclick: () => { displayCancelModal.toggle(); },\n }, 'Cancelar assinatura'),\n ]\n }\n } else {\n return '';\n }\n }\n } else {\n return '';\n }\n }\n};\n\n\nexport default UserSubscriptionBoxControl;","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport moment from 'moment';\nimport models from '../models';\nimport { catarse } from '../api';\nimport contributionVM from '../vms/contribution-vm';\nimport subscriptionVM from '../vms/subscription-vm';\nimport commonPaymentVM from '../vms/common-payment-vm';\nimport ownerMessageContent from '../c/owner-message-content';\nimport subscriptionStatusIcon from '../c/subscription-status-icon';\nimport paymentMethodIcon from '../c/payment-method-icon';\nimport cancelSubscriptionContent from '../c/cancel-subscription-content';\nimport modalBox from '../c/modal-box';\nimport checkboxUpdateIndividual from '../c/checkbox-update-individual';\nimport userVM from '../vms/user-vm';\nimport userSubscriptionPaymentHistoryModal from './user-subscription-payment-history-modal';\nimport subscriptionNextChargeDateCompact from './subscription-next-charge-date-compact';\nimport userSubscriptionBoxControl from './user-subscription-box-control';\n\nconst I18nScope = _.partial(h.i18nScope, 'payment.state');\nconst contributionScope = _.partial(h.i18nScope, 'users.contribution_row');\nconst subscriptionScope = _.partial(h.i18nScope, 'users.subscription_row');\n\nconst userSubscriptionBox = {\n oninit: function(vnode) {\n const subscription = vnode.attrs.subscription,\n displayModal = h.toggleProp(false, true),\n displayCancelModal = h.toggleProp(false, true),\n displayPaymentHistoryModal = h.toggleProp(false, true),\n contactModalInfo = prop({}),\n isGeneratingSecondSlip = h.toggleProp(false, true);\n\n const filterProjVM = catarse\n .filtersVM({\n project_id: 'eq',\n })\n .project_id(subscription.project_external_id),\n lProj = catarse.loaderWithToken(models.project.getRowOptions(filterProjVM.parameters()));\n\n lProj.load().then(arr => {\n subscription.project = arr[0];\n contactModalInfo({\n id: subscription.project.project_user_id,\n name: subscription.project.owner_name,\n project_id: subscription.project.project_id,\n });\n\n h.redraw();\n });\n\n if (subscription.payment_method === 'boleto' && subscription.last_payment_id) {\n commonPaymentVM.paymentInfo(subscription.last_payment_id).then(info => {\n subscription.boleto_url = info.boleto_url;\n subscription.boleto_expiration_date = info.boleto_expiration_date;\n subscription.payment_status = info.status;\n h.redraw();\n });\n }\n\n if (subscription.reward_external_id) {\n const filterRewVM = catarse\n .filtersVM({\n id: 'eq',\n })\n .id(subscription.reward_external_id),\n lRew = catarse.loaderWithToken(models.rewardDetail.getRowOptions(filterRewVM.parameters()));\n\n lRew.load().then(arr => {\n subscription.reward = arr[0];\n h.redraw();\n });\n }\n\n // Generate second slip payment and wait for result to update the view. In case of timeout, reloads the page.\n const generateSecondSlip = () => {\n isGeneratingSecondSlip.toggle();\n commonPaymentVM\n .tryRechargeSubscription(subscription.id)\n .then(info => {\n subscription.boleto_url = info.boleto_url;\n subscription.boleto_expiration_date = info.boleto_expiration_date;\n subscription.payment_status = info.status;\n isGeneratingSecondSlip.toggle();\n h.redraw();\n })\n .catch(e => {\n window.location.reload();\n });\n };\n\n const showLastSubscriptionVersionValueIfHasOne = () => {\n const is_active = subscription.status === 'active';\n const current_paid_subscription = subscription.current_paid_subscription;\n const last_paid_sub_amount = is_active || !current_paid_subscription ? subscription.checkout_data.amount : current_paid_subscription.amount;\n\n // has some subscription edition\n if (is_active && current_paid_subscription && current_paid_subscription.amount != subscription.checkout_data.amount) {\n const paid_value = parseFloat(current_paid_subscription.amount) / 100;\n const next_value = parseFloat(subscription.checkout_data.amount) / 100;\n return [\n `R$ ${h.formatNumber(paid_value)} por mês`,\n m('span.badge.badge-attention', [m('span.fa.fa-arrow-right', ''), m.trust(' '), `R$ ${h.formatNumber(next_value)}`]),\n ];\n }\n\n const paid_value = parseFloat(last_paid_sub_amount) / 100;\n return [`R$ ${h.formatNumber(paid_value)} por mês`];\n\n return '';\n };\n\n const showLastSubscriptionVersionPaymentMethodIfHasOne = () => {\n const is_active = subscription.status === 'active';\n const current_paid_subscription = subscription.current_paid_subscription;\n const last_paid_sub_data = is_active || !current_paid_subscription ? subscription : current_paid_subscription;\n\n if (is_active && current_paid_subscription && subscription.checkout_data.payment_method != current_paid_subscription.payment_method) {\n return [\n m(subscriptionStatusIcon, { subscription }),\n m.trust(' '),\n m(paymentMethodIcon, { subscription: current_paid_subscription }),\n m('span.badge.badge-attention.fontweight-semibold', [\n m('span.fa.fa-arrow-right', ''),\n m.trust(' '),\n m(paymentMethodIcon, { subscription }),\n ]),\n ];\n }\n\n return [m(subscriptionStatusIcon, { subscription }), m.trust(' '), m(paymentMethodIcon, { subscription: last_paid_sub_data })];\n\n return '';\n };\n\n const showLastSubscriptionVersionRewardTitleIfHasOne = () => {\n const is_active = subscription.status === 'active';\n const current_paid_subscription = subscription.current_paid_subscription;\n const current_reward_data = subscription.current_reward_data;\n const current_reward_id = subscription.current_reward_id;\n const last_paid_sub_data =\n is_active || !current_paid_subscription\n ? subscription\n : { reward: current_reward_data, reward_id: current_reward_id, reward_external_id: null };\n\n // first selection was no reward, but now selected one\n if (is_active && !current_reward_data && subscription.reward) {\n return [\n ` ${window.I18n.t('no_reward', contributionScope())} `,\n m.trust(' '),\n m(\n '.fontsize-smallest.fontweight-semibold',\n m('span.badge.badge-attention', [m('span.fa.fa-arrow-right', ''), m.trust(' '), subscription.reward.title])\n ),\n ];\n }\n // selected one rewared on subscription start, now selected another reward and last and current rewards are different\n else if (is_active && current_reward_data && subscription.reward && subscription.reward_id != current_reward_id) {\n const reward_description_formated = h.simpleFormat(`${current_reward_data.description.substring(0, 90)} (...)`);\n return [\n m('.fontsize-smallest.fontweight-semibold', current_reward_data.title),\n m('p.fontcolor-secondary.fontsize-smallest', m.trust(reward_description_formated)),\n m(\n '.fontsize-smallest.fontweight-semibold',\n m('span.badge.badge-attention', [m('span.fa.fa-arrow-right', ''), m.trust(' '), subscription.reward.title])\n ),\n ];\n }\n // no edition to rewards yet\n else if (last_paid_sub_data.reward) {\n const reward_description = last_paid_sub_data.reward.description.substring(0, 90);\n const reward_description_formated = h.simpleFormat(`${reward_description} (...)`);\n return [\n m('.fontsize-smallest.fontweight-semibold', last_paid_sub_data.reward.title),\n m('p.fontcolor-secondary.fontsize-smallest', m.trust(reward_description_formated)),\n ];\n }\n // no editions to reward yet and no reward selected\n\n return [last_paid_sub_data.reward_external_id ? null : ` ${window.I18n.t('no_reward', contributionScope())} `];\n };\n\n const showLastSubscriptionVersionEditionNextCharge = () => {\n const current_reward_data = subscription.current_reward_data;\n const current_reward_id = subscription.current_reward_id;\n const current_paid_subscription = subscription.current_paid_subscription;\n\n if (\n current_paid_subscription &&\n (subscription.reward_id != current_reward_id ||\n subscription.checkout_data.payment_method != current_paid_subscription.payment_method ||\n subscription.checkout_data.amount != current_paid_subscription.amount)\n ) {\n const message = ` As alterações destacadas entrarão em vigor na próxima cobrança ${h.momentify(subscription.next_charge_at, 'DD/MM/YYYY')}.`;\n return m('.card-alert.fontsize-smaller.fontweight-semibold.u-marginbottom-10.u-radius', [\n m('span.fa.fa-exclamation-triangle', ' '),\n message,\n ]);\n }\n\n return '';\n };\n\n vnode.state = {\n toggleAnonymous: userVM.toggleAnonymous,\n displayModal,\n displayCancelModal,\n displayPaymentHistoryModal,\n subscription,\n contactModalInfo,\n showLastSubscriptionVersionValueIfHasOne,\n showLastSubscriptionVersionPaymentMethodIfHasOne,\n showLastSubscriptionVersionRewardTitleIfHasOne,\n showLastSubscriptionVersionEditionNextCharge,\n isGeneratingSecondSlip,\n generateSecondSlip,\n };\n },\n view: function({ state }) {\n const subscription = state.subscription,\n project = subscription.project;\n\n return !_.isEmpty(subscription) && !_.isEmpty(subscription.project)\n ? m(\n 'div',\n state.displayCancelModal() && !_.isEmpty(state.contactModalInfo())\n ? m(modalBox, {\n displayModal: state.displayCancelModal,\n content: [\n cancelSubscriptionContent,\n {\n displayModal: state.displayCancelModal,\n subscription,\n },\n ],\n })\n : '',\n state.displayModal() && !_.isEmpty(state.contactModalInfo())\n ? m(modalBox, {\n displayModal: state.displayModal,\n content: [ownerMessageContent, state.contactModalInfo()],\n })\n : '',\n state.displayPaymentHistoryModal()\n ? m(modalBox, {\n displayModal: state.displayPaymentHistoryModal,\n content: [userSubscriptionPaymentHistoryModal, { subscription, project }],\n })\n : '',\n [\n m('.card.w-row', [\n m('.u-marginbottom-20.w-col.w-col-3', [\n m('.u-marginbottom-10.w-row', [\n m(\n '.u-marginbottom-10.w-col.w-col-4',\n m(\n `a.w-inline-block[href='/${subscription.project.permalink}']`,\n m(\n `img.thumb-project.u-radius[alt='${subscription.project.project_name}'][src='${\n subscription.project.project_img\n }'][width='50']`\n )\n )\n ),\n m(\n '.w-col.w-col-8',\n m('.fontsize-small.fontweight-semibold.lineheight-tight', [\n m(`a.link-hidden[href='/${subscription.project.permalink}']`, subscription.project.project_name),\n m('img[alt=\"Badge Assinatura\"][src=\"/assets/catarse_bootstrap/badge-sub-h.png\"]'),\n ])\n ),\n ]),\n m(\n \"a.btn.btn-edit.btn-inline.btn-small.w-button[href='javascript:void(0);']\",\n {\n onclick: () => {\n state.displayModal.toggle();\n },\n },\n window.I18n.t('contact_author', contributionScope())\n ),\n ]),\n m('.u-marginbottom-20.w-col.w-col-3', [\n m('.fontsize-base.fontweight-semibold.lineheight-tighter', state.showLastSubscriptionVersionValueIfHasOne()),\n m(subscriptionNextChargeDateCompact, { subscription }),\n m(\n '.fontcolor-secondary.fontsize-smaller.fontweight-semibold',\n `Iniciou há ${moment(subscription.created_at)\n .locale('pt')\n .fromNow(true)}`\n ),\n m('.u-marginbottom-10', state.showLastSubscriptionVersionPaymentMethodIfHasOne()),\n m(\n 'a.alt-link.fontsize-smallest[href=\"javascript:void(0);\"]',\n {\n onclick: () => state.displayPaymentHistoryModal.toggle(),\n },\n 'Histórico de pagamento'\n ),\n m(checkboxUpdateIndividual, {\n text: window.I18n.t('anonymous_sub', subscriptionScope()),\n current_state: subscription.checkout_data.anonymous,\n onToggle: () => subscriptionVM.toogleAnonymous(subscription),\n }),\n ]),\n m('.u-marginbottom-20.w-col.w-col-3', state.showLastSubscriptionVersionRewardTitleIfHasOne()),\n m(userSubscriptionBoxControl, {\n subscription, \n displayCancelModal: state.displayCancelModal,\n isGeneratingSecondSlip: state.isGeneratingSecondSlip,\n generateSecondSlip: state.generateSecondSlip,\n showLastSubscriptionVersionEditionNextCharge: state.showLastSubscriptionVersionEditionNextCharge,\n }),\n ]),\n ]\n )\n : m('div', '');\n },\n};\n\nexport default userSubscriptionBox;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport userSubscriptionBox from './user-subscription-box';\n\nconst userSubscriptionDetail = {\n oninit: function(vnode) {\n const subscription = vnode.attrs.subscription;\n\n vnode.state = {\n subscription\n };\n },\n view: function({state, attrs}) {\n const subscription = attrs.subscription;\n\n return m(userSubscriptionBox, { subscription });\n }\n};\n\nexport default userSubscriptionDetail;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectHighlight from './project-highlight';\nimport projectSidebar from './project-sidebar';\nimport projectHeaderTitle from './project-header-title';\nimport userContributionDetail from './user-contribution-detail';\nimport userSubscriptionDetail from './user-subscription-detail';\nimport contributionVM from '../vms/contribution-vm';\nimport subscriptionVM from '../vms/subscription-vm';\nimport projectVM from '../vms/project-vm';\n\nconst projectHeader = {\n oninit: function(vnode) {\n const project = vnode.attrs.project,\n currentUser = h.getUser(),\n userProjectSubscriptions = vnode.attrs.userProjectSubscriptions,\n hasSubscription = vnode.attrs.hasSubscription;\n\n if (h.isProjectPage() && currentUser && !_.isUndefined(project())) {\n if (!projectVM.isSubscription(project)) {\n contributionVM\n .getUserProjectContributions(currentUser.user_id, project().project_id, ['paid', 'refunded', 'pending_refund'])\n .then(vnode.attrs.projectContributions);\n }\n }\n\n vnode.state = {\n hasSubscription,\n userProjectSubscriptions,\n projectContributions: vnode.attrs.projectContributions,\n showContributions: h.toggleProp(false, true)\n };\n },\n view: function({state, attrs}) {\n const project = attrs.project,\n rewardDetails = attrs.rewardDetails,\n activeSubscriptions = _.filter(state.userProjectSubscriptions(), sub => sub.status === 'active'),\n sortedSubscriptions = _.sortBy(state.userProjectSubscriptions(), sub => _.indexOf(['active', 'started', 'canceling', 'inactive', 'canceled'], sub.status));\n\n const hasContribution = (\n (!_.isEmpty(state.projectContributions()) || state.hasSubscription()) ?\n m(`.card.card-terciary.u-radius.u-marginbottom-40${projectVM.isSubscription(project) ? '.fontcolor-primary' : ''}`, [\n m('.fontsize-small.u-text-center', [\n m('span.fa.fa-thumbs-up'),\n m('span.fontweight-semibold', (!projectVM.isSubscription(project) ? ' Você é apoiador deste projeto! ' : ' Você tem uma assinatura neste projeto! ')),\n m('a.alt-link[href=\\'javascript:void(0);\\']', {\n onclick: state.showContributions.toggle\n }, 'Detalhes')\n ]),\n state.showContributions() ? m('.u-margintop-20.w-row',\n (!projectVM.isSubscription(project) ?\n _.map(state.projectContributions(), contribution => m(userContributionDetail, {\n contribution,\n rewardDetails\n })) :\n _.map(activeSubscriptions.length > 0 ? activeSubscriptions : sortedSubscriptions, subscription => m(userSubscriptionDetail, {\n subscription,\n project: project()\n }))\n )\n ) : ''\n ]) :\n '');\n const hasBackground = Boolean(project().cover_image);\n\n return !_.isUndefined(project()) ? m('#project-header', { style: attrs.style }, [\n m(`.w-section.section-product.${project().mode}`),\n m(`${projectVM.isSubscription(project) ? '.dark' : ''}.project-main-container`, {\n class: hasBackground ? 'project-with-background' : null,\n style: hasBackground ? `background-image: linear-gradient(180deg, rgba(0, 4, 8, .82), rgba(0, 4, 8, .82)), url(\"${project().cover_image}\");` : null\n }, [\n m(projectHeaderTitle, {\n project,\n children: hasContribution\n }),\n m(`.w-section.project-main${projectVM.isSubscription(project) ? '.transparent-background' : ''}`, [\n m('.w-container', [\n m('.w-row', [\n m('.w-col.w-col-8.project-highlight', m(projectHighlight, {\n project\n })),\n m('.w-col.w-col-4', m(projectSidebar, {\n project,\n hasSubscription: state.hasSubscription(),\n subscriptionData: attrs.subscriptionData,\n userDetails: attrs.userDetails,\n goalDetails: attrs.goalDetails\n }))\n ])\n ])\n ])\n ])\n ]) : m('');\n }\n};\n\nexport default projectHeader;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectReminder from './project-reminder';\nimport projectVM from '../vms/project-vm';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.project_sidebar');\nconst projectTabs = {\n oninit: function(vnode) {\n const fixedNavClass = 'project-nav-fixed',\n isFixed = prop(false),\n originalPosition = prop(-1),\n project = vnode.attrs.project;\n\n const fixOnScroll = el => () => {\n const viewportOffset = el.getBoundingClientRect();\n\n\n if (window.scrollY <= originalPosition() && isFixed()) {\n originalPosition(-1);\n isFixed(false);\n el.classList.remove(fixedNavClass);\n }\n\n if (viewportOffset.top < 0 || (window.scrollY > originalPosition() && originalPosition() > 0)) {\n if (!isFixed()) {\n originalPosition(window.scrollY);\n isFixed(true);\n el.classList.add(fixedNavClass);\n }\n }\n };\n\n const navDisplay = localVnode => {\n const fixNavBar = fixOnScroll(localVnode.dom);\n window.addEventListener('scroll', fixNavBar);\n };\n\n const navigate = (event) => {\n event.preventDefault();\n\n if (projectVM.isSubscription(project)) {\n h.navigateTo(`/projects/${project().project_id}/subscriptions/start`);\n return false;\n }\n\n h.navigateTo(`/projects/${project().project_id}/contributions/new`);\n\n return false;\n };\n\n vnode.state = {\n navDisplay,\n isFixed,\n navigate\n };\n },\n view: function({state, attrs}) {\n const project = attrs.project,\n rewards = attrs.rewardDetails;\n\n return m('nav-wrapper', { style: attrs.style }, project() ? [\n m('.w-section.project-nav', {\n oncreate: state.navDisplay\n }, [\n m('.w-container', [\n m('.w-row', [\n m('.w-col.w-col-8', [\n !_.isEmpty(rewards()) ?\n m(`a[id=\"rewards-link\"][class=\"w-hidden-main w-hidden-medium dashboard-nav-link mf ${(h.hashMatch('#rewards') || (h.mobileScreen() && h.hashMatch('')) ? 'selected' : '')}\"][href=\"/${project().permalink}#rewards\"]`, {\n style: 'float: left;',\n onclick: h.analytics.event({\n cat: 'project_view', act: 'project_rewards_view', project: project() })\n }, 'Recompensas') \n : \n m(`a[id=\"rewards-link\"][class=\"w-hidden-main w-hidden-medium dashboard-nav-link mf ${(h.hashMatch('#contribution_suggestions') || (h.mobileScreen() && h.hashMatch('')) ? 'selected' : '')}\"][href=\"/${project().permalink}#contribution_suggestions\"]`, {\n style: 'float: left;',\n onclick: h.analytics.event({\n cat: 'project_view', act: 'project_contribsuggestions_view', project: project() })\n }, 'Valores Sugeridos'),\n m(`a[id=\"about-link\"][class=\"dashboard-nav-link mf ${(h.hashMatch('#about') || (!h.mobileScreen() && h.hashMatch('')) ? 'selected' : '')}\"][href=\"#about\"]`, {\n style: 'float: left;',\n onclick: h.analytics.event({\n cat: 'project_view', act: 'project_about_view', project: project() })\n }, 'Sobre'),\n m(`a[id=\"posts-link\"][class=\"dashboard-nav-link mf ${(h.hashMatch('#posts') ? 'selected' : '')}\"][href=\"/${project().permalink}#posts\"]`, {\n style: 'float: left;',\n onclick: h.analytics.event({\n cat: 'project_view', act: 'project_posts_view', project: project() })\n }, [\n 'Novidades ',\n m('span.badge', project() ? project().posts_count : '')\n ]),\n m(`a[id=\"contributions-link\"][class=\"w-hidden-small w-hidden-tiny dashboard-nav-link mf ${(h.hashMatch('#contributions') ? 'selected' : '')}\"][href=\"#contributions\"]`, {\n style: 'float: left;',\n onclick: h.analytics.event({\n cat: 'project_view', act: 'project_contributions_view', project: project() })\n }, projectVM.isSubscription(project) ? [\n 'Assinantes ',\n m('span.badge.w-hidden-small.w-hidden-tiny', attrs.subscriptionData() ? attrs.subscriptionData().total_subscriptions : '-')\n ] : [\n 'Apoiadores ',\n m('span.badge.w-hidden-small.w-hidden-tiny', project() ? project().total_contributors : '-')\n ]\n ),\n m(`a[id=\"comments-link\"][class=\"dashboard-nav-link mf ${(h.hashMatch('#comments') ? 'selected' : '')}\"][href=\"#comments\"]`, {\n style: 'float: left;',\n onclick: h.analytics.event({\n cat: 'project_view', act: 'project_comments_view', project: project() })\n }, [\n 'Comentários ',\n project() ? m(`fb:comments-count[href=\"http://www.catarse.me/${project().permalink}\"][class=\"badge project-fb-comment w-hidden-small w-hidden-tiny\"][style=\"display: inline\"]`, m.trust(' ')) : '-'\n ])\n ]),\n project() ? m('.w-col.w-col-4.w-hidden-small.w-hidden-tiny', project().open_for_contributions && !attrs.hasSubscription() ? [\n m('.w-row.project-nav-back-button', [\n projectVM.isSubscription(project) ? m('.w-col.w-col-12', [\n m(`a.w-button.btn[href=\"/projects/${project().project_id}/subscriptions/start\"]`, {\n onclick: h.analytics.event({ cat: 'contribution_create', act: 'contribution_floatingbtn_click', project: project() }, state.navigate)\n }, window.I18n.t(`submit_${project().mode}`, I18nScope()))\n ]) : m('.w-col.w-col-6.w-col-medium-8', [\n m(`a.w-button.btn[href=\"/projects/${project().project_id}/contributions/new\"]`, {\n onclick: h.analytics.event({ cat: 'contribution_create', act: 'contribution_floatingbtn_click', project: project() })\n }, 'Apoiar este projeto')\n ]),\n m('.w-col.w-col-6.w-col-medium-4', {\n onclick: h.analytics.event({ cat: 'project_view', act: 'project_floatingreminder_click', project: project() })\n }, [\n projectVM.isSubscription(project) ? null : m(projectReminder, { project, type: 'button', hideTextOnMobile: true })\n ])\n ])\n ] : '') : ''\n ])\n ])\n ]),\n (state.isFixed() && !project().is_owner_or_admin) ? m('.w-section.project-nav') : ''\n ] : '');\n }\n};\n\nexport default projectTabs;\n","/**\n * window.c.ProjectSuggestedContributions component\n * A Project-show page helper to show suggested amounts of contributions\n *\n * Example of use:\n * view: () => {\n * ...\n * m.component(c.ProjectSuggestedContributions, {project: project})\n * ...\n * }\n */\nimport m from 'mithril';\nimport _ from 'underscore';\nimport projectVM from '../vms/project-vm';\n\nconst projectSuggestedContributions = {\n view: function({attrs}) {\n const project = attrs.project();\n\n const subscriptionSuggestionUrl = amount => `/projects/${project.project_id}/subscriptions/start?value=${amount * 100}`,\n contributionSuggestionUrl = amount => `/projects/${project.project_id}/contributions/new?value=${amount * 100}`,\n suggestionUrl = projectVM.isSubscription(project) ? subscriptionSuggestionUrl : contributionSuggestionUrl,\n suggestedValues = [10, 25, 50, 100];\n\n return m('#suggestions', _.map(suggestedValues, amount => project ? m(`${project.open_for_contributions ? `a[href=\"${suggestionUrl(amount)}\"].card-reward` : ''}.card-big.u-text-center.card-secondary.u-marginbottom-20`, [\n m('.fontsize-jumbo', `R$ ${amount}`)\n ]) : ''));\n }\n};\n\nexport default projectSuggestedContributions;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport UserFollowBtn from './user-follow-btn';\nimport userVM from '../vms/user-vm';\n\nconst projectContributorCard = {\n oninit: function(vnode) {\n const userDetails = prop({}),\n user_id = vnode.attrs.contribution.user_external_id;\n if (vnode.attrs.isSubscription) {\n userVM.fetchUser(user_id, false).then(userData => {\n userDetails(_.first(userData));\n vnode.attrs.contribution.data.profile_img_thumbnail = userDetails().profile_img_thumbnail;\n vnode.attrs.contribution.data.total_contributed_projects += userDetails().total_contributed_projects;\n vnode.attrs.contribution.data.total_published_projects += userDetails().total_published_projects;\n h.redraw();\n });\n }\n vnode.state = {\n userDetails\n };\n },\n view: function({state, attrs}) {\n const contribution = attrs.contribution;\n\n return m('.card.card-backer.u-marginbottom-20.u-radius.u-text-center', [\n m(`a[href=\"/users/${contribution.user_id}\"][style=\"display: block;\"]`, {\n onclick: h.analytics.event({\n cat: 'project_view',\n act: 'project_backer_link',\n lbl: contribution.user_id,\n project: attrs.project()\n })\n }, [\n m(`img.thumb.u-marginbottom-10.u-round[src=\"${!_.isEmpty(contribution.data.profile_img_thumbnail) ? contribution.data.profile_img_thumbnail : '/assets/catarse_bootstrap/user.jpg'}\"]`)\n ]),\n m(`a.fontsize-base.fontweight-semibold.lineheigh-tight.link-hidden-dark[href=\"/users/${contribution.user_id}\"]`, {\n onclick: h.analytics.event({\n cat: 'project_view',\n act: 'project_backer_link',\n lbl: contribution.user_id,\n project: attrs.project()\n })\n }, userVM.displayName(contribution.data)),\n m('.fontcolor-secondary.fontsize-smallest.u-marginbottom-10', `${h.selfOrEmpty(contribution.data.city)}, ${h.selfOrEmpty(contribution.data.state)}`),\n m('.fontsize-smaller', [\n m('span.fontweight-semibold', contribution.data.total_contributed_projects), ' apoiados | ',\n m('span.fontweight-semibold', contribution.data.total_published_projects), ' criado'\n ]),\n m('.btn-bottom-card.w-row', [\n m('.w-col.w-col-3.w-col-small-4.w-col-tiny-3'),\n m('.w-col.w-col-6.w-col-small-4.w-col-tiny-6', [\n m(UserFollowBtn, {\n follow_id: contribution.user_id,\n following: contribution.is_follow\n })\n ]),\n m('.w-col.w-col-3.w-col-small-4.w-col-tiny-3')\n ])\n ]);\n }\n};\n\nexport default projectContributorCard;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse, commonProject } from '../api';\nimport models from '../models';\nimport h from '../h';\nimport projectDataTable from './project-data-table';\nimport projectDataChart from './project-data-chart';\nimport projectContributorCard from './project-contributor-card';\nimport projectVM from '../vms/project-vm';\nimport {getProjectSubscribersListVM, getProjectContributorsListVM} from '../vms/project-list-vm';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.contributions');\n\nconst projectContributions = {\n oninit: function(vnode) {\n const contributionsPerDay = prop([]),\n listVM = projectVM.isSubscription(vnode.attrs.project()) ? getProjectSubscribersListVM() : getProjectContributorsListVM(),\n filterStats = catarse.filtersVM({\n project_id: 'eq'\n }),\n subFilterVM = catarse.filtersVM({\n status: 'in',\n project_id: 'eq'\n }),\n filterVM = catarse.filtersVM({\n project_id: 'eq'\n }),\n groupedCollection = (collection = []) => {\n let grouped = [\n []\n ],\n group = 0;\n\n _.map(collection, (item, index) => {\n if (grouped[group].length >= 3) {\n group += 1;\n grouped[group] = [];\n }\n\n grouped[group].push(item);\n });\n\n return grouped;\n },\n contributionsStats = prop({});\n\n if (projectVM.isSubscription(vnode.attrs.project())) {\n subFilterVM.project_id(vnode.attrs.project().common_id).status('active');\n } else {\n filterVM.project_id(vnode.attrs.project().project_id);\n }\n\n filterStats.project_id(vnode.attrs.project().project_id);\n\n if (!listVM.collection().length) {\n listVM.firstPage(projectVM.isSubscription(vnode.attrs.project()) ? subFilterVM.parameters() : filterVM.parameters()).then(() => m.redraw());\n }\n // TODO: Abstract table fetch and contruction logic to contributions-vm to avoid insights.js duplicated code.\n const lContributionsPerDay = catarse.loader(models.projectContributionsPerDay.getRowOptions(filterStats.parameters()));\n lContributionsPerDay.load().then(contributionsPerDay);\n\n const contributionsPerLocationTable = [\n ['Estado', 'Apoios', 'R$ apoiados (% do total)']\n ];\n const buildPerLocationTable = contributions => (!_.isEmpty(contributions)) ? _.map(_.first(contributions).source, (contribution) => {\n const column = [];\n\n column.push(contribution.state_acronym || 'Outro/other');\n column.push(contribution.total_contributions);\n column.push([contribution.total_contributed, [ // Adding row with custom comparator => read project-data-table description\n m(`input[type=\"hidden\"][value=\"${contribution.total_contributed}\"`),\n 'R$ ',\n h.formatNumber(contribution.total_contributed, 2, 3),\n m('span.w-hidden-small.w-hidden-tiny', ` (${contribution.total_on_percentage.toFixed(2)}%)`)\n ]]);\n return contributionsPerLocationTable.push(column);\n }) : [];\n\n const lContributionsPerLocation = catarse.loader(models.projectContributionsPerLocation.getRowOptions(filterStats.parameters()));\n lContributionsPerLocation.load().then(buildPerLocationTable);\n\n const lContributionsStats = catarse.loader(models.projectContributiorsStat.getRowOptions(filterStats.parameters()));\n lContributionsStats.load().then(data => contributionsStats(_.first(data)));\n\n vnode.state = {\n listVM,\n filterVM,\n groupedCollection,\n lContributionsStats,\n contributionsPerLocationTable,\n lContributionsPerLocation,\n contributionsPerDay,\n lContributionsPerDay,\n contributionsStats\n };\n },\n view: function({state, attrs}) {\n const list = state.listVM,\n stats = projectVM.isSubscription(attrs.project()) ? attrs.subscriptionData() : state.contributionsStats(),\n groupedCollection = state.groupedCollection(list.collection());\n\n return m('#project_contributions', m('#contributions_top', [\n m('.section.w-section',\n m('.w-container',\n m('.w-row', state.lContributionsStats() ? h.loader() : !_.isEmpty(stats) ? [\n m('.u-marginbottom-20.u-text-center-small-only.w-col.w-col-6', [\n m('.fontsize-megajumbo',\n projectVM.isSubscription(attrs.project()) ? stats.total_subscriptions : stats.total\n ),\n m('.fontsize-large',\n window.I18n.t(`people_back.${attrs.project().mode}`, I18nScope())\n )\n ]),\n m('.w-col.w-col-6',\n m('.card.card-terciary.u-radius',\n m('.w-row', [\n m('.u-marginbottom-20.w-col.w-sub-col.w-col-6.w-col-small-6', [\n m('.fontweight-semibold.u-marginbottom-10',\n window.I18n.t(`new_backers.${attrs.project().mode}`, I18nScope())\n ),\n m('.fontsize-largest.u-marginbottom-10',\n `${Math.floor(stats.new_percent)}%`\n ),\n m('.fontsize-smallest',\n window.I18n.t(`new_backers_explanation.${attrs.project().mode}`, I18nScope())\n )\n ]),\n m('.w-col.w-sub-col.w-col-6.w-col-small-6', [\n m('.divider.u-marginbottom-20.w-hidden-main.w-hidden-medium.w-hidden-small'),\n m('.fontweight-semibold.u-marginbottom-10',\n window.I18n.t(`recurring_backers.${attrs.project().mode}`, I18nScope())\n ),\n m('.fontsize-largest.u-marginbottom-10',\n `${Math.ceil(stats.returning_percent)}%`\n ),\n m('.fontsize-smallest',\n window.I18n.t(`recurring_backers_explanation.${attrs.project().mode}`, I18nScope())\n )\n ])\n ])\n )\n )\n ] : '')\n )\n ),\n m('.divider.w-section'),\n m('.section.w-section', m('.w-container', [\n m('.fontsize-large.fontweight-semibold.u-marginbottom-40.u-text-center', window.I18n.t(`backers.${attrs.project().mode}`, I18nScope())),\n m('.project-contributions.w-clearfix', _.map(groupedCollection, (group, idx) => m('.w-row', _.map(group, contribution => m('.project-contribution-item.w-col.w-col-4', [\n m(projectContributorCard, { project: attrs.project, contribution, isSubscription: projectVM.isSubscription(attrs.project()) })\n ]))))),\n m('.w-row.u-marginbottom-40.u-margintop-20', [\n m('.w-col.w-col-2.w-col-push-5', [!list.isLoading() ?\n list.isLastPage() ? '' : m('button#load-more.btn.btn-medium.btn-terciary', {\n onclick: list.nextPage\n }, 'Carregar mais') : h.loader(),\n ])\n ])\n ]))\n ]),\n (projectVM.isSubscription(attrs.project()) ? '' :\n m('.before-footer.bg-gray.section.w-section', m('.w-container', [\n m('.w-row.u-marginbottom-60', [\n m('.w-col.w-col-12.u-text-center', {\n style: {\n 'min-height': '300px'\n }\n }, [!state.lContributionsPerDay() ? m(projectDataChart, {\n collection: state.contributionsPerDay,\n label: 'R$ arrecadados por dia',\n dataKey: 'total_amount',\n xAxis: item => h.momentify(item.paid_at),\n emptyState: 'Apoios não contabilizados'\n }) : h.loader()]),\n ]),\n m('.w-row',\n m('.w-col.w-col-12.u-text-center', [\n m('.fontweight-semibold.u-marginbottom-10.fontsize-large.u-text-center', 'De onde vêm os apoios'),\n (!state.lContributionsPerLocation() ? !_.isEmpty(_.rest(state.contributionsPerLocationTable)) ? m(projectDataTable, {\n table: state.contributionsPerLocationTable,\n defaultSortIndex: -2\n }) : '' : h.loader())\n ])\n )\n ]))));\n }\n};\n\nexport default projectContributions;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport rewardVM from '../vms/reward-vm';\nimport projectVM from '../vms/project-vm';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.contributions');\n\nconst projectRewardCard = {\n oninit: function(vnode) {\n const storeKey = 'selectedReward',\n MINIMUM_VALUE = 10,\n reward = vnode.attrs.reward,\n vm = rewardVM,\n descriptionExtended = prop(0),\n selectedDestination = prop(''),\n toggleDescriptionExtended = (rewardId) => {\n if (descriptionExtended() === rewardId) {\n descriptionExtended(0);\n } else {\n descriptionExtended(rewardId);\n }\n\n return false;\n };\n\n const setInput = localVnode => localVnode.dom.focus();\n\n const selectDestination = (destination) => {\n selectedDestination(destination);\n\n const shippingFee = vm.shippingFeeForCurrentReward(selectedDestination)\n ? Number(vm.shippingFeeForCurrentReward(selectedDestination).value)\n : 0;\n const rewardMinValue = Number(vm.selectedReward().minimum_value);\n vm.applyMask(`${h.formatNumber(shippingFee + rewardMinValue, 2, 3)}`);\n };\n\n // @TODO: move submit, fee & value logic to VM\n const submitContribution = () => {\n const numberValueFloat = h.monetaryToFloat(vm.contributionValue);\n const valueFloat = _.isNaN(numberValueFloat) ? MINIMUM_VALUE : numberValueFloat;\n const shippingFee = rewardVM.hasShippingOptions(vm.selectedReward()) ? vm.shippingFeeForCurrentReward(selectedDestination) : { value: 0 };\n\n if (!selectedDestination() && rewardVM.hasShippingOptions(vm.selectedReward())) {\n vm.error('Por favor, selecione uma opção de frete válida.');\n } else if (valueFloat < vm.selectedReward().minimum_value + shippingFee.value) {\n vm.error(`O valor de apoio para essa recompensa deve ser de no mínimo R$${vm.selectedReward().minimum_value} ${projectVM.isSubscription(projectVM.currentProject()) ? '' : `+ frete R$${h.formatNumber(shippingFee.value, 2, 3)}`} `);\n } else {\n vm.error('');\n \n const valueUrl = window.encodeURIComponent(String(valueFloat).replace('.', ','));\n\n if (projectVM.isSubscription(projectVM.currentProject())) {\n vm.contributionValue(valueFloat);\n h.navigateTo(`/projects/${projectVM.currentProject().project_id}/subscriptions/checkout?contribution_value=${valueFloat}&reward_id=${vm.selectedReward().id}`);\n\n return false;\n }\n\n h.navigateTo(`/projects/${projectVM.currentProject().project_id}/contributions/fallback_create?contribution%5Breward_id%5D=${vm.selectedReward().id}&contribution%5Bvalue%5D=${valueUrl}&contribution%5Bshipping_fee_id%5D=${shippingFee.id}`);\n }\n\n return false;\n };\n const isRewardOpened = () => vm.selectedReward() && vm.selectedReward().id === reward.id;\n const isRewardDescriptionExtended = () => descriptionExtended() === reward.id;\n const isLongDescription = () => reward.description.length > 110;\n if (h.getStoredObject(storeKey)) {\n const storedValue = h.getStoredObject(storeKey);\n const {\n value\n } = _.isNaN(storedValue) ? { value: MINIMUM_VALUE } : storedValue;\n\n h.removeStoredObject(storeKey);\n vm.selectedReward(reward);\n vm.contributionValue(h.applyMonetaryMask(`${value},00`));\n submitContribution();\n }\n\n vm.getStates();\n\n vnode.state = {\n setInput,\n reward,\n submitContribution,\n toggleDescriptionExtended,\n isRewardOpened,\n isLongDescription,\n isRewardDescriptionExtended,\n selectDestination,\n selectedDestination,\n error: vm.error,\n applyMask: vm.applyMask,\n selectReward: vm.selectReward,\n locationOptions: vm.locationOptions,\n contributionValue: vm.contributionValue\n };\n },\n view: function({state, attrs}) {\n // FIXME: MISSING ADJUSTS\n // - add draft admin modifications\n const reward = state.reward,\n project = attrs.project,\n isSub = projectVM.isSubscription(project);\n return m(`div[class=\"${h.rewardSouldOut(reward) || attrs.hasSubscription() ? 'card-gone' : `card-reward ${project.open_for_contributions ? 'clickable' : ''}`} card card-secondary u-marginbottom-10\"]`, {\n onclick: h.analytics.event({\n cat: 'contribution_create',\n act: 'contribution_reward_click',\n lbl: reward.minimum_value,\n project,\n extraData: {\n reward_id: reward.id,\n reward_value: reward.minimum_value\n }\n }, state.selectReward(reward)),\n oncreate: state.isRewardOpened(reward) ? h.scrollTo() : Function.prototype\n }, [\n m('.u-marginbottom-20', [\n m('.fontsize-base.fontweight-semibold', `Para R$ ${h.formatNumber(reward.minimum_value)} ou mais${isSub ? ' por mês' : ''}`),\n m('.fontsize-smaller.fontweight-semibold.u-marginbottom-10', reward.title),\n (reward.uploaded_image ? m(`img[src='${reward.uploaded_image}']`) : '')\n ]),\n m(`.fontsize-smaller.reward-description${h.rewardSouldOut(reward) ? '' : '.fontcolor-secondary'}`, {\n class: state.isLongDescription()\n ? state.isRewardOpened()\n ? `opened ${state.isRewardDescriptionExtended() ? 'extended' : ''}`\n : ''\n : 'opened extended'\n }, m.trust(h.simpleFormat(h.strip(reward.description)))),\n state.isLongDescription() && state.isRewardOpened() ? m('a[href=\"javascript:void(0);\"].alt-link.fontsize-smallest.gray.link-more.u-marginbottom-20', {\n onclick: () => state.toggleDescriptionExtended(reward.id)\n }, [\n state.isRewardDescriptionExtended() ? 'menos ' : 'mais ',\n m('span.fa.fa-angle-down', {\n class: state.isRewardDescriptionExtended() ? 'reversed' : ''\n })\n ]) : '',\n isSub ? null : m('.u-marginbottom-20.w-row', [\n m('.w-col.w-col-6', !_.isEmpty(reward.deliver_at) ? [\n m('.fontcolor-secondary.fontsize-smallest',\n m('span', 'Entrega prevista:')\n ),\n m('.fontsize-smallest',\n h.momentify(reward.deliver_at, 'MMM/YYYY')\n )\n ] : ''),\n m('.w-col.w-col-6', rewardVM.hasShippingOptions(reward) || reward.shipping_options === 'presential' ? [\n m('.fontcolor-secondary.fontsize-smallest',\n m('span',\n 'Envio:'\n )\n ),\n m('.fontsize-smallest',\n window.I18n.t(`shipping_options.${reward.shipping_options}`, I18nScope())\n )\n ] : '')\n ]),\n (reward.maximum_contributions > 0 || reward.run_out) ? [\n (h.rewardSouldOut(reward) ? m('.u-margintop-10', [\n m('span.badge.badge-gone.fontsize-smaller', 'Esgotada')\n ]) : m('.u-margintop-10', [\n m('span.badge.badge-attention.fontsize-smaller', [\n m('span.fontweight-bold', 'Limitada'),\n project.open_for_contributions ? ` (${h.rewardRemaning(reward)} de ${reward.maximum_contributions} disponíveis)` : ''\n ])\n ]))\n ] : '',\n m('.fontcolor-secondary.fontsize-smallest.fontweight-semibold',\n h.pluralize.apply(\n null,\n isSub ? [reward.paid_count, ' assinante', ' assinantes'] : [reward.paid_count, ' apoio', ' apoios'])\n ),\n reward.waiting_payment_count > 0 ? m('.maximum_contributions.in_time_to_confirm.clearfix', [\n m('.pending.fontsize-smallest.fontcolor-secondary', h.pluralize(reward.waiting_payment_count, ' apoio em prazo de confirmação', ' apoios em prazo de confirmação.'))\n ]) : '',\n project.open_for_contributions && !h.rewardSouldOut(reward) && !attrs.hasSubscription() ? [\n state.isRewardOpened() ? m('.w-form', [\n m('form.u-margintop-30', {\n onsubmit: state.submitContribution\n }, [\n m('.divider.u-marginbottom-20'),\n rewardVM.hasShippingOptions(reward) ? m('div', [\n m('.fontcolor-secondary.u-marginbottom-10',\n 'Local de entrega'\n ),\n m('select.positive.text-field.w-select', {\n onchange: m.withAttr('value', state.selectDestination),\n value: state.selectedDestination()\n },\n _.map(\n state.locationOptions(reward, state.selectedDestination),\n option => m('option',\n { selected: option.value === state.selectedDestination(), value: option.value },\n [\n `${option.name} `,\n option.value != '' ? `+R$${h.formatNumber(option.fee, 2, 3)}` : null\n ]\n )\n )\n )\n ]) : '',\n m('.fontcolor-secondary.u-marginbottom-10',\n `Valor do apoio${isSub ? ' mensal' : ''}`\n ),\n m('.w-row.u-marginbottom-20', [\n m('.w-col.w-col-3.w-col-small-3.w-col-tiny-3',\n m('.back-reward-input-reward.placeholder', 'R$')\n ),\n m('.w-col.w-col-9.w-col-small-9.w-col-tiny-9',\n m('input.w-input.back-reward-input-reward[type=\"tel\"]', {\n oncreate: state.setInput,\n onkeyup: m.withAttr('value', state.applyMask),\n value: state.contributionValue()\n })\n )\n ]),\n m('input.w-button.btn.btn-medium[type=\"submit\"][value=\"Continuar >\"]'),\n state.error().length > 0 ? m('.text-error', [\n m('br'),\n m('span.fa.fa-exclamation-triangle'),\n ` ${state.error()}`\n ]) : ''\n ])\n ]) : ''\n ] : ''\n ]);\n }\n};\n\nexport default projectRewardCard;\n","/**\n * window.c.projectReportDisrespectRules component\n * Render project report form\n *\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport models from '../models';\nimport h from '../h';\nimport inlineError from './inline-error';\n\nconst projectReportDisrespectRules = {\n oninit: function(vnode) {\n const formName = 'report-disrespect-rules';\n const reasonError = prop(false);\n const detailsError = prop(false);\n const validate = () => {\n let ok = true;\n detailsError(false);\n reasonError(false);\n if (_.isEmpty(vnode.attrs.reason())) {\n reasonError(true);\n ok = false;\n }\n if (_.isEmpty(vnode.attrs.details())) {\n detailsError(true);\n ok = false;\n }\n return ok;\n };\n\n vnode.state = {\n formName: vnode.attrs.formName || formName,\n reasonError,\n detailsError,\n sendReport: vnode.attrs.sendReport.bind(vnode.attrs.sendReport, validate),\n };\n },\n view: function({state, attrs}) {\n return m('.card.u-radius.u-margintop-20',\n m('.w-form',\n m('form', {\n onsubmit: state.sendReport,\n oncreate: attrs.checkScroll\n },\n [\n m('.report-option.w-radio',\n [\n m('input.w-radio-input[type=\\'radio\\']', {\n value: state.formName,\n checked: attrs.displayFormWithName() === state.formName,\n onchange: m.withAttr('value', attrs.displayFormWithName)\n }),\n m('label.fontsize-small.fontweight-semibold.w-form-label[for=\\'radio\\']', {\n onclick: _ => attrs.displayFormWithName(state.formName)\n }, 'Este projeto desrespeita nossas regras.')\n ]\n ),\n m('.fontsize-smaller.fontcolor-secondary',\n [\n 'Todos os projetos no Catarse precisam respeitar nossas ',\n m('a.alt-link.fontweight-semibold[href=\\'http://suporte.catarse.me/hc/pt-br/articles/202387638\\'][target=\\'_blank\\']',\n 'Diretrizes de Criação de Projetos'\n ),\n ', entre elas não oferecer recompensas proibidas, não abusar de SPAM, não usar cenas de sexo explícitas ou nudez sem autorização.'\n ]\n ),\n m('.u-margintop-30', {\n style: {\n display: attrs.displayFormWithName() === state.formName ? 'block' : 'none'\n }\n },\n [\n m('select.text-field.positive.w-select[required=\\'required\\']', {\n onchange: m.withAttr('value', attrs.reason),\n class: {\n error: state.reasonError()\n }\n },\n [\n m('option[value=\\'\\']',\n 'Selecione um motivo'\n ),\n m('option[value=\\'Recompensas proibidas\\']',\n 'Recompensas proibidas'\n ),\n m('option[value=\\'Calúnia, injúria, difamação ou discriminação\\']',\n 'Calúnia, injúria, difamação ou discriminação'\n ),\n m('option[value=\\'Escopo de projeto proibido\\']',\n 'Escopo de projeto proibido'\n ),\n m('option[value=\\'Cenas de sexo explícitas e gratuitas\\']',\n 'Cenas de sexo explícitas e gratuitas'\n ),\n m('option[value=\\'Divulgação de materiais de nudez sem autorização\\']',\n 'Divulgação de materiais de nudez sem autorização'\n )\n ]\n ),\n (\n state.reasonError() ? m(inlineError, { message: 'Selecione um motivo' }) : ''\n ),\n m('.u-marginbottom-40',\n [\n m('.fontsize-smaller.fontweight-semibold',\n 'Detalhes da denúncia *'\n ),\n m('textarea.text-field.positive.w-input[maxlength=\\'5000\\'][required=\\'required\\']', {\n onchange: m.withAttr('value', attrs.details),\n placeholder: 'Por favor, dê mais detalhes que nos ajudem a identificar o problema',\n class: {\n error: state.detailsError()\n }\n }),\n (\n state.detailsError() ? m(inlineError, { message: 'Informe os detalhes da denúncia' }) : ''\n )\n ]\n ),\n m('input.btn.btn-medium.btn-inline.btn-dark.w-button[type=\\'submit\\'][value=\\'Enviar denúncia\\']', {\n disabled: attrs.submitDisabled()\n })\n ]\n )\n ]\n )\n ));\n }\n};\n\nexport default projectReportDisrespectRules;\n","/**\n * window.c.projectReportInfringesIntellectulaProperty component\n * Render project report form\n *\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse } from '../api';\nimport models from '../models';\nimport h from '../h';\nimport inlineError from './inline-error';\n\nconst projectReportInfringesIntellectualProperty = {\n\toninit: function (vnode) {\n\t\tconst formName = 'report-infringes-intellectual-property',\n\t\t\trelationWithViolatedPropertyError = prop(false),\n\t\t\tfullNameError = prop(false),\n\t\t\tfullAddressError = prop(false),\n\t\t\tprojectInfringesError = prop(false),\n\t\t\tdetailsError = prop(false),\n\t\t\ttermsAgreedError = prop(false),\n\t\t\tvalidate = () => {\n\t\t\t\trelationWithViolatedPropertyError(_.isEmpty(vnode.attrs.relationWithViolatedProperty()));\n\t\t\t\tfullNameError(_.isEmpty(vnode.attrs.fullName()));\n\t\t\t\tfullAddressError(_.isEmpty(vnode.attrs.fullAddress()));\n\t\t\t\tprojectInfringesError(_.isEmpty(vnode.attrs.projectInfringes()));\n\t\t\t\tdetailsError(_.isEmpty(vnode.attrs.details()));\n\t\t\t\ttermsAgreedError(!vnode.attrs.termsAgreed());\n\n\t\t\t\tif (!relationWithViolatedPropertyError() &&\n\t\t\t\t\t!fullNameError() &&\n\t\t\t\t\t!fullAddressError() &&\n\t\t\t\t\t!projectInfringesError() &&\n\t\t\t\t\t!detailsError() &&\n\t\t\t\t\t!termsAgreedError()\n\t\t\t\t) {\n\t\t\t\t\tvnode.attrs.reason('Este projeto infringe propriedade intelectual');\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t};\n\n\t\tvnode.state = {\n\t\t\tformName: vnode.attrs.formName || formName,\n\t\t\trelationWithViolatedPropertyError,\n\t\t\tfullNameError,\n\t\t\tfullAddressError,\n\t\t\tprojectInfringesError,\n\t\t\tdetailsError,\n\t\t\ttermsAgreedError,\n\t\t\tsendReport: vnode.attrs.sendReport.bind(vnode.attrs.sendReport, validate)\n\t\t};\n\t},\n\tview: function ({ state, attrs }) {\n\t\tconst assertError = (condition, message) => condition ? m(inlineError, { message }) : '';\n\n\t\treturn m('.card.u-radius.u-margintop-20',\n\t\t\tm('.w-form',\n\t\t\t\t[\n\t\t\t\t\tm('form', {\n\t\t\t\t\t\tonsubmit: state.sendReport,\n\t\t\t\t\t\toncreate: state.checkScroll\n\t\t\t\t\t},\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tm('.report-option.w-radio',\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tm('input.w-radio-input[type=\\'radio\\']', {\n\t\t\t\t\t\t\t\t\t\tvalue: state.formName,\n\t\t\t\t\t\t\t\t\t\tonchange: m.withAttr('value', attrs.displayFormWithName),\n\t\t\t\t\t\t\t\t\t\tchecked: attrs.displayFormWithName() === state.formName\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\tm('label.fontsize-small.fontweight-semibold.w-form-label', {\n\t\t\t\t\t\t\t\t\t\tonclick: () => attrs.displayFormWithName(state.formName)\n\t\t\t\t\t\t\t\t\t}, 'Este projeto infringe propriedade intelectual')\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tm('.fontsize-smaller.fontcolor-secondary',\n\t\t\t\t\t\t\t\t'O projeto está infringindo de algum modo seus direitos de propriedade intelectual.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tm('.u-margintop-30', {\n\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\tdisplay: attrs.displayFormWithName() === state.formName ? 'block' : 'none'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tm('.u-marginbottom-30',\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\tm('.fontsize-smaller.fontweight-semibold.u-marginbottom-10',\n\t\t\t\t\t\t\t\t\t\t\t\t'Sua relação com a propriedade que está sendo violada *'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tm('.fontsize-smaller.fontcolor-secondary.u-marginbottom-10.card.u-radius.card-message',\n\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\tm('span.fontweight-bold',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Importante:'\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t'A denúncia deve ser realizada pela',\n\t\t\t\t\t\t\t\t\t\t\t\t\tm.trust(' '),\n\t\t\t\t\t\t\t\t\t\t\t\t\t'pessoa, empresa ou responsável legal',\n\t\t\t\t\t\t\t\t\t\t\t\t\tm.trust(' '),\n\t\t\t\t\t\t\t\t\t\t\t\t\t'pelo direito envolvido. Caso não seja esse o seu caso, notifique diretamente o responsável pela propriedade que você acredita estar sendo violada.'\n\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tm('.u-marginbottom-10.w-radio',\n\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\tm('input.w-radio-input[type=\\'radio\\']', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: 'Sou dono dos direitos',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: attrs.relationWithViolatedProperty() === 'Sou dono dos direitos',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonchange: m.withAttr('value', attrs.relationWithViolatedProperty)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\t\tm('label.fontsize-smaller.w-form-label', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonclick: () => attrs.relationWithViolatedProperty('Sou dono dos direitos')\n\t\t\t\t\t\t\t\t\t\t\t\t\t}, 'Sou dono dos direitos')\n\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tm('.u-marginbottom-10.w-radio',\n\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\tm('input.w-radio-input[type=\\'radio\\']', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: 'Sou representante do dono dos direitos',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: attrs.relationWithViolatedProperty() === 'Sou representante do dono dos direitos',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonchange: m.withAttr('value', attrs.relationWithViolatedProperty)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\t\tm('label.fontsize-smaller.w-form-label', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonclick: () => attrs.relationWithViolatedProperty('Sou representante do dono dos direitos')\n\t\t\t\t\t\t\t\t\t\t\t\t\t}, 'Sou representante do dono dos direitos')\n\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tassertError(state.relationWithViolatedPropertyError(), 'Indique sua relação com a propriedade violada')\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tm('.fontsize-smaller.fontweight-semibold',\n\t\t\t\t\t\t\t\t\t\t'Nome completo *'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tm('input.text-field.positive.w-input[maxlength=\\'256\\'][type=\\'text\\']', {\n\t\t\t\t\t\t\t\t\t\tonchange: m.withAttr('value', attrs.fullName),\n\t\t\t\t\t\t\t\t\t\tclass: {\n\t\t\t\t\t\t\t\t\t\t\terror: state.fullNameError()\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\tassertError(state.fullNameError(), 'Informe seu nome completo'),\n\t\t\t\t\t\t\t\t\tm('.w-row',\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\tm('.w-sub-col.w-col.w-col-6',\n\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\tm('.fontsize-smaller.fontweight-semibold',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'CPF'\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\tm('input.text-field.positive.w-input[maxlength=\\'256\\'][type=\\'text\\']', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonchange: m.withAttr('value', attrs.CPF)\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tm('.w-col.w-col-6',\n\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\tm('.fontsize-smaller.fontweight-semibold',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Telefone'\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\tm('input.text-field.positive.w-input[maxlength=\\'256\\'][type=\\'text\\']', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonchange: m.withAttr('value', attrs.telephone)\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tm('.w-row',\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\tm('.w-sub-col.w-col.w-col-6',\n\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\tm('.fontsize-smaller.fontweight-semibold',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Nome da empresa (caso aplicável)'\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\tm('input.text-field.positive.w-input[maxlength=\\'256\\'][type=\\'text\\']', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonchange: m.withAttr('value', attrs.businessName)\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tm('.w-col.w-col-6',\n\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\tm('.fontsize-smaller.fontweight-semibold',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'CNPJ (caso aplicável)'\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\tm('input.text-field.positive.w-input[maxlength=\\'256\\'][type=\\'text\\']', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonchange: m.withAttr('value', attrs.CNPJ)\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tm('.w-row',\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\tm('.w-sub-col.w-col.w-col-6',\n\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\tm('.fontsize-smaller.fontweight-semibold',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Cargo (caso aplicável)'\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\tm('input.text-field.positive.w-input[maxlength=\\'256\\'][type=\\'text\\']', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonchange: m.withAttr('value', attrs.businessRole)\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tm('.w-col.w-col-6')\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tm('.fontsize-smaller.fontweight-semibold',\n\t\t\t\t\t\t\t\t\t\t'Endereço completo *'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tm('input.text-field.positive.w-input[maxlength=\\'256\\'][type=\\'text\\']', {\n\t\t\t\t\t\t\t\t\t\tonchange: m.withAttr('value', attrs.fullAddress),\n\t\t\t\t\t\t\t\t\t\tclass: {\n\t\t\t\t\t\t\t\t\t\t\terror: state.fullAddressError()\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\tassertError(state.fullAddressError(), 'Informe seu endereço completo'),\n\t\t\t\t\t\t\t\t\tm('.fontsize-smaller.fontweight-semibold',\n\t\t\t\t\t\t\t\t\t\t'Este projeto está infringindo *'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tm('select.text-field.positive.w-select', {\n\t\t\t\t\t\t\t\t\t\tonchange: m.withAttr('value', attrs.projectInfringes),\n\t\t\t\t\t\t\t\t\t\tclass: {\n\t\t\t\t\t\t\t\t\t\t\terror: state.projectInfringesError()\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\tm('option[value=\\'\\']',\n\t\t\t\t\t\t\t\t\t\t\t\t'Selecione uma opção'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tm('option[value=\\'Marcas\\']',\n\t\t\t\t\t\t\t\t\t\t\t\t'Marcas'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tm('option[value=\\'Patentes\\']',\n\t\t\t\t\t\t\t\t\t\t\t\t'Patentes'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tm('option[value=\\'Desenho Industrial\\']',\n\t\t\t\t\t\t\t\t\t\t\t\t'Desenho Industrial'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tm('option[value=\\'Direitos autorais\\']',\n\t\t\t\t\t\t\t\t\t\t\t\t'Direitos autorais'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tm('option[value=\\'Direitos de software\\']',\n\t\t\t\t\t\t\t\t\t\t\t\t'Direitos de software'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tm('option[value=\\'Modelo industrial\\']',\n\t\t\t\t\t\t\t\t\t\t\t\t'Modelo industrial'\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tassertError(state.projectInfringesError(), 'Indique uma opção'),\n\t\t\t\t\t\t\t\t\tm('.u-marginbottom-30',\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\tm('.fontsize-smaller.fontweight-semibold',\n\t\t\t\t\t\t\t\t\t\t\t\t'Detalhes da denúncia *'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tm('textarea.text-field.positive.w-input[maxlength=\\'5000\\']', {\n\t\t\t\t\t\t\t\t\t\t\t\tonchange: m.withAttr('value', attrs.details),\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder: 'Por favor, dê mais detalhes que nos ajudem a identificar o problema',\n\t\t\t\t\t\t\t\t\t\t\t\tclass: {\n\t\t\t\t\t\t\t\t\t\t\t\t\terror: state.detailsError()\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\tassertError(state.detailsError(), 'Informe os detalhes da denúncia')\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t/*\n\t\t\t\t\t\t\t\t\t\t\t\t m('.u-marginbottom-30',\n\t\t\t\t\t\t\t\t\t\t\t\t\t [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tm('.fontsize-smaller.fontweight-semibold',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Documentos comprobatórios'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t ),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tm('.fontsize-smaller.fontcolor-secondary',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Faça upload de documentos que possam ajudar na denúncia. Caso você tenha mais de 01 documento, por favor junte todos em um único arquivo comprimido.'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t\t\t\t\t\t ), */\n\t\t\t\t\t\t\t\t\tm('.u-marginbottom-40',\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\tm('.w-checkbox',\n\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\tm('input.w-checkbox-input[id=\\'checkbox\\'][type=\\'checkbox\\']', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: attrs.termsAgreed(),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonchange: () => attrs.termsAgreed(!attrs.termsAgreed()),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: attrs.termsAgreed()\n\t\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\t\tm('label.fontsize-smaller.w-form-label[for=\\'checkbox\\']',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Asseguro, com a consciência de que o envio de denúncias com conteúdo enganoso pode ser punível por lei, que as informações que forneço aqui são verdadeiras.'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tassertError(state.termsAgreedError(), 'Confirme o campo acima para enviar a denúncia')\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tm('input.btn.btn-medium.btn-inline.btn-dark.w-button[type=\\'submit\\'][value=\\'Enviar denúncia\\']', {\n\t\t\t\t\t\t\t\t\t\tdisabled: attrs.submitDisabled()\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t]\n\t\t\t\t\t)\n\t\t\t\t]\n\t\t\t)\n\t\t);\n\t}\n};\n\nexport default projectReportInfringesIntellectualProperty;\n","/**\n * window.c.projectReportNoRewardReceived component\n * Render project report form\n *\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport h from '../h';\nimport _ from 'underscore';\nimport ownerMessageContent from './owner-message-content';\nimport modalBox from './modal-box';\n\nconst projectReportNoRewardReceived = {\n oninit: function(vnode) {\n const formName = 'report-no-reward-received';\n const displayModal = h.toggleProp(false, true);\n const storeId = 'send-message';\n const sendMessage = () => {\n if (!h.getUser()) {\n h.storeAction(storeId, vnode.attrs.project.project_id);\n return h.navigateToDevise(`?redirect_to=/projects/${vnode.attrs.project.project_id}`);\n }\n\n displayModal(true);\n };\n\n if (h.callStoredAction(storeId) == vnode.attrs.project().project_id) {\n displayModal(true);\n }\n\n vnode.state = {\n displayModal,\n sendMessage,\n formName: vnode.attrs.formName || formName\n };\n },\n view: function({state, attrs}) {\n const contactModalC = [ownerMessageContent, prop(_.extend(attrs.user, {\n project_id: attrs.project().id\n }))];\n\n return m('.card.u-radius.u-margintop-20',\n [\n (state.displayModal() ? m(modalBox, {\n displayModal: state.displayModal,\n content: contactModalC\n }) : ''),\n\t m('.w-form',\n\t\t m('form',\n\t\t\t [\n\t\t\t\t m('.report-option.w-radio',\n\t\t\t\t\t [\n\t\t\t\t\t\t m('input.w-radio-input[type=\\'radio\\']', {\n value: state.formName,\n checked: attrs.displayFormWithName() === state.formName,\n onchange: m.withAttr('value', attrs.displayFormWithName)\n }),\n\t\t\t\t\t\t m('label.fontsize-small.fontweight-semibold.w-form-label', {\n onclick: _ => attrs.displayFormWithName(state.formName)\n }, 'Apoiei este projeto e ainda não recebi a recompensa')\n\t\t\t\t\t ]\n\t\t\t\t ),\n\t\t\t\t m('.u-margintop-30', {\n style: {\n display: attrs.displayFormWithName() === state.formName ? 'block' : 'none'\n }\n },\n\t\t\t\t\t m('.fontsize-small',\n\t\t\t\t\t\t [\n\t\t\t\t\t\t\t 'Para saber sobre a de entrega da sua recompensa, você pode enviar uma',\n\t\t\t\t\t\t\t m('a.alt-link', {\n style: {\n cursor: 'pointer'\n },\n onclick: h.analytics.event({\n cat: 'project_view',\n act: 'project_creator_sendmsg',\n lbl: attrs.user.id,\n project: attrs.project()\n }, state.sendMessage),\n text: ' mensagem diretamente para o(a) Realizador(a)'\n }),\n\t\t\t\t\t\t\t '.',\n\t\t\t\t\t\t\t m('br'),\n\t\t\t\t\t\t\t m('br'),\n\t\t\t\t\t\t\t 'Veja',\n\t\t\t\t\t\t\t m('a.alt-link', {\n href: 'https://suporte.catarse.me/hc/pt-br/articles/360000149946-Ainda-n%C3%A3o-recebi-minha-recompensa-E-agora-',\n target: '_blank'\n }, ' aqui '),\n\t\t\t\t\t\t\t 'outras dicas sobre como acompanhar essa entrega.'\n\t\t\t\t\t\t ]\n\t\t\t\t\t )\n\t\t\t\t )\n\t\t\t ]\n\t\t )\n\t )\n ]);\n }\n};\n\nexport default projectReportNoRewardReceived;\n","/**\n * window.c.projectReport component\n * Render project report form\n *\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse } from '../api';\nimport models from '../models';\nimport h from '../h';\nimport projectVM from '../vms/project-vm';\nimport inlineError from './inline-error';\nimport projectReportDisrespectRules from './project-report-disrespect-rules';\nimport projectReportInfringesIntellectualProperty from './project-report-infringes-intellectual-property';\nimport projectReportNoRewardReceived from './project-report-no-reward-received';\n\nconst projectReport = {\n oninit: function(vnode) {\n const displayForm = h.toggleProp(false, true),\n displayFormWithName = prop(''),\n sendSuccess = prop(false),\n submitDisabled = prop(false),\n user = vnode.attrs && vnode.attrs.user ? vnode.attrs.user : (h.getUser() || {}),\n email = prop(user.email),\n details = prop(''),\n reason = prop(''),\n storeReport = 'report',\n project = vnode.attrs && vnode.attrs.project ? vnode.attrs.project : projectVM.currentProject(),\n hasPendingAction = project && (h.callStoredAction(storeReport) == project.project_id),\n CPF = prop(''),\n telephone = prop(''),\n businessName = prop(''),\n CNPJ = prop(''),\n businessRole = prop(''),\n relationWithViolatedProperty = prop(''),\n fullName = prop(''),\n fullAddress = prop(''),\n projectInfringes = prop(''),\n termsAgreed = h.toggleProp(false, true),\n checkLogin = (event) => {\n if (!_.isEmpty(user)) {\n displayForm.toggle();\n } else {\n h.storeAction(storeReport, project.project_id);\n return h.navigateToDevise(`?redirect_to=/projects/${project.project_id}`);\n }\n },\n sendReport = (validateFunction) => {\n if (!validateFunction()) {\n return false;\n }\n submitDisabled(true);\n const loaderOpts = models.projectReport.postOptions({\n email: email(),\n details: details(),\n reason: reason(),\n data: {\n email: email(),\n details: details(),\n reason: reason(),\n cpf: CPF(),\n telephone: telephone(),\n business_name: businessName(),\n cnpj: CNPJ(),\n business_role: businessRole(),\n relation_with_violated_property: relationWithViolatedProperty(),\n full_name: fullName(),\n project_infringes: projectInfringes(),\n terms_agreed: termsAgreed(),\n },\n project_id: project.project_id\n });\n const l = catarse.loaderWithToken(loaderOpts);\n\n l.load().then(sendSuccess(true));\n submitDisabled(false);\n return false;\n },\n checkScroll = (localVnode) => {\n h.animateScrollTo(localVnode.dom);\n };\n\n\n if (!_.isEmpty(user) && hasPendingAction) {\n displayForm(true);\n }\n\n vnode.state = {\n displayFormWithName,\n checkScroll,\n checkLogin,\n displayForm,\n sendSuccess,\n submitDisabled,\n sendReport,\n user,\n details,\n reason,\n project: prop(project),\n user,\n CPF,\n telephone,\n businessName,\n CNPJ,\n businessRole,\n relationWithViolatedProperty,\n fullName,\n fullAddress,\n projectInfringes,\n termsAgreed\n };\n },\n\n view: function({state, attrs}) {\n return m('.card.card-terciary.u-radius', [\n state.sendSuccess() ?\n m('.w-form', m('p', 'Obrigado! A sua denúncia foi recebida.'))\n :\n [\n m('button.btn.btn-terciary.btn-inline.btn-medium.w-button',\n {\n onclick: state.checkLogin\n },\n 'Denunciar este projeto ao Catarse'\n ),\n state.displayForm() ?\n m('div', [\n m(projectReportDisrespectRules, {\n displayFormWithName: state.displayFormWithName,\n submitDisabled: state.submitDisabled,\n checkScroll: state.checkScroll,\n sendReport: state.sendReport,\n reason: state.reason,\n details: state.details,\n }),\n m(projectReportInfringesIntellectualProperty, {\n CPF: state.CPF,\n telephone: state.telephone,\n businessName: state.businessName,\n CNPJ: state.CNPJ,\n businessRole: state.businessRole,\n relationWithViolatedProperty: state.relationWithViolatedProperty,\n fullName: state.fullName,\n fullAddress: state.fullAddress,\n projectInfringes: state.projectInfringes,\n termsAgreed: state.termsAgreed,\n reason: state.reason,\n details: state.details,\n displayFormWithName: state.displayFormWithName,\n sendReport: state.sendReport,\n checkScroll: state.checkScroll,\n submitDisabled: state.submitDisabled\n }),\n m(projectReportNoRewardReceived, {\n displayFormWithName: state.displayFormWithName,\n project: state.project,\n user: state.user\n })\n ])\n :\n ''\n ]\n ]);\n }\n};\n\nexport default projectReport;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport projectRewardCard from './project-reward-card';\nimport projectReport from './project-report';\n\nconst projectRewardList = {\n view: function({attrs}) {\n const project = attrs.project() || {\n open_for_contributions: false\n };\n return m('#rewards', [\n m('.reward.u-marginbottom-30', _.map(_.sortBy(attrs.rewardDetails(), reward => Number(reward.row_order)), reward => m(projectRewardCard, { reward, project, hasSubscription: attrs.hasSubscription }))),\n attrs.showReport ? m(projectReport) : null\n ]);\n }\n};\n\nexport default projectRewardList;\n","import m from 'mithril'\nimport prop from 'mithril/stream'\nimport _ from 'underscore'\nimport h from '../h'\nimport { GoalDetails } from '../@types/goal-details'\n\nexport type ProjectGoalsBoxAttrs = {\n subscriptionData: prop<{ amount_paid_for_valid_period : number }>\n goalDetails: prop<GoalDetails[]>\n style: string\n}\n\nexport type ProjectGoalsBoxState = {\n currentGoalIndex: prop<number>\n goalsDetailsOrOneEmpty() : GoalDetails[]\n}\n\nexport default class ProjectGoalsBox implements m.Component<ProjectGoalsBoxAttrs> {\n oninit({ attrs: { goalDetails: goalsDetails, subscriptionData }, state } : m.Vnode<ProjectGoalsBoxAttrs, ProjectGoalsBoxState>) {\n const currentGoalIndex = prop(0)\n const getCurrentGoalIndex = (goalsDetails : GoalDetails[], {amount_paid_for_valid_period} : {amount_paid_for_valid_period : number}) => {\n if (goalsDetails.length > 0) {\n const index = _.findIndex(goalsDetails, goal => goal.value > amount_paid_for_valid_period)\n return index >= 0 ? index : (goalsDetails.length - 1)\n } else {\n return 0\n }\n }\n\n subscriptionData.map(updatedData => {\n currentGoalIndex(getCurrentGoalIndex(goalsDetails(), updatedData))\n })\n\n currentGoalIndex.map(() => h.redraw())\n\n state.currentGoalIndex = currentGoalIndex\n }\n\n view({ attrs: { goalDetails: goalsDetails, subscriptionData, style }, state } : m.Vnode<ProjectGoalsBoxAttrs, ProjectGoalsBoxState>) {\n\n const goalsDetailsOrEmpty = () : GoalDetails[] => {\n const hasGoalsDetails = goalsDetails() && goalsDetails().length > 0\n if (hasGoalsDetails) {\n return goalsDetails()\n } else {\n return [{\n title: 'N/A',\n value: 0,\n description: ''\n }] as GoalDetails[]\n }\n }\n\n const currentGoalIndex = state.currentGoalIndex\n const nextGoal = () => {\n if (currentGoalIndex() < goalsDetailsOrEmpty().length - 1) {\n currentGoalIndex((currentGoalIndex() + 1))\n }\n }\n\n const previousGoal = () => {\n if (currentGoalIndex() > 0) {\n currentGoalIndex((currentGoalIndex() - 1))\n }\n }\n\n const { amount_paid_for_valid_period: amountPaidForValidPeriod } = subscriptionData() || { amount_paid_for_valid_period: 0 }\n const goals = goalsDetailsOrEmpty()\n const viewingGoal = goals[currentGoalIndex()]\n const goalPercentage = (amountPaidForValidPeriod / viewingGoal.value) * 100\n const viewingValueGoal = `R$${amountPaidForValidPeriod} de R$${viewingGoal.value} por mês`\n \n return (\n <div>\n <div class={`card u-marginbottom-30 u-radius ${style ? style : ''}`}>\n <div class='w-clearfix'>\n <div class='u-right'>\n <button onclick={previousGoal} class={`btn btn-inline btn-small btn-terciary fa fa-angle-left w-button ${currentGoalIndex() === 0 ? 'btn-desactivated' : ''}`}></button>\n <button onclick={nextGoal} class={`btn btn-inline btn-small btn-terciary fa fa-angle-right w-button ${currentGoalIndex() === goals.length - 1 ? 'btn-desactivated' : ''}`}></button>\n </div>\n <div class='fontsize-base fontweight-semibold u-marginbottom-20 w-hidden-small w-hidden-tiny'>\n <span>Metas</span>\n </div>\n </div>\n <div class='fontsize-small fontweight-semibold'>\n <span class='fontcolor-secondary fontsize-smallest u-right'>\n {currentGoalIndex() + 1} de {goals.length}\n </span>\n {viewingGoal.title}\n </div>\n <div class='u-marginbottom-10'>\n <div class='meter'>\n <div class='meter-fill' style={`width: ${h.clamp(goalPercentage, 0, 100)}%`}></div>\n </div>\n <div class='fontsize-smaller fontweight-semibold u-margintop-10'>\n {viewingValueGoal}\n </div>\n </div>\n <div class='fontsize-smaller'>\n {viewingGoal.description}\n </div>\n </div>\n </div>\n )\n }\n}","import m from 'mithril';\nimport _ from 'underscore';\nimport moment from 'moment';\nimport h from '../h';\nimport projectVM from '../vms/project-vm';\nimport projectRewardList from './project-reward-list';\nimport projectGoalsBox from './project-goals-box';\nimport projectReport from './project-report';\nimport projectSuggestedContributions from './project-suggested-contributions';\n\nconst projectAbout = {\n view: function({attrs}) {\n const project = attrs.project() || {},\n onlineDays = () => {\n const diff = moment(project.zone_online_date).diff(moment(project.zone_expires_at)),\n duration = moment.duration(diff);\n\n return -Math.ceil(duration.asDays());\n };\n const fundingPeriod = () => (project.is_published && h.existy(project.zone_expires_at)) ? m('.funding-period', [\n m('.fontsize-small.fontweight-semibold.u-text-center-small-only', 'Período de campanha'),\n m('.fontsize-small.u-text-center-small-only', `${h.momentify(project.zone_online_date)} - ${h.momentify(project.zone_expires_at)} (${onlineDays()} dias)`)\n ]) : '';\n\n const nextStepsCardOptions = () => {\n const isSubscription = projectVM.isSubscription(project);\n const hasRewards = !_.isEmpty(attrs.rewardDetails());\n const titleText = hasRewards ? 'Recompensas' : 'Sugestões de apoio';\n\n return [\n isSubscription ? [\n m('.fontsize-base.fontweight-semibold.u-marginbottom-30', titleText),\n ] : [\n m('.fontsize-base.u-marginbottom-30.w-hidden-small.w-hidden-tiny', [\n m('span.fontweight-semibold', titleText),\n m.trust(' '),\n m('span.badge.fontsize-smaller.badge-success', 'parcele em até 6x')\n ])\n ],\n hasRewards ? [\n m(projectRewardList, {\n project: attrs.project,\n hasSubscription: attrs.hasSubscription,\n rewardDetails: attrs.rewardDetails\n })\n ] : [\n m(projectSuggestedContributions, { project: attrs.project })\n ],\n fundingPeriod()\n ];\n };\n\n return m('#project-about', [\n m('.project-about.w-col.w-col-8', {\n oncreate: h.UIHelper()\n }, [\n m('p.fontsize-base', [\n m('strong', 'O projeto')\n ]),\n m('.fontsize-base[itemprop=\"about\"]', m.originalTrust(h.selfOrEmpty(project.about_html, '...'))),\n project.budget ? [\n m('p.fontsize-base.fontweight-semibold', 'Orçamento'),\n m('p.fontsize-base', m.originalTrust(project.budget))\n ] : '',\n m(projectReport)\n ]),\n m('.w-col.w-col-4.w-hidden-small.w-hidden-tiny', [\n projectVM.isSubscription(project) ? (attrs.subscriptionData() ? m(projectGoalsBox, { goalDetails: attrs.goalDetails, subscriptionData: attrs.subscriptionData }) : h.loader()) : '',\n nextStepsCardOptions()\n ])\n ]);\n }\n};\n\nexport default projectAbout;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectVM from '../vms/project-vm';\nimport projectRewardList from './project-reward-list';\nimport projectGoalsBox from './project-goals-box';\n\nconst projectRewards = {\n view: function({attrs}) {\n return m('.w-col.w-col-12', [\n projectVM.isSubscription(attrs.project) ? \n attrs.subscriptionData() ? \n m(projectGoalsBox, { \n goalDetails: attrs.goalDetails, \n subscriptionData: attrs.subscriptionData \n })\n :\n h.loader()\n :\n '', \n m(projectRewardList, _.extend({}, {\n rewardDetails: attrs.rewardDetails,\n hasSubscription: attrs.hasSubscription\n }, attrs.c_opts))\n ]);\n }\n};\n\nexport default projectRewards;\n","import m from 'mithril';\nimport h from '../h';\nimport projectReport from './project-report';\n\nconst projectComments = {\n oninit: function (vnode) {\n const loadComments = vnode => {\n h.fbParse();\n };\n\n vnode.state = { loadComments };\n },\n view: function ({ state, attrs }) {\n const project = attrs.project();\n return m('.w-row', [\n m('.w-col.w-col-7',\n m(`.fb-comments[data-href=\"http://www.catarse.me/${project.permalink}\"][data-num-posts=50][data-width=\"610\"]`, { oncreate: state.loadComments })\n ),\n m('.w-col.w-col-5', m(projectReport))\n ]);\n }\n};\n\nexport default projectComments;\n","import m from 'mithril';\nimport {\n catarse\n} from '../api';\nimport _ from 'underscore';\nimport models from '../models';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.posts');\n\nconst projectPosts = {\n oninit: function(vnode) {\n const listVM = h.createBasicPaginationVMWithAutoRedraw(catarse.paginationVM(models.projectPostDetail));\n const filterVM = catarse.filtersVM({ project_id: 'eq', id: 'eq'});\n \n const scrollTo = (localVnode) => {\n h.animateScrollTo(localVnode.dom);\n };\n\n filterVM.project_id(vnode.attrs.project().project_id);\n\n if (_.isNumber(parseInt(vnode.attrs.post_id))) {\n filterVM.id(vnode.attrs.post_id);\n }\n\n if (!listVM.collection().length) {\n listVM.firstPage(filterVM.parameters()).then(() => m.redraw());\n }\n\n vnode.state = {\n listVM,\n filterVM,\n scrollTo\n };\n },\n view: function({state, attrs}) {\n const list = state.listVM,\n project = attrs.project() || {},\n postHeader = (post) => _.map(post.rewards_that_can_access_post, r => ` R$${h.formatNumber(r.minimum_value)}${r.title ? ` - ${r.title}` : ''}`),\n postTextSubscription = (post) => `Post exclusivo para assinantes${ post.rewards_that_can_access_post ? ' de' : ''}${postHeader(post)}`,\n postTextContribution = (post) => `Post exclusivo para apoiadores${ post.rewards_that_can_access_post ? ' de' : ''}${postHeader(post)}`,\n minimumValueRewardId = (post) => _.first(_.sortBy(post.rewards_that_can_access_post, r => r.minimum_value)).id;\n\n return m('#posts.project-posts.w-section', {\n oncreate: state.scrollTo\n }, [\n m('.w-container.u-margintop-20', [\n (project.is_owner_or_admin ? [\n (!list.isLoading()) ?\n (_.isEmpty(list.collection()) ? m('.w-hidden-small.w-hidden-tiny', [\n m('.fontsize-base.u-marginbottom-30.u-margintop-20', 'Toda novidade publicada no Catarse é enviada diretamente para o email de quem já apoiou seu projeto e também fica disponível para visualização no site. Você pode optar por deixá-la pública, ou visível somente para seus apoiadores aqui nesta aba.')\n ]) : '') : '',\n m('.w-row.u-marginbottom-20', [\n m('.w-col.w-col-4.w-col-push-4', [\n m(`a.btn.btn-edit.btn-small[href='/${window.I18n.locale}/projects/${project.project_id}/posts']`, 'Escrever novidade')\n ])\n ])\n ] : ''), \n (_.map(list.collection(), post => m('.w-row', [\n _.isEmpty(post.comment_html) ? \n [\n m('.fontsize-small.fontcolor-secondary.u-text-center', h.momentify(post.created_at)),\n m('p.fontweight-semibold.fontsize-larger.u-text-center.u-marginbottom-30', [\n m(`a.link-hidden[href=\"/projects/${post.project_id}/posts/${post.id}#posts\"]`, post.title)\n ]),\n m('.card.card-message.u-radius.card-big.u-text-center.u-marginbottom-60', [\n m('.fa.fa-lock.fa-3x.fontcolor-secondary',\n ''\n ),\n project.mode === 'sub' ? [\n m('.fontsize-base.fontweight-semibold.u-marginbottom-20', postTextSubscription(post)),\n m(`a.btn.btn-medium.btn-inline.w-button[href=\"/projects/${post.project_id}/subscriptions/start${post.rewards_that_can_access_post ? `?reward_id=${minimumValueRewardId(post)}` : ''}\"]`,\n 'Acessar esse post'\n )\n ] : [\n m('.fontsize-base.fontweight-semibold.u-marginbottom-20', postTextContribution(post)),\n m(`a.btn.btn-medium.btn-inline.w-button[href=\"/projects/${post.project_id}/contributions/new${post.rewards_that_can_access_post ? `?reward_id=${minimumValueRewardId(post)}` : ''}\"]`,\n 'Acessar esse post'\n )\n ]\n\n ])\n ] \n : \n [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8', [\n m('.post', [\n m('.u-marginbottom-60 .w-clearfix', [\n m('.fontsize-small.fontcolor-secondary.u-text-center', h.momentify(post.created_at)),\n m('p.fontweight-semibold.fontsize-larger.u-text-center.u-marginbottom-30', [\n m(`a.link-hidden[href=\"/projects/${post.project_id}/posts/${post.id}#posts\"]`, post.title)\n ]),\n (m('.fontsize-base', m.originalTrust(post.comment_html)))\n ]),\n m('.divider.u-marginbottom-60')\n ])\n ]),\n m('.w-col.w-col-2')\n ]\n ]))),\n m('.w-row', [\n (!_.isUndefined(attrs.post_id) ? m('.w-col.w-col-2.w-col-push-5',\n m(`a#load-more.btn.btn-medium.btn-terciary[href=\\'/projects/${project.project_id}#posts']`, {\n }, 'Ver todos')\n ) :\n (!list.isLoading() ?\n (list.collection().length === 0 && attrs.projectContributions().length === 0) ?\n !project.is_owner_or_admin ? m('.w-col.w-col-10.w-col-push-1',\n m('p.fontsize-base',\n m.trust(\n window.I18n.t('empty',\n I18nScope({\n project_user_name: attrs.userDetails().name,\n project_id: project.project_id\n })\n )\n )\n )\n ) : '' :\n m('.w-col.w-col-2.w-col-push-5',\n (list.isLastPage() ?\n list.collection().length === 0 ? 'Nenhuma novidade.' : '' :\n m('button#load-more.btn.btn-medium.btn-terciary', {\n onclick: list.nextPage\n }, 'Carregar mais'))\n ) :\n m('.w-col.w-col-2.w-col-push-5', h.loader())\n ))\n\n ])\n ])\n ]);\n }\n};\n\nexport default projectPosts;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectSuggestedContributions from './project-suggested-contributions';\nimport projectContributions from './project-contributions';\nimport projectAbout from './project-about';\nimport projectRewards from './project-rewards';\nimport projectComments from './project-comments';\nimport projectPosts from './project-posts';\nimport projectVM from '../vms/project-vm';\n\nconst projectMain = {\n oninit: function(vnode) {\n const hash = prop(window.location.hash),\n displayTabContent = (project) => {\n const c_opts = {\n project,\n post_id: vnode.attrs.post_id,\n subscriptionData: vnode.attrs.subscriptionData\n },\n tabs = {\n '#rewards': m(projectRewards, { c_opts, project, hasSubscription: vnode.attrs.hasSubscription, goalDetails: vnode.attrs.goalDetails, subscriptionData: vnode.attrs.subscriptionData, rewardDetails: vnode.attrs.rewardDetails }),\n '#contribution_suggestions': m(projectSuggestedContributions, c_opts),\n '#contributions': m(projectContributions, c_opts),\n '#about': m(projectAbout, _.extend({}, {\n hasSubscription: vnode.attrs.hasSubscription,\n rewardDetails: vnode.attrs.rewardDetails,\n subscriptionData: vnode.attrs.subscriptionData,\n goalDetails: vnode.attrs.goalDetails\n }, c_opts)),\n '#comments': m(projectComments, c_opts),\n '#posts': m(projectPosts, _.extend({}, {\n projectContributions: vnode.attrs.projectContributions,\n userDetails: vnode.attrs.userDetails,\n }, c_opts))\n };\n\n if (_.isNumber(vnode.attrs.post_id) && !window.location.hash) {\n window.location.hash = 'posts';\n }\n\n hash(window.location.hash);\n\n \n if (_.isEmpty(hash()) || hash() === '#_=_' || hash() === '#preview') {\n const hasRewards = !_.isEmpty(vnode.attrs.rewardDetails());\n const mobileDefault = hasRewards ? '#rewards' : '#contribution_suggestions';\n return tabs[h.mobileScreen() ? mobileDefault : '#about'];\n }\n\n return tabs[hash()];\n };\n\n h.redrawHashChange();\n\n projectVM.checkSubscribeAction();\n\n vnode.state = {\n displayTabContent,\n hash\n };\n },\n view: function({state, attrs}) {\n return m('section.section[itemtype=\"http://schema.org/CreativeWork\"]', { style: attrs.style }, [\n m(`${state.hash() !== '#contributions' ? '.w-container' : '.about-tab-content'}`, [\n m('.w-row', attrs.project() ? state.displayTabContent(attrs.project) : h.loader())\n ])\n ]);\n }\n};\n\nexport default projectMain;\n","import m from 'mithril';\n\n/**\n * @typedef {Object} AdultPopupModalAttrs\n * @property {string} userPublicName\n * @property {string} userPhotoUrl\n * @property {() => void} onAgree\n */\n\nexport const AdultPopupModal = {\n view({ attrs }) {\n\n /** @type {AdultPopupModalAttrs} */\n const {\n userPublicName,\n userPhotoUrl,\n onAgree\n } = attrs;\n\n return m('div.modal-dialog-content',\n [\n m('div.w-row',\n [\n m('div.w-col.w-col-1'),\n m('div.w-col.w-col-10',\n m('div.fontsize-large.u-text-center.fontweight-semibold',\n '✋Você precisa ser maior de 18 anos para acessar esta página'\n )\n ),\n m('div.w-col.w-col-1')\n ]\n ),\n m('div.u-text-center.u-margintop-30',\n [\n m(`img.thumb.big.u-round.u-marginbottom-40[src='${userPhotoUrl}'][alt='Foto do Perfil do Realizador']`),\n m('div.fontsize-base.u-marginbottom-40', [\n 'Esse projeto de ',\n m('span.fontweight-semibold', userPublicName),\n ' apresenta conteúdos e imagens impróprias para menores de idade. Você é maior de 18 anos?'\n ]),\n m('a.btn.btn-medium.btn-inline.u-marginbottom-20', \n { \n 'style': { 'transition': 'all 0.5s ease 0s' },\n onclick: onAgree\n },\n 'Sim. Tenho mais de 18 anos'\n ),\n m('div.fontsize-smallest',\n [\n 'De acordo com os ',\n m('a.alt-link[href=\"https://crowdfunding.catarse.me/legal/termos-de-uso\"][target=\"_blank\"]',\n 'termos de uso'\n ),\n ' do Catarse.'\n ]\n )\n ]\n )\n ]\n );\n }\n}","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectVM from '../vms/project-vm';\nimport userVM from '../vms/user-vm';\nimport projectHeader from '../c/project-header';\nimport projectTabs from '../c/project-tabs';\nimport projectMain from '../c/project-main';\nimport projectDashboardMenu from '../c/project-dashboard-menu';\nimport subscriptionVM from '../vms/subscription-vm';\nimport { AdultPopupModal, AdultPopupModalAttrs } from '../c/adult-popup-modal';\nimport modalBox from '../c/modal-box';\n\nconst projectsShow = {\n oninit: function(vnode) {\n const {\n ViewContentEvent,\n } = projectVM;\n \n projectVM.sendPageViewForCurrentProject(vnode.attrs.project_id, [ ViewContentEvent() ]);\n\n const {\n project_id,\n project_user_id,\n post_id\n } = vnode.attrs;\n\n const currentUser = h.getUser();\n const loading = prop(true);\n const userProjectSubscriptions = prop([]);\n const projectOwner = userVM.fetchUser(project_user_id, true, prop({}));\n\n const currentUserIsProjectOwner = currentUser && (project_user_id == currentUser.id || currentUser.is_admin_role);\n\n const displayAdultContentPopup = h.toggleProp(!currentUserIsProjectOwner, currentUserIsProjectOwner);\n \n if (project_id && !_.isNaN(Number(project_id))) {\n projectVM.init(project_id, project_user_id);\n } else {\n projectVM.getCurrentProject();\n }\n\n if (post_id) {\n window.location.hash = '#posts';\n }\n\n try {\n h.analytics.windowScroll({\n cat: 'project_view',\n act: 'project_page_scroll',\n project: project_id ? {\n id: project_id,\n user_id: project_user_id\n } : null\n });\n setTimeout(function(){\n h.analytics.event({\n cat: 'project_view',\n act: 'project_page_view',\n project: project_id ? {\n id: project_id,\n user_id: project_user_id\n } : null\n }).call();\n },1000);\n } catch (e) {\n console.error(e);\n }\n\n const loadUserSubscriptions = () => {\n if (h.isProjectPage() && currentUser && loading()) {\n loading(false);\n if (projectVM.isSubscription(projectVM.currentProject())) {\n const statuses = ['started', 'active', 'canceling', 'canceled', 'inactive'];\n subscriptionVM\n .getUserProjectSubscriptions(currentUser.common_id, projectVM.currentProject().common_id, statuses)\n .then(userProjectSubscriptions)\n .then(() => h.redraw());\n }\n }\n };\n\n const hasSubscription = () => !_.isEmpty(userProjectSubscriptions()) && _.find(userProjectSubscriptions(), sub => sub.project_id === projectVM.currentProject().common_id);\n\n const query = m.parseQueryString(window.location.search);\n\n vnode.state = {\n loadUserSubscriptions,\n projectOwner,\n projectVM,\n hasSubscription,\n userProjectSubscriptions,\n displayAdultContentPopup,\n shouldDisplayDashboardMenu: !!query['is_preview_without_dashboard_menu']\n };\n },\n view: function({state, attrs}) {\n const project = state.projectVM.currentProject;\n const projectVM = state.projectVM;\n const projectOwner = state.projectOwner;\n const displayAdultContentPopup = state.displayAdultContentPopup;\n const shouldDisplayAdultContentPopup = project() && project().is_adult_content && displayAdultContentPopup() && !project().is_owner_or_admin;\n const blurredScreenConditionalStyle = shouldDisplayAdultContentPopup ? { filter: 'blur(7px)' } : { };\n const shouldDisplayDashboardMenu = project() && project().is_owner_or_admin && !attrs.hideDashboardMenu && !state.shouldDisplayDashboardMenu;\n\n return m('.project-show', {\n oncreate: projectVM.setProjectPageTitle(),\n }, project() ? [\n\n (shouldDisplayAdultContentPopup ? m(modalBox, {\n displayModal: displayAdultContentPopup,\n content: [\n AdultPopupModal, \n /** @type {AdultPopupModalAttrs} */\n {\n userPublicName: projectOwner().public_name,\n userPhotoUrl: userVM.displayImage(projectOwner()),\n onAgree: displayAdultContentPopup.toggle\n }\n ],\n hideCloseButton: true,\n }) : ''),\n\n state.loadUserSubscriptions(),\n m(projectHeader, {\n style: blurredScreenConditionalStyle,\n project,\n hasSubscription: state.hasSubscription,\n userProjectSubscriptions: state.userProjectSubscriptions,\n subscriptionData: projectVM.subscriptionData,\n rewardDetails: projectVM.rewardDetails,\n userDetails: projectVM.userDetails,\n projectContributions: projectVM.projectContributions,\n goalDetails: projectVM.goalDetails\n }),\n m(projectTabs, {\n style: blurredScreenConditionalStyle,\n project,\n hasSubscription: state.hasSubscription,\n subscriptionData: projectVM.subscriptionData,\n rewardDetails: projectVM.rewardDetails\n }),\n m(projectMain, {\n style: blurredScreenConditionalStyle,\n project,\n post_id: attrs.post_id,\n hasSubscription: state.hasSubscription,\n rewardDetails: projectVM.rewardDetails,\n subscriptionData: projectVM.subscriptionData,\n goalDetails: projectVM.goalDetails,\n userDetails: projectVM.userDetails,\n projectContributions: projectVM.projectContributions\n }),\n (shouldDisplayDashboardMenu ? m(projectDashboardMenu, {\n project\n }) : '')\n ] : h.loader())\n }\n};\n\nexport default projectsShow;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport moment, { defaultFormat } from 'moment';\nimport h from '../h';\nimport usersVM from './user-vm';\nimport addressVM from './address-vm';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.contributions.edit.errors');\nconst I18nIntScope = _.partial(h.i18nScope, 'projects.contributions.edit_international.errors');\n\nconst paymentVM = () => {\n const pagarme = prop({}),\n defaultCountryID = addressVM.defaultCountryID,\n submissionError = prop(false),\n isLoading = prop(false);\n\n const setCsrfToken = (xhr) => {\n if (h.authenticityToken()) {\n xhr.setRequestHeader('X-CSRF-Token', h.authenticityToken());\n }\n };\n\n const fields = {\n completeName: prop(''),\n anonymous: h.toggleProp(false, true),\n address: prop(addressVM({ data: { country_id: addressVM.defaultCountryID } })),\n ownerDocument: prop(''),\n errors: prop([])\n };\n\n const creditCardFields = {\n name: prop(''),\n number: prop(''),\n expMonth: prop(''),\n expYear: prop(''),\n save: prop(false),\n cvv: prop(''),\n errors: prop([]),\n cardOwnerDocument: prop('')\n };\n\n const populateForm = (fetchedData) => {\n const data = _.first(fetchedData) || { address: {} };\n\n if (!_.isEmpty(data.address)) {\n fields.address().setFields(data.address);\n }\n\n fields.completeName(data.name);\n fields.ownerDocument(data.owner_document);\n\n creditCardFields.cardOwnerDocument(data.owner_document);\n h.redraw();\n };\n\n const expMonthOptions = () => [\n [null, 'Mês'],\n [1, '01 - Janeiro'],\n [2, '02 - Fevereiro'],\n [3, '03 - Março'],\n [4, '04 - Abril'],\n [5, '05 - Maio'],\n [6, '06 - Junho'],\n [7, '07 - Julho'],\n [8, '08 - Agosto'],\n [9, '09 - Setembro'],\n [10, '10 - Outubro'],\n [11, '11 - Novembro'],\n [12, '12 - Dezembro']\n ];\n\n const expYearOptions = () => {\n const currentYear = moment().year();\n const yearsOptions = ['Ano'];\n for (let i = currentYear; i <= currentYear + 25; i++) {\n yearsOptions.push(i);\n }\n return yearsOptions;\n };\n\n const isInternational = (value) => {\n if (value) {\n fields.address().international(value);\n return value;\n }\n return parseInt(fields.address().fields.countryID()) !== defaultCountryID;\n }\n\n const scope = data => isInternational() ? I18nIntScope(data) : I18nScope(data);\n\n const getLocale = () => isInternational()\n ? { locale: 'en' }\n : { locale: 'pt' };\n\n const faq = (mode = 'aon') => window.I18n.translations[window.I18n.currentLocale()].projects.faq[mode],\n currentUser = h.getUser() || {};\n\n const checkEmptyFields = checkedFields => _.map(checkedFields, (field) => {\n const val = fields[field]();\n\n if (!h.existy(val) || _.isEmpty(String(val).trim())) {\n fields.errors().push({ field, message: window.I18n.t('validation.empty_field', scope()) });\n }\n });\n\n const checkEmail = () => {\n const isValid = h.validateEmail(fields.email());\n\n if (!isValid) {\n fields.errors().push({ field: 'email', message: window.I18n.t('validation.email', scope()) });\n }\n };\n\n const checkDocument = () => {\n const document = fields.ownerDocument() || '',\n striped = String(document).replace(/[\\.|\\-|\\/]*/g, '');\n let isValid = false,\n errorMessage = '';\n\n if (document.length > 14) {\n isValid = h.validateCnpj(document);\n errorMessage = 'CNPJ inválido.';\n } else {\n isValid = h.validateCpf(striped);\n errorMessage = 'CPF inválido.';\n }\n\n if (!isValid) {\n fields.errors().push({ field: 'ownerDocument', message: errorMessage });\n }\n };\n\n const validate = () => {\n fields.errors([]);\n if (!fields.address().fields.validate()) {\n return false;\n }\n\n checkEmptyFields(['completeName']);\n\n if (!isInternational()) {\n checkEmptyFields(['ownerDocument']);\n checkDocument();\n }\n\n return _.isEmpty(fields.errors());\n };\n\n const getSlipPaymentDate = (contribution_id) => {\n const paymentDate = prop();\n\n m.request({\n method: 'GET',\n config: setCsrfToken,\n url: `/payment/pagarme/${contribution_id}/slip_data`\n }).then(paymentDate);\n\n return paymentDate;\n };\n\n const sendSlipPayment = (contribution_id, project_id, error, loading, completed) => {\n m.request({\n method: 'post',\n url: `/payment/pagarme/${contribution_id}/pay_slip.json`,\n dataType: 'json'\n }).then((data) => {\n if (data.payment_status == 'failed') {\n error(window.I18n.t('submission.slip_submission', scope()));\n } else if (data.boleto_url) {\n completed(true);\n window.location.href = `/projects/${project_id}/contributions/${contribution_id}`;\n }\n loading(false);\n m.redraw();\n }).catch((errorCatched) => {\n error(window.I18n.t('submission.slip_submission', scope()));\n loading(false);\n completed(false);\n m.redraw();\n h.captureException(errorCatched);\n });\n };\n\n const updateContributionData = (contribution_id, project_id) => {\n const contributionData = {\n anonymous: fields.anonymous(),\n payer_document: fields.ownerDocument(),\n payer_name: fields.completeName(),\n address_attributes: fields.address().getFields(),\n card_owner_document: creditCardFields.cardOwnerDocument()\n };\n\n return m.request({\n method: 'PUT',\n url: `/projects/${project_id}/contributions/${contribution_id}.json`,\n data: { contribution: contributionData },\n config: setCsrfToken\n })\n .catch((error) => {\n h.captureException(error);\n throw error;\n });\n };\n\n const paySlip = (contribution_id, project_id, error, loading, completed) => {\n error(false);\n m.redraw();\n if (validate()) {\n updateContributionData(contribution_id, project_id)\n .then(() => {\n sendSlipPayment(contribution_id, project_id, error, loading, completed);\n })\n .catch(() => {\n loading(false);\n error(window.I18n.t('submission.slip_validation', scope()));\n m.redraw();\n });\n } else {\n loading(false);\n error(window.I18n.t('submission.slip_validation', scope()));\n m.redraw();\n }\n };\n\n const savedCreditCards = prop([]);\n\n const getSavedCreditCards = (user_id) => {\n const otherSample = {\n id: -1\n };\n\n return m.request({\n method: 'GET',\n config: setCsrfToken,\n url: `/users/${user_id}/credit_cards`\n }).then((creditCards) => {\n if (_.isArray(creditCards)) {\n creditCards.push(otherSample);\n } else {\n creditCards = [];\n }\n\n return savedCreditCards(creditCards);\n });\n };\n\n const kondutoExecute = function () {\n const customerID = h.getUserID();\n\n if (customerID) {\n var period = 300;\n var limit = 20 * 1e3;\n var nTry = 0;\n var intervalID = setInterval(function () {\n var clear = limit / period <= ++nTry;\n if ((typeof (Konduto) !== \"undefined\") && (typeof (Konduto.setCustomerID) !== \"undefined\")) {\n window.Konduto.setCustomerID(customerID);\n clear = true;\n }\n if (clear) {\n clearInterval(intervalID);\n }\n }, period);\n }\n };\n\n const requestPayment = (data, contribution_id) => {\n kondutoExecute();\n return m.request({\n method: 'POST',\n url: `/payment/pagarme/${contribution_id}/pay_credit_card`,\n data,\n config: setCsrfToken\n }).catch((error) => {\n h.captureException(error);\n throw error;\n });\n };\n\n const payWithSavedCard = (creditCard, installment, contribution_id) => {\n const data = {\n card_id: creditCard.card_key,\n payment_card_installments: installment\n };\n return requestPayment(data, contribution_id);\n };\n\n const payWithNewCard = (contribution_id, installment) => {\n const p = new Promise((resolve, reject) => {\n m.request({\n method: 'GET',\n url: `/payment/pagarme/${contribution_id}/get_encryption_key`,\n config: setCsrfToken\n }).then((data) => {\n const encryptionKey = data.key;\n const card = h.buildCreditCard(creditCardFields);\n\n window.pagarme.client.connect({ encryption_key: encryptionKey })\n .then(client => client.security.encrypt(card))\n .then((cardHash) => {\n const data = {\n card_hash: cardHash,\n save_card: creditCardFields.save().toString(),\n payment_card_installments: installment\n };\n\n requestPayment(data, contribution_id)\n .then(resolve)\n .catch(reject);\n })\n .catch((error) => {\n h.captureException(error);\n reject({ message: window.I18n.t('submission.card_invalid', scope()) })\n });\n }).catch((error) => {\n h.captureException(error);\n if (!_.isEmpty(error.message)) {\n reject(error);\n } else {\n reject({ message: window.I18n.t('submission.encryption_error', scope()) });\n }\n });\n });\n\n return p;\n };\n\n const creditCardPaymentSuccess = (deferred, project_id, contribution_id) => (data) => {\n if (data.payment_status === 'failed') {\n const errorMsg = data.message || window.I18n.t('submission.payment_failed', scope());\n\n isLoading(false);\n submissionError(window.I18n.t('submission.error', scope({ message: errorMsg })));\n m.redraw();\n deferred.reject();\n h.captureMessage(errorMsg);\n } else {\n window.location.href = `/projects/${project_id}/contributions/${contribution_id}`;\n }\n };\n\n const creditCardPaymentFail = deferred => (data) => {\n const errorMsg = data.message || window.I18n.t('submission.payment_failed', scope());\n isLoading(false);\n submissionError(window.I18n.t('submission.error', scope({ message: errorMsg })));\n m.redraw();\n deferred.reject();\n h.captureException(data);\n h.captureMessage(errorMsg);\n };\n\n const checkAndPayCreditCard = (deferred, selectedCreditCard, contribution_id, project_id, selectedInstallment) => () => {\n if (selectedCreditCard().id && selectedCreditCard().id !== -1) {\n return payWithSavedCard(selectedCreditCard(), selectedInstallment(), contribution_id)\n .then(creditCardPaymentSuccess(deferred, project_id, contribution_id))\n .catch(creditCardPaymentFail(deferred));\n }\n return payWithNewCard(contribution_id, selectedInstallment)\n .then(creditCardPaymentSuccess(deferred, project_id, contribution_id))\n .catch(creditCardPaymentFail(deferred));\n };\n\n const sendPayment = (selectedCreditCard, selectedInstallment, contribution_id, project_id) => {\n const p = new Promise((resolve, reject) => {\n if (validate()) {\n isLoading(true);\n submissionError(false);\n m.redraw();\n updateContributionData(contribution_id, project_id)\n .then(checkAndPayCreditCard({resolve, reject}, selectedCreditCard, contribution_id, project_id, selectedInstallment))\n .catch((errorMessage) => {\n console.log('Error sending payment:', errorMessage);\n isLoading(false);\n reject();\n });\n } else {\n isLoading(false);\n reject();\n }\n });\n\n return p;\n };\n\n const resetFieldError = fieldName => () => {\n const errors = fields.errors(),\n errorField = _.findWhere(fields.errors(), { field: fieldName }),\n newErrors = _.compose(fields.errors, _.without);\n\n return newErrors(fields.errors(), errorField);\n };\n\n const resetCreditCardFieldError = fieldName => () => {\n const errors = fields.errors(),\n errorField = _.findWhere(creditCardFields.errors(), { field: fieldName }),\n newErrors = _.compose(creditCardFields.errors, _.without);\n\n return newErrors(creditCardFields.errors(), errorField);\n };\n\n const installments = prop([{ value: 10, number: 1 }]);\n\n const getInstallments = contribution_id => m.request({\n method: 'GET',\n url: `/payment/pagarme/${contribution_id}/get_installment`,\n config: h.setCsrfToken\n }).then(installments);\n\n const creditCardMask = _.partial(h.mask, '9999 9999 9999 9999');\n\n const applyCreditCardMask = _.compose(creditCardFields.number, creditCardMask);\n\n const fetchUser = () => usersVM.fetchUser(currentUser.user_id, false).then(userDetails => {\n populateForm(userDetails);\n h.redraw();\n return userDetails;\n });\n\n return {\n fetchUser,\n fields,\n validate,\n isInternational,\n resetFieldError,\n getSlipPaymentDate,\n paySlip,\n installments,\n getInstallments,\n savedCreditCards,\n getSavedCreditCards,\n applyCreditCardMask,\n creditCardFields,\n resetCreditCardFieldError,\n expMonthOptions,\n expYearOptions,\n sendPayment,\n submissionError,\n isLoading,\n pagarme,\n locale: getLocale,\n faq,\n kondutoExecute\n };\n};\n\nexport default paymentVM;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport rewardVM from '../vms/reward-vm';\nimport projectVM from '../vms/project-vm';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.contributions');\n\nconst rewardSelectCard = {\n oninit: function(vnode) {\n const MINIMUM_VALUE = 10;\n const queryRewardValue = h.getParams('value');\n const setInput = localVnode => localVnode.dom.focus();\n const isSelected = currentReward => (currentReward.id == null && !rewardVM.selectedReward() && queryRewardValue) || (rewardVM.selectedReward() && currentReward.id === rewardVM.selectedReward().id);\n const selectedDestination = prop('');\n const queryRewardId = h.getParams('reward_id');\n const isEdit = prop(m.route.param('subscription_id'));\n const subscriptionStatus = m.route.param('subscription_status');\n const isReactivation = prop(subscriptionStatus === 'inactive' || subscriptionStatus === 'canceled');\n if (queryRewardValue) {\n rewardVM.setValue(h.formatNumber(Number(queryRewardValue / 100), 2, 3));\n }\n\n const submitContribution = (event) => {\n const numberValue = h.monetaryToFloat(rewardVM.contributionValue)\n const valueFloat = _.isNaN(numberValue) ? MINIMUM_VALUE : numberValue;\n const shippingFee = rewardVM.selectedReward() != null && rewardVM.hasShippingOptions(rewardVM.selectedReward()) ? rewardVM.shippingFeeForCurrentReward(selectedDestination) : {\n value: 0\n };\n\n if (!selectedDestination() && rewardVM.selectedReward() != null && rewardVM.hasShippingOptions(rewardVM.selectedReward())) {\n rewardVM.error('Por favor, selecione uma opção de frete válida.');\n } else if (valueFloat < rewardVM.selectedReward().minimum_value + shippingFee.value) {\n rewardVM.error(`O valor de apoio para essa recompensa deve ser de no mínimo R$${rewardVM.selectedReward().minimum_value} ${projectVM.isSubscription(projectVM.currentProject()) ? '' : `+ frete R$${h.formatNumber(shippingFee.value, 2, 3)}`}`);\n } else {\n rewardVM.error('');\n if (vnode.attrs.isSubscription) {\n const currentRewardId = rewardVM.selectedReward().id;\n h.navigateTo(`/projects/${projectVM.currentProject().project_id}/subscriptions/checkout?contribution_value=${valueFloat}${currentRewardId ? `&reward_id=${currentRewardId}` : ''}${isEdit() ? `&subscription_id=${m.route.param('subscription_id')}` : ''}${isReactivation() ? `&subscription_status=${subscriptionStatus}` : ''}`);\n } else {\n const valueUrl = window.encodeURIComponent(String(valueFloat).replace('.', ',')); \n h.navigateTo(`/projects/${projectVM.currentProject().project_id}/contributions/fallback_create?contribution%5Breward_id%5D=${rewardVM.selectedReward().id}&contribution%5Bvalue%5D=${valueUrl}&contribution%5Bshipping_fee_id%5D=${shippingFee.id}`);\n }\n }\n\n event.stopPropagation();\n\n return false;\n };\n\n const selectDestination = (destination) => {\n selectedDestination(destination);\n const shippingFee = rewardVM.shippingFeeForCurrentReward(selectedDestination) ?\n Number(rewardVM.shippingFeeForCurrentReward(selectedDestination).value) :\n 0;\n const rewardMinValue = Number(rewardVM.selectedReward().minimum_value);\n rewardVM.applyMask(`${h.formatNumber(shippingFee + rewardMinValue, 2, 3)}`);\n };\n\n const normalReward = (reward) => {\n if (_.isEmpty(reward)) {\n return {\n id: null,\n description: '',\n minimum_value: 5,\n shipping_options: null,\n row_order: -999999\n };\n }\n\n return reward;\n };\n\n\n if (vnode.attrs.reward.id === Number(queryRewardId)) {\n rewardVM.selectReward(vnode.attrs.reward).call();\n }\n\n rewardVM.getStates();\n\n vnode.state = {\n normalReward,\n isSelected,\n setInput,\n submitContribution,\n selectDestination,\n selectedDestination,\n locationOptions: rewardVM.locationOptions,\n states: rewardVM.getStates(),\n selectReward: rewardVM.selectReward,\n error: rewardVM.error,\n applyMask: rewardVM.applyMask,\n contributionValue: rewardVM.contributionValue\n };\n },\n view: function({state, attrs}) {\n const reward = state.normalReward(attrs.reward);\n\n return (h.rewardSouldOut(reward) ? m('') : m('span.radio.w-radio.w-clearfix.back-reward-radio-reward', {\n class: state.isSelected(reward) ? 'selected' : '',\n onclick: state.selectReward(reward)\n },\n m(`label[for=\"contribution_reward_id_${reward.id}\"]`, [\n m(`input.radio_buttons.optional.w-input.text-field.w-radio-input.back-reward-radio-button[id=\"contribution_reward_id_${reward.id}\"][type=\"radio\"][value=\"${reward.id}\"]`, {\n checked: state.isSelected(reward),\n name: 'contribution[reward_id]'\n }),\n m(`label.w-form-label.fontsize-base.fontweight-semibold.u-marginbottom-10[for=\"contribution_reward_${reward.id}\"]`, !reward.id ? 'Apoiar sem recompensa' :\n `R$ ${h.formatNumber(reward.minimum_value)} ou mais${attrs.isSubscription ? ' por mês' : ''}`\n ), !state.isSelected(reward) ? '' : m('.w-row.back-reward-money', [\n rewardVM.hasShippingOptions(reward) ?\n m('.w-sub-col.w-col.w-col-4', [\n m('.fontcolor-secondary.u-marginbottom-10',\n 'Local de entrega'\n ),\n m('select.positive.text-field.w-select', {\n onchange: m.withAttr('value', state.selectDestination)\n },\n _.map(state.locationOptions(reward, state.selectedDestination),\n option => m('option', {\n value: option.value\n }, [\n `${option.name} `,\n option.value != '' ? `+R$${h.formatNumber(option.fee, 2, 3)}` : null\n ])\n )\n )\n ]) : '',\n m('.w-sub-col.w-col.w-clearfix', {\n class: rewardVM.hasShippingOptions(reward) ?\n 'w-col-4' : 'w-col-8'\n }, [\n m('.fontcolor-secondary.u-marginbottom-10', `Valor do apoio${attrs.isSubscription ? ' mensal' : ''}`),\n m('.w-row.u-marginbottom-20', [\n m('.w-col.w-col-3.w-col-small-3.w-col-tiny-3',\n m('.back-reward-input-reward.medium.placeholder',\n 'R$'\n )\n ),\n m('.w-col.w-col-9.w-col-small-9.w-col-tiny-9',\n m('input.back-reward-input-reward.medium.w-input', {\n autocomplete: 'off',\n min: reward.minimum_value,\n placeholder: reward.minimum_value,\n type: 'tel',\n oncreate: state.setInput,\n onkeyup: m.withAttr('value', state.applyMask),\n value: state.contributionValue()\n })\n )\n ]),\n m('.fontsize-smaller.text-error.u-marginbottom-20.w-hidden', [\n m('span.fa.fa-exclamation-triangle'),\n ' O valor do apoio está incorreto'\n ])\n ]),\n m('.submit-form.w-col.w-col-4',\n m('button.btn.btn-medium.u-margintop-30', {\n onclick: state.submitContribution\n }, [\n 'Continuar ',\n m('span.fa.fa-chevron-right')\n ])\n )\n ]),\n state.error().length > 0 && state.isSelected(reward) ? m('.text-error', [\n m('br'),\n m('span.fa.fa-exclamation-triangle'),\n ` ${state.error()}`\n ]) : '',\n m('.fontsize-smaller.fontweight-semibold',\n reward.title\n ),\n m('.back-reward-reward-description', [\n (\n reward.uploaded_image ? \n (\n m(\"div.u-marginbottom-20.w-row\", [\n m(\"div.w-col.w-col-8\", \n m(`img[src='${reward.uploaded_image}'][alt='']`)\n ),\n m(\"div.w-col.w-col-4\")\n ])\n )\n :\n ''\n ),\n m('.fontsize-smaller.u-marginbottom-10.fontcolor-secondary', reward.description),\n m('.u-marginbottom-20.w-row', [!reward.deliver_at || attrs.isSubscription ? '' : m('.w-col.w-col-6', [\n m('.fontsize-smallest.fontcolor-secondary', 'Entrega Prevista:'),\n m('.fontsize-smallest', h.momentify(reward.deliver_at, 'MMM/YYYY'))\n ]),\n attrs.isSubscription || (!rewardVM.hasShippingOptions(reward) && reward.shipping_options !== 'presential') ? '' : m('.w-col.w-col-6', [\n m('.fontsize-smallest.fontcolor-secondary', 'Envio:'),\n m('.fontsize-smallest', window.I18n.t(`shipping_options.${reward.shipping_options}`, I18nScope()))\n ])\n ])\n ])\n ])\n ));\n }\n};\n\nexport default rewardSelectCard;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport userVM from '../vms/user-vm';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.faq');\n\nconst faqBox = {\n oninit: function(vnode) {\n const mode = vnode.attrs.mode === 'sub' && vnode.attrs.isEdit ? vnode.attrs.isReactivate ? 'sub_reactivate' : 'sub_edit' : vnode.attrs.mode,\n questions = vnode.attrs.faq.questions,\n selectedQuestion = prop(-1),\n user = prop({ name: '...' }),\n tKey = () => !vnode.attrs.vm.isInternational()\n ? `${mode}`\n : `international.${mode}`;\n\n const selectQuestion = idx => () => idx === selectedQuestion()\n ? selectedQuestion(-1)\n : selectedQuestion(idx);\n\n // This function rewrites questions from translate with proper scope for links\n const scopedQuestions = () => {\n const updatedQuestions = {};\n _.each(questions, (quest, idx) => {\n _.extend(updatedQuestions, {\n [idx + 1]: {\n question: window.I18n.t(`${tKey()}.questions.${idx}.question`, I18nScope()),\n answer: window.I18n.t(`${tKey()}.questions.${idx}.answer`,\n I18nScope(\n { userLink: `/users/${user().id}`,\n userName: user().public_name || user().name\n }\n )\n )\n }\n });\n });\n return updatedQuestions;\n };\n\n userVM.fetchUser(vnode.attrs.projectUserId, false).then(data => user(_.first(data)));\n\n vnode.state = {\n scopedQuestions,\n selectQuestion,\n selectedQuestion,\n tKey\n };\n },\n view: function({state, attrs}) {\n const image = attrs.mode === 'sub'\n ? m('div', m('img.u-marginbottom-10[width=\"130\"][src=\"/assets/catarse_bootstrap/badge-sub-h.png\"]'))\n : m('.w-col.w-col-2.w-col-small-2.w-col-tiny-2',\n m('img[width=\\'30\\']', {\n src: attrs.mode === 'aon' ? '/assets/aon-badge.png' : '/assets/flex-badge.png'\n })\n );\n return m('.faq-box.w-hidden-small.w-hidden-tiny.card.u-radius',\n [\n m('.w-row.u-marginbottom-30',\n [\n image,\n m('.w-col.w-col-10.w-col-small-10.w-col-tiny-10',\n m('.w-inline-block.fontsize-smallest.w-inline-block.fontcolor-secondary',\n window.I18n.t(`${state.tKey()}.description`, I18nScope())\n )\n )\n ]\n ),\n m('.u-marginbottom-20.fontsize-small.fontweight-semibold',\n window.I18n.t(`${attrs.vm.isInternational() ? 'international_title' : 'title'}`, I18nScope())\n ),\n m('ul.w-list-unstyled',\n _.map(state.scopedQuestions(), (question, idx) => [\n m(`li#faq_question_${idx}.fontsize-smaller.alt-link.list-question`, {\n onclick: state.selectQuestion(idx)\n }, m('span',\n [\n m('span.faq-box-arrow'),\n ` ${question.question}`\n ]\n )\n ),\n m('li.list-answer', {\n class: state.selectedQuestion() === idx ? 'list-answer-opened' : ''\n }, m(`p#faq_answer_${idx}.fontsize-smaller`, m.trust(question.answer))\n )\n ])\n )\n ]\n );\n }\n};\n\nexport default faqBox;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport rewardVM from '../vms/reward-vm';\nimport paymentVM from '../vms/payment-vm';\nimport projectVM from '../vms/project-vm';\nimport projectHeaderTitle from '../c/project-header-title';\nimport rewardSelectCard from '../c/reward-select-card';\nimport h from '../h';\nimport faqBox from '../c/faq-box';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.contributions');\n\nconst projectsContribution = {\n oninit: function(vnode) {\n\n const {\n ViewContentEvent,\n } = projectVM;\n \n projectVM.sendPageViewForCurrentProject(null, [ ViewContentEvent() ]);\n\n const rewards = () => _.union(\n [{\n id: null,\n description: 'Obrigado. Eu só quero ajudar o projeto.',\n minimum_value: 10,\n shipping_options: null,\n row_order: -9999999\n }],\n projectVM.rewardDetails()\n );\n\n const submitContribution = () => {\n const valueFloat = h.monetaryToFloat(rewardVM.contributionValue);\n\n if (valueFloat < rewardVM.selectedReward().minimum_value) {\n rewardVM.error(`O valor de apoio para essa recompensa deve ser de no mínimo R$${rewardVM.selectedReward().minimum_value}`);\n } else {\n rewardVM.error('');\n h.navigateTo(`/projects/${projectVM.currentProject().project_id}/contributions/fallback_create?contribution%5Breward_id%5D=${rewardVM.selectedReward().id}&contribution%5Bvalue%5D=${valueFloat}`);\n }\n\n return false;\n };\n\n projectVM.getCurrentProject();\n\n vnode.state = {\n project: projectVM.currentProject,\n paymentVM: paymentVM(),\n submitContribution,\n sortedRewards: () => _.sortBy(rewards(), reward => Number(reward.row_order))\n };\n },\n view: function({state, attrs}) {\n const project = state.project;\n\n return m('#contribution-new',\n !_.isEmpty(project()) ? [\n m(`.w-section.section-product.${project().mode}`),\n m(projectHeaderTitle, {\n project\n }),\n m('.w-section.header-cont-new',\n m('.w-container',\n m('.fontweight-semibold.lineheight-tight.text-success.fontsize-large.u-text-center-small-only', [\n 'Escolha a recompensa e o valor do apoio',\n m.trust(' '),\n m('span.fontsize-small.badge.badge-success', '(parcele em até 6x)')\n ])\n )\n ),\n m('.section', m('.w-container', m('.w-row', [\n m('.w-col.w-col-8',\n m('.w-form.back-reward-form',\n m(`form.simple_form.new_contribution[accept-charset=\"UTF-8\"][action=\"/${window.I18n.locale}/projects/${project().id}/contributions/fallback_create\"][id=\"contribution_form\"][method=\"get\"][novalidate=\"novalidate\"]`,\n { onsubmit: state.submitContribution }\n , [\n m('input[name=\"utf8\"][type=\"hidden\"][value=\"✓\"]'),\n _.map(state.sortedRewards(), reward => m(rewardSelectCard, { reward }))\n ])\n )\n ),\n m('.w-col.w-col-4', [\n m('.card.u-marginbottom-20.u-radius.w-hidden-small.w-hidden-tiny', [\n m('.fontsize-small.fontweight-semibold', window.I18n.t('contribution_warning.title', I18nScope())),\n m('.fontsize-smaller.u-marginbottom-10', window.I18n.t('contribution_warning.subtitle', I18nScope())),\n m('.fontcolor-secondary.fontsize-smallest.u-marginbottom-10', window.I18n.t('contribution_warning.info', I18nScope())),\n m(`a.alt-link.fontsize-smallest[target=\"__blank\"][href=\"${window.I18n.t('contribution_warning.link', I18nScope())}\"]`, window.I18n.t('contribution_warning.link_label', I18nScope()))\n ]),\n m(faqBox, {\n mode: project().mode,\n vm: state.paymentVM,\n faq: state.paymentVM.faq(project().mode),\n projectUserId: attrs.project_user_id\n })\n ])\n ])))\n ] : h.loader());\n }\n};\n\nexport default projectsContribution;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport rewardVM from '../vms/reward-vm';\nimport paymentVM from '../vms/payment-vm';\nimport projectVM from '../vms/project-vm';\nimport projectHeaderTitle from '../c/project-header-title';\nimport rewardSelectCard from '../c/reward-select-card';\nimport h from '../h';\nimport faqBox from '../c/faq-box';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.contributions');\n\nconst projectsSubscriptionContribution = {\n oninit: function(vnode) {\n \n const {\n ViewContentEvent,\n } = projectVM;\n \n projectVM.sendPageViewForCurrentProject(null, [ ViewContentEvent() ]);\n \n const rewards = () => _.union(\n [{\n id: null,\n description: '',\n minimum_value: 5,\n shipping_options: null,\n row_order: -9999999\n }],\n projectVM.rewardDetails()\n );\n\n const isEdit = prop(m.route.param('subscription_id'));\n const subscriptionStatus = m.route.param('subscription_status');\n const isReactivation = prop(subscriptionStatus === 'inactive' || subscriptionStatus === 'canceled');\n\n const submitContribution = (event) => {\n const valueFloat = h.monetaryToFloat(rewardVM.contributionValue);\n const currentRewardId = rewardVM.selectedReward().id;\n\n if (valueFloat < rewardVM.selectedReward().minimum_value) {\n rewardVM.error(`O valor de apoio para essa recompensa deve ser de no mínimo R$${rewardVM.selectedReward().minimum_value}`);\n } else {\n rewardVM.error('');\n h.navigateTo(`/projects/${projectVM.currentProject().project_id}/subscriptions/checkout?contribution_value=${valueFloat}${currentRewardId ? `&reward_id=${currentRewardId}` : ''}${isEdit() ? `&subscription_id=${m.route.param('subscription_id')}` : ''}${isReactivation() ? `&subscription_status=${subscriptionStatus}` : ''}`);\n }\n };\n\n projectVM.getCurrentProject();\n\n vnode.state = {\n isEdit,\n isReactivation,\n project: projectVM.currentProject,\n paymentVM: paymentVM(),\n submitContribution,\n sortedRewards: () => _.sortBy(rewards(), reward => Number(reward.row_order))\n };\n },\n view: function({state, attrs}) {\n const project = state.project;\n if (_.isEmpty(project())) {\n return h.loader();\n }\n const faq = state.paymentVM.faq(\n state.isReactivation()\n ? `${project().mode}_reactivate`\n : state.isEdit()\n ? `${project().mode}_edit`\n : project().mode);\n\n return m('#contribution-new', !_.isEmpty(project()) ? [\n m(`.w-section.section-product.${project().mode}`),\n m('.dark.project-main-container',\n m(projectHeaderTitle, {\n project\n })\n ),\n m('.w-section.header-cont-new',\n m('.w-container',\n state.isReactivation()\n ? [m('.fontweight-semibold.lineheight-tight.text-success.fontsize-large.u-text-center-small-only', window.I18n.t('subscription_reactivation_title', I18nScope())),\n m('.fontsize-base', window.I18n.t('subscription_edit_subtitle', I18nScope()))]\n : state.isEdit()\n ? [m('.fontweight-semibold.lineheight-tight.text-success.fontsize-large.u-text-center-small-only', window.I18n.t('subscription_edit_title', I18nScope())),\n m('.fontsize-base', window.I18n.t('subscription_edit_subtitle', I18nScope()))]\n : m('.fontweight-semibold.lineheight-tight.text-success.fontsize-large.u-text-center-small-only', window.I18n.t('subscription_start_title', I18nScope()))\n )\n ),\n m('.section', m('.w-container', m('.w-row', [\n m('.w-col.w-col-8',\n m('.w-form.back-reward-form',\n m(`form.simple_form.new_contribution[accept-charset=\"UTF-8\"][action=\"/projects/${project().id}/subscriptions/checkout\"][id=\"contribution_form\"][method=\"get\"]`, {\n onsubmit: state.submitContribution\n }, [\n _.map(state.sortedRewards(), reward => m(rewardSelectCard, {\n reward,\n isSubscription: projectVM.isSubscription(project),\n isReactivation: state.isReactivation\n }))\n ])\n )\n ),\n m('.w-col.w-col-4', [\n m('.card.u-marginbottom-20.u-radius.w-hidden-small.w-hidden-tiny', [\n m('.fontsize-small.fontweight-semibold', window.I18n.t('contribution_warning.title', I18nScope())),\n m('.fontsize-smaller.u-marginbottom-10', window.I18n.t('contribution_warning.subtitle', I18nScope())),\n m('.fontcolor-secondary.fontsize-smallest.u-marginbottom-10', window.I18n.t('contribution_warning.info', I18nScope())),\n m(`a.alt-link.fontsize-smallest[target=\"__blank\"][href=\"${window.I18n.t('contribution_warning.link', I18nScope())}\"]`, window.I18n.t('contribution_warning.link_label', I18nScope()))\n ]),\n m(faqBox, {\n mode: project().mode,\n vm: state.paymentVM,\n faq,\n projectUserId: attrs.project_user_id,\n isEdit: state.isEdit(),\n isReactivate: state.isReactivation()\n })\n ])\n ])))\n ] : h.loader());\n }\n};\n\nexport default projectsSubscriptionContribution;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.contributions.edit');\nconst I18nIntScope = _.partial(h.i18nScope, 'projects.contributions.edit_international');\nconst paymentBadge = paymentMethod => paymentMethod === 'credit_card'\n ? [m('span.fa.fa-credit-card'), ' Cartão de Crédito']\n : [m('span.fa.fa-barcode'), ' Boleto Bancário'];\n\nconst subscriptionEditModal = {\n oninit: function(vnode) {\n const isLongDescription = reward => reward.description && reward.description.length > 110;\n const scope = attr => vnode.attrs.attrs.vm.isInternational()\n ? I18nIntScope(attr)\n : I18nScope(attr);\n\n vnode.state = {\n isLongDescription,\n toggleDescription: h.toggleProp(false, true),\n scope\n };\n },\n view: function({state, attrs}) {\n const vmIsLoading = attrs.vm.isLoading;\n const newSubscription = attrs.attrs;\n const oldSubscription = attrs.attrs.oldSubscription;\n\n return newSubscription && oldSubscription ? m('.modal-backdrop',\n m('.modal-dialog-outer',\n m('.modal-dialog-inner.modal-dialog-small',\n [\n m('button.modal-close.fa.fa-close.fa-lg.w-inline-block', { onclick: () => {\n vmIsLoading(false);\n attrs.showModal(false);\n } }),\n m('.modal-dialog-header',\n m('.fontsize-large.u-text-center',\n 'Confirme suas alterações'\n )\n ),\n m('.modal-dialog-content',\n [\n m('.u-marginbottom-10',\n [\n m('.fontsize-smaller.fontcolor-secondary',\n 'Recompensa'\n ),\n m('div',\n [\n m('.fontsize-smallest.fontweight-semibold',\n {\n class: state.isLongDescription(newSubscription.reward())\n ? state.toggleDescription()\n ? 'extended'\n : ''\n : 'extended'\n },\n newSubscription.reward().title\n ),\n m('.fontsize-smallest.fontcolor-secondary',\n newSubscription.reward().description\n ? newSubscription.reward().description\n : m.trust(\n window.I18n.t('selected_reward.review_without_reward_html',\n state.scope(\n _.extend({\n value: Number(newSubscription.value).toFixed()\n })\n )\n )\n )\n ),\n state.isLongDescription(newSubscription.reward())\n ? m('a.link-more.link-hidden[href=\"#\"]', {\n onclick: state.toggleDescription.toggle\n },\n ['mais', m('span.fa.fa-angle-down')]\n ) : ''\n ]\n )\n ]\n ),\n m('.divider.u-marginbottom-10'),\n m('.u-marginbottom-10',\n oldSubscription().checkout_data\n && oldSubscription().checkout_data.amount == newSubscription.value\n ? ''\n : [\n m('.fontsize-smaller.fontcolor-secondary',\n 'Valor da assinatura'\n ),\n m('.fontsize-large',\n [\n m('span.fontcolor-terciary', `R$${oldSubscription().checkout_data ? oldSubscription().checkout_data.amount / 100 : ''} `),\n m('span.fa.fa-angle-right.fontcolor-terciary'),\n ` R$${newSubscription.value}`])\n ]\n ),\n m('.divider.u-marginbottom-10'),\n m('.fontsize-smaller.fontcolor-secondary',\n 'Pagamento'\n ),\n m('.w-hidden-small.w-hidden-tiny',\n [\n oldSubscription().payment_method === attrs.paymentMethod\n ? ''\n : m('.fontsize-large.u-marginbottom-10',\n [\n m('span.fontcolor-terciary',\n [paymentBadge(oldSubscription().checkout_data ? oldSubscription().checkout_data.payment_method : ''), ' ']\n ),\n m('span.fa.fa-angle-right.fontcolor-terciary'),\n [' ', paymentBadge(attrs.paymentMethod)]\n ]\n ),\n m('.fontsize-smaller',\n [\n m('span.fontweight-semibold',\n [\n m('span.fa.fa-money.text-success'),\n ' Cobrança hoje: '\n ]\n ),\n 'Nenhuma'\n ]\n ),\n m('.fontsize-smaller.u-marginbottom-10',\n [\n m('span.fontweight-semibold',\n [\n m('span.fa.fa-calendar-o.text-success'),\n ' Próxima cobrança:'\n ]\n ),\n `${h.momentify(oldSubscription().next_charge_at || Date.now())} no valor de R$${newSubscription.value}`\n ]\n )\n ]\n ),\n m('.modal-dialog-nav-bottom',\n m('.w-row',\n [\n m('.w-col.w-col-2.w-col-push-2'),\n m('.u-text-center.w-col.w-col-4',\n m('button.btn.btn-large.u-marginbottom-20', {\n onclick: () => {\n attrs.confirm(true);\n attrs.showModal(false);\n attrs.pay();\n }\n },\n 'Confirmar'\n )\n ),\n m('.w-col.w-col-4',\n m('button.btn.btn-large.u-marginbottom-20.btn-terciary.btn-no-border', { onclick: () => {\n vmIsLoading(false);\n attrs.showModal(false);\n } },\n 'Cancelar'\n )\n )\n ]\n )\n )\n ]\n )\n ]\n )\n )\n ) : m('div', '');\n }\n};\n\nexport default subscriptionEditModal;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport inlineError from './inline-error';\nimport projectVM from '../vms/project-vm';\nimport commonPaymentVM from '../vms/common-payment-vm';\nimport subscriptionEditModal from './subscription-edit-modal';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.contributions.edit');\n\nconst paymentSlip = {\n oninit: function(vnode) {\n const vm = vnode.attrs.vm,\n isSubscriptionEdit = vnode.attrs.isSubscriptionEdit || prop(false),\n slipPaymentDate = projectVM.isSubscription() ? null : vm.getSlipPaymentDate(vnode.attrs.contribution_id),\n loading = prop(false),\n error = prop(false),\n completed = prop(false),\n subscriptionEditConfirmed = prop(false),\n showSubscriptionModal = prop(false),\n isReactivation = vnode.attrs.isReactivation || prop(false);\n\n const buildSlip = () => {\n vm.isLoading(true);\n m.redraw();\n\n if (isSubscriptionEdit()\n && !subscriptionEditConfirmed()\n && !isReactivation()) {\n showSubscriptionModal(true);\n\n return false;\n }\n\n if (projectVM.isSubscription()) {\n const commonData = {\n rewardCommonId: vnode.attrs.reward_common_id,\n userCommonId: vnode.attrs.user_common_id,\n projectCommonId: vnode.attrs.project_common_id,\n amount: vnode.attrs.value * 100\n };\n\n if (isSubscriptionEdit()) {\n commonPaymentVM.sendSlipPayment(vm, _.extend({}, commonData, { subscription_id: vnode.attrs.subscriptionId() }));\n\n return false;\n }\n\n commonPaymentVM.sendSlipPayment(vm, commonData);\n\n return false;\n }\n vm.paySlip(vnode.attrs.contribution_id, vnode.attrs.project_id, error, loading, completed);\n\n return false;\n };\n\n vnode.state = {\n vm,\n buildSlip,\n slipPaymentDate,\n loading,\n completed,\n error,\n isSubscriptionEdit,\n showSubscriptionModal,\n subscriptionEditConfirmed,\n isReactivation\n };\n },\n view: function({state, attrs}) {\n const buttonLabel = state.isSubscriptionEdit() && !attrs.isReactivation() ? window.I18n.t('subscription_edit', I18nScope()) : window.I18n.t('pay_slip', I18nScope());\n\n return m('.w-row',\n m('.w-col.w-col-12',\n m('.u-margintop-30.u-marginbottom-60.u-radius.card-big.card', [\n projectVM.isSubscription() ? '' : m('.fontsize-small.u-marginbottom-20',\n state.slipPaymentDate() ? `Esse boleto bancário vence no dia ${h.momentify(state.slipPaymentDate().slip_expiration_date)}.` : 'carregando...'\n ),\n m('.fontsize-small.u-marginbottom-40',\n 'Ao gerar o boleto, o realizador já está contando com o seu apoio. Pague até a data de vencimento pela internet, casas lotéricas, caixas eletrônicos ou agência bancária.'\n ),\n m('.w-row',\n m('.w-col.w-col-8.w-col-push-2', [\n state.vm.isLoading() ? h.loader() : state.completed() ? '' : m('input.btn.btn-large.u-marginbottom-20', {\n onclick: state.buildSlip,\n value: buttonLabel,\n type: 'submit'\n }),\n state.showSubscriptionModal()\n ? m(subscriptionEditModal,\n {\n attrs,\n vm: state.vm,\n showModal: state.showSubscriptionModal,\n confirm: state.subscriptionEditConfirmed,\n paymentMethod: 'boleto',\n pay: state.buildSlip\n }\n ) : null,\n !_.isEmpty(state.vm.submissionError()) ? m('.card.card-error.u-radius.zindex-10.u-marginbottom-30.fontsize-smaller', m('.u-marginbottom-10.fontweight-bold', m.trust(state.vm.submissionError()))) : '',\n state.error() ? m(inlineError, { message: state.error() }) : '',\n m('.fontsize-smallest.u-text-center.u-marginbottom-30', [\n 'Ao apoiar, você concorda com os ',\n m(`a.alt-link[href=\\'/${window.I18n.locale}/terms-of-use\\']`,\n 'Termos de Uso '\n ),\n 'e ',\n m(`a.alt-link[href=\\'/${window.I18n.locale}/privacy-policy\\']`,\n 'Política de Privacidade'\n )\n ])\n ])\n )\n ])\n )\n );\n }\n};\n\nexport default paymentSlip;\n","import _ from 'underscore';\nimport prop from 'mithril/stream';\n\nconst { CatarseAnalytics } = window;\n\nconst defaultFormat = /(\\d{1,4})/g;\n\nconst slice = [].slice,\n indexOf = [].indexOf || function (item) { for (let i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\nconst cards = [\n {\n type: 'elo',\n patterns: [401178, 401179, 431274, 438935, 451416, 457393, 457631, 457632, 504175, 506699, 5067, 509, 627780, 636297, 636368, 650, 6516, 6550],\n format: defaultFormat,\n length: [16],\n cvvLength: [3],\n luhn: true\n }, {\n type: 'maestro',\n patterns: [5018, 502, 503, 506, 56, 58, 639, 6220, 67],\n format: defaultFormat,\n length: [12, 13, 14, 15, 16, 17, 18, 19],\n cvvLength: [3],\n luhn: true\n }, {\n type: 'forbrugsforeningen',\n patterns: [600],\n format: defaultFormat,\n length: [16],\n cvvLength: [3],\n luhn: true\n }, {\n type: 'dankort',\n patterns: [5019],\n format: defaultFormat,\n length: [16],\n cvvLength: [3],\n luhn: true\n }, {\n type: 'visa',\n patterns: [4],\n format: defaultFormat,\n length: [13, 16],\n cvvLength: [3],\n luhn: true\n }, {\n type: 'mastercard',\n patterns: [51, 52, 53, 54, 55, 22, 23, 24, 25, 26, 27],\n format: defaultFormat,\n length: [16],\n cvvLength: [3],\n luhn: true\n }, {\n type: 'amex',\n patterns: [34, 37],\n format: /(\\d{1,4})(\\d{1,6})?(\\d{1,5})?/,\n length: [15],\n cvvLength: [3, 4],\n luhn: true\n }, {\n type: 'dinersclub',\n patterns: [30, 36, 38, 39],\n format: /(\\d{1,4})(\\d{1,6})?(\\d{1,4})?/,\n length: [14],\n cvvLength: [3],\n luhn: true\n }, {\n type: 'discover',\n patterns: [60, 64, 65, 622],\n format: defaultFormat,\n length: [16],\n cvvLength: [3],\n luhn: true\n }, {\n type: 'unionpay',\n patterns: [62, 88],\n format: defaultFormat,\n length: [16, 17, 18, 19],\n cvvLength: [3],\n luhn: false\n }, {\n type: 'jcb',\n patterns: [35],\n format: defaultFormat,\n length: [16],\n cvvLength: [3],\n luhn: true\n }\n];\n\nconst inputCardType = (num) => {\n let ref;\n if (!num) {\n return null;\n }\n return ((ref = cardFromNumber(num)) != null ? ref.type : void 0) || null;\n};\n\nconst cardFromType = (type) => {\n let card,\n i,\n len;\n for (i = 0, len = cards.length; i < len; i++) {\n card = cards[i];\n if (card.type === type) {\n return card;\n }\n }\n};\n\nconst setCardType = (e, type) => {\n let $target,\n allTypes,\n card,\n cardType,\n val;\n $target = e.currentTarget;\n val = $target.value;\n cardType = inputCardType(val) || 'unknown';\n return type(cardType);\n};\n\nconst formatBackCardNumber = (e, cardNumberProp) => {\n let $target,\n value;\n $target = e.currentTarget;\n value = $target.value;\n if (e.which !== 8) {\n return;\n }\n if (($target.selectionStart != null) && $target.selectionStart !== value.length) {\n return;\n }\n if (/\\d\\s$/.test(value)) {\n e.preventDefault();\n return setTimeout(() => $target.value = cardNumberProp(value.replace(/\\d\\s$/, '')));\n } else if (/\\s\\d?$/.test(value)) {\n e.preventDefault();\n return setTimeout(() => $target.value = cardNumberProp(value.replace(/\\d$/, '')));\n }\n};\n\nconst replaceFullWidthChars = (str) => {\n let chars,\n chr,\n fullWidth,\n halfWidth,\n i,\n idx,\n len,\n value;\n if (str == null) {\n str = '';\n }\n fullWidth = '\\uff10\\uff11\\uff12\\uff13\\uff14\\uff15\\uff16\\uff17\\uff18\\uff19';\n halfWidth = '0123456789';\n value = '';\n chars = str.split('');\n for (i = 0, len = chars.length; i < len; i++) {\n chr = chars[i];\n idx = fullWidth.indexOf(chr);\n if (idx > -1) {\n chr = halfWidth[idx];\n }\n value += chr;\n }\n return value;\n};\n\nconst safeVal = (value, $target, cardNumberProp) => {\n let currPair,\n cursor,\n digit,\n error,\n error1,\n last,\n prevPair;\n try {\n cursor = $target.selectionStart;\n } catch (error1) {\n error = error1;\n cursor = null;\n }\n last = $target.value;\n $target.value = cardNumberProp(value);\n if (cursor !== null && ($target === document.activeElement)) {\n if (cursor === last.length) {\n cursor = value.length;\n }\n if (last !== value) {\n prevPair = last.slice(cursor - 1, +cursor + 1 || 9e9);\n currPair = value.slice(cursor - 1, +cursor + 1 || 9e9);\n digit = value[cursor];\n if (/\\d/.test(digit) && prevPair === (`${digit} `) && currPair === (` ${digit}`)) {\n cursor += 1;\n }\n }\n $target.selectionStart = cursor;\n return $target.selectionEnd = cursor;\n }\n};\n\nconst reFormatCardNumber = (e, cardNumberProp) => {\n const $target = e.currentTarget;\n return setTimeout(() => {\n let value;\n value = $target.value;\n value = replaceFullWidthChars(value);\n value = formatCardNumber(value);\n return safeVal(value, $target, cardNumberProp);\n });\n};\n\nconst formatCardNumber = function (num) {\n let card,\n groups,\n ref,\n upperLength;\n num = num.replace(/\\D/g, '');\n card = cardFromNumber(num);\n if (!card) {\n return num;\n }\n upperLength = card.length[card.length.length - 1];\n num = num.slice(0, upperLength);\n if (card.format.global) {\n return (ref = num.match(card.format)) != null ? ref.join(' ') : void 0;\n }\n groups = card.format.exec(num);\n if (groups == null) {\n return;\n }\n groups.shift();\n groups = _.filter(groups, n => n);\n return groups.join(' ');\n};\n\nconst formatCardInputNumber = (e, cardNumberProp) => {\n let $target,\n card,\n digit,\n length,\n re,\n upperLength,\n value;\n digit = String.fromCharCode(e.which);\n if (!/^\\d+$/.test(digit)) {\n return;\n }\n $target = e.currentTarget;\n value = $target.value;\n card = cardFromNumber(value + digit);\n length = (value.replace(/\\D/g, '') + digit).length;\n upperLength = 16;\n if (card) {\n upperLength = card.length[card.length.length - 1];\n }\n if (length >= upperLength) {\n return;\n }\n if (($target.selectionStart != null) && $target.selectionStart !== value.length) {\n return;\n }\n if (card && card.type === 'amex') {\n re = /^(\\d{4}|\\d{4}\\s\\d{6})$/;\n } else {\n re = /(?:^|\\s)(\\d{4})$/;\n }\n if (re.test(value)) {\n e.preventDefault();\n return setTimeout(() => $target.value = cardNumberProp(`${value} ${digit}`));\n } else if (re.test(value + digit)) {\n e.preventDefault();\n return setTimeout(() => $target.value = cardNumberProp(`${value + digit} `));\n }\n};\n\nconst cardFromNumber = (num) => {\n let card,\n i,\n j,\n len,\n len1,\n p,\n pattern,\n ref;\n num = (`${num}`).replace(/\\D/g, '');\n for (i = 0, len = cards.length; i < len; i++) {\n card = cards[i];\n ref = card.patterns;\n for (j = 0, len1 = ref.length; j < len1; j++) {\n pattern = ref[j];\n p = `${pattern}`;\n if (num.substr(0, p.length) === p) {\n return card;\n }\n }\n }\n};\n\nconst hasTextSelected = ($target) => {\n let ref;\n if (($target.selectionStart != null) && $target.selectionStart !== $target.selectionEnd) {\n return true;\n }\n if ((typeof document !== 'undefined' && document !== null ? (ref = document.selection) != null ? ref.createRange : void 0 : void 0) != null) {\n if (document.selection.createRange().text) {\n return true;\n }\n }\n return false;\n};\n\nconst restrictNumeric = (e) => {\n let input;\n if (e.metaKey || e.ctrlKey) {\n return true;\n }\n if (e.which === 32) {\n return false;\n }\n if (e.which === 0) {\n return true;\n }\n if (e.which < 33) {\n return true;\n }\n input = String.fromCharCode(e.which);\n return !!/[\\d\\s]/.test(input);\n};\n\nconst restrictCardNumber = (e) => {\n let $target,\n card,\n digit,\n value;\n $target = e.currentTarget;\n digit = String.fromCharCode(e.which);\n if (!/^\\d+$/.test(digit)) {\n return;\n }\n if (hasTextSelected($target)) {\n return;\n }\n value = ($target.value + digit).replace(/\\D/g, '');\n card = cardFromNumber(value);\n if (card) {\n return value.length <= card.length[card.length.length - 1];\n }\n return value.length <= 16;\n};\nconst setEvents = (el, cardType, cardNumberProp) => {\n el.onkeypress = (event) => {\n restrictNumeric(event);\n restrictCardNumber(event);\n formatCardInputNumber(event, cardNumberProp);\n };\n el.oninput = (event) => {\n reFormatCardNumber(event, cardNumberProp);\n setCardType(event, cardType);\n };\n el.onkeydown = event => formatBackCardNumber(event, cardNumberProp);\n el.onkeyup = (event) => {\n setCardType(event, cardType);\n };\n el.onpaste = event => reFormatCardNumber(event, cardNumberProp);\n el.onchange = (event) => {\n CatarseAnalytics.oneTimeEvent({ cat: 'contribution_finish', act: 'contribution_cc_edit' });\n reFormatCardNumber(event, cardNumberProp);\n };\n};\n\nconst luhnCheck = (num) => {\n let digit,\n digits,\n i,\n len,\n odd,\n sum;\n odd = true;\n sum = 0;\n digits = (`${num}`).split('').reverse();\n for (i = 0, len = digits.length; i < len; i++) {\n digit = digits[i];\n digit = parseInt(digit, 10);\n if ((odd = !odd)) {\n digit *= 2;\n }\n if (digit > 9) {\n digit -= 9;\n }\n sum += digit;\n }\n return sum % 10 === 0;\n};\n\nconst validateCardNumber = function (num) {\n let card,\n ref;\n num = (`${num}`).replace(/\\s+|-/g, '');\n if (!/^\\d+$/.test(num)) {\n return false;\n }\n card = cardFromNumber(num);\n if (!card) {\n return false;\n }\n return (ref = num.length, indexOf.call(card.length, ref) >= 0) && (card.luhn === false || luhnCheck(num));\n};\n\nconst validateCardExpiry = function (month, year) {\n let currentTime,\n expiry,\n ref;\n if (typeof month === 'object' && 'month' in month) {\n ref = month, month = ref.month, year = ref.year;\n }\n if (!(month && year)) {\n return false;\n }\n month = String(month).trim();\n year = String(year).trim();\n if (!/^\\d+$/.test(month)) {\n return false;\n }\n if (!/^\\d+$/.test(year)) {\n return false;\n }\n if (!((month >= 1 && month <= 12))) {\n return false;\n }\n if (year.length === 2) {\n if (year < 70) {\n year = `20${year}`;\n } else {\n year = `19${year}`;\n }\n }\n if (year.length !== 4) {\n return false;\n }\n expiry = new Date(year, month);\n currentTime = new Date();\n expiry.setMonth(expiry.getMonth() - 1);\n expiry.setMonth(expiry.getMonth() + 1, 1);\n return expiry > currentTime;\n};\n\nconst validateCardcvv = function (cvv, type) {\n let card,\n ref;\n cvv = String(cvv).trim();\n if (!/^\\d+$/.test(cvv)) {\n return false;\n }\n card = cardFromType(type);\n if (card != null) {\n return ref = cvv.length, indexOf.call(card.cvvLength, ref) >= 0;\n }\n return cvv.length >= 3 && cvv.length <= 4;\n};\n\nconst creditCardVM = {\n setEvents,\n validateCardNumber,\n validateCardcvv,\n validateCardExpiry\n};\n\nexport default creditCardVM;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport creditCardVM from '../vms/credit-card-vm';\n\nconst creditCardInput = {\n oninit: function(vnode) {\n const cardType = vnode.attrs.type || prop('unknown');\n // TODO: move all input logic to vdom paradigm\n // CreditCard Input still handle events on a dom-based model.\n const cardNumberProp = vnode.attrs.value;\n const setCreditCardHandlers = (vnode) => {\n creditCardVM.setEvents(vnode.dom, cardType, cardNumberProp);\n };\n\n vnode.state = {\n setCreditCardHandlers,\n cardType\n };\n },\n view: function({state, attrs}) {\n return m(`input.w-input.text-field[name=\"${attrs.name}\"][required=\"required\"][type=\"tel\"]`, {\n onfocus: attrs.onfocus,\n class: attrs.class,\n oncreate: state.setCreditCardHandlers,\n onblur: attrs.onblur\n });\n }\n};\n\nexport default creditCardInput;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport tooltip from './tooltip';\nimport creditCardVM from '../vms/credit-card-vm';\nimport projectVM from '../vms/project-vm';\nimport creditCardInput from './credit-card-input';\nimport inlineError from './inline-error';\nimport subscriptionEditModal from './subscription-edit-modal';\nimport commonPaymentVM from '../vms/common-payment-vm';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.contributions.edit');\nconst I18nIntScope = _.partial(h.i18nScope, 'projects.contributions.edit_international');\n\nconst paymentCreditCard = {\n oninit: function(vnode) {\n const vm = vnode.attrs.vm,\n isSubscriptionEdit = vnode.attrs.isSubscriptionEdit || prop(false),\n subscriptionEditConfirmed = prop(false),\n showSubscriptionModal = prop(false),\n loadingInstallments = prop(true),\n loadingSavedCreditCards = prop(true),\n selectedCreditCard = prop({ id: -1 }),\n selectedInstallment = prop('1'),\n showForm = prop(false),\n creditCardType = prop('unknown'),\n documentMask = _.partial(h.mask, '999.999.999-99'),\n documentCompanyMask = _.partial(h.mask, '99.999.999/9999-99');\n\n const sendSubscriptionPayment = (creditCard, subscriptionVM, commonData) => {\n if (!isSubscriptionEdit()) {\n commonPaymentVM.sendCreditCardPayment(creditCard, subscriptionVM, commonData, vnode.attrs.addressVM);\n\n return false;\n }\n\n if (!subscriptionEditConfirmed() && !vnode.attrs.isReactivation()) {\n showSubscriptionModal(true);\n\n return false;\n }\n\n const data = _.extend({}, commonData, { subscription_id: vnode.attrs.subscriptionId() });\n\n commonPaymentVM.sendCreditCardPayment(\n selectedCreditCard,\n subscriptionVM,\n data,\n vnode.attrs.addressVM\n );\n\n return false;\n };\n\n const handleValidity = (isValid, errorObj) => {\n if (!isValid) {\n vm.creditCardFields.errors().push(errorObj);\n } else {\n const errorsWithout = _.reject(vm.creditCardFields.errors(), err => _.isEqual(err, errorObj));\n vm.creditCardFields.errors(errorsWithout);\n }\n };\n\n const checkcvv = () => {\n const isValid = creditCardVM.validateCardcvv(vm.creditCardFields.cvv(), creditCardType()),\n errorObj = { field: 'cvv', message: window.I18n.t('errors.inline.creditcard_cvv', scope()) };\n\n handleValidity(isValid, errorObj);\n };\n\n const checkExpiry = () => {\n const isValid = creditCardVM.validateCardExpiry(vm.creditCardFields.expMonth(), vm.creditCardFields.expYear()),\n errorObj = { field: 'expiry', message: window.I18n.t('errors.inline.creditcard_expiry', scope()) };\n\n handleValidity(isValid, errorObj);\n };\n\n const checkCreditCard = () => {\n const isValid = creditCardVM.validateCardNumber(vm.creditCardFields.number()),\n errorObj = { field: 'number', message: window.I18n.t('errors.inline.creditcard_number', scope()) };\n\n handleValidity(isValid, errorObj);\n };\n\n const checkCardOwnerDocument = () => {\n const document = vm.creditCardFields.cardOwnerDocument(),\n striped = String(document).replace(/[\\.|\\-|\\/]*/g, '');\n let isValid = false,\n errorMessage = '';\n\n if (document.length > 14) {\n isValid = h.validateCnpj(document);\n errorMessage = 'CNPJ inválido.';\n } else {\n isValid = h.validateCpf(striped);\n errorMessage = 'CPF inválido.';\n }\n\n handleValidity(isValid, { field: 'cardOwnerDocument', message: errorMessage });\n };\n\n const checkCreditCardName = () => {\n const trimmedString = vm.creditCardFields.name().replace(/ /g, '');\n const charsOnly = /^[a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ]*$/;\n const errorObj = { field: 'name', message: window.I18n.t('errors.inline.creditcard_name', scope()) };\n const isValid = !(_.isEmpty(trimmedString) || !charsOnly.test(trimmedString));\n\n handleValidity(isValid, errorObj);\n };\n const onSubmit = () => {\n vm.creditCardFields.errors([]);\n\n if (selectedCreditCard().id === -1) {\n if (!vm.isInternational()) {\n checkCardOwnerDocument();\n }\n checkExpiry();\n checkcvv();\n checkCreditCard();\n checkCreditCardName();\n }\n\n if (vm.creditCardFields.errors().length === 0) {\n if (vnode.attrs.isSubscription) {\n const commonData = {\n rewardCommonId: vnode.attrs.reward_common_id,\n userCommonId: vnode.attrs.user_common_id,\n projectCommonId: vnode.attrs.project_common_id,\n amount: vnode.attrs.value * 100\n };\n sendSubscriptionPayment(selectedCreditCard, vm, commonData);\n } else {\n vm.sendPayment(selectedCreditCard, selectedInstallment, vnode.attrs.contribution_id, vnode.attrs.project_id);\n }\n }\n\n return false;\n };\n\n const applyCreditCardNameMask = _.compose(vm.creditCardFields.name, h.noNumbersMask);\n\n const applyCvvMask = (value) => {\n const setValue = h.numbersOnlyMask(value.substr(0, 4));\n\n return vm.creditCardFields.cvv(setValue);\n };\n\n const applyDocumentMask = (value) => {\n if (value.length > 14) {\n vm.creditCardFields.cardOwnerDocument(documentCompanyMask(value));\n } else {\n vm.creditCardFields.cardOwnerDocument(documentMask(value));\n }\n };\n\n\n const fieldHasError = (fieldName) => {\n const fieldWithError = _.findWhere(vm.creditCardFields.errors(), { field: fieldName });\n\n return fieldWithError ? m(inlineError, { message: fieldWithError.message }) : '';\n };\n\n const buildTooltip = tooltipText => m(tooltip, {\n el: '.tooltip-wrapper.fa.fa-question-circle.fontcolor-secondary',\n text: tooltipText,\n width: 380\n });\n\n const isCreditCardSelected = (card, idx) => selectedCreditCard() === card;\n\n const loadPagarme = (vnode) => {\n const script = document.createElement('script');\n script.src = '//assets.pagar.me/pagarme-js/4.8/pagarme.min.js';\n document.body.appendChild(script);\n script.onload = () => {\n vm.pagarme(window.pagarme);\n };\n };\n\n const selectCreditCard = (card) => {\n selectedCreditCard(card);\n\n if (card.id === -1) {\n showForm(true);\n } else {\n showForm(false);\n }\n };\n\n const scope = attr => vm.isInternational()\n ? I18nIntScope(attr)\n : I18nScope(attr);\n\n // Sum the total amount of installments with taxes and returns a formated string\n const totalAmountOfInstallment = (installments, selectedIndex) => h.formatNumber(installments[selectedIndex - 1].total_amount, 2);\n\n if (!vnode.attrs.isSubscription) {\n vm.getInstallments(vnode.attrs.contribution_id)\n .then(() => {\n loadingInstallments(false);\n m.redraw();\n });\n }\n\n if (!vnode.attrs.hideSave) {\n vm.getSavedCreditCards(vnode.attrs.user_id)\n .then((savedCards) => {\n loadingSavedCreditCards(false);\n selectCreditCard(savedCards[0]);\n m.redraw();\n });\n } else {\n showForm(true);\n }\n\n vnode.state = {\n vm,\n onSubmit,\n fieldHasError,\n buildTooltip,\n loadingInstallments,\n loadingSavedCreditCards,\n installments: vm.installments,\n selectedInstallment,\n savedCreditCards: vm.savedCreditCards,\n creditCard: vm.creditCardFields,\n creditCardType,\n checkCreditCard,\n checkCreditCardName,\n applyCreditCardNameMask,\n applyCreditCardMask: vm.applyCreditCardMask,\n applyDocumentMask,\n checkCardOwnerDocument,\n applyCvvMask,\n checkcvv,\n selectCreditCard,\n isCreditCardSelected,\n expMonths: vm.expMonthOptions(),\n expYears: vm.expYearOptions(),\n loadPagarme,\n scope,\n totalAmountOfInstallment,\n showForm,\n showSubscriptionModal,\n sendSubscriptionPayment,\n subscriptionEditConfirmed,\n isSubscriptionEdit\n };\n },\n view: function({state, attrs}) {\n const isInternational = state.vm.isInternational();\n\n return m('.w-form.u-marginbottom-40', {\n oncreate: state.loadPagarme\n }, [\n m('form[method=\"post\"][name=\"email-form\"]', {\n onsubmit: state.onSubmit\n }, [\n (!attrs.hideSave && !state.loadingSavedCreditCards() && (state.savedCreditCards().length > 1)) ?\n\n m('.my-credit-cards.w-form.back-payment-form-creditcard.records-choice.u-marginbottom-40',\n _.map(state.savedCreditCards(), (card, idx) => m(`div#credit-card-record-${idx}.creditcard-records`, {\n style: 'cursor:pointer;',\n onclick: () => state.selectCreditCard(card)\n }, [\n m('.w-row', [\n m('.w-col.w-col-1',\n m('.back-payment-credit-card-radio-field.w-clearfix.w-radio', [\n m('input', {\n checked: state.isCreditCardSelected(card, idx),\n name: 'payment_subscription_card',\n type: 'radio',\n value: card.card_key\n })\n ])\n ),\n card.id === -1 ?\n m('.w-col.w-col-11',\n m('.fontsize-small.fontweight-semibold.fontcolor-secondary', window.I18n.t('credit_card.use_another', state.scope()))\n ) : [\n m('.w-col.w-col-2',\n m('.fontsize-small.fontweight-semibold.text-success', card.card_brand.toUpperCase())\n ),\n m('.w-col.w-col-5',\n m('.fontsize-small.fontweight-semibold.u-marginbottom-20', `XXXX.XXXX.XXXX.${card.last_digits}`)\n ),\n m('.w-clearfix.w-col.w-col-4', [\n (state.loadingInstallments() || (state.installments().length <= 1)) ? '' :\n m('select.w-select.text-field.text-field-creditcard', {\n onchange: m.withAttr('value', state.selectedInstallment),\n value: state.selectedInstallment()\n }, _.map(state.installments(), installment => m('option', { value: installment.number },\n `${installment.number} X R$ ${ h.formatNumber(installment.amount, 2) } ${window.I18n.t(`credit_card.installments_number.${installment.number}`, state.scope())}`\n ))\n ),\n (\n\t\t\t\t\t\t state.selectedInstallment() > 1 ?\n \tm('.fontsize-small.lineheight-looser.fontweight-semibold.fontcolor-secondary', [\n \twindow.I18n.t('credit_card.total', state.scope()), `R$ ${state.totalAmountOfInstallment(state.installments(), state.selectedInstallment())}`\n \t])\n \t: ''\n\t\t\t\t\t )\n ])\n ]\n ])\n ])\n )\n )\n : !attrs.hideSave && state.loadingSavedCreditCards() ? m('.fontsize-small.u-marginbottom-40', window.I18n.t('credit_card.loading', state.scope())) : '',\n !state.showForm() ? '' : m('#credit-card-payment-form.u-marginbottom-40', [\n m('div#credit-card-name', [\n m('.w-row', [\n m((isInternational ? '.w-col.w-col-12' : '.w-col.w-col-6.w-col-tiny-6.w-sub-col-middle'), [\n m('label.field-label.fontweight-semibold[for=\"credit-card-name\"]',\n window.I18n.t('credit_card.name', state.scope())\n ),\n m('.fontsize-smallest.fontcolor-terciary.u-marginbottom-10.field-label-tip.u-marginbottom-10',\n window.I18n.t('credit_card.name_tip', state.scope())\n ),\n m('input.w-input.text-field[name=\"credit-card-name\"][type=\"text\"]', {\n onfocus: state.vm.resetCreditCardFieldError('name'),\n class: state.fieldHasError('name') ? 'error' : '',\n onblur: state.checkCreditCardName,\n onkeyup: m.withAttr('value', state.applyCreditCardNameMask),\n value: state.creditCard.name()\n }),\n state.fieldHasError('name')\n ]),\n (!isInternational ?\n m('.w-col.w-col-6.w-col-tiny-6.w-sub-col-middle', [\n m('label.field-label.fontweight-semibold[for=\"credit-card-document\"]',\n window.I18n.t('credit_card.document', state.scope())\n ),\n m('.fontsize-smallest.fontcolor-terciary.u-marginbottom-10.field-label-tip.u-marginbottom-10',\n window.I18n.t('credit_card.document_tip', state.scope())\n ),\n m('input.w-input.text-field[name=\"credit-card-document\"][id=\"credit-card-document\"]', {\n onfocus: state.vm.resetCreditCardFieldError('cardOwnerDocument'),\n class: state.fieldHasError('cardOwnerDocument') ? 'error' : '',\n onblur: state.checkCardOwnerDocument,\n onkeyup: m.withAttr('value', state.applyDocumentMask),\n value: state.creditCard.cardOwnerDocument(),\n name: 'card-owner-document'\n }),\n state.fieldHasError('cardOwnerDocument')\n ]) : '')\n ])\n ]),\n m('div#credit-card-number', [\n m('label.field-label.fontweight-semibold[for=\"credit-card-number\"]',\n window.I18n.t('credit_card.number', state.scope())\n ),\n m('.fontsize-smallest.fontcolor-terciary.u-marginbottom-10.field-label-tip.u-marginbottom-10',\n window.I18n.t('credit_card.number_tip', state.scope())\n ),\n m(creditCardInput, {\n onfocus: state.vm.resetCreditCardFieldError('number'),\n onblur: state.checkCreditCard,\n class: state.fieldHasError('number') ? 'error' : '',\n value: state.creditCard.number,\n name: 'credit-card-number',\n type: state.creditCardType\n }),\n state.fieldHasError('number')\n ]),\n m('div#credit-card-date', [\n m('label.field-label.fontweight-semibold[for=\"expiration-date\"]', [\n window.I18n.t('credit_card.expiry', state.scope())\n ]),\n m('.fontsize-smallest.fontcolor-terciary.u-marginbottom-10.field-label-tip.u-marginbottom-10',\n window.I18n.t('credit_card.expiry_tip', state.scope())\n ),\n m('.w-row', [\n m('.w-col.w-col-6.w-col-tiny-6.w-sub-col-middle',\n m('select.w-select.text-field[name=\"expiration-date_month\"]', {\n onfocus: state.vm.resetCreditCardFieldError('expiry'),\n class: state.fieldHasError('expiry') ? 'error' : '',\n onchange: m.withAttr('value', state.creditCard.expMonth),\n value: state.creditCard.expMonth()\n }, _.map(state.expMonths, month => m('option', { value: month[0] }, month[1])))\n ),\n m('.w-col.w-col-6.w-col-tiny-6',\n m('select.w-select.text-field[name=\"expiration-date_year\"]', {\n onfocus: state.vm.resetCreditCardFieldError('expiry'),\n class: state.fieldHasError('expiry') ? 'error' : '',\n onchange: m.withAttr('value', state.creditCard.expYear),\n onblur: state.checkExpiry,\n value: state.creditCard.expYear()\n }, _.map(state.expYears, year => m('option', { value: year }, year)))\n ),\n m('.w-col.w-col-12', state.fieldHasError('expiry'))\n ])\n ]),\n m('div#credit-card-cvv', [\n m('label.field-label.fontweight-semibold[for=\"credit-card-cvv\"]', [\n window.I18n.t('credit_card.cvv', state.scope()),\n state.buildTooltip(window.I18n.t('credit_card.cvv_tooltip', state.scope()))\n ]),\n m('.fontsize-smallest.fontcolor-terciary.u-marginbottom-10.field-label-tip.u-marginbottom-10',\n window.I18n.t('credit_card.cvv_tip', state.scope())\n ),\n m('.w-row', [\n m('.w-col.w-col-8.w-col-tiny-6.w-sub-col-middle',\n m('input.w-input.text-field[name=\"credit-card-cvv\"][type=\"tel\"]', {\n onfocus: state.vm.resetCreditCardFieldError('cvv'),\n class: state.fieldHasError('cvv') ? 'error' : '',\n onkeyup: m.withAttr('value', state.applyCvvMask),\n onblur: state.checkcvv,\n value: state.creditCard.cvv()\n }),\n state.fieldHasError('cvv')\n ),\n m('.w-col.w-col-4.w-col-tiny-6.u-text-center',\n m('img[src=\"https://daks2k3a4ib2z.cloudfront.net/54b440b85608e3f4389db387/57298c1c7e99926e77127bdd_cvv-card.jpg\"][width=\"176\"]')\n )\n ])\n ]),\n (\n (projectVM.isSubscription() || (state.loadingInstallments() || (state.installments().length <= 1))) ? \n '' \n : \n m('.w-row', [\n m('.w-clearfix.w-col.w-col-6', [\n m('label.field-label.fontweight-semibold[for=\"split\"]',\n window.I18n.t('credit_card.installments', state.scope())\n ),\n m('select.text-field.text-field-creditcard.w-select[name=\"split\"]', {\n onchange: m.withAttr('value', state.selectedInstallment),\n value: state.selectedInstallment()\n }, _.map(state.installments(), installment => m(`option[value=\"${installment.number}\"]`,\n `${installment.number} X R$ ${ h.formatNumber(installment.amount, 2) } ${window.I18n.t(`credit_card.installments_number.${installment.number}`, state.scope())}`\n ))),\n (\n state.selectedInstallment() > 1 ?\n m('.fontsize-small.lineheight-looser.fontweight-semibold.fontcolor-secondary', [\n window.I18n.t('credit_card.total', state.scope()), `R$ ${state.totalAmountOfInstallment(state.installments(), state.selectedInstallment())}`\n ])\n : ''\n )\n ]),\n m('.w-col.w-col-6')\n ])\n ),\n attrs.hideSave ? '' : m('.card.card-terciary.u-radius.u-margintop-30',\n m('.fontsize-small.w-clearfix.w-checkbox', [\n m('input#payment_save_card.w-checkbox-input[type=\"checkbox\"][name=\"payment_save_card\"]', {\n onchange: m.withAttr('checked', state.creditCard.save),\n checked: state.creditCard.save()\n }),\n m('label.w-form-label[for=\"payment_save_card\"]',\n window.I18n.t('credit_card.save_card', state.scope())\n )\n ])\n )\n ]),\n m('.w-row', [\n m('.w-col.w-col-8.w-col-push-2', [\n (\n !_.isEmpty(state.vm.submissionError()) ? \n (\n m('.card.card-error.u-radius.zindex-10.u-marginbottom-30.fontsize-smaller',\n m('.u-marginbottom-10.fontweight-bold', m.trust(state.vm.submissionError()))) \n )\n : \n ''\n ),\n (\n state.vm.isLoading() ? \n h.loader() \n : \n m('input.btn.btn-large.u-marginbottom-20[type=\"submit\"]', { \n value: (\n state.isSubscriptionEdit() && !attrs.isReactivation() ? \n window.I18n.t('subscription_edit', state.scope())\n : \n window.I18n.t('credit_card.finish_payment', state.scope())\n )\n })\n ),\n m('.fontsize-smallest.u-text-center.u-marginbottom-30',\n m.trust(\n window.I18n.t('credit_card.terms_of_use_agreement', state.scope())\n )\n )\n ])\n ]),\n state.showSubscriptionModal()\n ? m(subscriptionEditModal,\n {\n attrs,\n vm: state.vm,\n showModal: state.showSubscriptionModal,\n confirm: state.subscriptionEditConfirmed,\n paymentMethod: 'credit_card',\n pay: state.onSubmit\n }\n ) : null\n ])\n ]);\n }\n};\n\nexport default paymentCreditCard;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport paymentSlip from './payment-slip';\nimport paymentCreditCard from './payment-credit-card';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.contributions.edit');\nconst I18nIntScope = _.partial(h.i18nScope, 'projects.contributions.edit_international');\n\nconst paymentForm = {\n oninit: function(vnode) {\n const isSlip = prop(false),\n scope = () => vnode.attrs.vm.isInternational()\n ? I18nIntScope()\n : I18nScope();\n vnode.state = {\n isSlip,\n scope,\n vm: vnode.attrs.vm\n };\n },\n view: function({state, attrs}) {\n return m('#catarse_pagarme_form', [\n m('.u-text-center-small-only.u-marginbottom-30', [\n m('.fontsize-large.fontweight-semibold',\n window.I18n.t('payment_info', state.scope())\n ),\n m('.fontsize-smallest.fontcolor-secondary.fontweight-semibold', [\n m('span.fa.fa-lock'),\n window.I18n.t('safe_payment', state.scope())\n ])\n ]),\n m('.flex-row.u-marginbottom-40', [\n m('a.w-inline-block.btn-select.flex-column.u-marginbottom-20.u-text-center[href=\\'javascript:void(0);\\']', {\n onclick: () => state.isSlip(false),\n class: !state.isSlip() ? 'selected' : ''\n }, [\n m('.fontsize-base.fontweight-semibold',\n window.I18n.t('credit_card_select', state.scope())\n ),\n m('.fontcolor-secondary.fontsize-smallest.u-marginbottom-20',\n window.I18n.t('debit_card_info', state.scope())\n ),\n m('img[src=\\'https://daks2k3a4ib2z.cloudfront.net/54b440b85608e3f4389db387/57299bd8f326a24d4828a0fd_credit-cards.png\\']')\n ]),\n !attrs.vm.isInternational() ? m('a.w-inline-block.btn-select.flex-column.u-marginbottom-20.u-text-center[href=\\'javascript:void(0);\\']', {\n onclick: () => state.isSlip(true),\n class: state.isSlip() ? 'selected' : ''\n }, [\n m('.fontsize-base.fontweight-semibold.u-marginbottom-20',\n 'Boleto bancário'\n ),\n m('img[src=\\'https://daks2k3a4ib2z.cloudfront.net/54b440b85608e3f4389db387/57299c6ef96a6e44489a7a07_boleto.png\\'][width=\\'48\\']')\n ]) : m('.flex-column')\n ]), !state.isSlip() ? m('#credit-card-section', [\n m(paymentCreditCard, attrs)\n ]) : !attrs.vm.isInternational() ? m('#boleto-section', [\n m(paymentSlip, attrs)\n ]) : ''\n ]);\n }\n};\n\nexport default paymentForm;\n","import m from 'mithril';\n\nconst nationalityRadio = {\n oninit: function(vnode) {\n const defaultCountryID = vnode.attrs.defaultCountryID,\n defaultForeignCountryID = vnode.attrs.defaultForeignCountryID,\n international = vnode.attrs.international,\n fields = vnode.attrs.fields;\n\n const setNational = () => {\n fields.countryID(defaultCountryID);\n international(false);\n };\n\n const setInternational = () => {\n fields.countryID(defaultForeignCountryID); // USA\n international(true);\n };\n\n vnode.state = {\n international,\n setNational,\n setInternational\n };\n },\n view: function({state, attrs}) {\n const international = state.international,\n setNational = state.setNational,\n setInternational = state.setInternational;\n\n return m('div',\n m('.w-row', [\n m('.w-col.w-col-4',\n m('.fontsize-small.fontweight-semibold',\n 'Nacionalidade:'\n )\n ),\n m('.w-col.w-col-4',\n m('.fontsize-small.w-radio', [\n m(\"input.w-radio-input[name='nationality'][type='radio']\", {\n checked: !international(),\n onclick: setNational\n }),\n m('label.w-form-label', {\n onclick: setNational\n }, 'Brasileiro (a)')\n ])\n ),\n m('.w-col.w-col-4',\n m('.fontsize-small.w-radio', [\n m(\"input.w-radio-input[name='nationality'][type='radio']\", {\n checked: international(),\n onclick: setInternational\n }),\n m('label.w-form-label', {\n onclick: setInternational\n }, 'International')\n ])\n )\n ])\n );\n }\n};\n\nexport default nationalityRadio;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse } from '../api';\nimport models from '../models';\n\nconst countrySelect = {\n oninit: function(vnode) {\n const countriesLoader = catarse.loader(models.country.getPageOptions()),\n countries = prop(),\n defaultCountryID = vnode.attrs.defaultCountryID,\n defaultForeignCountryID = vnode.attrs.defaultForeignCountryID,\n fields = vnode.attrs.fields,\n international = vnode.attrs.international(fields.countryID() !== '' && fields.countryID() !== defaultCountryID);\n\n const changeCountry = (countryID) => {\n fields.countryID(parseInt(countryID));\n vnode.attrs.international(parseInt(countryID) !== defaultCountryID);\n };\n\n countriesLoader.load().then((countryData) => {\n countries(_.sortBy(countryData, 'name_en'));\n if (vnode.attrs.addVM) {\n vnode.attrs.addVM.countries(countries());\n }\n m.redraw();\n });\n\n vnode.state = {\n changeCountry,\n defaultCountryID,\n defaultForeignCountryID,\n fields,\n international,\n countries\n };\n },\n view: function({state, attrs}) {\n const fields = state.fields;\n if (attrs.countryName) {\n attrs.countryName(state.countries() && fields.countryID() ? _.find(state.countries(), country => country.id === parseInt(fields.countryID())).name_en : '');\n }\n\n return m('.u-marginbottom-30.w-row', [\n m('.w-col.w-col-6', [\n m('.field-label.fontweight-semibold', [\n 'País / ',\n m('em',\n 'Country'\n ),\n ' *'\n ]),\n m('select#country.positive.text-field.w-select', {\n onchange: (e) => {\n state.changeCountry(e.target.value);\n }\n }, [\n (\n !_.isEmpty(state.countries()) ?\n _.map(state.countries(), country => m('option', {\n selected: country.id === state.fields.countryID(),\n value: country.id\n }, country.name_en))\n :\n ''\n )\n ])\n ]),\n m('.w-col.w-col-6')\n ]);\n }\n};\n\nexport default countrySelect;\n","import m from 'mithril';\nimport inlineError from '../c/inline-error';\nimport countrySelect from '../c/country-select';\n\nconst addressFormInternational = {\n view: function({ attrs }) {\n const fields = attrs.fields;\n const disableInternational = attrs.disableInternational;\n const addVM = attrs.addVM;\n const countryName = attrs.countryName;\n const international = attrs.international;\n const defaultCountryID = attrs.defaultCountryID;\n const defaultForeignCountryID = attrs.defaultForeignCountryID;\n const errors = attrs.errors;\n \n return m('form', [\n disableInternational ? '' : m(countrySelect, {\n countryName,\n fields,\n addVM,\n international,\n defaultCountryID,\n defaultForeignCountryID\n }),\n m('div', [\n m('.w-row',\n m('.w-col.w-col-12', [\n m('.field-label.fontweight-semibold',\n 'Address *'\n ),\n m('input.positive.text-field.w-input[required=\"required\"][type=\"text\"]', {\n class: errors.addressStreet() ? 'error' : '',\n value: fields.addressStreet(),\n oninput: m.withAttr('value', fields.addressStreet)\n }),\n errors.addressStreet() ? m(inlineError, {\n message: 'Please fill in an address.'\n }) : ''\n ])),\n m('div',\n m('.w-row', [\n m('.w-sub-col.w-col.w-col-4', [\n m('.field-label.fontweight-semibold',\n 'Zip Code *'\n ),\n m('input.positive.text-field.w-input[required=\\'required\\'][type=\\'text\\']', {\n class: errors.addressZipCode() ? 'error' : '',\n value: fields.addressZipCode(),\n oninput: m.withAttr('value', fields.addressZipCode)\n }),\n errors.addressZipCode() ? m(inlineError, {\n message: 'ZipCode is required'\n }) : '',\n ]),\n m('.w-sub-col.w-col.w-col-4', [\n m('.field-label.fontweight-semibold',\n 'City *'\n ),\n m('input.positive.text-field.w-input[required=\\'required\\'][type=\\'text\\']', {\n class: errors.addressCity() ? 'error' : '',\n value: fields.addressCity(),\n oninput: m.withAttr('value', fields.addressCity)\n }),\n errors.addressCity() ? m(inlineError, {\n message: 'City is required'\n }) : ''\n ]),\n m('.w-col.w-col-4', [\n m('.field-label.fontweight-semibold',\n 'State *'\n ),\n m('input#address-state.positive.text-field.w-input[required=\\'required\\'][type=\\'text\\']', {\n class: errors.addressState() ? 'error' : '',\n value: fields.addressState(),\n oninput: m.withAttr('value', fields.addressState)\n }),\n errors.addressState() ? m(inlineError, {\n message: 'State is required'\n }) : ''\n ])\n ])\n )\n ])\n ]);\n }\n};\n\nexport default addressFormInternational;","import m from 'mithril';\nimport inlineError from '../c/inline-error';\nimport countrySelect from '../c/country-select';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'activerecord.attributes.address');\n\nconst addressFormNational = {\n view: function ({ attrs }) {\n const disableInternational = attrs.disableInternational;\n const countryName = attrs.countryName;\n const fields = attrs.fields;\n const international = attrs.international;\n const defaultCountryID = attrs.defaultCountryID;\n const defaultForeignCountryID = attrs.defaultForeignCountryID;\n const errors = attrs.errors;\n const applyZipcodeMask = attrs.applyZipcodeMask;\n const lookupZipCode = attrs.lookupZipCode;\n const zipCodeErrorMessage = attrs.zipCodeErrorMessage;\n const countryStates = attrs.countryStates;\n const applyPhoneMask = attrs.applyPhoneMask;\n\n return m('.w-form', [\n m('div', [\n disableInternational\n ? null\n : m(countrySelect, {\n countryName,\n fields,\n international,\n defaultCountryID,\n defaultForeignCountryID,\n }),\n m('div', [\n m('.w-row', [\n m('.w-col.w-col-6', [\n m('.field-label', [\n m('span.fontweight-semibold', `${window.I18n.t('address_zip_code', I18nScope())} *`),\n m(\n 'a.fontsize-smallest.alt-link.u-right[href=\\'http://www.buscacep.correios.com.br/sistemas/buscacep/\\'][target=\\'_blank\\']',\n window.I18n.t('zipcode_unknown', I18nScope())\n ),\n ]),\n m('input.positive.text-field.w-input[placeholder=\\'Digite apenas números\\'][required=\\'required\\'][type=\\'text\\']', {\n class: errors.addressZipCode() ? 'error' : '',\n value: fields.addressZipCode(),\n onkeyup: (event) => applyZipcodeMask(event.target.value),\n oninput: e => {\n lookupZipCode(e.target.value);\n },\n }),\n errors.addressZipCode()\n ? m(inlineError, {\n message: zipCodeErrorMessage() ? zipCodeErrorMessage() : 'Informe um CEP válido.',\n })\n : '',\n ]),\n m('.w-col.w-col-6'),\n ]),\n m('.w-row', [\n m('.field-label.fontweight-semibold', `${window.I18n.t('address_street', I18nScope())} *`),\n m('input.positive.text-field.w-input[maxlength=\\'50\\'][required=\\'required\\'][type=\\'text\\']', {\n class: errors.addressStreet() ? 'error' : '',\n value: fields.addressStreet(),\n oninput: m.withAttr('value', fields.addressStreet),\n }),\n errors.addressStreet()\n ? m(inlineError, {\n message: 'Informe um endereço com no máximo 50 caracteres. Se for necessário, use abreviações..',\n })\n : '',\n ]),\n m('.w-row', [\n m('.w-sub-col.w-col.w-col-4', [\n m('.field-label.fontweight-semibold', `${window.I18n.t('address_number', I18nScope())} *`),\n m('input.positive.text-field.w-input[required=\\'required\\'][type=\\'text\\']', {\n class: errors.addressNumber() ? 'error' : '',\n value: fields.addressNumber(),\n oninput: m.withAttr('value', fields.addressNumber),\n }),\n errors.addressNumber()\n ? m(inlineError, {\n message: 'Informe um número.',\n })\n : '',\n ]),\n m('.w-sub-col.w-col.w-col-4', [\n m('.field-label.fontweight-semibold', window.I18n.t('address_complement', I18nScope())),\n m('input.positive.text-field.w-input[maxlength=\"30\"][required=\"required\"][type=\"text\"]', {\n value: fields.addressComplement(),\n oninput: m.withAttr('value', fields.addressComplement),\n }),\n ]),\n m('.w-col.w-col-4', [\n m('.field-label.fontweight-semibold', `${window.I18n.t('address_neighbourhood', I18nScope())} *`),\n m('input.positive.text-field.w-input[maxlength=\"30\"][required=\"required\"][type=\"text\"]', {\n class: errors.addressNeighbourhood() ? 'error' : '',\n value: fields.addressNeighbourhood(),\n oninput: m.withAttr('value', fields.addressNeighbourhood),\n }),\n errors.addressNeighbourhood()\n ? m(inlineError, {\n message: 'Informe um bairro.',\n })\n : '',\n ]),\n ]),\n m('.w-row', [\n m('.w-sub-col.w-col.w-col-6', [\n m('.field-label.fontweight-semibold', `${window.I18n.t('address_city', I18nScope())} *`),\n m('input.positive.text-field.w-input[required=\"required\"][type=\"text\"]', {\n class: errors.addressCity() ? 'error' : '',\n value: fields.addressCity(),\n oninput: m.withAttr('value', fields.addressCity),\n }),\n errors.addressCity()\n ? m(inlineError, {\n message: 'Informe uma cidade.',\n })\n : '',\n ]),\n m('.w-sub-col.w-col.w-col-2', [\n m('.field-label.fontweight-semibold', `${window.I18n.t('address_state', I18nScope())} *`),\n m(\n 'select#address-state.positive.text-field.w-select',\n {\n class: errors.stateID() ? 'error' : '',\n oninput: (event) => {\n const stateSelectedID = Number(event.target.value);\n fields.stateID(stateSelectedID);\n\n if (!_.isEmpty(countryStates())) {\n const countryState = _.first(_.filter(countryStates(), countryState => {\n return stateSelectedID === countryState.id;\n }));\n\n if (countryState) {\n fields.addressState(countryState.acronym);\n } else {\n fields.addressState('');\n }\n }\n },\n },\n [\n m('option', { value: '' }),\n !_.isEmpty(countryStates())\n ? _.map(countryStates(), countryState =>\n m(\n 'option',\n {\n value: countryState.id,\n selected: fields && countryState.id === fields.stateID(),\n },\n countryState.acronym\n )\n )\n : '',\n ]\n ),\n errors.stateID()\n ? m(inlineError, {\n message: 'Informe um estado.',\n })\n : '',\n ]),\n m('.w-col.w-col-4', [\n m('.field-label.fontweight-semibold', `${window.I18n.t('phone_number', I18nScope())} *`),\n m('input#phone.positive.text-field.w-input[placeholder=\"Digite apenas números\"][required=\"required\"][type=\"text\"]', {\n class: errors.phoneNumber() ? 'error' : '',\n value: fields.phoneNumber(),\n onkeyup: (event) => applyPhoneMask(event.target.value)\n }),\n errors.phoneNumber()\n ? m(inlineError, {\n message: 'Informe um telefone válido.',\n })\n : '',\n ]),\n ]),\n ]),\n ]),\n ]);\n },\n};\n\nexport default addressFormNational;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse } from '../api';\nimport h from '../h';\nimport models from '../models';\nimport nationalityRadio from '../c/nationality-radio';\nimport addressVM from '../vms/address-vm';\nimport addressFormInternational from './address-form-international';\nimport addressFormNational from './address-form-national';\n\nconst addressForm = {\n oninit: function(vnode) {\n const parsedErrors = vnode.attrs.parsedErrors;\n const statesLoader = catarse.loader(models.state.getPageOptions()),\n defaultCountryID = addressVM.defaultCountryID,\n defaultForeignCountryID = addressVM.defaultForeignCountryID,\n states = prop([]),\n zipCodeErrorMessage = prop(''),\n fields = vnode.attrs.addressFields,\n phoneMask = _.partial(h.mask, '(99) 9999-99999'),\n zipcodeMask = _.partial(h.mask, '99999-999'),\n applyZipcodeMask = (value) => fields.addressZipCode(zipcodeMask(value)),\n applyPhoneMask = (value) => fields.phoneNumber(phoneMask(value)),\n internationalProp = vnode.attrs.international ? vnode.attrs.international : prop(false),\n international = vnode.attrs.disableInternational ? prop(false) : internationalProp;\n\n const lookupZipCode = zipCode => {\n fields.addressZipCode(zipCode);\n if (zipCode.length === 9) {\n m.request({\n method: 'GET',\n url: `https://api.pagar.me/1/zipcodes/${zipCode}`,\n })\n .then(response => {\n fields.addressState(response.state);\n fields.addressStreet(response.street);\n fields.addressNeighbourhood(response.neighborhood);\n fields.addressCity(response.city);\n fields.stateID(_.find(states(), state => state.acronym === response.state).id);\n fields.errors.addressStreet(false);\n fields.errors.addressNeighbourhood(false);\n fields.errors.addressCity(false);\n fields.errors.stateID(false);\n fields.errors.addressZipCode(false);\n })\n .catch(err => {\n zipCodeErrorMessage(err.errors[0].message);\n fields.errors.addressZipCode(true);\n });\n }\n };\n\n statesLoader.load().then(data => {\n states(data);\n addressVM.states(states());\n fields.states(states());\n h.redraw();\n });\n \n vnode.state = {\n lookupZipCode,\n zipCodeErrorMessage,\n applyPhoneMask,\n applyZipcodeMask,\n defaultCountryID,\n defaultForeignCountryID,\n fields,\n international,\n states,\n parsedErrors\n };\n },\n view: function({ state, attrs }) {\n\n if (state.parsedErrors) {\n const parsedErrors = state.parsedErrors;\n state.fields.errors = {\n countryID: prop(parsedErrors ? parsedErrors.hasError('country_id') : false),\n stateID: prop(parsedErrors ? parsedErrors.hasError('state') : false),\n addressStreet: prop(parsedErrors ? parsedErrors.hasError('street') : false),\n addressNumber: prop(parsedErrors ? parsedErrors.hasError('number') : false),\n addressComplement: prop(false),\n addressNeighbourhood: prop(parsedErrors ? parsedErrors.hasError('neighbourhood') : false),\n addressCity: prop(parsedErrors ? parsedErrors.hasError('city') : false),\n addressState: prop(parsedErrors ? parsedErrors.hasError('state') : false),\n addressZipCode: prop(parsedErrors ? parsedErrors.hasError('zipcode') : false),\n phoneNumber: prop(parsedErrors ? parsedErrors.hasError('phonenumber') : false),\n };\n }\n\n const fields = state.fields,\n international = state.international,\n defaultCountryID = state.defaultCountryID,\n defaultForeignCountryID = state.defaultForeignCountryID,\n countryName = attrs.countryName,\n errors = state.fields.errors,\n applyZipcodeMask = state.applyZipcodeMask,\n lookupZipCode = state.lookupZipCode,\n zipCodeErrorMessage = state.zipCodeErrorMessage,\n countryStates = state.states,\n disableInternational = attrs.disableInternational,\n hideNationality = attrs.hideNationality,\n applyPhoneMask = state.applyPhoneMask;\n\n return m('#address-form.u-marginbottom-30.w-form', [\n !hideNationality\n ? m(\n '.u-marginbottom-30',\n m(nationalityRadio, {\n fields,\n defaultCountryID,\n defaultForeignCountryID,\n international,\n })\n )\n : '',\n international()\n ? m(addressFormInternational, {\n countryName,\n fields,\n disableInternational,\n addVM: attrs.addVM,\n international,\n defaultCountryID,\n defaultForeignCountryID,\n errors,\n applyPhoneMask,\n })\n : m(addressFormNational, {\n disableInternational,\n countryName,\n fields,\n international,\n defaultCountryID,\n defaultForeignCountryID,\n errors,\n applyZipcodeMask,\n lookupZipCode,\n zipCodeErrorMessage,\n countryStates,\n applyPhoneMask,\n }),\n ]);\n },\n};\n\nexport default addressForm;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport moment from 'moment';\nimport { catarse } from '../api';\nimport models from '../models';\nimport h from '../h';\nimport contributionVM from '../vms/contribution-vm';\nimport rewardVM from '../vms/reward-vm';\nimport paymentVM from '../vms/payment-vm';\nimport projectVM from '../vms/project-vm';\nimport addressVM from '../vms/address-vm';\nimport usersVM from '../vms/user-vm';\nimport subscriptionVM from '../vms/subscription-vm';\nimport faqBox from '../c/faq-box';\nimport nationalityRadio from '../c/nationality-radio';\nimport paymentForm from '../c/payment-form';\nimport inlineError from '../c/inline-error';\nimport addressForm from '../c/address-form';\n\nconst { CatarseAnalytics } = window;\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.contributions.edit');\nconst I18nIntScope = _.partial(h.i18nScope, 'projects.contributions.edit_international');\n\nconst projectsSubscriptionCheckout = {\n oninit: function(vnode) {\n const {\n ViewContentEvent,\n AddToCartEvent\n } = projectVM;\n \n projectVM.sendPageViewForCurrentProject(null, [ ViewContentEvent(), AddToCartEvent() ]);\n projectVM.getCurrentProject();\n\n const project = projectVM.currentProject;\n const project_id = m.route.param('project_id');\n const vm = paymentVM();\n const showPaymentForm = prop(false);\n const documentMask = _.partial(h.mask, '999.999.999-99');\n const documentCompanyMask = _.partial(h.mask, '99.999.999/9999-99');\n const isCnpj = prop(false);\n const currentUserID = h.getUserID();\n const user = usersVM.getCurrentUser();\n const oldSubscription = prop({});\n const countriesLoader = catarse.loader(models.country.getPageOptions());\n const error = prop();\n\n const subscriptionId = prop(m.route.param('subscription_id'));\n const isEdit = prop(Boolean(subscriptionId()));\n const subscriptionStatus = m.route.param('subscription_status');\n const isReactivation = prop(subscriptionStatus === 'inactive' || subscriptionStatus === 'canceled');\n\n if (isEdit) {\n subscriptionVM\n .getSubscription(subscriptionId())\n .then(data => oldSubscription(_.first(data)))\n .catch(error);\n }\n\n if (_.isNull(currentUserID)) {\n projectVM.storeSubscribeAction(m.route.get());\n h.navigateToDevise(`?redirect_to=/projects/${project_id}`);\n }\n\n const reward = prop(rewardVM.selectedReward() || rewardVM.noReward);\n let value;\n\n if (_.isString(rewardVM.contributionValue())) {\n value = h.monetaryToFloat(rewardVM.contributionValue);\n } else {\n value = rewardVM.contributionValue();\n }\n\n const valueParam = m.route.param('contribution_value');\n const rewardIdParam = m.route.param('reward_id');\n\n\n if (valueParam) {\n value = rewardVM.contributionValue(Number(valueParam));\n }\n\n if (rewardIdParam) {\n rewardVM.fetchRewards(project_id).then(() => {\n reward(_.findWhere(rewardVM.rewards(), { id: Number(rewardIdParam) }));\n rewardVM.selectedReward(reward());\n m.redraw();\n });\n }\n\n const validateForm = () => {\n if (vm.validate()) {\n showPaymentForm(true);\n h.redraw();\n }\n };\n\n const fieldHasError = (fieldName) => {\n const fieldWithError = _.findWhere(vm.fields.errors(), {\n field: fieldName\n });\n\n return fieldWithError ? m(inlineError, {\n message: fieldWithError.message\n }) : '';\n };\n\n const applyDocumentMask = (value) => {\n if (value.length > 14) {\n isCnpj(true);\n vm.fields.ownerDocument(documentCompanyMask(value));\n } else {\n isCnpj(false);\n vm.fields.ownerDocument(documentMask(value));\n }\n };\n\n const addressChange = fn => (e) => {\n CatarseAnalytics.oneTimeEvent({\n cat: 'contribution_finish',\n act: vm.isInternational ? 'contribution_address_br' : 'contribution_address_int'\n });\n\n if (_.isFunction(fn)) {\n fn(e);\n }\n };\n\n const scope = attr => vm.isInternational() ?\n I18nIntScope(attr) :\n I18nScope(attr);\n\n const isLongDescription = reward => reward.description && reward.description.length > 110;\n\n vm.fetchUser().then(() => {\n\n countriesLoader\n .load()\n .then((countryData) => {\n vm.fields.address().countries(_.sortBy(countryData, 'name_en'));\n h.redraw();\n });\n h.redraw();\n });\n\n vnode.state = {\n project_id,\n addressChange,\n applyDocumentMask,\n fieldHasError,\n validateForm,\n showPaymentForm,\n reward,\n value,\n scope,\n isCnpj,\n isEdit,\n subscriptionId,\n isReactivation,\n vm,\n user,\n project,\n isLongDescription,\n oldSubscription,\n toggleDescription: h.toggleProp(false, true),\n subscriptionStatus\n };\n },\n view: function({state}) {\n const user = state.user(),\n project_id = state.project_id,\n project = state.project(),\n formatedValue = h.formatNumber(state.value, 2, 3),\n anonymousCheckbox = m('.w-row', [\n m('.w-checkbox.w-clearfix', [\n m('input.w-checkbox-input[id=\\'anonymous\\'][name=\\'anonymous\\'][type=\\'checkbox\\']', {\n onclick: () => CatarseAnalytics.event({\n cat: 'contribution_finish',\n act: 'contribution_anonymous_change'\n }),\n onchange: () => {\n state.vm.fields.anonymous.toggle();\n },\n checked: state.vm.fields.anonymous()\n }),\n m('label.w-form-label.fontsize-smallest[for=\\'anonymous\\']',\n window.I18n.t('fields.anonymous', state.scope())\n )\n ]),\n (state.vm.fields.anonymous() ? m('.card.card-message.u-radius.zindex-10.fontsize-smallest',\n m('div', [\n m('span.fontweight-bold', [\n window.I18n.t('anonymous_confirmation_title', state.scope()),\n m('br')\n ]),\n m('br'),\n window.I18n.t('anonymous_confirmation', state.scope())\n ])\n ) : '')\n ]);\n\n return m('#project-payment', (state.vm.fields.address() && user && !_.isEmpty(project)) ? [\n m(`.w-section.section-product.${projectVM.currentProject().mode}`),\n m('.w-section.w-clearfix.section', [\n m('.w-col',\n m('.w-clearfix.w-hidden-main.w-hidden-medium.card.u-radius.u-marginbottom-20', [\n m('.fontsize-smaller.fontweight-semibold.u-marginbottom-20',\n window.I18n.t('selected_reward.value', state.scope())\n ),\n m('.w-clearfix', [\n m('.fontsize-larger.text-success.u-left',\n `R$ ${formatedValue}`\n ),\n m(`a.alt-link.fontsize-smaller.u-right[href=\"/projects/${project_id}/subscriptions/start?${state.reward().id ? `reward_id=${state.reward().id}` : ''}${state.isEdit() ? `&subscription_id=${state.subscriptionId()}` : ''}${state.subscriptionStatus ? `&subscription_status=${state.subscriptionStatus}` : ''}\"]`,\n 'Editar'\n )\n ]),\n m('.divider.u-marginbottom-10.u-margintop-10'),\n m('.back-payment-info-reward', [\n m('.fontsize-smaller.fontweight-semibold.u-marginbottom-10',\n window.I18n.t('selected_reward.reward', state.scope())\n ),\n m('.fontsize-smallest.fontweight-semibold',\n state.reward().title\n ),\n m('.fontsize-smallest.reward-description.opened.fontcolor-secondary', {\n class: state.isLongDescription(state.reward()) ?\n state.toggleDescription() ? 'extended' : '' : 'extended'\n }, state.reward().description ?\n state.reward().description :\n m.trust(\n window.I18n.t('selected_reward.review_without_reward_html',\n state.scope(\n _.extend({\n value: formatedValue\n })\n )\n )\n )\n ),\n state.isLongDescription(state.reward()) ? m('a[href=\"javascript:void(0);\"].link-hidden.link-more.u-marginbottom-20', {\n onclick: state.toggleDescription.toggle\n }, [\n state.toggleDescription() ? 'menos ' : 'mais ',\n m('span.fa.fa-angle-down', {\n class: state.toggleDescription() ? 'reversed' : ''\n })\n ]) : '',\n state.reward().deliver_at ? m('.fontcolor-secondary.fontsize-smallest.u-margintop-10', [\n m('span.fontweight-semibold',\n 'Entrega prevista:'\n ),\n ` ${h.momentify(state.reward().deliver_at, 'MMM/YYYY')}`\n ]) : '',\n (rewardVM.hasShippingOptions(state.reward()) || state.reward().shipping_options === 'presential') ?\n m('.fontcolor-secondary.fontsize-smallest', [\n m('span.fontweight-semibold',\n 'Forma de envio: '\n ),\n window.I18n.t(`shipping_options.${state.reward().shipping_options}`, {\n scope: 'projects.contributions'\n })\n ]) :\n ''\n ])\n ])\n )\n ]),\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-8', [\n m('.w-form', [\n m('form.u-marginbottom-40', [\n m('.u-marginbottom-40.u-text-center-small-only', [\n m('.fontweight-semibold.lineheight-tight.fontsize-large',\n window.I18n.t('title', state.scope())\n ),\n m('.fontsize-smaller',\n window.I18n.t('required', state.scope())\n )\n ]),\n\n (user.name && user.owner_document ?\n m('.card.card-terciary.u-radius.u-marginbottom-40', [\n m('.w-row.u-marginbottom-20', [\n m('.w-col.w-col-2.w-col-small-2.w-col-tiny-2.w-hidden-tiny', [\n m(`img.thumb.u-margintop-10.u-round[src=\"${h.useAvatarOrDefault(user.profile_img_thumbnail)}\"][width=\"100\"]`)\n ]),\n m('.w-col.w-col-10.w-col-small-10.w-col-tiny-10', [\n m('.fontcolor-secondary.fontsize-smallest.u-marginbottom-10', [\n (project ? 'Dados do apoiador ' : 'Dados do usuário '),\n m(`a.alt-link[href=\"/not-my-account?redirect_to=${encodeURIComponent(m.route.get())}\"]`, 'Não é você?')\n ]),\n m('.fontsize-base.fontweight-semibold', user.name),\n (user.owner_document ?\n m('label.field-label', `CPF/CNPJ: ${user.owner_document}`) : ''),\n\n ])\n ]),\n anonymousCheckbox\n\n ]) : ''),\n\n (user.name && user.owner_document) ? '' : m('.card.card-terciary.u-radius.u-marginbottom-40', [\n (m('.w-row', [\n m('.w-col.w-col-7.w-sub-col', [\n m('label.field-label.fontweight-semibold[for=\\'complete-name\\']',\n window.I18n.t('fields.complete_name', state.scope())\n ),\n m('input.positive.w-input.text-field[id=\\'complete-name\\'][name=\\'complete-name\\']', {\n onfocus: state.vm.resetFieldError('completeName'),\n class: state.fieldHasError('completeName') ? 'error' : false,\n type: 'text',\n onchange: m.withAttr('value', state.vm.fields.completeName),\n value: state.vm.fields.completeName(),\n placeholder: 'Nome Completo'\n }),\n state.fieldHasError('completeName')\n ]),\n m('.w-col.w-col-5', state.vm.isInternational() ? '' : [\n m('label.field-label.fontweight-semibold[for=\\'document\\']',\n window.I18n.t('fields.owner_document', state.scope())\n ),\n m('input.positive.w-input.text-field[id=\\'document\\']', {\n onfocus: state.vm.resetFieldError('ownerDocument'),\n class: state.fieldHasError('ownerDocument') ? 'error' : false,\n type: 'tel',\n onkeyup: m.withAttr('value', state.applyDocumentMask),\n value: state.vm.fields.ownerDocument()\n }),\n state.fieldHasError('ownerDocument')\n ]),\n ])),\n anonymousCheckbox\n ]),\n\n m('.card.card-terciary.u-radius.u-marginbottom-40',\n m(addressForm, {\n addVM: state.vm.fields.address(),\n addressFields: state.vm.fields.address().fields,\n international: state.vm.isInternational,\n hideNationality: true\n })\n )\n ])\n ]),\n m('.w-row.u-marginbottom-40', !state.showPaymentForm() ? m('.w-col.w-col-push-3.w-col-6',\n m('button.btn.btn-large', {\n onclick: () => CatarseAnalytics.event({\n cat: 'contribution_finish',\n act: 'contribution_next_click'\n }, state.validateForm)\n },\n window.I18n.t('next_step', state.scope())\n )\n ) : ''),\n state.showPaymentForm() ? m(paymentForm, {\n addressVM: state.vm.fields.address(),\n vm: state.vm,\n project_id,\n isSubscriptionEdit: state.isEdit,\n isReactivation: state.isReactivation,\n subscriptionId: state.subscriptionId,\n user_id: user.id,\n reward: state.reward,\n reward_common_id: state.reward().common_id,\n project_common_id: projectVM.currentProject().common_id,\n user_common_id: user.common_id,\n isSubscription: true,\n oldSubscription: state.oldSubscription,\n value: state.value,\n hideSave: true\n }) : ''\n ]),\n m('.w-col.w-col-4', [\n m('.card.u-marginbottom-20.u-radius.w-hidden-small.w-hidden-tiny', [\n m('.fontsize-smaller.fontweight-semibold.u-marginbottom-20',\n window.I18n.t('selected_reward.value', state.scope())\n ),\n m('.w-clearfix', [\n m('.fontsize-larger.text-success.u-left',\n `R$ ${formatedValue}`\n ),\n m(`a.alt-link.fontsize-smaller.u-right[href=\"/projects/${project_id}/subscriptions/start?${state.reward().id ? `reward_id=${state.reward().id}` : ''}${state.isEdit() ? `&subscription_id=${state.subscriptionId()}` : ''}${state.subscriptionStatus ? `&subscription_status=${state.subscriptionStatus}` : ''}\"]`,\n { oncreate: m.route.link },\n window.I18n.t('selected_reward.edit', state.scope())\n )\n ]),\n m('.divider.u-marginbottom-10.u-margintop-10'),\n m('.fontsize-smaller.fontweight-semibold.u-marginbottom-10',\n window.I18n.t('selected_reward.payment_plan', state.scope())\n ),\n m('.fontsize-smaller',\n [\n m('span.fontweight-semibold',\n [\n m('span.fa.fa-money.text-success'),\n ` ${window.I18n.t('selected_reward.charged_today', state.scope())} `\n ]\n ),\n state.isEdit() && !state.isReactivation()\n ? ` ${window.I18n.t('invoice_none', I18nScope())}`\n : `R$ ${formatedValue}`\n ]\n ),\n m('.fontsize-smaller.u-marginbottom-10',\n [\n m('span.fontweight-semibold',\n [\n m('span.fa.fa-calendar-o.text-success'),\n ` ${window.I18n.t('selected_reward.next_charge', state.scope())} `\n ]\n ),\n state.isEdit() && !state.isReactivation()\n ? state.oldSubscription().next_charge_at\n ? h.momentify(state.oldSubscription().next_charge_at)\n : h.momentify(Date.now())\n : h.lastDayOfNextMonth()\n ]\n ),\n m('.divider.u-marginbottom-10.u-margintop-10'),\n m('.back-payment-info-reward', [\n m('.fontsize-smaller.fontweight-semibold.u-marginbottom-10',\n window.I18n.t('selected_reward.reward', state.scope())\n ),\n m('.fontsize-smallest.fontweight-semibold',\n state.reward().title\n ),\n m('.fontsize-smallest.reward-description.opened.fontcolor-secondary', {\n class: state.isLongDescription(state.reward()) ?\n state.toggleDescription() ? 'extended' : '' : 'extended'\n }, state.reward().description ?\n state.reward().description :\n m.trust(\n window.I18n.t('selected_reward.review_without_reward_html',\n state.scope(\n _.extend({\n value: Number(state.value).toFixed()\n })\n )\n )\n )\n ),\n state.isLongDescription(state.reward()) ? m('a[href=\"javascript:void(0);\"].link-hidden.link-more.u-marginbottom-20', {\n onclick: state.toggleDescription.toggle\n }, [\n state.toggleDescription() ? 'menos ' : 'mais ',\n m('span.fa.fa-angle-down', {\n class: state.toggleDescription() ? 'reversed' : ''\n })\n ]) : ''\n ]),\n ]),\n m(faqBox, {\n mode: project.mode,\n isEdit: state.isEdit(),\n isReactivate: state.isReactivation(),\n vm: state.vm,\n faq: state.vm.faq(state.isEdit() ? state.isReactivation() ? `${project.mode}_reactivate` : `${project.mode}_edit` : project.mode),\n projectUserId: project.user_id\n })\n ])\n ])\n )\n ] : h.loader());\n }\n};\n\nexport default projectsSubscriptionCheckout;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport facebookButton from '../c/facebook-button';\nimport projectShareBox from '../c/project-share-box';\nimport projectRow from '../c/project-row';\nimport UserVM from '../vms/user-vm';\nimport projectVM from '../vms/project-vm';\nimport CommonPaymentVM from '../vms/common-payment-vm.js';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.contributions');\nconst ProjectsSubscriptionThankYou = {\n oninit: function(vnode) {\n\n const {\n ViewContentEvent,\n SubscribeEvent\n } = projectVM;\n \n projectVM.sendPageViewForCurrentProject(vnode.attrs.project_id, [ ViewContentEvent(), SubscribeEvent() ]);\n \n const paymentMethod = m.route.param('payment_method');\n const paymentConfirmed = JSON.parse(m.route.param('payment_confirmed'));\n const paymentId = m.route.param('payment_id');\n const paymentData = prop({});\n const error = prop(false);\n const projectId = m.route.param('project_id');\n const isEdit = m.route.param('is_edit');\n const project = prop({});\n const projectUser = prop();\n const recommendedProjects = UserVM.getUserRecommendedProjects();\n const sendSubscriptionDataToAnalyticsInterceptingPaymentInfoRequest = (payData) => {\n const analyticsData = {\n cat: isEdit ? 'subscription_edition' : 'subscription_creation',\n act: isEdit ? 'subscription_edited' : 'subscription_created',\n extraData: {\n project_id: projectId,\n subscription_id: payData.subscription_id\n }\n };\n h.analytics.event(analyticsData)();\n return payData;\n };\n\n prop\n .merge([paymentData, project, projectUser, error])\n .map(() => {\n h.scrollTop();\n m.redraw();\n });\n\n if (paymentId) {\n CommonPaymentVM\n .paymentInfo(paymentId)\n .then(sendSubscriptionDataToAnalyticsInterceptingPaymentInfoRequest)\n .then(paymentData).catch(() => error(true));\n }\n\n projectVM\n .fetchProject(projectId, false)\n .then((projectData) => {\n project(_.first(projectData));\n return UserVM.fetchUser(project().user.id, false);\n })\n .then(projectUserData => projectUser(_.first(projectUserData)))\n .catch(() => error(true));\n\n vnode.state = {\n displayShareBox: h.toggleProp(false, true),\n recommendedProjects,\n paymentMethod,\n paymentConfirmed,\n project,\n projectUser,\n paymentData,\n error,\n isEdit\n };\n },\n view: function({state, attrs}) {\n const project = state.project();\n const user = h.getUser();\n const projectUser = state.projectUser();\n\n return m('#thank-you', !project ? h.loader() : [\n m('.page-header.u-marginbottom-30',\n m('.w-container',\n m('.w-row',\n m('.w-col.w-col-10.w-col-push-1', [\n m('.u-marginbottom-20.u-text-center',\n projectUser ? m(`img.big.thumb.u-round[src='${projectUser.profile_img_thumbnail}']`) : h.loader()\n ),\n m('#thank-you.u-text-center', [\n m('#creditcard-thank-you.fontsize-larger.text-success.u-marginbottom-20',\n state.isEdit\n ? window.I18n.t('thank_you.subscription_edit.thank_you', I18nScope())\n : window.I18n.t('thank_you.thank_you', I18nScope())\n ),\n m('.fontsize-base.u-marginbottom-40',\n m.trust(\n window.I18n.t(\n state.isEdit\n ? 'thank_you.subscription_edit.text_html'\n : state.paymentMethod === 'credit_card'\n ? 'thank_you.thank_you_text_html'\n : state.paymentConfirmed\n ? 'thank_you_slip.thank_you_text_html'\n : 'thank_you.thank_you_slip_unconfirmed_text_html',\n I18nScope({\n total: project.total_contributions,\n email: user.email,\n link2: `/${window.I18n.locale}/users/${user.user_id}/edit#contributions`,\n link_email: `/${window.I18n.locale}/users/${user.user_id}/edit#about_me`\n })\n )\n )\n ),\n m('.fontsize-base.fontweight-semibold.u-marginbottom-20',\n 'Compartilhe com seus amigos e ajude esse projeto a bater a meta!'\n )\n ]),\n m('.w-row', [\n m('.w-hidden-small.w-hidden-tiny', _.isEmpty(project) ? h.loader() : [\n m('.w-sub-col.w-col.w-col-4', m(facebookButton, {\n url: `https://www.catarse.me/${project.permalink}?ref=ctrse_thankyou&utm_source=facebook.com&utm_medium=social&utm_campaign=project_share`,\n big: true\n })),\n m('.w-sub-col.w-col.w-col-4', m(facebookButton, {\n messenger: true,\n big: true,\n url: `https://www.catarse.me/${project.permalink}?ref=ctrse_thankyou&utm_source=facebook.com&utm_medium=messenger&utm_campaign=thanks_share`\n })),\n m('.w-col.w-col-4', m(`a.btn.btn-large.btn-tweet.u-marginbottom-20[href=\"https://twitter.com/intent/tweet?text=Acabei%20de%20apoiar%20o%20projeto%20${encodeURIComponent(project.name)}%20https://www.catarse.me/${project.permalink}%3Fref%3Dtwitter%26utm_source%3Dtwitter.com%26utm_medium%3Dsocial%26utm_campaign%3Dproject_share\"][target=\"_blank\"]`, [\n m('span.fa.fa-twitter'), ' Twitter'\n ]))\n ]),\n m('.w-hidden-main.w-hidden-medium', [\n m('.u-marginbottom-30.u-text-center-small-only', m('button.btn.btn-large.btn-terciary.u-marginbottom-40', {\n onclick: state.displayShareBox.toggle\n }, 'Compartilhe')),\n state.displayShareBox() ? m(projectShareBox, {\n project: prop({\n permalink: project.permalink,\n name: project.name\n }),\n displayShareBox: state.displayShareBox\n }) : ''\n ])\n ]),\n ])\n\n )\n )\n ),\n state.error()\n ? m('.w-row',\n m('.w-col.w-col-8.w-col-offset-2',\n m('.card.card-error.u-radius.zindex-10.u-marginbottom-30.fontsize-smaller', window.I18n.translate('thank_you.thank_you_error', I18nScope()))\n )\n )\n : state.paymentData().boleto_url\n ? m('.w-row',\n m('.w-col.w-col-8.w-col-offset-2',\n m('iframe.slip', {\n src: state.paymentData().boleto_url,\n width: '100%',\n height: '905px',\n frameborder: '0',\n style: 'overflow: hidden;'\n })\n )\n ) : m('.section.u-marginbottom-40',\n m('.w-container', [\n m('.fontsize-large.fontweight-semibold.u-marginbottom-30.u-text-center',\n window.I18n.t('thank_you.project_recommendations', I18nScope())\n ),\n m(projectRow, {\n collection: state.recommendedProjects,\n ref: 'ctrse_thankyou_r'\n })\n ])\n )\n ]);\n }\n};\n\nexport default ProjectsSubscriptionThankYou;\n","import m from 'mithril';\nimport h from '../h';\nimport userVM from '../vms/user-vm';\nimport UserFollowBtn from './user-follow-btn';\n\nconst userHeader = {\n view: function({attrs}) {\n const user = attrs.user,\n hideDetails = attrs.hideDetails,\n profileImage = userVM.displayImage(user),\n coverImage = userVM.displayCover(user),\n userDisplayName = userVM.displayName(user);\n\n return !user.id ? m('') : m(`.hero-${hideDetails ? 'small' : 'half'}`, [\n m('.w-container.content-hero-profile',\n m('.w-row.u-text-center',\n m('.w-col.w-col-8.w-col-push-2',\n [\n (hideDetails ? '' :\n m('.u-marginbottom-20',\n m('.avatar_wrapper',\n m(`img.thumb.big.u-round[alt='User'][src='${profileImage}']`)\n )\n )),\n m('.fontsize-larger.fontweight-semibold.u-marginbottom-20',\n userDisplayName\n ),\n (hideDetails ? '' :\n [m('.w-hidden-small.w-hidden-tiny.u-marginbottom-40.fontsize-base',\n [\n `Chegou junto em ${h.momentify(user.created_at, 'MMMM [de] YYYY')}`,\n m('br'),\n (user.total_contributed_projects === 0 ? 'Ainda não apoiou projetos' :\n `Apoiou ${h.pluralize(user.total_contributed_projects, ' projeto', ' projetos')}`),\n (user.total_published_projects > 0 ?\n ` e já criou ${h.pluralize(user.total_published_projects, ' projeto', ' projetos')}` : '')\n ]\n ),\n m('.w-row',\n [\n m('.w-col.w-col-4'),\n m('.w-col.w-col-4',\n m(UserFollowBtn, {\n disabledClass: '.btn.btn-medium.btn-secondary-dark.w-button',\n following: user.following_this_user,\n follow_id: user.id })\n ),\n m('.w-col.w-col-4')\n ]\n)\n ])\n ]\n )\n )\n ),\n m('.hero-profile', { style: `background-image:url('${coverImage}');` })\n ]\n );\n }\n};\n\nexport default userHeader;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport models from '../models';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport h from '../h';\nimport userCreatedProjects from '../vms/user-created-projects-vm';\nimport inlineError from './inline-error';\nimport loadMoreBtn from './load-more-btn';\nimport projectCard from './project-card';\n\nconst userCreated = {\n oninit: function(vnode) {\n const user_id = vnode.attrs.userId,\n showDraft = vnode.attrs.showDraft || false,\n error = prop(false);\n\n const states = ['online', 'waiting_funds', 'successful', 'failed'];\n if (showDraft) {\n states.push('draft');\n }\n const contextVM = catarse.filtersVM({ project_user_id: 'eq', state: 'in' });\n contextVM\n .state(states)\n .project_user_id(user_id)\n .order({ updated_at: 'desc' });\n\n const projects = userCreatedProjects.getCreatedProjects();\n projects\n .firstPage(contextVM.parameters())\n .then(() => {\n error(false);\n h.redraw();\n })\n .catch(() => {\n error(true);\n h.redraw();\n });\n\n vnode.state = {\n projects,\n error,\n };\n },\n view: function({ state, attrs }) {\n const projects_collection = state.projects.collection();\n const isLoadingProjects = state.projects.isLoading();\n const hasError = state.error();\n\n return m(\n \".content[id='created-tab']\",\n hasError\n ? m(inlineError, { message: 'Erro ao carregar os projetos.' })\n : !isLoadingProjects\n ? [\n !_.isEmpty(projects_collection)\n ? _.map(projects_collection, project =>\n m(projectCard, {\n project,\n ref: 'user_contributed',\n showFriends: false,\n })\n )\n : m(\n '.w-container',\n m('.u-margintop-30.u-text-center.w-row', [\n m('.w-col.w-col-3'),\n m('.w-col.w-col-6', [\n m('.fontsize-large.u-marginbottom-30', 'O que você está esperando para tirar seu projeto do papel aqui no Catarse?'),\n m('.w-row', [\n m('.w-col.w-col-3'),\n m('.w-col.w-col-6', m(\"a.btn.btn-large[href='/start']\", 'Comece agora!')),\n m('.w-col.w-col-3'),\n ]),\n ]),\n m('.w-col.w-col-3'),\n ])\n ),\n // Load more button\n !_.isEmpty(projects_collection)\n ? m('.w-row.u-marginbottom-40.u-margintop-30', [\n m(loadMoreBtn, {\n collection: state.projects,\n cssClass: '.w-col-push-5',\n }),\n ])\n : '',\n ]\n : h.loader()\n );\n },\n};\n\nexport default userCreated;\n","import models from '../models';\nimport prop from 'mithril/stream';\nimport { catarse } from '../api';\nimport h from '../h';\n\nconst getCreatedProjects = () => {\n models.project.pageSize(9);\n const error = prop(false);\n const createdProjects = catarse.paginationVM(models.project, 'created_at.desc', { Prefer: 'count=exact' });\n\n return {\n firstPage: params => createdProjects.firstPage(params).then(() => h.redraw()),\n isLoading: createdProjects.isLoading,\n collection: createdProjects.collection,\n isLastPage: createdProjects.isLastPage,\n nextPage: () => createdProjects.nextPage().then(() => h.redraw()),\n collection: createdProjects.collection,\n };\n};\n\nexport default {\n getCreatedProjects,\n};\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport models from '../models';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport h from '../h';\nimport userVM from '../vms/user-vm';\nimport contributionVM from '../vms/contribution-vm';\nimport projectCard from './project-card';\nimport inlineError from './inline-error';\nimport loadMoreBtn from './load-more-btn';\n\nconst userContributed = {\n oninit: function(vnode) {\n const contributedProjects = prop(),\n user_id = vnode.attrs.userId,\n pages = contributionVM.getUserContributedProjectsWithFilter(),\n error = prop(false),\n loader = prop(true),\n contextVM = catarse.filtersVM({\n project_id: 'in',\n });\n\n userVM\n .getPublicUserContributedProjects(user_id, null)\n .then(data => {\n contributedProjects(data);\n if (!_.isEmpty(contributedProjects())) {\n contextVM.project_id(_.pluck(contributedProjects(), 'project_id')).order({\n online_date: 'desc',\n });\n\n models.project.pageSize(9);\n pages.firstPage(contextVM.parameters()).then(() => {\n loader(false);\n h.redraw();\n });\n } else {\n loader(false);\n }\n\n h.redraw();\n })\n .catch(err => {\n error(true);\n loader(false);\n h.redraw();\n });\n\n vnode.state = {\n projects: pages,\n error,\n loader,\n };\n },\n view: function({ state, attrs }) {\n const projects_collection = state.projects.collection();\n return state.error()\n ? m(inlineError, { message: 'Erro ao carregar os projetos.' })\n : state.loader()\n ? h.loader()\n : m(\".content[id='contributed-tab']\", [\n !_.isEmpty(projects_collection)\n ? _.map(projects_collection, project =>\n m(projectCard, {\n project,\n ref: 'user_contributed',\n showFriends: false,\n })\n )\n : m(\n '.w-container',\n m('.u-margintop-30.u-text-center.w-row', [\n m('.w-col.w-col-3'),\n m('.w-col.w-col-6', [\n m('.fontsize-large.u-marginbottom-30', 'Ora, ora... você ainda não apoiou nenhum projeto no Catarse!'),\n m('.w-row', [\n m('.w-col.w-col-3'),\n m('.w-col.w-col-6', m(\"a.btn.btn-large[href='/explore']\", 'Que tal apoiar agora?')),\n m('.w-col.w-col-3'),\n ]),\n ]),\n m('.w-col.w-col-3'),\n ])\n ),\n !_.isEmpty(projects_collection)\n ? m('.w-row.u-marginbottom-40.u-margintop-30', [m(loadMoreBtn, { collection: state.projects, cssClass: '.w-col-push-4' })])\n : '',\n ]);\n },\n};\n\nexport default userContributed;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport userVM from '../vms/user-vm';\nimport ownerMessageContent from './owner-message-content';\nimport modalBox from './modal-box';\nimport UserFollowBtn from './user-follow-btn';\n\nconst userCard = {\n oninit: function(vnode) {\n const userDetails = prop({}),\n user_id = vnode.attrs.userId;\n\n userVM.fetchUser(user_id, true, userDetails);\n\n vnode.state = {\n userDetails,\n displayModal: h.toggleProp(false, true)\n };\n },\n view: function({state}) {\n const user = state.userDetails(),\n contactModalC = [ownerMessageContent, state.userDetails],\n profileImage = userVM.displayImage(user);\n\n return m('#user-card', m('.card.card-user.u-radius.u-marginbottom-30[itemprop=\\'author\\']', [\n m('.w-row', [\n m('.w-col.w-col-4.w.col-small-4.w-col-tiny-4.w-clearfix',\n m(`img.thumb.u-round[itemprop='image'][src='${profileImage}'][width='100']`)\n ),\n m('.w-col.w-col-8.w-col-small-8.w-col-tiny-8', [\n m('.fontsize-small.fontweight-semibold.lineheight-tighter[itemprop=\\'name\\']',\n m(`a.link-hidden[href=\"/users/${user.id}\"]`, userVM.displayName(user))\n ),\n m('.fontsize-smallest.lineheight-looser[itemprop=\\'address\\']',\n user.address_city\n ),\n m('.fontsize-smallest',\n `${h.pluralize(user.total_published_projects, ' projeto', ' projetos')} criados`\n ),\n m('.fontsize-smallest',\n `apoiou ${h.pluralize(user.total_contributed_projects, ' projeto', ' projetos')}`\n )\n ])\n ]),\n m('.project-author-contacts', [\n m('ul.w-list-unstyled.fontsize-smaller.fontweight-semibold', [\n (!_.isEmpty(user.facebook_link) ? m('li', [\n m(`a.link-hidden[itemprop=\"url\"][href=\"${user.facebook_link}\"][target=\"_blank\"]`, 'Perfil no Facebook')\n ]) : ''), (!_.isEmpty(user.twitter_username) ? m('li', [\n m(`a.link-hidden[itemprop=\"url\"][href=\"https://twitter.com/${user.twitter_username}\"][target=\"_blank\"]`, 'Perfil no Twitter')\n ]) : ''),\n _.map(user.links, link => m('li', [\n m(`a.link-hidden[itemprop=\"url\"][href=\"${link.link}\"][target=\"_blank\"]`, link.link)\n ]))\n ])\n ]),\n (state.displayModal() ? m(modalBox, {\n displayModal: state.displayModal,\n content: contactModalC\n }) : ''),\n m(UserFollowBtn, { follow_id: user.id, following: user.following_this_user, enabledClass: '.btn.btn-medium.btn-message.u-marginbottom-10', disabledClass: '.btn.btn-medium.btn-message.u-marginbottom-10' }),\n (!_.isEmpty(user.email) ? m('a.btn.btn-medium.btn-message[href=\\'javascript:void(0);\\']', { onclick: state.displayModal.toggle }, 'Enviar mensagem') : '')\n ]));\n }\n};\n\nexport default userCard;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport userCard from '../c/user-card';\nimport userVM from '../vms/user-vm';\nimport inlineError from './inline-error';\n\nconst userAbout = {\n oninit: function(vnode) {\n const userDetails = prop({}),\n loader = prop(true),\n error = prop(false),\n user_id = vnode.attrs.userId;\n\n userVM\n .fetchUser(user_id, false)\n .then(userDetailsData => {\n userDetails(_.first(userDetailsData));\n loader(false);\n h.redraw();\n })\n .catch(err => {\n error(true);\n loader(false);\n h.redraw();\n });\n\n vnode.state = {\n userDetails,\n error,\n loader,\n };\n },\n view: function({ state }) {\n const user = state.userDetails();\n return state.error()\n ? m(inlineError, { message: 'Erro ao carregar dados.' })\n : state.loader()\n ? h.loader()\n : m(\n \".content[id='about-tab']\",\n m(\n \".w-container[id='about-content']\",\n m('.w-row', [\n m('.w-col.w-col-8', m('.fontsize-base', user.about_html ? m.trust(user.about_html) : '')),\n m('.w-col.w-col-4', user.id ? m(userCard, { userId: user.id }) : h.loader()),\n ])\n )\n );\n },\n};\n\nexport default userAbout;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport userVM from '../vms/user-vm';\nimport userHeader from '../c/user-header';\nimport userCreated from '../c/user-created';\nimport userContributed from '../c/user-contributed';\nimport userAbout from '../c/user-about';\n\nconst usersShow = {\n oninit: function(vnode) {\n const userDetails = prop(vnode.attrs.user_details || {}),\n user_id = vnode.attrs.user_id.split('-')[0],\n hash = prop(window.location.hash),\n displayTabContent = (user) => {\n const tabs = {\n '#created': m(userCreated, { userId: user.id }),\n '#contributed': m(userContributed, { userId: user.id }),\n '#about': m(userAbout, { userId: user.id })\n };\n\n hash(window.location.hash);\n\n if (_.isEmpty(hash()) || hash() === '#_=_') {\n if (user.total_published_projects > 0) {\n hash('#created');\n return tabs['#created'];\n } else if (user.total_contributed_projects > 0) {\n hash('#contributed');\n return tabs['#contributed'];\n }\n\n hash('#about');\n return tabs['#about'];\n }\n\n return tabs[hash()];\n };\n\n h.redrawHashChange();\n\n userVM.fetchUser(user_id, true, userDetails);\n\n vnode.state = {\n displayTabContent,\n hash,\n userDetails\n };\n },\n view: function({state, attrs}) {\n const user = state.userDetails();\n\n return m('div', [\n m(userHeader, { user }),\n\n m('nav.project-nav.u-text-center.u-marginbottom-30.profile', { style: { 'z-index': '10', position: 'relative' } },\n m('.w-container[data-anchor=\\'created\\']',\n [\n (!_.isEmpty(user) ?\n (user.is_owner_or_admin ?\n m(`a.dashboard-nav-link.dashboard[href=\\'/${window.I18n.locale}/users/${user.id}/edit\\']`,\n [\n m('span.fa.fa-cog'),\n m.trust(' '),\n ' Editar perfil'\n ]\n ) : '') : h.loader()),\n m(`a[data-target=\\'#contributed-tab\\'][href=\\'#contributed\\'][id=\\'contributed_link\\'][class=\\'dashboard-nav-link ${(state.hash() === '#contributed' ? 'selected' : '')}\\']`,\n [\n 'Apoiados ',\n m.trust(' '),\n m('span.badge',\n user.total_contributed_projects\n )\n ]\n ),\n m(`a[data-target=\\'#created-tab\\'][href=\\'#created\\'][id=\\'created_link\\'][class=\\'dashboard-nav-link ${(state.hash() === '#created' ? 'selected' : '')}\\']`,\n [\n 'Criados ',\n m.trust(' '),\n m('span.badge',\n user.total_published_projects\n )\n ]\n ),\n m(`a[data-target=\\'#about-tab\\'][href=\\'#about\\'][id=\\'about_link\\'][class=\\'dashboard-nav-link ${(state.hash() === '#about' ? 'selected' : '')}\\']`,\n 'Sobre'\n )\n ]\n )\n ),\n\n m('section.section',\n m('.w-container',\n m('.w-row', user.id ? state.displayTabContent(user) : h.loader())\n )\n )\n ]);\n }\n};\n\nexport default usersShow;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'activerecord.attributes.address');\n\nconst surveyPreview = {\n oninit: function(vnode) {\n const fields = vnode.attrs.fields,\n multipleChoiceQuestions = vnode.attrs.multipleChoiceQuestions,\n openQuestions = vnode.attrs.openQuestions;\n\n vnode.state = {\n fields,\n multipleChoiceQuestions,\n openQuestions\n };\n },\n view: function({state, attrs}) {\n return m('.section.u-marginbottom-40',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-10',\n m('.card.card-terciary.medium.u-radius', [\n (attrs.confirmAddress ?\n m('.u-marginbottom-30', [\n m('.fontcolor-secondary.fontsize-base.fontweight-semibold.u-marginbottom-20',\n window.I18n.t('delivery_address', I18nScope())\n ),\n m('.fontsize-base', [\n m('span.fontweight-semibold',\n `${window.I18n.t('country', I18nScope())}: `\n ),\n attrs.countryName,\n m('br'),\n m('span.fontweight-semibold',\n `${window.I18n.t('address_street', I18nScope())}:`\n ),\n m.trust(' '),\n state.fields.address_street,\n m('br'),\n m('span.fontweight-semibold',\n `${window.I18n.t('address_number', I18nScope())}:`\n ),\n m.trust(' '),\n state.fields.address_number,\n m('br'),\n m('span.fontweight-semibold',\n `${window.I18n.t('address_complement', I18nScope())}:`\n ),\n m.trust(' '),\n state.fields.address_complement,\n m('br'),\n m('span.fontweight-semibold',\n `${window.I18n.t('address_neighbourhood', I18nScope())}:`\n ),\n m.trust(' '),\n state.fields.address_neighbourhood,\n m('br'),\n m('span.fontweight-semibold',\n `${window.I18n.t('address_city', I18nScope())}:`\n ),\n m.trust(' '),\n state.fields.address_city,\n m('br'),\n m('span.fontweight-semibold',\n `${window.I18n.t('address_state', I18nScope())}:`\n ),\n m.trust(' '),\n state.fields.address_state,\n m('br'),\n m('span.fontweight-semibold',\n `${window.I18n.t('address_zip_code', I18nScope())}:`\n ),\n m.trust(' '),\n state.fields.address_zip_code,\n m('br'),\n m('span.fontweight-semibold',\n `${window.I18n.t('phone_number', I18nScope())}:`\n ),\n m.trust(' '),\n state.fields.phone_number\n ])\n ]) : ''),\n _.map(state.multipleChoiceQuestions, (item) => {\n const answer = _.find(item.question.question_choices, choice => item.value() == choice.id);\n return m('.u-marginbottom-30', [\n m('.fontcolor-secondary.fontsize-base.fontweight-semibold',\n item.question.question\n ),\n m('.fontcolor-secondary.fontsize-smaller.u-marginbottom-20',\n item.question.description\n ),\n m('.fontsize-base', answer ? answer.option : '')\n ]);\n }),\n _.map(state.openQuestions, item =>\n m('.u-marginbottom-30', [\n m('.fontcolor-secondary.fontsize-base.fontweight-semibold',\n item.question.question\n ),\n m('.fontcolor-secondary.fontsize-smaller.u-marginbottom-20',\n item.question.description\n ),\n m('.fontsize-base', item.value())\n ]))\n ])\n ),\n m('.w-col.w-col-1')\n ])\n )\n );\n }\n};\n\nexport default surveyPreview;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse } from '../api';\nimport models from '../models';\nimport h from '../h';\nimport modalBox from '../c/modal-box';\nimport surveyPreview from '../c/survey-preview';\nimport ownerMessageContent from '../c/owner-message-content';\nimport rewardCardBig from '../c/reward-card-big';\nimport userVM from '../vms/user-vm';\nimport projectVM from '../vms/project-vm';\nimport rewardVM from '../vms/reward-vm';\nimport addressVM from '../vms/address-vm';\nimport addressForm from '../c/address-form';\n\nconst addressScope = _.partial(h.i18nScope, 'activerecord.attributes.address');\n\nconst surveysShow = {\n oninit: function(vnode) {\n const {\n survey_id\n } = vnode.attrs,\n contributionId = m.route.param('contribution_id'),\n survey = prop(),\n idVM = h.idVM,\n displayModal = h.toggleProp(false, true),\n showPreview = h.toggleProp(false, true),\n showThanks = h.toggleProp(false, true),\n finished = prop(false),\n countryName = prop(''),\n stateName = prop(''),\n answeredAt = prop(''),\n addVM = prop(addressVM({ data: {} })),\n openQuestions = prop([]),\n multipleChoiceQuestions = prop([]),\n user = prop({}),\n reward = prop(),\n requestRedraw = h.createRequestAutoRedraw(reward),\n sendMessage = () => {\n displayModal(true);\n },\n vm = catarse.filtersVM({\n contribution_id: 'eq'\n }),\n surveyLoader = () => {\n vm.contribution_id(contributionId);\n return catarse.loaderWithToken(models.survey.getPageOptions(vm.parameters()));\n },\n preview = () => {\n if (survey().confirm_address) {\n window.location.hash = '#address-form';\n if (addVM().fields.validate()) {\n scroll(0, 0);\n showPreview.toggle();\n }\n } else {\n showPreview.toggle();\n }\n },\n sendAnswer = () => {\n const data = {};\n _.extend(data, {\n survey_address_answers_attributes: {\n addresses_attributes: addVM().getFields()\n }\n });\n _.extend(data, {\n survey_open_question_answers_attributes: _.map(openQuestions(), question => ({\n id: question.question.answer_id,\n survey_open_question_id: question.question.id,\n contribution_id: contributionId,\n answer: question.value()\n }))\n });\n _.extend(data, {\n survey_multiple_choice_question_answers_attributes: _.map(multipleChoiceQuestions(), question => ({\n id: question.question.answer_id,\n contribution_id: contributionId,\n survey_multiple_choice_question_id: question.question.id,\n survey_question_choice_id: question.value()\n }))\n });\n m.request({\n method: 'PUT',\n url: `/contributions/${contributionId}/surveys/${survey_id}/answer`,\n data,\n config: h.setCsrfToken\n }).then(() => {\n scroll(0, 0);\n showThanks.toggle();\n });\n };\n const loadSurvey = () => {\n surveyLoader().load().then((data) => {\n survey(_.first(data));\n finished(!_.isEmpty(survey().finished_at));\n answeredAt(survey().survey_answered_at);\n projectVM.fetchProject(survey().project_id);\n rewardVM\n .rewardLoader(survey().reward_id)\n .load()\n .then(r => {\n reward(r);\n requestRedraw();\n return r;\n });\n const surveyData = survey();\n countryName(surveyData.country_name);\n stateName(surveyData.state_name);\n\n idVM.id(h.getUserID());\n\n const lUser = catarse.loaderWithToken(models.userDetail.getRowOptions(idVM.parameters()));\n\n lUser.load().then((userData) => {\n user(_.first(userData));\n addVM().setFields(surveyData.address || _.omit(user().address, 'id') || {});\n h.redraw();\n });\n\n _.map(surveyData.open_questions, (question) => {\n openQuestions().push({\n question,\n value: prop(question.answer)\n });\n });\n _.map(surveyData.multiple_choice_questions, (question) => {\n multipleChoiceQuestions().push({\n question,\n value: prop(question.survey_question_choice_id)\n });\n });\n });\n };\n\n vnode.state = {\n projectVM,\n loadSurvey,\n countryName,\n stateName,\n user,\n preview,\n finished,\n addVM,\n reward,\n sendMessage,\n displayModal,\n answeredAt,\n sendAnswer,\n showPreview,\n showThanks,\n openQuestions,\n multipleChoiceQuestions,\n survey\n };\n },\n view: function({state}) {\n const user = state.user(),\n survey = state.survey(),\n countryName = state.countryName,\n stateName = state.stateName,\n openQuestions = state.openQuestions(),\n multipleChoiceQuestions = state.multipleChoiceQuestions(),\n project = state.projectVM.currentProject(),\n reward = _.first(state.reward()),\n contactModalC = [ownerMessageContent, prop(project ? project.user : {})],\n profileImage = userVM.displayImage(user);\n\n return m('.survey', { oncreate: state.loadSurvey }, \n (_.isEmpty(user) || _.isEmpty(reward)) ? \n h.loader() \n :\n [\n (\n state.displayModal() ? \n m(modalBox, {\n displayModal: state.displayModal,\n content: contactModalC\n }) \n : \n ''\n ),\n state.showThanks() ? m('.survey-thanks', [\n m('.bg-white.page-header',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8', [\n m('.u-marginbottom-20.u-text-center',\n m(`img.big.thumb.u-marginbottom-20.u-round[src='${profileImage}']`),\n ),\n m('.u-text-center',\n m('.fontsize-larger.u-marginbottom-10',\n 'Valeu!'\n )\n ),\n m('.fontsize-base.u-text-center', [\n `As respostas abaixo foram enviadas para ${project.user.name}! Qualquer dúvida sobre o andamento do projeto, visite a `,\n m(`a.alt-link[href='/${project.permalink}#posts'][target='_blank']`,\n 'aba de novidades da campanha'\n ),\n ' ou ',\n m('a.alt-link[href=\\'javascript:void(0);\\']', {\n onclick: state.sendMessage\n },\n 'envie uma mensagem'\n ),\n '.'\n ])\n ]),\n m('.w-col.w-col-2')\n ])\n )\n ),\n m(surveyPreview, {\n confirmAddress: survey.confirm_address,\n countryName: countryName(),\n stateName: stateName(),\n fields: state.addVM().getFields(),\n openQuestions,\n multipleChoiceQuestions\n })\n ]) : \n state.showPreview() ? m('.survey-preview', [\n m('.bg-white.page-header',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8', [\n m('.u-marginbottom-20.u-text-center',\n m(`img.big.thumb.u-marginbottom-20.u-round[src='${profileImage}']`),\n ),\n m('.u-text-center',\n m('.fontsize-larger',\n 'Você confirma as respostas abaixo?'\n )\n )\n ]),\n m('.w-col.w-col-2')\n ])\n )\n ),\n m(surveyPreview, {\n confirmAddress: survey.confirm_address,\n countryName: countryName(),\n stateName: stateName(),\n fields: state.addVM().getFields(),\n openQuestions,\n multipleChoiceQuestions\n }),\n m('div',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8',\n m('.w-row', [\n m('.w-col-small-6.w-col.w-col-6.w-col-small-6.w-col-tiny-6.w-sub-col',\n m('a.btn.btn-large.btn-terciary', {\n onclick: state.showPreview.toggle\n },\n 'Não'\n )\n ),\n m('.w-col.w-col-6.w-col-small-6.w-col-tiny-6',\n m('a.btn.btn-large', {\n onclick: state.sendAnswer\n },\n 'Sim'\n )\n )\n ])\n ),\n m('.w-col.w-col-2')\n ])\n )\n )\n \n ]) : m('.survey-show', (!survey || !project) ? h.loader() : [\n m('.dashboard-header.u-marginbottom-40.u-text-center',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8', [\n m(`img.big.thumb.u-marginbottom-20.u-round[src='${profileImage}']`),\n m('.fontsize-larger.u-marginbottom-10',\n `Oi, ${userVM.displayName(user)}`\n ),\n m('.fontsize-base.u-marginbottom-20',\n `${project.user.name}, do projeto ${project.name}, enviou algumas perguntas para que possa seguir com a produção e entrega da recompensa que você apoiou com R$${reward.minimum_value}:`\n ),\n m(rewardCardBig, {\n reward\n })\n ]),\n m('.w-col.w-col-2')\n ])\n )\n ),\n (state.finished() ? [\n m('div',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-10',\n m('.card.card-terciary.medium.u-marginbottom-30', [\n m('.card.card-message.u-marginbottom-40.u-radius',\n m('.fontsize-base', [\n m('span.fa.fa-exclamation-circle',\n ''\n ),\n (state.answeredAt() ?\n m('span', ` Esse questionário não está mais aberto para receber respostas. Segue abaixo as respostas que você enviou no dia ${h.momentify(state.answeredAt(), 'DD/MM/YYYY')}. Qualquer dúvida, `,\n m('a.alt-link[href=\\'javascript:void(0);\\']', {\n onclick: state.sendMessage\n },\n `envie uma mensagem para ${project.user.name}`\n )\n ) :\n m('span',\n ` Oooops! Esse questionário não está mais aberto para respostas desde o dia ${h.momentify(state.survey().finished_at, 'DD/MM/YYYY')}. Nossa recomendação é que você `,\n m('a.alt-link[href=\\'javascript:void(0);\\']', {\n onclick: state.sendMessage\n },\n `envie uma mensagem para ${project.user.name}`\n ),\n ' para saber como é possível resolver o seu caso! ')\n )\n ])\n )\n \n \n ])\n ),\n \n (state.answeredAt() ?\n m(surveyPreview, {\n confirmAddress: survey.confirm_address,\n countryName: countryName(),\n stateName: stateName(),\n fields: state.addVM().getFields(),\n openQuestions,\n multipleChoiceQuestions\n }) : ''),\n m('.w-col.w-col-1')\n ])\n )\n )\n ] : [\n m('div',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-10',\n m('.card.card-terciary.medium.u-marginbottom-30', [\n (state.answeredAt() ?\n m('.card.card-message.u-marginbottom-40.u-radius',\n m('.fontsize-base', [\n m('span.fa.fa-exclamation-circle',\n ''\n ),\n ` Você já enviou as respostas abaixo no dia ${h.momentify(state.answeredAt(), 'DD/MM/YYYY')}. Se notou algo errado, não tem problema: basta alterar as informações necessárias abaixo e reenviar as respostas.`\n ])\n ) : ''),\n (survey.confirm_address ? [\n m('.fontcolor-secondary.fontsize-base.fontweight-semibold',\n window.I18n.t('delivery_address', addressScope())\n ),\n m(addressForm, {\n countryName,\n stateName,\n addressFields: state.addVM().fields\n })\n ] :\n ''),\n _.map(multipleChoiceQuestions, item =>\n m('.u-marginbottom-30.w-form', [\n m('.fontcolor-secondary.fontsize-base.fontweight-semibold',\n item.question.question\n ),\n m('.fontcolor-secondary.fontsize-smaller.u-marginbottom-20',\n item.question.description\n ), [\n \n _.map(item.question.question_choices, choice =>\n m('.fontsize-small.w-radio', [\n m(`input.w-radio-input[type='radio'][name='choice${item.question.id}']`, {\n value: choice.id,\n checked: parseInt(choice.id) === parseInt(item.value()),\n onchange: m.withAttr('value', item.value)\n }),\n m('label.w-form-label[for=\\'radio\\']',\n choice.option\n )\n ]))\n ]\n ])),\n _.map(openQuestions, item =>\n m('.u-marginbottom-30.w-form', [\n m('.fontcolor-secondary.fontsize-base.fontweight-semibold',\n item.question.question\n ),\n m('.fontcolor-secondary.fontsize-smaller.u-marginbottom-20',\n item.question.description\n ),\n m('input.positive.text-field.w-input[maxlength=\\'256\\'][placeholder=\\'Sua resposta\\'][required=\\'required\\'][type=\\'text\\']', {\n value: item.value(),\n onchange: m.withAttr('value', item.value)\n })\n ]))\n ])\n ),\n m('.w-col.w-col-1')\n ])\n )\n ),\n m('.section',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-4'),\n m('.w-col.w-col-4',\n m('a.btn.btn-large', {\n onclick: () => {\n state.preview();\n }\n },\n 'Enviar'\n )\n ),\n m('.w-col.w-col-4')\n ])\n )\n )\n ]\n \n \n )\n ])\n ]\n );\n }\n};\n\nexport default surveysShow;\n","import _ from 'underscore';\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport inlineError from './c/inline-error';\n// TODO: Define error pattern that comes from server-side and allow the lib\n// to define what fields are coming with errors from the back-end\nconst generateErrorInstance = () => {\n const fields = prop([]);\n const submissionError = prop(false);\n const submissionErrorMsg = prop('');\n const fieldIdxValue = (fieldName, idx, initialValue) => _.reduce(fields(), (memo, field) => field[0] === fieldName ? field[idx] : memo, initialValue);\n\n const setError = (fieldName, flag) => {\n const updated = _.map(fields(), field => field[0] === fieldName ? [field[0], field[1], flag] : field);\n\n fields(updated);\n };\n\n const hasError = fieldName => fieldIdxValue(fieldName, 2, false);\n\n const getErrorMsg = fieldName => fieldIdxValue(fieldName, 1, '');\n\n const e = (fieldOrArray, errorMessage = '') => {\n if (Array.isArray(fieldOrArray)) {\n _.map(fieldOrArray, (field) => {\n field.push(false);\n return fields().push(field);\n });\n } else {\n fields().push([fieldOrArray, errorMessage, false]);\n }\n };\n\n e.fields = fields;\n e.setSubmissionError = submissionErrorMsg;\n e.hasSubmissionError = () => submissionError() === true;\n e.displaySubmissionError = () => {\n if (submissionError()) {\n return m('.card.card-error.u-radius.zindex-10.u-marginbottom-30.fontsize-smaller',\n m('.u-marginbottom-10.fontweight-bold',\n m.trust(submissionErrorMsg())\n )\n );\n }\n\n return null;\n };\n e.submissionError = (flag) => {\n if (_.isUndefined(flag)) {\n return e.displaySubmissionError();\n }\n\n submissionError(flag);\n };\n\n e.hasError = hasError;\n e.inlineError = (field, flag) => {\n if (_.isUndefined(flag)) {\n if (hasError(field)) {\n return m(inlineError, { message: getErrorMsg(field) });\n }\n\n return null;\n }\n setError(field, flag);\n };\n\n e.resetFieldErrors = () => _.map(fields(), field => field[2] = false);\n\n e.resetErrors = () => {\n e.resetFieldErrors();\n submissionError(false);\n };\n\n return e;\n};\n\nexport default generateErrorInstance;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse } from '../api';\nimport h from '../h';\nimport generateErrorInstance from '../error';\n\nconst e = generateErrorInstance();\n\nconst fields = {\n password: prop(''),\n current_password: prop(''),\n uploaded_image: prop(''),\n cover_image: prop(''),\n email: prop(''),\n permalink: prop(''),\n public_name: prop(''),\n facebook_link: prop(''),\n twitter: prop(''),\n links: prop([]),\n about_html: prop(''),\n email_confirmation: prop('')\n};\n\nconst mapRailsErrors = (rails_errors) => {\n let parsedErrors;\n try {\n parsedErrors = JSON.parse(rails_errors);\n } catch (e) {\n parsedErrors = {};\n }\n const extractAndSetErrorMsg = (label, fieldArray) => {\n const value = _.first(_.compact(_.map(fieldArray, field => _.first(parsedErrors[field]))));\n\n if (value) {\n e(label, value);\n e.inlineError(label, true);\n }\n };\n\n extractAndSetErrorMsg('email', ['email']);\n\n return e;\n};\n\nconst userAboutVM = {\n fields,\n mapRailsErrors\n};\n\nexport default userAboutVM;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport userVM from '../vms/user-vm';\nimport userAboutVM from '../vms/user-about-vm';\nimport railsErrorsVM from '../vms/rails-errors-vm';\nimport popNotification from './pop-notification';\nimport inlineError from './inline-error';\nimport projectEditSaveBtn from './project-edit-save-btn';\n\nconst userAboutEdit = {\n oninit: function(vnode) {\n let parsedErrors = userAboutVM.mapRailsErrors(railsErrorsVM.railsErrors());\n let deleteUser;\n const user = vnode.attrs.user || {},\n fields = {\n password: prop(''),\n current_password: prop(''),\n uploaded_image: prop(userVM.displayImage(user)),\n cover_image: prop(user.profile_cover_image || ''),\n email: prop(''),\n permalink: prop(user.permalink || ''),\n public_name: prop(user.public_name || ''),\n facebook_link: prop(user.facebook_link || ''),\n twitter: prop(user.twitter_username || ''),\n links: prop(user.links || []),\n about_html: prop(user.about_html || ''),\n email_confirmation: prop('')\n },\n passwordHasError = prop(false),\n emailHasError = prop(false),\n showEmailForm = h.toggleProp(false, true),\n showSuccess = prop(false),\n showError = prop(false),\n errors = prop(),\n loading = prop(false),\n uploading = prop(false),\n errorsArray = prop([]),\n pushErrosMessage = () => {\n errors(errorsArray().join('<br/>'));\n },\n updateFieldsFromUser = () => {\n userVM.fetchUser(vnode.attrs.userId, false).then((dataResponse) => {\n const data = _.first(dataResponse);\n fields.uploaded_image(userVM.displayImage(data));\n fields.cover_image(data.profile_cover_image);\n fields.permalink(data.permalink);\n fields.public_name(data.public_name);\n fields.facebook_link(data.facebook_link);\n fields.twitter(data.twitter_username);\n fields.links(data.links);\n fields.about_html(data.about_html);\n });\n },\n uploadImage = () => {\n const userUploadedImageEl = window.document.getElementById('user_uploaded_image'),\n userCoverImageEl = window.document.getElementById('user_cover_image'),\n formData = new FormData();\n\n if (userUploadedImageEl.files[0] || (!vnode.attrs.hideCoverImg && userCoverImageEl.files[0])) {\n formData.append('uploaded_image', userUploadedImageEl.files[0]);\n if (!vnode.attrs.hideCoverImg) {\n formData.append('cover_image', userCoverImageEl.files[0]);\n }\n\n uploading(true);\n m.redraw();\n\n return m.request({\n method: 'POST',\n url: `/users/${user.id}/upload_image.json`,\n data: formData,\n config: h.setCsrfToken,\n serialize(data) {\n return data;\n }\n }).then((data) => {\n fields.uploaded_image(data.uploaded_image);\n fields.cover_image(data.cover_image);\n uploading(false);\n }).catch((err) => {\n if (_.isArray(err.errors)) {\n errorsArray(errorsArray().concat(err.errors));\n } else {\n errors('Erro ao atualizar informações.');\n }\n pushErrosMessage();\n showError(true);\n uploading(false);\n });\n }\n\n return void (0);\n },\n\n updateUser = () => {\n const userData = {\n current_password: fields.current_password(),\n password: fields.password(),\n email: fields.email(),\n permalink: fields.permalink(),\n public_name: fields.public_name(),\n facebook_link: fields.facebook_link(),\n twitter: fields.twitter(),\n about_html: fields.about_html(),\n links_attributes: linkAttributes()\n };\n\n if (vnode.attrs.publishingUserAbout) {\n userData.publishing_user_about = true;\n }\n\n loading(true);\n m.redraw();\n uploadImage();\n\n return m.request({\n method: 'PUT',\n url: `/users/${user.id}.json`,\n data: {\n user: userData\n },\n config: h.setCsrfToken\n }).then(() => {\n showSuccess(true);\n updateFieldsFromUser();\n loading(false);\n m.redraw();\n railsErrorsVM.validatePublish();\n }).catch((err) => {\n if (parsedErrors) {\n parsedErrors.resetFieldErrors();\n }\n parsedErrors = userAboutVM.mapRailsErrors(err.errors_json);\n emailHasError(parsedErrors.hasError('email'));\n errors('Erro ao atualizar informações.');\n\n showError(true);\n loading(false);\n m.redraw();\n });\n },\n removeLinks = [],\n addLink = () => fields.links().push({\n link: ''\n }),\n removeLink = (linkId, idx) => () => {\n fields.links()[idx]._destroy = true;\n return false;\n },\n linkAttributes = () => _.reduce(fields.links(), (memo, item, index) => {\n memo[index.toString()] = item;\n return memo;\n }, {}),\n validateEmailConfirmation = () => {\n if (fields.email() !== fields.email_confirmation()) {\n emailHasError(true);\n const emailConfirmationDiff = '{\"email\":[\"Confirmação de email está incorreta.\"]}';\n parsedErrors = userAboutVM.mapRailsErrors(emailConfirmationDiff);\n } else {\n emailHasError(false);\n }\n return !emailHasError();\n },\n validatePassword = () => {\n const pass = String(fields.password());\n if (pass.length > 0 && pass.length <= 5) {\n passwordHasError(true);\n }\n\n return !passwordHasError();\n },\n setDeleteForm = (localVnode) => {\n deleteUser = () => localVnode.dom.submit();\n },\n deleteAccount = () => {\n if (window.confirm('Tem certeza que deseja desativar a sua conta?')) {\n deleteUser();\n }\n\n return false;\n },\n onSubmit = (e) => {\n e.preventDefault();\n if (!validateEmailConfirmation()) {\n errors('Confirmação de email está incorreta.');\n showError(true);\n } else if (!validatePassword()) {\n errors('Nova senha está incorreta.');\n showError(true);\n } else {\n updateUser();\n }\n return false;\n };\n // Temporary fix for the menu selection bug. Should be fixed/removed as soon as we route all tabs from mithril.\n setTimeout(m.redraw, 0);\n\n vnode.state = {\n removeLinks,\n removeLink,\n addLink,\n fields,\n loading,\n showSuccess,\n showError,\n errors,\n uploading,\n onSubmit,\n emailHasError,\n showEmailForm,\n validateEmailConfirmation,\n passwordHasError,\n validatePassword,\n deleteAccount,\n setDeleteForm,\n parsedErrors\n };\n },\n view: function({state, attrs}) {\n const user = attrs.user || {},\n fields = state.fields;\n\n return m('#about-tab.content', [\n (state.showSuccess() && !state.loading() && !state.uploading() ? m(popNotification, {\n message: 'As suas informações foram atualizadas'\n }) : ''),\n (state.showError() && !state.loading() && !state.uploading() ? m(popNotification, {\n message: m.trust(state.errors()),\n error: true\n }) : ''),\n m('form.simple_form.w-form', {\n onsubmit: state.onSubmit\n }, [\n m('input[name=\"utf8\"][type=\"hidden\"][value=\"✓\"]'),\n m('input[name=\"_method\"][type=\"hidden\"][value=\"patch\"]'),\n m(`input[name=\"authenticity_token\"][type=\"hidden\"][value=${h.authenticityToken()}]`),\n m('div',\n m('.w-container',\n m('.w-row',\n m('.w-col.w-col-10.w-col-push-1', [!user.is_admin ? '' : m('.w-row.u-marginbottom-30.card.card-terciary', [\n m('.w-col.w-col-5.w-sub-col', [\n m('label.field-label.fontweight-semibold',\n 'Endereço do seu perfil'\n ),\n m('label.field-label.fontsize-smallest.fontcolor-secondary',\n 'Seu perfil público pode ter uma URL personalizada. Escolha uma fácil de guardar! '\n )\n ]),\n m('.w-col.w-col-7',\n m('.w-row', [\n m('.w-col.w-col-6.w-col-small-6.w-col-tiny-6',\n m('input.string.optional.w-input.text-field.text-field.positive.prefix[id=\"user_permalink\"][type=\"text\"]', {\n name: 'user[permalink]',\n value: fields.permalink(),\n onchange: m.withAttr('value', fields.permalink)\n })\n ),\n m('.w-col.w-col-6.w-col-small-6.w-col-tiny-6.text-field.postfix.no-hover',\n m('.fontcolor-secondary.fontsize-smaller', ' .catarse.me')\n )\n ])\n )\n ]),\n m('.w-row.u-marginbottom-30.card.card-terciary', [\n m('.fontsize-base.fontweight-semibold',\n 'Email'\n ),\n m('.fontsize-small.u-marginbottom-30',\n 'Mantenha esse email atualizado pois ele é o canal de comunicação entre você, a equipe do Catarse e a equipe dos projetos que você apoiou. '\n ),\n m('.fontsize-base.u-marginbottom-40', [\n m('span.fontweight-semibold.card.u-radius',\n user.email\n ),\n m('a.alt-link.fontsize-small.u-marginleft-10[href=\\'javascript:void(0);\\'][id=\\'update_email\\']', {\n onclick: () => {\n state.showEmailForm.toggle();\n }\n },\n 'Alterar email'\n )\n ]),\n m(`${state.showEmailForm() ? '' : '.w-hidden'}.u-marginbottom-20.w-row[id=\\'email_update_form\\']`, [\n m('.w-col.w-col-6.w-sub-col', [\n m('label.field-label.fontweight-semibold',\n 'Novo email'\n ),\n m('input.w-input.text-field.positive[id=\\'new_email\\'][name=\\'new_email\\'][type=\\'email\\']', {\n class: state.emailHasError() ? 'error' : '',\n value: fields.email(),\n onfocus: () => state.emailHasError(false),\n onchange: m.withAttr('value', fields.email)\n })\n ]),\n m('.w-col.w-col-6', [\n m('label.field-label.fontweight-semibold',\n 'Confirmar novo email'\n ),\n m('input.string.required.w-input.text-field.w-input.text-field.positive[id=\\'new_email_confirmation\\'][name=\\'user[email]\\'][type=\\'text\\']', {\n class: state.emailHasError() ? 'error' : '',\n value: fields.email_confirmation(),\n onfocus: () => state.emailHasError(false),\n onblur: state.validateEmailConfirmation,\n onchange: m.withAttr('value', fields.email_confirmation)\n })\n ]),\n state.emailHasError() ? state.parsedErrors.inlineError('email') : ''\n ])\n ]),\n m('.w-row.u-marginbottom-30.card.card-terciary', [\n m('.w-col.w-col-5.w-sub-col', [\n m('label.field-label.fontweight-semibold',\n ' Nome no perfil público'\n ),\n m('label.field-label.fontsize-smallest.fontcolor-secondary',\n 'Esse é o nome que os usuários irão ver no seu perfil.'\n )\n ]),\n m('.w-col.w-col-7',\n m('input.string.optional.w-input.text-field.positive[id=\"user_public_name\"][type=\"text\"]', {\n name: 'user[public_name]',\n class: state.parsedErrors.hasError('public_name') ? 'error' : false,\n value: fields.public_name(),\n onchange: m.withAttr('value', fields.public_name)\n }),\n state.parsedErrors.inlineError('public_name')\n )\n ]),\n m('.w-form', [\n m('.w-row.u-marginbottom-30.card.card-terciary', [\n m('.w-col.w-col-5.w-sub-col', [\n m('label.field-label.fontweight-semibold',\n ' Imagem do perfil'\n ),\n m('label.field-label.fontsize-smallest.fontcolor-secondary',\n ' Essa imagem será utilizada como a miniatura de seu perfil (PNG, JPG tamanho 280 x 280)'\n )\n ]),\n m('.w-col.w-col-4.w-sub-col',\n m('.input.file.optional.user_uploaded_image.field_with_hint', [\n m('label.field-label'),\n m('span.hint',\n m(`img[alt=\"Avatar do Usuario\"][src=\"${fields.uploaded_image()}\"]`)\n ),\n m('input.file.optional.w-input.text-field[id=\"user_uploaded_image\"][type=\"file\"]', {\n name: 'user[uploaded_image]',\n class: state.parsedErrors.hasError('uploaded_image') ? 'error' : false\n }),\n state.parsedErrors.inlineError('uploaded_image')\n ])\n )\n ]),\n (attrs.hideCoverImg ? '' : m('.w-row.u-marginbottom-30.card.card-terciary', [\n m('.w-col.w-col-5.w-sub-col', [\n m('label.field-label.fontweight-semibold',\n ' Imagem de capa do perfil'\n ),\n m('label.field-label.fontsize-smallest.fontcolor-secondary',\n ' Essa imagem será utilizada como fundo do cabeçalho do seu perfil público (PNG ou JPG). Caso você não envie nenhum imagem aqui, utilizaremos sua imagem de perfil como alternativa.'\n )\n ]),\n m('.w-col.w-col-4.w-sub-col',\n m('.input.file.optional.user_cover_image', [\n m('label.field-label'),\n m('span.hint',\n user.profile_cover_image ? m('img', {\n src: fields.cover_image()\n }) : ''\n ),\n m('input.file.optional.w-input.text-field[id=\"user_cover_image\"][type=\"file\"]', {\n name: 'user[cover_image]'\n })\n ])\n )\n ]))\n ]),\n m('.w-row',\n m('.w-col',\n m('.card.card-terciary.u-marginbottom-30', [\n m('label.field-label.fontweight-semibold',\n 'Sobre'\n ),\n m('label.field-label.fontsize-smallest.fontcolor-secondary.u-marginbottom-20',\n 'Fale sobre você e tente fornecer as informações mais relevantes para que visitantes possam te conhecer melhor. '\n ),\n m('.w-form',\n m('.preview-container.u-marginbottom-40', {\n class: state.parsedErrors.hasError('about_html') ? 'error' : false\n }, h.redactor('user[about_html]', fields.about_html)),\n state.parsedErrors.inlineError('about_html')\n )\n ])\n )\n ),\n m('.w-form.card.card-terciary.u-marginbottom-30', [\n m('.w-row.u-marginbottom-10', [\n m('.w-col.w-col-5.w-sub-col', [\n m('label.field-label.fontweight-semibold',\n ' Perfil do facebook'\n ),\n m('label.field-label.fontsize-smallest.fontcolor-secondary',\n ' Cole o link do seu perfil'\n )\n ]),\n m('.w-col.w-col-7',\n m('input.string.optional.w-input.text-field.positive[type=\"text\"]', {\n name: 'user[facebook_link]',\n value: fields.facebook_link(),\n onchange: m.withAttr('value', fields.facebook_link)\n })\n )\n ]),\n m('.w-row.u-marginbottom-10', [\n m('.w-col.w-col-5.w-sub-col', [\n m('label.field-label.fontweight-semibold',\n ' Perfil do twitter'\n ),\n m('label.field-label.fontsize-smallest.fontcolor-secondary',\n ' Cole o link do seu perfil'\n )\n ]),\n m('.w-col.w-col-7',\n m('input.string.optional.w-input.text-field.positive[type=\"text\"]', {\n name: 'user[twitter]',\n value: fields.twitter(),\n onchange: m.withAttr('value', fields.twitter)\n })\n )\n ])\n ]),\n m('.w-form.card.card-terciary.u-marginbottom-30',\n m('.w-row.u-marginbottom-10', [\n m('.w-col.w-col-5.w-sub-col', [\n m('label.field-label.fontweight-semibold[for=\"name-8\"]',\n ' Presença na internet'\n ),\n m('label.field-label.fontsize-smallest.fontcolor-secondary[for=\"name-8\"]', ' Inclua links que ajudem outros usuários a te conhecer melhor. ')\n ]),\n m('.w-col.w-col-7', [\n m('.w-row', [fields.links() && fields.links().length <= 0 ? '' : m('.link', _.map(fields.links(),\n (link, idx) => {\n const toRemove = link._destroy;\n\n return m('div', {\n key: idx,\n class: toRemove ? 'w-hidden' : 'none'\n }, [\n m('.w-col.w-col-10.w-col-small-10.w-col-tiny-10',\n m(`input.string.w-input.text-field.w-input.text-field][type=\"text\"][value=\"${link.link}\"]`, {\n class: link.link === '' ? 'positive' : 'optional',\n name: `user[links_attributes][${idx}][link]`,\n onchange: m.withAttr('value', val => fields.links()[idx].link = val)\n })\n ),\n m('.w-col.w-col-2.w-col-small-2.w-col-tiny-2', [\n m('a.btn.btn-small.btn-terciary.fa.fa-lg.fa-trash.btn-no-border', {\n onclick: state.removeLink(link.id, idx)\n })\n ])\n ]);\n }\n ))]),\n m('.w-row', [\n m('.w-col.w-col-6.w-col-push-6',\n m('a.btn.btn-small.btn-terciary', {\n onclick: state.addLink\n },\n m('span.translation_missing', 'Add Link')\n )\n )\n ])\n ])\n ])\n ),\n (attrs.hidePasswordChange ? '' : m('.w-form.card.card-terciary.u-marginbottom-30',\n m('.w-row.u-marginbottom-10', [\n m('.fontsize-base.fontweight-semibold',\n 'Alterar minha senha'\n ),\n m('.fontsize-small.u-marginbottom-20',\n 'Para que a senha seja alterada você precisa confirmar a sua senha atual.'\n ),\n m('.w-row.u-marginbottom-20', [\n m('.w-col.w-col-6.w-sub-col', [\n m('label.field-label.fontweight-semibold',\n ' Senha atual'\n ),\n m('input.password.optional.w-input.text-field.w-input.text-field.positive[id=\\'user_current_password\\'][name=\\'user[current_password]\\'][type=\\'password\\']', {\n value: fields.current_password(),\n onchange: m.withAttr('value', fields.current_password)\n })\n ]),\n m('.w-col.w-col-6', [\n m('label.field-label.fontweight-semibold',\n ' Nova senha'\n ),\n m('input.password.optional.w-input.text-field.w-input.text-field.positive[id=\\'user_password\\'][name=\\'user[password]\\'][type=\\'password\\']', {\n class: state.passwordHasError() ? 'error' : '',\n value: fields.password(),\n onfocus: () => state.passwordHasError(false),\n onblur: state.validatePassword,\n onchange: m.withAttr('value', fields.password)\n }), !state.passwordHasError() ? '' : m(inlineError, {\n message: 'A sua nova senha deve ter no mínimo 6 caracteres.'\n })\n ])\n ])\n\n ])\n )),\n (!user.is_admin && (attrs.hideDisableAcc || user.total_published_projects > 0) ? '' : m('.w-form.card.card-terciary.u-marginbottom-30',\n m('.w-row.u-marginbottom-10', [\n m('.fontweight-semibold.fontsize-smaller',\n 'Desativar minha conta'\n ),\n m('.fontsize-smallest',\n 'Todos os seus apoios serão convertidos em apoios anônimos, seus dados não serão mais visíveis, você sairá automaticamente do sistema e sua conta será desativada permanentemente.'\n ),\n m(`a.alt-link.fontsize-smaller[href='/${window.I18n.locale}/users/${user.id}'][rel='nofollow']`, {\n onclick: state.deleteAccount\n },\n 'Desativar minha conta no Catarse'\n ),\n m('form.w-hidden', {\n action: `/${window.I18n.locale}/users/${user.id}`,\n method: 'post',\n oncreate: state.setDeleteForm\n }, [\n m(`input[name='authenticity_token'][type='hidden'][value='${h.authenticityToken()}']`),\n m('input[name=\\'_method\\'][type=\\'hidden\\'][value=\\'delete\\']')\n ])\n\n ])\n ))\n\n ])\n )\n ),\n m(projectEditSaveBtn, {\n loading: state.loading,\n onSubmit: state.onSubmit\n })\n )\n\n ])\n ]);\n }\n};\n\nexport default userAboutEdit;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport userContributedBox from '../c/user-contributed-box';\nimport userSubscriptionBox from '../c/user-subscription-box';\nimport loadMoreBtn from './load-more-btn';\n\nconst I18nScope = _.partial(h.i18nScope, 'users.show.contributions');\n\nconst userContributedList = {\n oninit: function(vnode) {\n const title = vnode.attrs.title,\n hideSurveys = vnode.attrs.hideSurveys;\n vnode.state = {\n hideSurveys,\n title\n };\n },\n view: function({state, attrs}) {\n const collection = attrs.collection,\n isSubscription = attrs.isSubscription,\n pagination = attrs.pagination,\n hideSurveys = state.hideSurveys,\n title = state.title;\n\n return (!_.isEmpty(collection) ? m('div', [m('.section-one-column.u-marginbottom-30',\n m('.w-container', [\n m('.fontsize-larger.fontweight-semibold.u-marginbottom-30.u-text-center',\n title\n ),\n m('.card.card-secondary.w-hidden-small.w-hidden-tiny.w-row', [\n m('.w-col.w-col-3',\n m('.fontsize-small.fontweight-semibold',\n window.I18n.t('project_col', I18nScope())\n )\n ),\n m('.w-col.w-col-3',\n m('.fontsize-small.fontweight-semibold',\n window.I18n.t('contribution_col', I18nScope())\n )\n ),\n m('.w-col.w-col-3',\n m('.fontsize-small.fontweight-semibold',\n window.I18n.t('reward_col', I18nScope())\n )\n ),\n m('.w-col.w-col-1'),\n (!hideSurveys ?\n m('.w-col.w-col-2',\n m('.fontsize-small.fontweight-semibold',\n (isSubscription ? '' : window.I18n.t('survey_col', I18nScope()))\n )\n ) : '')\n ]),\n (!isSubscription ?\n _.map(collection, contribution => m(userContributedBox, {\n contribution\n }))\n :\n _.map(collection, subscription => m(userSubscriptionBox, {\n subscription\n }))\n ),\n m('.w-row.u-marginbottom-40.u-margintop-30', [\n m(loadMoreBtn, {\n collection: pagination,\n cssClass: '.w-col-push-4'\n })\n ])\n ])),\n m('.divider.u-marginbottom-80.u-margintop-80')\n ]) : m('div', ''));\n }\n};\n\nexport default userContributedList;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport models from '../models';\nimport { catarse, commonPayment } from '../api';\nimport _ from 'underscore';\nimport h from '../h';\nimport contributionVM from '../vms/contribution-vm';\nimport inlineError from './inline-error';\nimport userContributedList from './user-contributed-list';\nimport { getUserPrivateSubscriptionsListVM } from '../vms/subscription-list-vm';\n\nconst userPrivateContributed = {\n oninit: function(vnode) {\n const user_id = vnode.attrs.userId,\n userCommonId = vnode.attrs.user && vnode.attrs.user.common_id,\n subscriptions = getUserPrivateSubscriptionsListVM(userCommonId),\n onlinePages = contributionVM.getUserContributionsListWithFilter(),\n successfulPages = contributionVM.getUserContributionsListWithFilter(),\n failedPages = contributionVM.getUserContributionsListWithFilter(),\n error = prop(false),\n loader = prop(true),\n requestRedraw = () => {\n h.redraw();\n },\n handleError = (errorMessage) => { \n error(true);\n loader(false);\n requestRedraw();\n },\n contextVM = catarse.filtersVM({\n user_id: 'eq',\n state: 'in',\n project_state: 'in',\n });\n\n models.userContribution.pageSize(9);\n\n contextVM\n .order({ created_at: 'desc' })\n .user_id(user_id)\n .state(['refunded', 'pending_refund', 'paid', 'refused', 'pending']);\n\n const contextSubVM = commonPayment.filtersVM({\n user_id: 'eq',\n status: 'in',\n });\n contextSubVM\n .user_id(userCommonId)\n .status(['started', 'active', 'inactive', 'canceled', 'canceling', 'error'])\n .order({\n created_at: 'desc',\n });\n\n contextVM.project_state(['online', 'waiting_funds']);\n onlinePages\n .firstPage(contextVM.parameters())\n .then(() => loader(false))\n .then(requestRedraw)\n .catch(handleError);\n\n contextVM.project_state(['failed']);\n failedPages\n .firstPage(contextVM.parameters())\n .then(() => loader(false))\n .then(requestRedraw)\n .catch(handleError);\n\n contextVM.project_state(['successful']).state(['paid', 'refunded', 'pending_refund']);\n successfulPages\n .firstPage(contextVM.parameters())\n .then(() => loader(false))\n .then(requestRedraw)\n .catch(handleError);\n\n subscriptions\n .firstPage(contextSubVM.parameters())\n .then(() => loader(false))\n .then(requestRedraw)\n .catch(() => {\n const preventErrorCausedByTokenNotLoadedBeforeMakingThisRequest = setTimeout(() => {\n subscriptions\n .firstPage(contextSubVM.parameters())\n .then(() => loader(false))\n .then(requestRedraw)\n .catch(handleError);\n }, 1000);\n });\n\n vnode.state = {\n subscriptions,\n onlinePages,\n successfulPages,\n failedPages,\n error,\n loader,\n };\n },\n view: function({ state, attrs }) {\n const subsCollection = state.subscriptions.collection(),\n onlineCollection = state.onlinePages.collection(),\n successfulCollection = state.successfulPages.collection(),\n failedCollection = state.failedPages.collection();\n\n return m(\n \".content[id='private-contributed-tab']\",\n state.error()\n ? m(inlineError, {\n message: 'Erro ao carregar os projetos.',\n })\n : state.loader()\n ? h.loader()\n : _.isEmpty(subsCollection) && _.isEmpty(onlineCollection) && _.isEmpty(successfulCollection) && _.isEmpty(failedCollection)\n ? m(\n '.w-container',\n m('.w-row.u-margintop-30.u-text-center', [\n m('.w-col.w-col-3'),\n m('.w-col.w-col-6', [\n m('.fontsize-large.u-marginbottom-30', ['Você ainda não apoiou nenhum projeto no', m.trust(' '), 'Catarse...']),\n m('.w-row', [\n m('.w-col.w-col-3'),\n m(\n '.w-col.w-col-6',\n m(\n `a.btn.btn-large[href=\\'/${window.I18n.locale}/explore\\']`,\n {\n oncreate: m.route.link,\n onclick: () => {\n m.route.set('/explore');\n },\n },\n 'Apoie agora!'\n )\n ),\n m('.w-col.w-col-3'),\n ]),\n ]),\n m('.w-col.w-col-3'),\n ])\n )\n : [\n m(userContributedList, {\n title: 'Assinaturas',\n collection: subsCollection,\n isSubscription: true,\n pagination: state.subscriptions,\n }),\n m(userContributedList, {\n title: 'Projetos em andamento',\n collection: onlineCollection,\n pagination: state.onlinePages,\n }),\n m(userContributedList, {\n title: 'Projetos bem-sucedidos',\n collection: successfulCollection,\n pagination: state.successfulPages,\n }),\n m(userContributedList, {\n title: 'Projetos não-financiados',\n collection: failedCollection,\n pagination: state.failedPages,\n hideSurveys: true,\n }),\n ]\n );\n },\n};\n\nexport default userPrivateContributed;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse } from '../api';\nimport h from '../h';\nimport generateErrorInstance from '../error';\n\nconst e = generateErrorInstance();\n\nconst fields = {\n owner_document: prop(''),\n country_id: prop(''),\n street: prop(''),\n number: prop(''),\n city: prop(''),\n zipcode: prop(''),\n complement: prop(''),\n neighbourhood: prop(''),\n state: prop(''),\n phonenumber: prop(''),\n name: prop(''),\n agency: prop(''),\n bank_id: prop(''),\n agency_digit: prop(''),\n account: prop(''),\n account_digit: prop(''),\n bank_account_id: prop(''),\n state_inscription: prop(''),\n birth_date: prop(''),\n account_type: prop(''),\n bank_account_type: prop('')\n};\n\nconst mapRailsErrors = (rails_errors) => {\n let parsedErrors;\n try {\n parsedErrors = JSON.parse(rails_errors);\n } catch (e) {\n parsedErrors = {};\n }\n const extractAndSetErrorMsg = (label, fieldArray) => {\n const value = _.first(_.compact(_.map(fieldArray, field => _.first(parsedErrors[field]))));\n\n if (value) {\n e(label, value);\n e.inlineError(label, true);\n }\n };\n\n extractAndSetErrorMsg('owner_document', ['user.cpf', 'cpf']);\n extractAndSetErrorMsg('country_id', ['user.country_id', 'country_id']);\n extractAndSetErrorMsg('street', ['user.address_street', 'address_street']);\n extractAndSetErrorMsg('number', ['user.address_number', 'address_number']);\n extractAndSetErrorMsg('city', ['user.address_city', 'address_city']);\n extractAndSetErrorMsg('zipcode', ['user.address_zip_code', 'address_zip_code']);\n extractAndSetErrorMsg('complement', ['user.address_complement', 'address_complement']);\n extractAndSetErrorMsg('neighbourhood', ['user.address_neighbourhood', 'address_neighbourhood']);\n extractAndSetErrorMsg('state', ['user.address_state', 'address_state']);\n extractAndSetErrorMsg('state_inscription', ['user.state_inscription', 'state_inscription']);\n extractAndSetErrorMsg('phonenumber', ['user.phone_number', 'phone_number']);\n extractAndSetErrorMsg('name', ['user.name', 'name']);\n extractAndSetErrorMsg('agency', ['user.bank_account.agency', 'bank_account.agency']);\n extractAndSetErrorMsg('agency_digit', ['user.bank_account.agency_digit', 'bank_account.agency_digit']);\n extractAndSetErrorMsg('account', ['user.bank_account.account', 'bank_account.account']);\n extractAndSetErrorMsg('account_digit', ['user.bank_account.account_digit', 'bank_account.account_digit']);\n extractAndSetErrorMsg('bank_account_type', ['user.bank_account.account_type', 'bank_account.account_type']);\n extractAndSetErrorMsg('bank_id', ['user.bank_account.bank', 'bank_account.bank']);\n extractAndSetErrorMsg('birth_date', ['user.birth_date', 'birth_date']);\n extractAndSetErrorMsg('account_type', ['user.account_type', 'account_type']);\n\n return e;\n};\n\nconst userSettingsVM = {\n fields,\n mapRailsErrors\n};\n\nexport default userSettingsVM;\n","import m from 'mithril';\n\nconst bigCard = {\n view: function({attrs}) {\n const cardClass = '.card.medium.card-terciary.u-marginbottom-30';\n\n return m(cardClass, [\n m('div.u-marginbottom-30', [\n m('label.fontweight-semibold.fontsize-base', attrs.label),\n (attrs.label_hint ? m('.fontsize-small', attrs.label_hint) : '')\n ]),\n m('div', attrs.children)\n ]);\n }\n};\n\nexport default bigCard;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport bigCard from './big-card';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'users.edit.settings_tab');\n\nconst userSettingsResponsible = {\n view: function({attrs})\n {\n const \n disableFields = attrs.disableFields,\n fields = attrs.fields(),\n parsedErrors = attrs.parsedErrors,\n applyDocumentMask = attrs.applyDocumentMask,\n applyBirthDateMask = attrs.applyBirthDateMask,\n user = attrs.user;\n\n return m(bigCard, {\n label: window.I18n.t('legal_title', I18nScope()),\n label_hint: m.trust(window.I18n.t('legal_subtitle', I18nScope())),\n children: [\n\n m('.divider.u-marginbottom-20'),\n m('.w-row', [\n m('.w-col.w-col-5.w-sub-col',\n m('.input.select.required.user_bank_account_bank_id', [\n m(`select.select.required.w-input.text-field.bank-select.positive${(disableFields ? '.text-field-disabled' : '')}[id='user_bank_account_attributes_bank_id']`, {\n name: 'user[bank_account_attributes][bank_id]',\n onchange: m.withAttr('value', fields.account_type),\n disabled: disableFields\n }, [\n m('option[value=\\'pf\\']', {\n selected: fields.account_type() === 'pf'\n }, window.I18n.t('account_types.pf', I18nScope())),\n m('option[value=\\'pj\\']', {\n selected: fields.account_type() === 'pj'\n }, window.I18n.t('account_types.pj', I18nScope())),\n m('option[value=\\'mei\\']', {\n selected: fields.account_type() === 'mei'\n }, window.I18n.t('account_types.mei', I18nScope())),\n ])\n ])\n ),\n ]),\n m('.w-row', [\n m('.w-col.w-col-5.w-sub-col', [\n m('label.text.required.field-label.field-label.fontweight-semibold.force-text-dark[for=\\'user_bank_account_attributes_owner_name\\']',\n window.I18n.t(\n (fields.account_type() == 'pf' ? 'pf_label_name' : 'pj_label_name'),\n I18nScope()\n )\n ),\n m(`input.string.required.w-input.text-field.positive${(disableFields ? '.text-field-disabled' : '')}[id='user_bank_account_attributes_owner_name'][type='text']`, {\n value: fields.name(),\n name: 'user[name]',\n class: parsedErrors.hasError('name') ? 'error' : false,\n onchange: m.withAttr('value', fields.name),\n disabled: disableFields\n }),\n parsedErrors.inlineError('name')\n ]),\n m('.w-col.w-col-7', [\n m('.w-row', [\n m('.w-col.w-col-6.w-col-small-6.w-col-tiny-6.w-sub-col-middle', [\n m('label.text.required.field-label.field-label.fontweight-semibold.force-text-dark[for=\\'user_bank_account_attributes_owner_document\\']',\n window.I18n.t((fields.account_type() == 'pf' ? 'pf_label_document' : 'pj_label_document'), I18nScope())\n ),\n m(`input.string.tel.required.w-input.text-field.positive${(disableFields ? '.text-field-disabled' : '')}[data-validate-cpf-cnpj='true'][id='user_bank_account_attributes_owner_document'][type='tel'][validation_text='true']`, {\n value: fields.owner_document(),\n class: parsedErrors.hasError('owner_document') ? 'error' : false,\n disabled: disableFields,\n name: 'user[cpf]',\n onchange: m.withAttr('value', applyDocumentMask),\n onkeyup: m.withAttr('value', applyDocumentMask)\n }),\n parsedErrors.inlineError('owner_document')\n ]),\n m('.w-col.w-col-6.w-col-small-6.w-col-tiny-6', (fields.account_type() == 'pf' ? [\n m('label.text.required.field-label.field-label.fontweight-semibold.force-text-dark[for=\\'user_bank_account_attributes_owner_document\\']',\n window.I18n.t('label_birth_date', I18nScope())\n ),\n m(`input.string.tel.required.w-input.text-field.positive${((disableFields && !_.isEmpty(user.birth_date)) ? '.text-field-disabled' : '')}[data-validate-cpf-cnpj='true'][id='user_bank_account_attributes_owner_document'][type='tel'][validation_text='true']`, {\n value: fields.birth_date(),\n name: 'user[birth_date]',\n class: parsedErrors.hasError('birth_date') ? 'error' : false,\n disabled: (disableFields && !_.isEmpty(user.birth_date)),\n onchange: m.withAttr('value', applyBirthDateMask),\n onkeyup: m.withAttr('value', applyBirthDateMask)\n }),\n parsedErrors.inlineError('birth_date')\n ] : [\n m('label.text.required.field-label.field-label.fontweight-semibold.force-text-dark[for=\\'user_bank_account_attributes_owner_document\\']',\n window.I18n.t('label_state_inscription', I18nScope())\n ),\n m('input.string.tel.required.w-input.text-field.positive[data-validate-cpf-cnpj=\\'true\\'][id=\\'user_bank_account_attributes_owner_document\\'][type=\\'tel\\'][validation_text=\\'true\\']', {\n value: fields.state_inscription(),\n class: parsedErrors.hasError('state_inscription') ? 'error' : false,\n name: 'user[state_inscription]',\n onchange: m.withAttr('value', fields.state_inscription)\n }),\n parsedErrors.inlineError('state_inscription')\n ]))\n ])\n ])\n\n ])\n ]\n });\n }\n};\n\nexport default userSettingsResponsible;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport bigCard from './big-card';\nimport h from '../h';\nimport addressForm from './address-form';\n\nconst I18nScope = _.partial(h.i18nScope, 'users.edit.settings_tab');\n\nconst userSettingsAddress = {\n view: function({attrs}) {\n const parsedErrors = attrs.parsedErrors;\n\n return m(bigCard, {\n label: window.I18n.t('address_title', I18nScope()),\n label_hint: window.I18n.t('address_subtitle', I18nScope()),\n children: [\n m('.divider.u-marginbottom-20'),\n m(addressForm, {\n addressFields: attrs.addVM().fields,\n parsedErrors \n })\n ]\n });\n }\n};\n\nexport default userSettingsAddress;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'users.edit.settings_tab');\n\nconst userSettingsSavedCreditCards = {\n view: function({attrs}) {\n const \n user = attrs.user,\n creditCards = attrs.creditCards(),\n setCardDeletionForm = attrs.setCardDeletionForm,\n deleteCard = attrs.deleteCard,\n toDeleteCard = attrs.toDeleteCard;\n\n return m('.w-form.card.card-terciary.u-marginbottom-20', [\n m('.fontsize-base.fontweight-semibold',\n window.I18n.t('credit_cards.title', I18nScope())\n ),\n m('.fontsize-small.u-marginbottom-20',\n m.trust(\n window.I18n.t('credit_cards.subtitle', I18nScope())\n )\n ),\n m('.divider.u-marginbottom-20'),\n m('.w-row.w-hidden-tiny.card', [\n m('.w-col.w-col-5.w-col-small-5',\n m('.fontsize-small.fontweight-semibold',\n window.I18n.t('credit_cards.card_label', I18nScope())\n )\n ),\n m('.w-col.w-col-5.w-col-small-5',\n m('.fontweight-semibold.fontsize-small',\n window.I18n.t('credit_cards.provider_label', I18nScope())\n )\n ),\n m('.w-col.w-col-2.w-col-small-2')\n ]),\n\n (_.map(creditCards, card => m('.w-row.card', [\n m('.w-col.w-col-5.w-col-small-5',\n m('.fontsize-small.fontweight-semibold', [\n 'XXXX XXXX XXXX',\n m.trust(' '),\n card.last_digits\n ])\n ),\n m('.w-col.w-col-5.w-col-small-5',\n m('.fontsize-small.fontweight-semibold.u-marginbottom-10',\n card.card_brand.toUpperCase()\n )\n ),\n m('.w-col.w-col-2.w-col-small-2',\n m('a.btn.btn-terciary.btn-small[rel=\\'nofollow\\']', {\n onclick: deleteCard(card.id)\n },\n window.I18n.t('credit_cards.remove_label', I18nScope())\n )\n )\n ]))),\n m('form.w-hidden', {\n action: `/${window.I18n.locale}/users/${user.id}/credit_cards/${toDeleteCard()}`,\n method: 'POST',\n oncreate: setCardDeletionForm\n }, [\n m('input[name=\\'utf8\\'][type=\\'hidden\\'][value=\\'✓\\']'),\n m('input[name=\\'_method\\'][type=\\'hidden\\'][value=\\'delete\\']'),\n m(`input[name='authenticity_token'][type='hidden'][value='${h.authenticityToken()}']`),\n ])\n ]);\n }\n\n};\n\nexport default userSettingsSavedCreditCards;\n","import m from 'mithril';\n\nconst userSettingsHelp = {\n view: function ({state, attrs}) {\n return m('.w-col.w-col-4', [\n m('.card.u-radius.card-message.u-marginbottom-20',\n [\n m('.fontsize-small.u-marginbottom-10',\n [\n m('span.fa.fa-youtube-play.fa-lg'),\n m.trust(' '),\n 'Assista ao vídeo tutorial',\n m('a.alt-link[href=\\'https://catarse.attach.io/Hk5H9HKeZ\\'][target=\\'_blank\\']')\n ]\n ),\n m('.w-video.w-embed', { style: { 'padding-top': '56.17021276595745%' } },\n m('iframe.embedly-embed[allowfullscreen=\\'\\'][frameborder=\\'0\\'][scrolling=\\'no\\'][src=\\'//cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FzglP9Pbu1uE%3Ffeature%3Doembed&url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DzglP9Pbu1uE&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FzglP9Pbu1uE%2Fhqdefault.jpg&key=96f1f04c5f4143bcb0f2e68c87d65feb&type=text%2Fhtml&schema=youtube\\']')\n )\n ]\n ),\n m('.card.u-radius',\n [\n m('.fontsize-small.u-marginbottom-20',\n [\n m('span.fa.fa-lightbulb-o.fa-lg'),\n m.trust(' '),\n 'Dicas',\n m('a.alt-link[href=\\'https://catarse.attach.io/Hk5H9HKeZ\\'][target=\\'_blank\\']')\n ]\n ),\n m('ul.w-list-unstyled',\n [\n m('li.u-marginbottom-10',\n m('a.fontsize-smaller.alt-link[href=\\'https://suporte.catarse.me/hc/pt-br/articles/217916143-A-transfer%C3%AAncia-do-dinheiro#conta\\'][target=\\'_blank\\']',\n 'Responsável pelo projeto e Conta bancária para receber o dinheiro'\n )\n ),\n m('li.u-marginbottom-10',\n m('a.fontsize-smaller.alt-link[href=\\'https://suporte.catarse.me/hc/pt-br/articles/115002214043-Responsabilidades-e-Seguran%C3%A7a?ref=ctrse_footer\\'][target=\\'_blank\\']',\n 'Responsabilidades e Segurança no Catarse'\n )\n )\n ]\n )\n ]\n )\n ]);\n }\n}\n\nexport default userSettingsHelp;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport userVM from '../vms/user-vm';\nimport h from '../h';\nimport popNotification from './pop-notification';\nimport projectEditSaveBtn from './project-edit-save-btn';\nimport userSettingsVM from '../vms/user-settings-vm';\nimport railsErrorsVM from '../vms/rails-errors-vm';\n\nimport userSettingsResponsible from './user-settings-responsible';\nimport userSettingsAddress from './user-settings-address';\nimport userSettingsSavedCreditCards from './user-settings-saved-credit-cards';\nimport userSettingsHelp from './user-settings-help';\nimport addressVM from '../vms/address-vm';\n\nconst I18nScope = _.partial(h.i18nScope, 'users.edit.settings_tab');\n\nconst userSettings = {\n oninit: function(vnode) {\n let parsedErrors = userSettingsVM.mapRailsErrors(railsErrorsVM.railsErrors());\n let deleteFormSubmit;\n const user = vnode.attrs.user();\n const userAddress = user.address || {};\n const addVM = prop(addressVM({ data: userAddress }));\n const fields = prop({\n owner_document: prop(user.owner_document || ''),\n name: prop(user.name || ''),\n state_inscription: prop(user.state_inscription || ''),\n address: prop(user.address || {}),\n birth_date: prop((user.birth_date ? h.momentify(user.birth_date) : '')),\n account_type: prop(user.account_type || '')\n });\n const loading = prop(false);\n const user_id = vnode.attrs.userId;\n const error = prop('');\n const loader = prop(true);\n const showSuccess = h.toggleProp(false, true);\n const showError = h.toggleProp(false, true);\n const documentMask = _.partial(h.mask, '999.999.999-99');\n const documentCompanyMask = _.partial(h.mask, '99.999.999/9999-99');\n const birthDayMask = _.partial(h.mask, '99/99/9999');\n const creditCards = prop();\n const toDeleteCard = prop(-1);\n const requestRedraw = () => {\n m.redraw();\n },\n deleteCard = id => () => {\n toDeleteCard(id);\n // We must redraw here to update the action output of the hidden form on the DOM.\n requestRedraw();\n deleteFormSubmit();\n return false;\n },\n setCardDeletionForm = (localVnode) => {\n deleteFormSubmit = () => localVnode.dom.submit();\n },\n updateUserData = () => {\n const userData = {\n cpf: fields().owner_document(),\n name: fields().name(),\n address_attributes: addVM().getFields(),\n account_type: fields().account_type(),\n birth_date: fields().birth_date(),\n state_inscription: fields().state_inscription\n };\n\n if (vnode.attrs.publishingUserSettings) {\n userData.publishing_user_settings = true;\n }\n\n return m.request({\n method: 'PUT',\n url: `/users/${user_id}.json`,\n data: {\n user: userData\n },\n config: h.setCsrfToken\n }).then(() => {\n if (parsedErrors) {\n parsedErrors.resetFieldErrors();\n }\n loading(false);\n if (!showSuccess()) {\n showSuccess.toggle();\n }\n railsErrorsVM.validatePublish();\n requestRedraw();\n }).catch((err) => {\n if (parsedErrors) {\n parsedErrors.resetFieldErrors();\n }\n parsedErrors = userSettingsVM.mapRailsErrors(err.errors_json);\n error('Erro ao atualizar informações.');\n loading(false);\n if (showSuccess()) {\n showSuccess.toggle();\n }\n if (!showError()) {\n showError.toggle();\n }\n requestRedraw();\n });\n },\n onSubmit = () => {\n loading(true);\n requestRedraw();\n updateUserData();\n return false;\n },\n applyBirthDateMask = _.compose(fields().birth_date, birthDayMask),\n applyDocumentMask = (value) => {\n if (fields().account_type() != 'pf') {\n fields().owner_document(documentCompanyMask(value));\n } else {\n fields().owner_document(documentMask(value));\n }\n requestRedraw();\n },\n handleError = () => {\n error(true);\n loader(false);\n requestRedraw();\n };\n\n userVM.getUserCreditCards(vnode.attrs.userId).then(creditCards).catch(handleError);\n if (parsedErrors.hasError('country_id')) {\n parsedErrors.inlineError('country_id', false);\n }\n\n vnode.attrs.user.map((userData) => {\n fields().owner_document(userData.owner_document || '');\n fields().name(userData.name || '');\n fields().state_inscription(userData.state_inscription || '');\n fields().address(userData.address || {});\n fields().birth_date((userData.birth_date ? h.momentify(userData.birth_date) : ''));\n fields().account_type(userData.account_type || '');\n addVM().setFields(userData.address || {});\n });\n\n vnode.state = {\n handleError,\n applyDocumentMask,\n fields,\n loader,\n showSuccess,\n showError,\n onSubmit,\n error,\n creditCards,\n deleteCard,\n toDeleteCard,\n setCardDeletionForm,\n applyBirthDateMask,\n loading,\n parsedErrors,\n addVM\n };\n },\n view: function({state, attrs}) {\n \n const user = attrs.user();\n const fields = state.fields;\n const addVM = state.addVM;\n const hasContributedOrPublished = (user.total_contributed_projects >= 1 || user.total_published_projects >= 1);\n const disableFields = (user.is_admin_role ? false : (hasContributedOrPublished && !_.isEmpty(user.name) && !_.isEmpty(user.owner_document)));\n const applyBirthDateMask = state.applyBirthDateMask;\n const applyDocumentMask = state.applyDocumentMask;\n const parsedErrors = state.parsedErrors;\n const creditCards = state.creditCards;\n const toDeleteCard = state.toDeleteCard;\n const deleteCard = state.deleteCard;\n const setCardDeletionForm = state.setCardDeletionForm;\n const shouldHideCreditCards = attrs.hideCreditCards;\n const isProjectUserEdit = !!attrs.isProjectUserEdit;\n\n return m('[id=\\'settings-tab\\']', [\n (\n state.showSuccess() ? \n m(popNotification, {\n message: window.I18n.t('update_success_msg', I18nScope()),\n toggleOpt: state.showSuccess\n }) \n : \n ''\n ),\n (\n state.showError() ? \n m(popNotification, {\n message: state.error(),\n toggleOpt: state.showError,\n error: true\n }) \n : \n ''\n ),\n m('form.w-form', { onsubmit: state.onSubmit }, [\n m('div', [\n m('.w-container',\n (\n isProjectUserEdit ? \n m('.w-row', [\n m(\".w-col.w-col-8\", [\n m(userSettingsResponsible, { parsedErrors, fields, user, disableFields, applyDocumentMask, applyBirthDateMask }),\n m(userSettingsAddress, { addVM, parsedErrors })\n ]),\n m(userSettingsHelp, {})\n ])\n : \n m('.w-col.w-col-10.w-col-push-1', [\n m(userSettingsResponsible, { parsedErrors, fields, user, disableFields, applyDocumentMask, applyBirthDateMask }),\n m(userSettingsAddress, { addVM, parsedErrors }),\n (shouldHideCreditCards ? '' : m(userSettingsSavedCreditCards, { user, creditCards, setCardDeletionForm, deleteCard, toDeleteCard }))\n ])\n )\n ),\n m(projectEditSaveBtn, {\n loading: state.loading,\n onSubmit: state.onSubmit\n })\n ])\n ])\n ]);\n }\n};\n\nexport default userSettings;\n","import m from \"mithril\";\nimport prop from \"mithril/stream\";\nimport _ from \"underscore\";\nimport h from \"../h\";\nimport userVM from \"../vms/user-vm\";\nimport inlineError from \"./inline-error\";\n\nconst I18nScope = _.partial(h.i18nScope, \"users.edit.notifications_fields\");\nconst userNotifications = {\n oninit: function(vnode) {\n const contributedProjects = h.RedrawStream();\n const subscribedProjects = h.RedrawStream();\n const projectReminders = h.RedrawStream();\n const mailMarketingLists = h.RedrawStream();\n const user_id = vnode.attrs.userId;\n const showNotifications = h.toggleProp(false, true);\n const error = h.RedrawStream(false);\n const unsubscribedNewsProjects = h.RedrawStream([]);\n\n userVM\n .getUserUnsubscribesProjects(user_id)\n .then(unsubscribedNewsProjects)\n .catch(error);\n\n userVM\n .getUserProjectReminders(user_id)\n .then(projectReminders)\n .catch(error);\n\n userVM\n .getMailMarketingLists()\n .then(data => mailMarketingLists(generateListHandler(data)))\n .catch(error);\n\n userVM\n .getUserContributedProjects(user_id, null)\n .then(contributedProjects)\n .catch(error);\n\n userVM\n .getUserSubscribedProjects(user_id, null)\n .then(subscribedProjects)\n .catch(error);\n\n const generateListHandler = list => {\n const user_lists = vnode.attrs.user.mail_marketing_lists;\n return _.map(list, (item, i) => {\n const user_signed =\n !_.isEmpty(user_lists) &&\n !_.isUndefined(\n _.find(user_lists, userList =>\n userList.marketing_list\n ? userList.marketing_list.list_id ===\n item.list_id\n : false\n )\n );\n const handler = {\n item,\n in_list: user_signed,\n should_insert: prop(false),\n should_destroy: prop(false),\n isInsertInListState: h.toggleProp(false, true),\n hovering: prop(false)\n };\n handler.isInsertInListState(!handler.in_list);\n return handler;\n });\n };\n\n const getUserMarketingListId = list => {\n const currentList = _.find(\n vnode.attrs.user.mail_marketing_lists,\n userList => userList.marketing_list.list_id === list.list_id\n );\n\n return currentList ? currentList.user_marketing_list_id : null;\n };\n\n const isOnCurrentList = (userLists, currentList) =>\n Boolean(\n _.find(userLists, userList => {\n if (userList.marketing_list) {\n return (\n userList.marketing_list.list_id ===\n currentList.list_id\n );\n }\n\n return false;\n })\n );\n\n vnode.state = {\n contributedProjects,\n subscribedProjects,\n mailMarketingLists,\n showNotifications,\n projectReminders,\n error,\n generateListHandler,\n getUserMarketingListId,\n isOnCurrentList,\n unsubscribedNewsProjects\n };\n },\n view: function({ state, attrs }) {\n const user = attrs.user,\n reminders = state.projectReminders(),\n projects_collection = (state.contributedProjects() || []).concat(\n state.subscribedProjects() || []\n ),\n marketing_lists = state.mailMarketingLists(),\n unsubscribedNewsProjects = state.unsubscribedNewsProjects(),\n user_contributed_and_subscribed_projects_count =\n projects_collection.length;\n\n return m(\n \"[id='notifications-tab']\",\n state.error()\n ? m(inlineError, {\n message: \"Erro ao carregar a página.\"\n })\n : m(\n `form.simple_form.edit_user[accept-charset='UTF-8'][action='/${\n window.I18n.locale\n }/users/${\n user.id\n }'][method='post'][novalidate='novalidate']`,\n [\n m(\"input[name='utf8'][type='hidden'][value='✓']\"),\n m(\n \"input[name='_method'][type='hidden'][value='patch']\"\n ),\n m(\n `input[name='authenticity_token'][type='hidden'][value='${h.authenticityToken()}']`\n ),\n m(\n \"input[id='anchor'][name='anchor'][type='hidden'][value='notifications']\"\n ),\n m(\".w-container\", [\n m(\n \".w-row\",\n m(\n \".w-col.w-col-10.w-col-push-1\",\n m(\".w-form.card.card-terciary\", [\n m(\".w-row.u-marginbottom-20\", [\n m(\n \".w-col.w-col-4\",\n m(\n \".fontweight-semibold.fontsize-small.u-marginbottom-10\",\n \"Newsletters:\"\n )\n ),\n m(\n \".w-col.w-col-8\",\n _.isEmpty(marketing_lists)\n ? h.loader()\n : _.map(\n marketing_lists,\n (_item, i) => {\n const item =\n _item.item;\n\n return m(\n \".card.u-marginbottom-20.u-radius.u-text-center-small-only\",\n m(\n \".w-row\",\n [\n m(\n \".w-sub-col.w-col.w-col-6\",\n m(\n \"img\",\n {\n src: window.I18n.t(\n `newsletters.${\n item.list_id\n }.image_src`,\n I18nScope()\n )\n }\n )\n ),\n m(\n \".w-col.w-col-6\",\n [\n m(\n \".fontsize-base.fontweight-semibold\",\n window.I18n.t(\n `newsletters.${\n item.list_id\n }.title`,\n I18nScope()\n )\n ),\n m(\n \".fontsize-small.u-marginbottom-30\",\n window.I18n.t(\n `newsletters.${\n item.list_id\n }.description`,\n I18nScope()\n )\n ),\n _item.should_insert() ||\n _item.should_destroy()\n ? m(\n \"input[type='hidden']\",\n {\n name: `user[mail_marketing_users_attributes][${i}][mail_marketing_list_id]`,\n value:\n item.id\n }\n )\n : \"\",\n _item.should_destroy()\n ? m(\n \"input[type='hidden']\",\n {\n name: `user[mail_marketing_users_attributes][${i}][id]`,\n value: state.getUserMarketingListId(\n item\n )\n }\n )\n : \"\",\n _item.should_destroy()\n ? m(\n \"input[type='hidden']\",\n {\n name: `user[mail_marketing_users_attributes][${i}][_destroy]`,\n value: _item.should_destroy()\n }\n )\n : \"\",\n m(\n \"button.btn.btn-medium.w-button\",\n {\n class: !_item.isInsertInListState()\n ? \"btn-terciary\"\n : null,\n onclick: event => {\n // If user already has this list, click should enable destroy state\n if (\n state.isOnCurrentList(\n user.mail_marketing_lists,\n item\n )\n ) {\n _item.should_destroy(\n true\n );\n\n return;\n }\n _item.should_insert(\n true\n );\n },\n onmouseenter: () => {\n _item.hovering(\n true\n );\n },\n onmouseout: () => {\n _item.hovering(\n false\n );\n }\n },\n _item.in_list\n ? _item.hovering()\n ? \"Descadastrar\"\n : \"Assinado\"\n : \"Assinar\"\n )\n ]\n )\n ]\n )\n );\n }\n )\n )\n ]),\n m(\".w-row.u-marginbottom-20\", [\n m(\n \".w-col.w-col-4\",\n m(\n \".fontweight-semibold.fontsize-small.u-marginbottom-10\",\n \"Projetos que você apoiou:\"\n )\n ),\n m(\n \".w-col.w-col-8\",\n m(\".w-checkbox.w-clearfix\", [\n m(\n \"input[name=user[subscribed_to_project_posts]][type='hidden'][value='0']\"\n ),\n m(\n `input.w-checkbox-input${\n user.subscribed_to_project_posts\n ? \"[checked='checked']\"\n : \"\"\n }[id='user_subscribed_to_project_posts'][name=user[subscribed_to_project_posts]][type='checkbox'][value='1']`\n ),\n m(\n \"label.w-form-label.fontsize-base.fontweight-semibold\",\n \" Quero receber atualizações dos projetos\"\n ),\n m(\n \".u-marginbottom-20\",\n m(\n \"a.alt-link[href='javascript:void(0);']\",\n {\n onclick:\n state\n .showNotifications\n .toggle\n },\n ` Gerenciar as notificações de ${user_contributed_and_subscribed_projects_count} projetos`\n )\n ),\n state.showNotifications()\n ? m(\n \"ul.w-list-unstyled.u-radius.card.card-secondary[id='notifications-box']\",\n [\n !_.isEmpty(\n projects_collection\n )\n ? _.map(\n projects_collection,\n project => {\n const project_id = Number(\n !!project.project_external_id\n ? project.project_external_id\n : project.project_id\n );\n const found_index =\n unsubscribedNewsProjects.findIndex(\n value =>\n value.project_id ===\n project_id\n ) >=\n 0;\n const unsubscribed_truthy = !!project.unsubscribed;\n const is_unsubscribed =\n unsubscribed_truthy ||\n found_index;\n\n return m(\n \"li\",\n m(\n \".w-checkbox.w-clearfix\",\n [\n m(\n `input[id='unsubscribes_${project_id}'][type='hidden'][value='']`,\n {\n name: `unsubscribes[${project_id}]`\n }\n ),\n m(\n `input.w-checkbox-input${\n is_unsubscribed\n ? \"\"\n : \"[checked='checked']\"\n }[type='checkbox'][value='1'][id='user_unsubscribes_${\n project.project_id\n }']`,\n {\n name: `unsubscribes[${project_id}]`\n }\n ),\n m(\n \"label.w-form-label.fontsize-small\",\n project.project_name\n )\n ]\n )\n );\n }\n )\n : \"\"\n ]\n )\n : \"\"\n ])\n )\n ]),\n m(\".w-row.u-marginbottom-20\", [\n m(\n \".w-col.w-col-4\",\n m(\n \".fontweight-semibold.fontsize-small.u-marginbottom-10\",\n \"Social:\"\n )\n ),\n m(\n \".w-col.w-col-8\",\n m(\".w-checkbox.w-clearfix\", [\n m(\n \"input[name=user[subscribed_to_friends_contributions]][type='hidden'][value='0']\"\n ),\n m(\n `input.w-checkbox-input${\n user.subscribed_to_friends_contributions\n ? \"[checked='checked']\"\n : \"\"\n }[id='user_subscribed_to_friends_contributions'][name=user[subscribed_to_friends_contributions]][type='checkbox'][value='1']`\n ),\n m(\n \"label.w-form-label.fontsize-small\",\n \"Um amigo apoiou ou lançou um projeto\"\n )\n ])\n ),\n m(\n \".w-col.w-col-8\",\n m(\".w-checkbox.w-clearfix\", [\n m(\n \"input[name=user[subscribed_to_new_followers]][type='hidden'][value='0']\"\n ),\n m(\n `input.w-checkbox-input${\n user.subscribed_to_new_followers\n ? \"[checked='checked']\"\n : \"\"\n }[id='user_subscribed_to_new_followers'][name=user[subscribed_to_new_followers]][type='checkbox'][value='1']`\n ),\n m(\n \"label.w-form-label.fontsize-small\",\n \"Um amigo começou a me seguir\"\n )\n ])\n )\n ]),\n m(\".w-row.u-marginbottom-20\", [\n m(\n \".w-col.w-col-4\",\n m(\n \".fontweight-semibold.fontsize-small.u-marginbottom-10\",\n \"Lembretes de projetos:\"\n )\n ),\n m(\".w-col.w-col-8\", [\n !_.isEmpty(reminders)\n ? _.map(\n reminders,\n reminder =>\n m(\n \".w-checkbox.w-clearfix\",\n [\n m(\n `input[id='user_reminders_${\n reminder.project_id\n }'][type='hidden'][value='false']`,\n {\n name: `user[reminders][${\n reminder.project_id\n }]`\n }\n ),\n m(\n `input.w-checkbox-input[checked='checked'][type='checkbox'][value='1'][id='user_reminders_${\n reminder.project_id\n }']`,\n {\n name: `user[reminders][${\n reminder.project_id\n }]`\n }\n ),\n m(\n \"label.w-form-label.fontsize-small\",\n m(\n `a.alt-link[href='/projects/${\n reminder.project_id\n }?ref=ctrse_profile_reminder'][target='_blank']`,\n reminder.project_name\n )\n )\n ]\n )\n )\n : \"\"\n ])\n ])\n ])\n )\n ),\n m(\n \".u-margintop-30\",\n m(\n \".w-container\",\n m(\n \".w-row\",\n m(\n \".w-col.w-col-4.w-col-push-4\",\n m(\n \"input.btn.btn-large[id='save'][name='commit'][type='submit'][value='Salvar']\"\n )\n )\n )\n )\n )\n ])\n ]\n )\n );\n }\n};\n\nexport default userNotifications;\n","import m from 'mithril';\nimport h from '../h';\n\nconst UserOwnerBox = {\n view: function({attrs}) {\n let project = attrs.project,\n user = attrs.user;\n\n return m('.card.card-terciary.u-radius.u-marginbottom-40', [\n m('.w-row', [\n (attrs.hideAvatar ? '' : m('.w-col.w-col-2.w-col-small-2.w-col-tiny-2.w-hidden-tiny', [\n m(`img.thumb.u-margintop-10.u-round[src=\"${h.useAvatarOrDefault(user.profile_img_thumbnail)}\"][width=\"100\"]`)\n ])),\n m('.w-col.w-col-10.w-col-small-10.w-col-tiny-10', [\n m('.fontcolor-secondary.fontsize-smallest.u-marginbottom-10', [\n (project ? 'Dados do apoiador ' : 'Dados do usuário '),\n m(`a.alt-link[href=\"/not-my-account${project ? `?project_id=${project.project_id}` : ''}${attrs.reward ? `&reward_id=${attrs.reward.id}` : ''}${attrs.value ? `&value=${attrs.value}` : ''}\"]`, 'Não é você?')\n ]),\n m('.fontsize-base.fontweight-semibold', user.name),\n m('label.field-label', `CPF/CNPJ: ${user.owner_document}`)\n ])\n ])\n ]);\n }\n};\n\nexport default UserOwnerBox;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst userBankForm = {\n oninit: function (vnode) {\n const parsedErrors = vnode.attrs.parsedErrors;\n const userBankAccount = vnode.attrs.userBankAccount;\n const banks = vnode.attrs.banks;\n const showOtherBanks = h.toggleProp(false, true);\n const showOtherBanksInput = prop(false);\n const popularBanks = [{\n id: '51',\n code: '001',\n name: 'Banco do Brasil S.A.'\n }, {\n id: '131',\n code: '341',\n name: 'Itaú Unibanco S.A.'\n }, {\n id: '122',\n code: '104',\n name: 'Caixa Econômica Federal'\n }, {\n id: '104',\n code: '033',\n name: 'Banco Santander (Brasil) S.A.'\n }, {\n id: '127',\n code: '399',\n name: 'HSBC Bank Brasil S.A. - Banco Múltiplo'\n }, {\n id: '23',\n code: '237',\n name: 'Banco Bradesco S.A.'\n }];\n\n vnode.state = {\n bankInput: vnode.attrs.bankInput,\n bankCode: vnode.attrs.bankCode,\n banks,\n showOtherBanksInput,\n showOtherBanks,\n popularBanks,\n userBankAccount,\n parsedErrors\n };\n },\n view: function ({ state, attrs }) {\n const fields = attrs.fields;\n const userBankAccount = state.userBankAccount();\n \n return m('div', [\n m('.w-row', [\n m(`.w-col.w-col-5.w-sub-col${state.showOtherBanksInput() ? '.w-hidden' : ''}[id='bank_select']`,\n m('.input.select.required.user_bank_account_bank_id', [\n m('label.field-label.fontsize-smaller',\n 'Banco'\n ),\n m('select.select.required.w-input.text-field.bank-select.positive[id=\\'user_bank_account_attributes_bank_id\\']', {\n name: 'user[bank_account_attributes][bank_id]',\n class: state.parsedErrors.hasError('bank_id') ? 'error' : false,\n onchange: (e) => {\n m.withAttr('value', state.bankCode)(e);\n state.showOtherBanksInput(state.bankCode() === '0');\n }\n }, [\n m('option[value=\\'\\']', {\n selected: fields.bank_id() === ''\n }),\n (_.map(state.popularBanks, bank => (fields.bank_id() !== bank.id ? m(`option[value='${bank.id}']`, {\n selected: fields.bank_id() === bank.id\n }, `${bank.code} . ${bank.name}`) : ''))),\n (fields.bank_id() === '' || _.find(state.popularBanks, bank => bank.id === fields.bank_id())\n ? ''\n : m(`option[value='${fields.bank_id()}']`, {\n selected: true,\n }, `${userBankAccount.bank_code} . ${userBankAccount.bank_name}`)\n ),\n m('option[value=\\'0\\']',\n 'Outro'\n )\n ]),\n m('.fontsize-smaller.text-error.u-marginbottom-20.fa.fa-exclamation-triangle.w-hidden[data-error-for=\\'user_bank_account_attributes_bank_id\\']',\n ' Selecione um banco'\n ),\n state.parsedErrors.inlineError('bank_id')\n ])\n ),\n (state.showOtherBanksInput()\n ? m('.w-col.w-col-5.w-sub-col',\n m('.w-row.u-marginbottom-20[id=\\'bank_search\\']',\n m('.w-col.w-col-12', [\n m('.input.string.optional.user_bank_account_input_bank_number', [\n m('label.field-label.fontsize-smaller',\n 'Número do banco (3 números)'\n ),\n m('input.string.optional.w-input.text-field.bank_account_input_bank_number[id=\\'user_bank_account_attributes_input_bank_number\\'][maxlength=\\'3\\'][size=\\'3\\'][type=\\'text\\']', {\n name: 'user[bank_account_attributes][input_bank_number]',\n value: state.bankInput(),\n onchange: m.withAttr('value', state.bankInput)\n }),\n m('.fontsize-smaller.text-error.u-marginbottom-20.fa.fa-exclamation-triangle.w-hidden[data-error-for=\\'user_bank_account_attributes_input_bank_number\\']',\n\n ' Número do banco inválido'\n )\n ]),\n m('a.w-hidden-small.w-hidden-tiny.alt-link.fontsize-smaller[href=\\'javascript:void(0);\\'][id=\\'show_bank_list\\']', {\n onclick: state.showOtherBanks.toggle\n }, [\n 'Busca por nome ',\n m.trust(' '),\n m.trust('>')\n ]),\n m('a.w-hidden-main.w-hidden-medium.alt-link.fontsize-smaller[href=\\'javascript:void(0);\\'][id=\\'show_bank_list\\']', {\n onclick: state.showOtherBanks.toggle\n }, [\n 'Busca por nome ',\n m.trust(' '),\n m.trust('>')\n ])\n ])\n )\n ) : ''),\n (state.showOtherBanks()\n ? m('.w-row[id=\\'bank_search_list\\']',\n m('.w-col.w-col-12',\n m('.select-bank-list[data-ix=\\'height-0-on-load\\']', {\n style: {\n height: '395px'\n }\n },\n m('.card.card-terciary', [\n m('.fontsize-small.fontweight-semibold.u-marginbottom-10.u-text-center',\n 'Selecione o seu banco abaixo'\n ),\n m('.fontsize-smaller', [\n m('.w-row.card.card-secondary.fontweight-semibold', [\n m('.w-col.w-col-3.w-col-small-3.w-col-tiny-3',\n m('div',\n 'Número'\n )\n ),\n m('.w-col.w-col-9.w-col-small-9.w-col-tiny-9',\n m('div',\n 'Nome'\n )\n )\n ]),\n (!_.isEmpty(state.banks())\n ? _.map(state.banks(), bank => m('.w-row.card.fontsize-smallest', [\n m('.w-col.w-col-3.w-col-small-3.w-col-tiny-3',\n m(`a.link-hidden.bank-resource-link[data-code='${bank.code}'][data-id='${bank.id}'][href='javascript:void(0)']`, {\n onclick: () => {\n state.bankInput(bank.code);\n state.showOtherBanks.toggle();\n }\n }, bank.code)\n ),\n m('.w-col.w-col-9.w-col-small-9.w-col-tiny-9',\n m(`a.link-hidden.bank-resource-link[data-code='${bank.code}'][data-id='${bank.id}'][href='javascript:void(0)']`, {\n onclick: () => {\n state.bankInput(bank.code);\n state.showOtherBanks.toggle();\n }\n },\n `${bank.code} . ${bank.name}`\n )\n )\n ])) : '')\n ])\n ])\n )\n )\n ) : ''),\n m('.w-col.w-col-7',\n m('.w-row', [\n m('.w-col.w-col-7.w-col-small-7.w-col-tiny-7.w-sub-col-middle', [\n m('label.text.required.field-label.field-label.fontweight-semibold.force-text-dark.fontsize-smaller[for=\\'user_bank_account_attributes_agency\\']',\n 'Agência'\n ),\n m('input.string.required.w-input.text-field.positive[id=\\'user_bank_account_attributes_agency\\'][type=\\'text\\']', {\n value: fields.agency(),\n class: state.parsedErrors.hasError('agency') ? 'error' : false,\n name: 'user[bank_account_attributes][agency]',\n onchange: m.withAttr('value', fields.agency)\n }),\n state.parsedErrors.inlineError('agency')\n ]),\n m('.w-col.w-col-5.w-col-small-5.w-col-tiny-5', [\n m('label.text.optional.field-label.field-label.fontweight-semibold.force-text-dark.fontsize-smaller[for=\\'user_bank_account_attributes_agency_digit\\']',\n 'Dígito agência'\n ),\n m('input.string.optional.w-input.text-field.positive[id=\\'user_bank_account_attributes_agency_digit\\'][type=\\'text\\']', {\n value: fields.agency_digit(),\n class: state.parsedErrors.hasError('agency_digit') ? 'error' : false,\n name: 'user[bank_account_attributes][agency_digit]',\n onchange: m.withAttr('value', fields.agency_digit)\n }),\n state.parsedErrors.inlineError('agency_digit')\n ])\n ])\n )\n ]),\n m('.w-row', [\n m('.w-col.w-col-5.w-sub-col', [\n m('label.field-label.fontweight-semibold.fontsize-smaller',\n 'Tipo de conta'\n ),\n m('.input.select.required.user_bank_account_account_type', [\n m('select.select.required.w-input.text-field.bank-select.positive[id=\\'user_bank_account_attributes_account_type\\']', {\n name: 'user[bank_account_attributes][account_type]',\n class: state.parsedErrors.hasError('account_type') ? 'error' : false,\n onchange: m.withAttr('value', fields.bank_account_type)\n }, [\n m('option[value=\\'conta_corrente\\']', {\n selected: fields.bank_account_type() === 'conta_corrente'\n }, 'Conta corrente'),\n m('option[value=\\'conta_poupanca\\']', {\n Selected: fields.bank_account_type() === 'conta_poupanca'\n }, 'Conta poupança'),\n m('option[value=\\'conta_corrente_conjunta\\']', {\n selected: fields.bank_account_type() === 'conta_corrente_conjunta'\n }, 'Conta corrente conjunta'),\n m('option[value=\\'conta_poupanca_conjunta\\']', {\n selected: fields.bank_account_type() === 'conta_poupanca_conjunta'\n }, 'Conta poupança conjunta')\n ]),\n state.parsedErrors.inlineError('account_type')\n ])\n ]),\n m('.w-col.w-col-7',\n m('.w-row', [\n m('.w-col.w-col-7.w-col-small-7.w-col-tiny-7.w-sub-col-middle', [\n m('label.text.required.field-label.field-label.fontweight-semibold.force-text-dark.fontsize-smaller[for=\\'user_bank_account_attributes_account\\']',\n 'No. da conta'\n ),\n m('input.string.required.w-input.text-field.positive[id=\\'user_bank_account_attributes_account\\'][type=\\'text\\']', {\n value: fields.account(),\n class: state.parsedErrors.hasError('account') ? 'error' : false,\n onchange: m.withAttr('value', fields.account),\n name: 'user[bank_account_attributes][account]'\n }),\n state.parsedErrors.inlineError('account')\n ]),\n m('.w-col.w-col-5.w-col-small-5.w-col-tiny-5', [\n m('label.text.required.field-label.field-label.fontweight-semibold.force-text-dark.fontsize-smaller[for=\\'user_bank_account_attributes_account_digit\\']',\n 'Dígito conta'\n ),\n m('input.string.required.w-input.text-field.positive[id=\\'user_bank_account_attributes_account_digit\\'][type=\\'text\\']', {\n value: fields.account_digit(),\n class: state.parsedErrors.hasError('account_digit') ? 'error' : false,\n onchange: m.withAttr('value', fields.account_digit),\n name: 'user[bank_account_attributes][account_digit]'\n }),\n state.parsedErrors.inlineError('account_digit')\n ])\n ])\n )\n ]),\n (userBankAccount.bank_account_id\n ? m('input[id=\\'user_bank_account_attributes_id\\'][type=\\'hidden\\']', {\n name: 'user[bank_account_attributes][id]',\n value: fields.bank_account_id()\n }) : '')\n ]);\n }\n};\n\nexport default userBankForm;\n","/**\n * window.c.UserBalanceRequestModalContent component\n * Render the current user bank account to confirm fund request\n *\n * Example:\n * m.component(c.UserBalanceRequestModelContent, {\n * balance: {user_id: 123, amount: 123} // userBalance struct\n * })\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse } from '../api';\nimport h from '../h';\nimport models from '../models';\nimport userVM from '../vms/user-vm';\nimport UserOwnerBox from './user-owner-box';\nimport userBankForm from './user-bank-form';\nimport userSettingsVM from '../vms/user-settings-vm';\n\nconst I18nScope = _.partial(h.i18nScope, 'users.balance');\n\nconst userBalanceRequestModelContent = {\n oninit: function (vnode) {\n let parsedErrors = userSettingsVM.mapRailsErrors(vnode.attrs.rails_errors);\n const user = vnode.attrs.user;\n const fields = {\n agency: prop(''),\n bank_id: prop(''),\n agency_digit: prop(''),\n account: prop(''),\n account_digit: prop(''),\n bank_account_id: prop(''),\n bank_account_type: prop('')\n };\n\n const bankAccounts = prop([]);\n const banks = prop([]);\n const userBankAccount = prop({});\n const banksLoader = catarse.loader(models.bank.getPageOptions());\n const bankInput = prop('');\n const bankCode = prop('-1');\n const balance = vnode.attrs.balance;\n const loaderOpts = models.balanceTransfer.postOptions({ user_id: balance.user_id });\n const requestLoader = catarse.loaderWithToken(loaderOpts);\n const loading = prop(false);\n const displayDone = h.toggleProp(false, true);\n const displayConfirmation = h.toggleProp(false, true);\n const updateUserData = (user_id) => {\n const userData = {};\n userData.bank_account_attributes = {\n bank_id: bankCode(),\n input_bank_number: bankInput(),\n agency_digit: fields.agency_digit(),\n agency: fields.agency(),\n account: fields.account(),\n account_digit: fields.account_digit(),\n account_type: fields.bank_account_type()\n };\n\n if ((fields.bank_account_id())) {\n userData.bank_account_attributes.id = fields.bank_account_id().toString();\n }\n\n loading(true);\n m.redraw();\n return m.request({\n method: 'PUT',\n url: `/users/${user_id}.json`,\n data: { user: userData },\n config: h.setCsrfToken\n }).then((data) => {\n if (parsedErrors) {\n parsedErrors.resetFieldErrors();\n }\n\n userVM.getUserBankAccount(user_id).then(bankAccounts).then(() => m.redraw());\n loading(false);\n displayConfirmation(true);\n m.redraw();\n }).catch((err) => {\n if (parsedErrors) {\n parsedErrors.resetFieldErrors();\n }\n parsedErrors = userSettingsVM.mapRailsErrors(err.errors_json);\n loading(false);\n m.redraw();\n });\n };\n const requestFund = () => {\n requestLoader.load().then(data => {\n vnode.attrs.balanceManager.load().then(() => m.redraw());\n displayConfirmation(false);\n displayDone.toggle();\n m.redraw();\n });\n };\n\n userVM.getUserBankAccount(user.id).then((data) => {\n if (!_.isEmpty(_.first(data))) {\n userBankAccount(_.first(data));\n fields.bank_account_id(userBankAccount().bank_account_id);\n fields.account(userBankAccount().account);\n fields.account_digit(userBankAccount().account_digit);\n fields.agency(userBankAccount().agency);\n fields.agency_digit(userBankAccount().agency_digit);\n fields.bank_id(userBankAccount().bank_id);\n fields.bank_account_type(userBankAccount().account_type);\n bankCode(userBankAccount().bank_id);\n } else {\n fields.bank_account_type('conta_corrente');\n }\n\n h.redraw();\n });\n\n banksLoader.load().then(banks);\n\n vnode.state = {\n loading,\n requestLoader,\n requestFund,\n bankAccounts,\n displayDone,\n displayConfirmation,\n loadBankA: vnode.attrs.bankAccountManager.loader,\n updateUserData,\n parsedErrors,\n fields,\n bankInput,\n bankCode,\n userBankAccount,\n banks,\n };\n },\n view: function ({ state, attrs }) {\n const balance = attrs.balance;\n const fields = state.fields;\n const bankCode = state.bankCode;\n const user = attrs.user;\n const parsedErrors = state.parsedErrors;\n const bankInput = state.bankInput;\n const userBankAccount = state.userBankAccount;\n const banks = state.banks;\n\n return m('div', [\n m('.modal-dialog-header', [\n m('.fontsize-large.u-text-center', window.I18n.t('withdraw', I18nScope()))\n ]),\n (state.displayConfirmation() ? m('.modal-dialog-content.u-text-center', (\n state.loadBankA() ? h.loader() : _.map(state.bankAccounts(), item => [\n m('.fontsize-base.u-marginbottom-20', [\n m('span.fontweight-semibold', `${window.I18n.t('value_text', I18nScope())}:`),\n m.trust(' '),\n m('span.text-success',\n window.I18n.t('shared.currency', { amount: h.formatNumber(balance.amount, 2, 3) })\n )\n ]),\n m('.fontsize-base.u-marginbottom-10', [\n m('span', { style: { 'font-weight': ' 600' } }, window.I18n.t('bank.account', I18nScope()))\n ]),\n m('.fontsize-small.u-marginbottom-10', [\n m('div', [\n m('span.fontcolor-secondary', window.I18n.t('bank.name', I18nScope())),\n m.trust(' '),\n item.owner_name\n ]),\n m('div', [\n m('span.fontcolor-secondary', window.I18n.t('bank.cpf_cnpj', I18nScope())),\n m.trust(' '),\n item.owner_document\n ]),\n m('div', [\n m('span.fontcolor-secondary', window.I18n.t('bank.bank_name', I18nScope())),\n m.trust(' '),\n item.bank_name\n ]),\n m('div', [\n m('span.fontcolor-secondary', window.I18n.t('bank.agency', I18nScope())),\n m.trust(' '),\n `${item.agency}-${item.agency_digit}`\n ]),\n m('div', [\n m('span.fontcolor-secondary', window.I18n.t('bank.account', I18nScope())),\n m.trust(' '),\n `${item.account}-${item.account_digit}`\n ]),\n m('div', [\n m('span.fontcolor-secondary', window.I18n.t('bank.account_type_name', I18nScope())),\n m.trust(' '),\n window.I18n.t(`bank.account_type.${item.account_type}`, I18nScope())\n ])\n ])\n ])\n )) : (\n state.displayDone() ? m('.modal-dialog-content.u-text-center', [\n m('.fa.fa-check-circle.fa-5x.text-success.u-marginbottom-40'),\n m('p.fontsize-large', window.I18n.t('success_message', I18nScope()))\n ]) : m('.modal-dialog-content', [\n m('.fontsize-base.u-marginbottom-20', [\n m('span.fontweight-semibold', `${window.I18n.t('value_text', I18nScope())}:`),\n m.trust(' '),\n m('span.text-success',\n window.I18n.t('shared.currency', { amount: h.formatNumber(balance.amount, 2, 3) })\n )\n ]),\n m(UserOwnerBox, { user, hideAvatar: true }),\n m(userBankForm, { parsedErrors, fields, bankCode, bankInput, userBankAccount, banks })\n ]))),\n (state.displayConfirmation() ? m('.modal-dialog-nav-bottom.u-margintop-40', { style: 'position: relative' }, [\n m('.w-row', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-5',\n (state.requestLoader() || state.loading() ?\n h.loader()\n : [\n m('a.btn.btn-medium.btn-request-fund[href=\"javascript:void(0);\"]',\n { onclick: () => state.requestFund() },\n window.I18n.t('shared.confirm_text')),\n ])\n ),\n m('.w-col.w-col-5',\n (state.requestLoader() || state.loading() ?\n ''\n : [\n m('a.btn.btn-medium.btn-terciary.w-button', {\n onclick: state.displayConfirmation.toggle\n }, window.I18n.t('shared.back_text'))\n ])\n ),\n m('.w-col.w-col-1')\n ])\n ]) : ''),\n (!state.displayConfirmation() && !state.displayDone() ?\n m('.modal-dialog-nav-bottom', { style: 'position: relative;' }, [\n m('.w-row', [\n m('.w-col.w-col-3'),\n m('.w-col.w-col-6', [\n (state.requestLoader() || state.loading() ?\n h.loader()\n : m('a.btn.btn-large.btn-request-fund[href=\"javascript:void(0);\"]',\n { onclick: () => state.updateUserData(attrs.user.id) },\n window.I18n.t('request_fund', I18nScope())))\n ]),\n m('.w-col.w-col-3')\n ])\n ]) : '')\n ]);\n }\n};\n\nexport default userBalanceRequestModelContent;\n","/**\n * window.c.UserBalance component\n * Render the current user total balance and request fund action\n *\n * Example:\n * m.component(c.UserBalance, {\n * user_id: 123,\n * })\n */\nimport m from 'mithril';\nimport _ from 'underscore';\nimport moment from 'moment';\nimport models from '../models';\nimport h from '../h';\nimport modalBox from './modal-box';\nimport userBalanceRequestModalContent from './user-balance-request-modal-content';\n\nconst I18nScope = _.partial(h.i18nScope, 'users.balance');\n\nconst userBalance = {\n oninit: function(vnode) {\n vnode.attrs.balanceManager.load();\n\n vnode.state = {\n userBalances: vnode.attrs.balanceManager.collection,\n displayModal: h.toggleProp(false, true)\n };\n },\n view: function({state, attrs}) {\n const balance = _.first(state.userBalances()) || { user_id: attrs.user_id, amount: 0 },\n positiveValue = balance.amount >= 0,\n balanceRequestModalC = [\n userBalanceRequestModalContent,\n _.extend({}, { balance }, attrs)\n ];\n\n return m('.w-section.section.user-balance-section', [\n (\n state.displayModal() ? \n m(modalBox, {\n displayModal: state.displayModal,\n content: balanceRequestModalC\n }) \n : \n ''\n ),\n m('.w-container', [\n m('.card.card-terciary.u-radius.w-row', [\n m('.w-col.w-col-8.u-text-center-small-only.u-marginbottom-20', [\n m('.fontsize-larger', [\n window.I18n.t('totals', I18nScope()),\n m(`span.text-${positiveValue ? 'success' : 'error'}`, `R$ ${h.formatNumber(balance.amount || 0, 2, 3)}`)\n ])\n ]),\n m('.w-col.w-col-4', [\n m(`a[class=\"r-fund-btn w-button btn btn-medium u-marginbottom-10 ${((balance.amount <= 0 || balance.in_period_yet || balance.has_cancelation_request) ? 'btn-inactive' : '')}\"][href=\"javascript:void(0);\"]`,\n {\n onclick: ((balance.amount > 0 && (_.isNull(balance.in_period_yet) || balance.in_period_yet === false) && !balance.has_cancelation_request) ? state.displayModal.toggle : 'javascript:void(0);')\n },\n window.I18n.t('withdraw_cta', I18nScope())\n ),\n m('.fontsize-smaller.fontweight-semibold',\n balance.has_cancelation_request ? window.I18n.t('withdraw_canceling_title', I18nScope()) :\n (balance.last_transfer_amount && balance.in_period_yet ?\n window.I18n.t('last_withdraw_msg', I18nScope({\n amount: `R$ ${h.formatNumber(balance.last_transfer_amount, 2, 3)}`,\n date: moment(balance.last_transfer_created_at).format('MMMM')\n }))\n : window.I18n.t('no_withdraws_this_month', I18nScope({ month_name: moment().format('MMMM') })))\n ),\n m('.fontcolor-secondary.fontsize-smallest.lineheight-tight',\n balance.has_cancelation_request ? window.I18n.t('withdraw_canceling_msg', I18nScope()) : window.I18n.t('withdraw_limits_msg', I18nScope())\n )\n ])\n ])\n ])\n ]);\n }\n};\n\nexport default userBalance;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'users.balance');\n\nconst userBalanceTrasactionRow = {\n oninit: function(vnode) {\n const expanded = h.toggleProp(false, true);\n\n if (vnode.attrs.index == 0) {\n expanded.toggle();\n }\n\n vnode.state = {\n expanded\n };\n },\n view: function({state, attrs}) {\n const item = attrs.item,\n createdAt = h.momentFromString(item.created_at, 'YYYY-MM-DD');\n\n item.source = _.compact(item.source);\n \n return m(`div[class='balance-card ${(state.expanded() ? 'card-detailed-open' : '')}']`,\n m('.w-clearfix.card.card-clickable', [\n m('.w-row', [\n m('.w-col.w-col-2.w-col-tiny-2', [\n m('.fontsize-small.lineheight-tightest', createdAt.format('D MMM')),\n m('.fontsize-smallest.fontcolor-terciary', createdAt.format('YYYY'))\n ]),\n m('.w-col.w-col-10.w-col-tiny-10', [\n m('.w-row', [\n m('.w-col.w-col-4', [\n m('div', [\n m('span.fontsize-smaller.fontcolor-secondary', window.I18n.t('debit', I18nScope())),\n m.trust(' '),\n m('span.fontsize-base.text-error', `R$ ${h.formatNumber(Math.abs(item.debit), 2, 3)}`)\n ])\n ]),\n m('.w-col.w-col-4', [\n m('div', [\n m('span.fontsize-smaller.fontcolor-secondary', window.I18n.t('credit', I18nScope())),\n m.trust(' '),\n m('span.fontsize-base.text-success', `R$ ${h.formatNumber(item.credit, 2, 3)}`)\n ])\n ]),\n m('.w-col.w-col-4', [\n m('div', [\n m('span.fontsize-smaller.fontcolor-secondary', window.I18n.t('totals', I18nScope())),\n m.trust(' '),\n m('span.fontsize-base', `R$ ${h.formatNumber(item.total_amount, 2, 3)}`)\n ])\n ])\n ])\n ])\n ]),\n m(`a.w-inline-block.arrow-admin.${(state.expanded() ? 'arrow-admin-opened' : '')}.fa.fa-chevron-down.fontcolor-secondary[href=\"javascript:(void(0));\"]`, { \n onclick: () => state.expanded.toggle()\n })\n ]),\n (\n state.expanded() ? \n (\n m('.card', _.map(item.source, (transaction) => {\n const pos = transaction.amount >= 0;\n const event_data = {\n subscription_reward_label: transaction.origin_objects.subscription_reward_label || '',\n subscriber_name: transaction.origin_objects.subscriber_name,\n service_fee: transaction.origin_objects.service_fee ? (transaction.origin_objects.service_fee * 100.0) : '',\n project_name: transaction.origin_objects.project_name,\n contributitor_name: transaction.origin_objects.contributor_name,\n from_user_name: transaction.origin_objects.from_user_name,\n to_user_name: transaction.origin_objects.to_user_name,\n };\n \n return m('div', [\n m('.w-row.fontsize-small.u-marginbottom-10', [\n m('.w-col.w-col-2', [\n m(`.text-${(pos ? 'success' : 'error')}`, `${pos ? '+' : '-'} R$ ${h.formatNumber(Math.abs(transaction.amount), 2, 3)}`)\n ]),\n m('.w-col.w-col-10', [\n (transaction.event_name === 'balance_expired'\n ? m('div', m.trust(window.I18n.t(`event_names.${transaction.event_name}`, I18nScope(event_data))))\n : m('div', window.I18n.t(`event_names.${transaction.event_name}`, I18nScope(event_data)))\n )\n ])\n ]),\n m('.divider.u-marginbottom-10')\n ]);\n }))\n )\n : \n ''\n )\n );\n }\n};\n\nexport default userBalanceTrasactionRow;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport models from '../models';\nimport userBalanceTransactionRow from './user-balance-transaction-row';\n\nconst I18nScope = _.partial(h.i18nScope, 'users.balance');\n\nconst userBalanceTransactions = {\n view: function({state, attrs}) {\n const userBalanceTransactionsList = attrs.userBalanceTransactionsList;\n\n return m('.w-section.section.card-terciary.before-footer.balance-transactions-area', [\n m('.w-container', [\n m('.u-marginbottom-20', \n m('.fontsize-base.fontweight-semibold', I18n.t('activities_group', I18nScope()))\n )\n ].concat(\n _.map(\n userBalanceTransactionsList.collection(), \n (item, index) => m(userBalanceTransactionRow, { item, index })\n )\n )\n ),\n m('.container', [\n m('.w-row.u-margintop-40', [\n m('.w-col.w-col-2.w-col-push-5', [\n !userBalanceTransactionsList.isLoading() ? \n (\n userBalanceTransactionsList.isLastPage() ? \n '' \n : \n m('button#load-more.btn.btn-medium.btn-terciary', { \n onclick: userBalanceTransactionsList.nextPage\n }, 'Carregar mais')\n ) \n :\n h.loader()\n ])\n ])\n ])\n ]);\n }\n};\n\nexport default userBalanceTransactions;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst I18nScopeTransfer = _.partial(h.i18nScope, 'users.balance.transfer_labels');\nconst I18nScopeBank = _.partial(h.i18nScope, 'users.balance.bank');\n\nconst userBalanceWithdrawHistoryItemRequest = {\n oninit: function (vnode) {\n const documentMask = _.partial(h.mask, '999.999.999-99');\n const documentCompanyMask = _.partial(h.mask, '99.999.999/9999-99');\n\n const cardStatusClassMap = {\n pending: '.card-alert',\n authorized: '.card-alert',\n processing: '.card-alert',\n\n error: '.card-alert',\n gateway_error: '.card-alert',\n rejected: '.card-alert',\n\n transferred: '.card-greenlight'\n };\n\n const innerCardStatusClassMap = {\n pending: '.badge-attention',\n authorized: '.badge-attention',\n processing: '.badge-attention',\n\n error: '.card-error',\n gateway_error: '.card-error',\n rejected: '.card-error',\n\n transferred: '.badge-success'\n };\n\n const contactUrl = 'https://suporte.catarse.me/hc/pt-br/signin?return_to=https%3A%2F%2Fsuporte.catarse.me%2Fhc%2Fpt-br%2Frequests%2Fnew&locale=19';\n\n const initialStateInfoRender = [\n m('span.fa.fa-clock-o', m.trust(' ')),\n I18n.t('funding_estimated_date', I18nScopeTransfer()),\n h.momentify(vnode.attrs.transfer.funding_estimated_date, 'DD/MM/YYYY'),\n m('br')\n ];\n\n const errorStateInfoRender = [\n m('span.fa.fa-exclamation-circle', m.trust(' ')),\n I18n.t('transfer_error', I18nScopeTransfer()),\n m('br'),\n I18n.t('transfer_error_line1', I18nScopeTransfer()),\n m(`a.link-hidden-white[href='${contactUrl}'][target='_blank']`, \n I18n.t('transfer_error_line2', I18nScopeTransfer())\n ),\n I18n.t('transfer_error_line3', I18nScopeTransfer()),\n m('a.link-hidden-white[href=\\'#\\']'),\n m('br')\n ];\n\n const successStateInfoRender = [\n m('span.fa.fa-check-circle', m.trust(' ')),\n I18n.t('received_at', I18nScopeTransfer()),\n h.momentify(vnode.attrs.transfer.transferred_at, 'DD/MM/YYYY'),\n m('br')\n ];\n\n const innerCardInfo = {\n pending: initialStateInfoRender,\n authorized: initialStateInfoRender,\n processing: initialStateInfoRender,\n\n error: errorStateInfoRender,\n gateway_error: errorStateInfoRender,\n rejected: errorStateInfoRender,\n\n transferred: successStateInfoRender\n };\n\n const documentMasked = (document_number) => vnode.attrs.transfer.document_type == 'cpf' ? documentMask(document_number) : documentCompanyMask(document_number);\n\n vnode.state = {\n cardStatusClassMap,\n innerCardStatusClassMap,\n innerCardInfo,\n documentMasked\n };\n },\n view: function ({state, attrs}) {\n return m('.u-marginbottom-20.w-col.w-col-4',\n m(`.card.u-radius${state.cardStatusClassMap[attrs.transfer.status]}`, [\n m('div', [\n m('.fontsize-small', [\n m('strong', I18n.t('amount', I18nScopeTransfer())),\n `R$ ${h.formatNumber(attrs.transfer.amount || 0, 2, 3)}`,\n m('br')\n ]),\n m('.fontsize-smaller.u-marginbottom-20', [\n m('strong', I18n.t('requested_in', I18nScopeTransfer())),\n h.momentify(attrs.transfer.requested_in, 'DD/MM/YYYY'),\n m('br')\n ])\n ]),\n m('.fontsize-smallest', [\n m('strong', I18n.t('bank_name', I18nScopeBank())),\n attrs.transfer.bank_name,\n m('br'),\n m('strong', I18n.t('agency', I18nScopeBank())),\n `${attrs.transfer.agency}${attrs.transfer.agency_digit ? '-' + attrs.transfer.agency_digit : ''}`,\n m('br'),\n m('strong', I18n.t('account', I18nScopeBank())),\n `${attrs.transfer.account}${attrs.transfer.account_digit ? '-' + attrs.transfer.account_digit : ''}`,\n m('br'),\n m('strong', I18n.t('account_type_name', I18nScopeBank())),\n I18n.t(`account_type.${attrs.transfer.account_type}`, I18nScopeBank()),\n m('br'),\n m('strong', I18n.t('user_name', I18nScopeTransfer())),\n attrs.transfer.user_name,\n m('br'),\n m('strong', I18n.t(`${attrs.transfer.document_type}`, I18nScopeBank())),\n state.documentMasked(attrs.transfer.document_number)\n ]),\n m(`.fontsize-smaller.u-text-center.badge.fontweight-semibold.u-margintop-30${state.innerCardStatusClassMap[attrs.transfer.status]}`, state.innerCardInfo[attrs.transfer.status])\n ])\n );\n }\n};\n\nexport default userBalanceWithdrawHistoryItemRequest;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport { catarse } from '../api';\nimport models from '../models';\nimport userBalanceWithdrawHistoryItemRequest from './user-balance-withdraw-history-item-request';\n\nimport loadMoreBtn from './load-more-btn';\n\nconst I18nScope = _.partial(h.i18nScope, 'users.balance');\nconst I18nScopeTransfer = _.partial(h.i18nScope, 'users.balance.transfer_labels');\nconst I18nScopeBank = _.partial(h.i18nScope, 'users.balance.bank');\n\nconst userBalanceWithdrawHistory = {\n oninit: function (vnode) {\n\n const explitInArraysOf3 = (collection) => {\n const array = [];\n let partArray = []; \n let i;\n\n if (collection.length > 3) {\n\n for (i = 0; i < collection.length; i++) {\n \n partArray.push(collection[i]);\n\n if (partArray.length == 3) {\n array.push(partArray);\n partArray = [];\n }\n\n }\n \n if (partArray.length != 3 && partArray.length != 0)\n array.push(partArray);\n }\n else {\n array.push(collection);\n }\n \n return array;\n };\n\n vnode.state = {\n explitInArraysOf3\n };\n },\n view: function ({state, attrs}) {\n\n const userBalanceTransfersList = attrs.userBalanceTransfersList;\n\n return m('div',\n m('.w-container', [\n m('.u-marginbottom-20',\n m('.fontsize-base.fontweight-semibold', I18n.t('withdraw_history_group', I18nScope()))\n ),\n (\n _.map(state.explitInArraysOf3(userBalanceTransfersList.collection()), \n (transferList) => m('.u-marginbottom-30.w-row', \n _.map(transferList, \n (transfer, index) => m(userBalanceWithdrawHistoryItemRequest, { transfer, index }))\n ))\n ),\n (\n userBalanceTransfersList.isLoading() ? \n h.loader() \n :\n (\n userBalanceTransfersList.isLastPage() ? \n '' \n : \n m('.u-margintop-40.u-marginbottom-80.w-row', [\n m('.w-col.w-col-5'),\n m('.w-col.w-col-2',\n m('a.btn.btn-medium.btn-terciary.w-button[href=\\'javascript:void(0);\\']', {\n onclick: userBalanceTransfersList.nextPage\n }, 'Carregar mais')\n ),\n m('.w-col.w-col-5')\n ])\n )\n )\n ])\n );\n }\n}\n\nexport default userBalanceWithdrawHistory;\n","/**\n * window.c.userBalanceMain component\n * A root component to show user balance and transactions\n *\n * Example:\n * To mount this component just create a DOM element like:\n * <div data-mithril=\"UsersBalance\" data-parameters=\"{'user_id': 10}\">\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport models from '../models';\nimport userBalance from './user-balance';\nimport userBalanceTransactions from './user-balance-transactions';\nimport userBalanceWithdrawHistory from './user-balance-withdraw-history';\nimport userBalanceTransactionsListVM from '../vms/user-balance-transactions-list-vm';\nimport userBalanceTransfersListVM from '../vms/user-balance-transfers-list-vm';\n\nconst userBalanceMain = {\n oninit: function(vnode) {\n const userIdVM = catarse.filtersVM({ user_id: 'eq' });\n\n userIdVM.user_id(vnode.attrs.user_id);\n\n // Handles with user balance request data\n const balanceManager = (() => {\n const collection = prop([{ amount: 0, user_id: vnode.attrs.user_id }]),\n load = () => {\n return models.balance\n .getRowWithToken(userIdVM.parameters())\n .then(collection)\n .then(_ => m.redraw());\n };\n\n return {\n collection,\n load\n };\n })(),\n\n // Handles with user balance transactions list data\n userBalanceTransactionsList = userBalanceTransactionsListVM(userIdVM.parameters()),\n userBalanceTransfersList = userBalanceTransfersListVM(userIdVM.parameters()),\n\n // Handles with bank account to check\n bankAccountManager = (() => {\n const collection = prop([]),\n loader = (() => catarse.loaderWithToken(\n models.bankAccount.getRowOptions(\n userIdVM.parameters())))(),\n load = () => {\n return loader\n .load()\n .then(collection)\n .then(() => m.redraw());\n };\n\n return {\n collection,\n load,\n loader\n };\n })();\n\n vnode.state = {\n bankAccountManager,\n balanceManager,\n userBalanceTransactionsList,\n userBalanceTransfersList\n };\n },\n view: function({state, attrs}) {\n const opts = _.extend({}, attrs, state);\n return m('#balance-area', [\n m(userBalance, opts),\n m(userBalanceWithdrawHistory, opts),\n m('.divider'),\n m(userBalanceTransactions, opts),\n m('.u-marginbottom-40'),\n m('.w-section.section.card-terciary.before-footer')\n ]);\n }\n};\n\nexport default userBalanceMain;\n","import m from 'mithril';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport models from '../models';\n\nconst userBalanceTransactionsListVM = userIdParameters => {\n\n const listVM = catarse.paginationVM(models.balanceTransaction, 'created_at.desc');\n\n listVM\n .firstPage(userIdParameters)\n .then(() => {\n m.redraw();\n });\n\n return {\n collection: listVM.collection,\n isLoading: listVM.isLoading,\n isLastPage: listVM.isLastPage,\n nextPage: () => listVM.nextPage().then(() => m.redraw())\n };\n};\n\nexport default userBalanceTransactionsListVM;","import m from 'mithril';\nimport _ from 'underscore';\nimport models from '../models';\nimport { catarse } from '../api';\n\n\n// Defined for UI (balance transfers history is shown in pages of 3 in a row)\n\n\nconst userBalanceTransfersListVM = userIdParameters => {\n \n models.userBalanceTransfers.pageSize(3);\n\n const loader = catarse.paginationVM(models.userBalanceTransfers, 'requested_in.desc', { Prefer: 'count=exact' });\n \n loader\n .firstPage(userIdParameters)\n .then(() => {\n m.redraw();\n });\n\n return {\n nextPage : () => loader.nextPage().then(_ => m.redraw()),\n isLoading : loader.isLoading,\n isLastPage : loader.isLastPage,\n collection : loader.collection\n }\n\n};\n\nexport default userBalanceTransfersListVM;","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport userVM from '../vms/user-vm';\nimport userHeader from '../c/user-header';\nimport userCreated from '../c/user-created';\nimport userAboutEdit from '../c/user-about-edit';\nimport userPrivateContributed from '../c/user-private-contributed';\nimport userSettings from '../c/user-settings';\nimport userNotifications from '../c/user-notifications';\nimport userBalanceMain from '../c/user-balance-main';\n\nconst usersEdit = {\n oninit: function(vnode) {\n const userDetails = prop({}),\n userId = vnode.attrs.user_id.split('-')[0],\n hash = prop(window.location.hash),\n displayTabContent = (user) => {\n const tabs = {\n '#projects': m(userCreated, {\n userId,\n showDraft: true\n }),\n '#contributions': m(userPrivateContributed, {\n userId,\n user\n }),\n '#about_me': m(userAboutEdit, {\n hideDisableAcc: false,\n userId,\n user\n }),\n '#settings': m(userSettings, {\n userId,\n user: userDetails\n }),\n '#notifications': m(userNotifications, {\n userId,\n user\n }),\n '#balance': m(userBalanceMain, {\n user_id: userId,\n userId,\n user\n })\n };\n\n hash(window.location.hash);\n\n if (_.isEmpty(hash()) || hash() === '#_=_') {\n hash('#contributions');\n return tabs['#contributions'];\n }\n\n return tabs[hash()];\n };\n\n h.redrawHashChange();\n userVM.fetchUser(userId, true, userDetails);\n vnode.state = {\n displayTabContent,\n hash,\n userDetails\n };\n },\n view: function({state, attrs}) {\n const user = state.userDetails();\n\n return m('div', [\n m(userHeader, {\n user,\n hideDetails: true\n }),\n (!_.isEmpty(user) ? [m('nav.dashboard-nav.u-text-center', {\n style: {\n 'z-index': '10',\n position: 'relative'\n }\n },\n m('.w-container', [\n m(`a.dashboard-nav-link${(state.hash() === '#contributions' ? '.selected' : '')}[data-target='#dashboard_contributions'][href='#contributions'][id='dashboard_contributions_link']`, 'Apoiados'),\n m(`a.dashboard-nav-link${(state.hash() === '#projects' ? '.selected' : '')}[data-target='#dashboard_projects'][href='#projects'][id='dashboard_projects_link']`,\n 'Criados'\n ),\n m(`a.dashboard-nav-link${(state.hash() === '#about_me' ? '.selected' : '')}[data-target='#dashboard_about_me'][href='#about_me'][id='dashboard_about_me_link']`,\n 'Perfil Público'\n ),\n m(`a.dashboard-nav-link${(state.hash() === '#settings' ? '.selected' : '')}[data-target='#dashboard_settings'][href='#settings'][id='dashboard_settings_link']`,\n 'Dados cadastrais'\n ),\n m(`a.dashboard-nav-link${(state.hash() === '#notifications' ? '.selected' : '')}[data-target='#dashboard_notifications'][href='#notifications'][id='dashboard_notifications_link']`,\n 'Notificações'\n ),\n m(`a.dashboard-nav-link${(state.hash() === '#balance' ? '.selected' : '')}[data-target='#dashboard_balance'][href='#balance'][id='dashboard_balance_link']`,\n 'Saldo'\n ),\n m(`a.dashboard-nav-link.u-right-big-only[href='/${window.I18n.locale}/users/${user.id}']`, {\n oncreate: m.route.link,\n onclick: () => {\n m.route(`/users/${user.id}`, {\n user_id: user.id\n });\n }\n },\n 'Ir para o perfil público'\n )\n ])\n ),\n\n m('section.section',\n m((state.hash() == '#projects' ? '.w-container' : '.w-section'),\n m('.w-row', user.id ? state.displayTabContent(user) : h.loader())\n )\n )\n\n ] :\n '')\n ]);\n }\n};\n\nexport default usersEdit;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport projectVM from './project-vm';\nimport generateErrorInstance from '../error';\n\nconst e = generateErrorInstance();\n\nconst fields = {\n mode: prop(''),\n online_days: prop(''),\n goal: prop(''),\n is_solidarity: prop(false),\n service_fee: prop(0.13),\n};\n\nconst fillFields = (data) => {\n fields.mode(data.mode || 'aon');\n fields.online_days(data.online_days || '');\n fields.goal(data.goal);\n const projectSolidarityIntegration = (data.integrations || []).find(integration => integration.name === 'SOLIDARITY_SERVICE_FEE');\n fields.is_solidarity(!!projectSolidarityIntegration);\n fields.service_fee(data.service_fee);\n};\n\nconst updateProject = (project_id) => {\n const projectData = {\n mode: fields.mode(),\n online_days: fields.online_days(),\n goal: fields.goal()\n };\n\n return projectVM.updateProject(project_id, projectData);\n};\n\nconst genClickChangeMode = mode => () => {\n fields.mode(mode);\n fields.online_days('');\n if (mode == 'flex') {\n e.inlineError('online_days', false);\n }\n};\n\nconst projectGoalVM = {\n fields,\n fillFields,\n updateProject,\n e,\n genClickChangeMode\n};\n\nexport default projectGoalVM;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects');\n\nexport const SolidarityProjectDescription = {\n view({ attrs }) {\n const percentage = attrs.percentage;\n return m.trust(I18n.t('solidarity_taxes_description_html', I18nScope({ percentage })));\n }\n}","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport railsErrorsVM from '../vms/rails-errors-vm';\nimport projectGoalVM from '../vms/project-goal-vm';\nimport popNotification from './pop-notification';\nimport bigCard from './big-card';\nimport projectEditSaveBtn from './project-edit-save-btn';\nimport { SolidarityProjectDescription } from './solidarity-project-description';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.dashboard_goal');\n\nconst projectGoalEdit = {\n oninit: function(vnode) {\n const vm = projectGoalVM,\n mapErrors = [\n ['mode', ['mode']],\n ['goal', ['goal']],\n ['online_days', ['online_days']]\n ],\n showSuccess = h.toggleProp(false, true),\n showError = h.toggleProp(false, true),\n showModeDiff = h.toggleProp(false, true),\n showTaxesDiff = h.toggleProp(false, true),\n applyGoalMask = _.compose(vm.fields.goal, h.applyMonetaryMask),\n loading = prop(false),\n onSubmit = (event) => {\n loading(true);\n m.redraw();\n vm.updateProject(vnode.attrs.projectId).then((data) => {\n loading(false);\n vm.e.resetFieldErrors();\n if (!showSuccess()) { showSuccess.toggle(); }\n if (showError()) { showError.toggle(); }\n railsErrorsVM.validatePublish();\n }).catch((err) => {\n if (err.errors_json) {\n railsErrorsVM.mapRailsErrors(err.errors_json, mapErrors, vm.e);\n }\n loading(false);\n if (showSuccess()) { showSuccess.toggle(); }\n if (!showError()) { showError.toggle(); }\n });\n return false;\n };\n\n if (railsErrorsVM.railsErrors()) {\n railsErrorsVM.mapRailsErrors(railsErrorsVM.railsErrors(), mapErrors, vm.e);\n }\n vm.fillFields(vnode.attrs.project);\n\n vnode.state = {\n onSubmit,\n showSuccess,\n showError,\n showModeDiff,\n showTaxesDiff,\n vm,\n applyGoalMask,\n loading,\n };\n },\n view: function({state, attrs}) {\n const vm = state.vm;\n const serviceFee = (vm.fields.service_fee() * 100).toFixed(2).replace(/(\\.|,)?0+$/g, '');\n \n return m('#goal-tab', [\n (state.showSuccess() ? m(popNotification, {\n message: window.I18n.t('shared.successful_update'),\n toggleOpt: state.showSuccess\n }) : ''),\n (state.showError() ? m(popNotification, {\n message: window.I18n.t('shared.failed_update'),\n toggleOpt: state.showError,\n error: true\n }) : ''),\n\n m('form.w-form', { onsubmit: state.onSubmit }, [\n m('.w-container', [\n m('.w-row', [\n m('.w-col.w-col-10.w-col-push-1', [\n m(bigCard, {\n label: window.I18n.t('mode_label', I18nScope()),\n label_hint: window.I18n.t('mode_hint', I18nScope()),\n children: [\n m('.flex-row.u-marginbottom-30', [\n m('a.choose-mode.choose-aon.w-inline-block.btn-select.flex-column.u-text-center[data-mode=\"aon\"][href=\"javascript:void(0);\"]', {\n onclick: vm.genClickChangeMode('aon'),\n class: vm.fields.mode() == 'aon' ? 'selected' : false\n }, [\n m('img[alt=\"Badge aon\"][src=\"/assets/catarse_bootstrap/badge-aon.png\"]')\n ]),\n m('a.choose-mode.choose-flex.w-inline-block.btn-select.flex-column.u-text-center[data-mode=\"flex\"][href=\"javascript:void(0);\"]', {\n onclick: vm.genClickChangeMode('flex'),\n class: vm.fields.mode() == 'flex' ? 'selected' : false\n }, [\n m('img[alt=\"Badge flex\"][src=\"/assets/catarse_bootstrap/badge-flex.png\"]')\n ])\n ]),\n m('.u-text-center.fontsize-smaller', [\n m('a.mode-diff-toggle.link-hidden-light.fontweight-semibold[href=\"javascript:void(0);\"]', { onclick: state.showModeDiff.toggle }, [\n 'Veja a diferença entre os modelos ',\n m('span.fa.fa-chevron-down')\n ])\n ]),\n (state.showModeDiff() ? m('.mode-diff.u-margintop-30', [\n m('.flex-row', [\n m('.w-hidden-small.w-hidden-tiny.fontsize-smaller.flex-column', [\n m.trust(window.I18n.t('aon_diff_html', I18nScope())),\n m.trust(window.I18n.t('aon_diff_fees_html', I18nScope({ percentage: serviceFee })))\n ]),\n m('.w-hidden-small.w-hidden-tiny.fontsize-smaller.flex-column', [\n m.trust(window.I18n.t('flex_diff_html', I18nScope())),\n m.trust(window.I18n.t('flex_diff_fees_html', I18nScope({ percentage: serviceFee })))\n ])\n ]),\n m('.u-text-center.u-margintop-30', [\n m('.divider.u-marginbottom-20'),\n m('.fontsize-base', window.I18n.t('want_more', I18nScope())),\n m.trust(window.I18n.t('mode_diff_ebook', I18nScope()))\n ])\n ]) : '')\n ]\n }),\n m(bigCard, {\n label: window.I18n.t('goal_label', I18nScope()),\n label_hint: window.I18n.t('goal_hint', I18nScope()),\n children: [\n m('.w-row.u-marginbottom-30', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8', [\n m('.w-row', [\n m('.w-col.w-col-4.w-col-small-6.w-col-tiny-6.text-field.prefix.no-hover.medium.prefix-permalink', [\n m('.fontcolor-secondary.u-text-center.fontsize-base.lineheight-tightest', 'R$')\n ]),\n m('.w-col.w-col-8.w-col-small-6.w-col-tiny-6.label-hide',\n [\n m('.input.tel.optional.project_goal', [\n m('label.field-label'),\n m('input.string.optional.w-input.text-field.postfix.positive.medium[autocomplete=\"off\"][id=\"project-goal-input\"][name=\"project[goal]\"][type=\"tel\"]', {\n class: vm.e.hasError('goal') ? 'error' : false,\n value: vm.fields.goal(),\n maxlength: 14,\n onkeyup: m.withAttr('value', state.applyGoalMask)\n }),\n ]),\n ])\n ]),\n m('.u-text-center', vm.e.inlineError('goal'))\n ]),\n m('.w-col.w-col-2')\n ]),\n\n (\n vm.fields.is_solidarity() ?\n m(SolidarityProjectDescription, { percentage: serviceFee })\n :\n (\n m('.u-text-center.fontsize-smaller.fontweight-semibold', [\n m('a.fee-toggle.link-hidden-light[href=\"javascript:void(0)\"]', {\n onclick: state.showTaxesDiff.toggle\n }, [\n window.I18n.t('goal_taxes_link', I18nScope()),\n m('span.fa.fa-chevron-down')\n ])\n ]),\n (state.showTaxesDiff() ? m('.fee-explanation.u-margintop-30', [\n m('.u-marginbottom-30', [\n m('.fontsize-small.fontweight-semibold', window.I18n.t('goal_taxes_label', I18nScope())),\n m('.fontsize-smaller', window.I18n.t(`goal_${vm.fields.mode()}_taxes_hint`, I18nScope()))\n ]),\n m('.u-text-center.u-margintop-30', [\n m('.divider.u-marginbottom-20'),\n m('.fontsize-base', window.I18n.t('want_more', I18nScope())),\n m.trust(window.I18n.t('goal_taxes_watch_video_html', I18nScope()))\n ])\n ]) : '')\n )\n ),\n ]\n }),\n m(bigCard, {\n label: window.I18n.t('online_days_label', I18nScope()),\n label_hint: m.trust(window.I18n.t(`online_days_${vm.fields.mode()}_hint`, I18nScope())),\n children: (vm.fields.mode() == 'aon' ? [\n m('.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8', [\n m('.w-row', [\n m('.w-col.w-col-8.w-col-tiny-6.w-col-small-6.label-hide', [\n m('.input.integer.optional.disabled.project_online_days', [\n m('label.field-label'),\n m('input.numeric.integer.optional.disabled.w-input.text-field.positive.medium[id=\"project_online_days\"][name=\"project[online_days]\"][type=\"number\"]', {\n onchange: m.withAttr('value', vm.fields.online_days),\n value: vm.fields.online_days(),\n class: vm.e.hasError('online_days') ? 'error' : false\n })\n ])\n ]),\n m('.w-col.w-col-4.w-col-tiny-6.w-col-small-6', [\n m('.text-field.medium.prefix-permalink.u-text-center', [\n m('', 'dias')])\n ])\n ]),\n vm.e.inlineError('online_days')\n ])\n ])\n ] : [\n m('.flex-row', [\n m('a.choose-time.choose-unlimited.w-inline-block.btn-select.flex-column.u-text-center', {\n class: _.isEmpty(vm.fields.online_days().toString()) ? 'selected' : '',\n onclick: () => { vm.fields.online_days(''); }\n }, [\n m('.fontsize-base.fontweight-semibold.u-marginbottom-20', window.I18n.t('online_days_open', I18nScope())),\n m('.w-hidden-tiny', window.I18n.t('online_days_open_hint', I18nScope())),\n ]),\n m('a.choose-time.choose-limited.w-inline-block.btn-select.flex-column.u-text-center', {\n class: _.isEmpty(vm.fields.online_days().toString()) ? '' : 'selected',\n onclick: () => { vm.fields.online_days(1); }\n }, [\n m('.fontsize-base.fontweight-semibold.u-marginbottom-20', window.I18n.t('online_days_closed', I18nScope())),\n m('.w-hidden-tiny.u-marginbottom-30', window.I18n.t('online_days_closed_hint', I18nScope())),\n m('.w-row', [\n m('.w-col.w-col-6.w-col-tiny-6.w-col-small-6.label-hide', [\n m('.input.integer.optional.project_online_days', [\n m('label.field-label'),\n m('input.numeric.integer.optional.w-input.text-field.field.w-input.text-field.medium.prefix[id=\"project_online_days\"][name=\"project[online_days]\"][type=\"number\"]', {\n onchange: m.withAttr('value', vm.fields.online_days),\n value: vm.fields.online_days(),\n class: vm.e.hasError('online_days') ? 'error' : false\n })\n ]),\n ]),\n m('.w-col.w-col-6.w-col-tiny-6.w-col-small-6', [\n m('.text-field.medium.prefix-permalink', {\n class: vm.e.hasError('online_days') ? 'error' : false\n }, [\n m('', 'dias')\n ])\n ])\n ]),\n m('.w-row', vm.e.inlineError('online_days'))\n ])\n ])\n ])\n })\n ])\n ])\n ]),\n m(projectEditSaveBtn, { loading: state.loading, onSubmit: state.onSubmit })\n ])\n\n ]);\n }\n};\n\nexport default projectGoalEdit;\n","import m from 'mithril';\nimport h from '../h';\nimport userVM from '../vms/user-vm';\nimport projectVM from '../vms/project-vm';\nimport projectGoalEdit from '../c/project-goal-edit';\n\nconst projectEditGoal = {\n oninit: function(vnode) {\n vnode.state = {\n user: userVM.fetchUser(vnode.attrs.user_id),\n project: projectVM.fetchProject(vnode.attrs.project_id)\n };\n },\n\n view: function({state, attrs}) {\n return (state.user() && state.project() ? (state.project().mode === 'sub' ? '' : m(projectGoalEdit, {\n user: state.user(),\n userId: attrs.user_id,\n projectId: attrs.project_id,\n project: state.project()\n })) : m('div', h.loader()));\n }\n};\n\nexport default projectEditGoal;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport rewardVM from '../vms/reward-vm';\nimport popNotification from '../c/pop-notification';\n\nconst projectEditWelcome = {\n oninit: function(vnode) {\n const rewards = prop([]),\n currentRewardId = prop(),\n currentReward = prop(),\n showSuccess = prop(false),\n error = prop(false);\n\n const changeReward = () => {\n const reward = _.find(rewards(), r => r.id == currentRewardId());\n currentReward(reward);\n m.redraw();\n };\n\n const loadRewards = () => rewardVM.fetchRewards(vnode.attrs.project_id).then(() => {\n rewards([]);\n _.map(rewardVM.rewards(), (reward) => {\n const rewardProp = {\n id: reward.id,\n project_id: reward.project_id,\n minimum_value: reward.minimum_value,\n title: reward.title,\n welcome_message_subject: prop(reward.welcome_message_subject || ''),\n welcome_message_body: prop(reward.welcome_message_body || '')\n };\n rewards().push(rewardProp);\n });\n currentRewardId(_.first(rewards()).id);\n changeReward();\n });\n const validate = (reward) => {\n // if one field was filled both must be filled\n if (!_.isEmpty(reward.welcome_message_subject) || !_.isEmpty(reward.welcome_message_body)) {\n return !_.isEmpty(reward.welcome_message_subject) && !_.isEmpty(reward.welcome_message_body);\n }\n return true;\n };\n\n const updateRewards = () => {\n _.map(rewards(), (reward) => {\n const rewardData = {\n id: reward.id,\n welcome_message_subject: _.isEmpty(reward.welcome_message_subject()) ? null : reward.welcome_message_subject(),\n welcome_message_body: _.isEmpty(reward.welcome_message_body()) ? null : reward.welcome_message_body()\n };\n if (validate(rewardData)) {\n m.request({\n method: 'PUT',\n config: h.setCsrfToken,\n url: `/projects/${reward.project_id}/rewards/${reward.id}.json`,\n data: {\n reward: rewardData\n }\n }).then(() => {\n showSuccess(true);\n m.redraw();\n });\n } else {\n error(true);\n m.redraw();\n }\n });\n };\n\n loadRewards();\n\n vnode.state = {\n error,\n updateRewards,\n currentRewardId,\n showSuccess,\n currentReward,\n changeReward,\n rewards\n };\n },\n\n view: function({state, attrs}) {\n const error = state.error,\n project = attrs.project;\n return m(\"[id='dashboard-welcome-tab']\",\n (project() ? [\n state.showSuccess() ? m(popNotification, {\n message: 'Recompensas salvas com sucesso'\n }) : '',\n (state.error() ? m(popNotification, {\n message: 'Erro ao salvar. Preencha todos os campos',\n error: true\n }) : ''),\n m('.section',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-10',\n m('.card.card-terciary.medium.u-marginbottom-30', [\n m('.fontsize-small.fontweight-semibold',\n 'Escreva um email para cada faixa de assinante!'\n ),\n m('.fontsize-smaller.u-marginbottom-40',\n 'Seus novos assinantes vão receber uma mensagem especial, assim que eles confirmarem o primeiro apoio ao seu projeto! Esse email é opcional, e você pode voltar aqui para editá-lo a qualquer momento.'\n ),\n m('.field-label.fontweight-semibold.u-marginbottom-10',\n 'Recompensa'\n ),\n m('select.u-marginbottom-30.w-input.text-field.w-select.positive.medium', {\n onchange: (e) => {\n m.withAttr('value', state.currentRewardId)(e);\n state.changeReward();\n }\n }, [\n _.map(state.rewards(), reward =>\n m('option', {\n value: reward.id\n }, [\n m('div', [\n m('span.fa.fa-fw',\n ''\n ),\n m.trust(' '),\n `R$${reward.minimum_value} - ${reward.title}`\n ]),\n m('.w-icon-dropdown-toggle')\n ])\n )\n ]),\n state.currentReward() ?\n m('.w-form', [\n m('form', [\n m('.field-label.fontweight-semibold.u-marginbottom-10',\n 'Título'\n ),\n m(\"input.text-field.positive.w-input[type='text']\", {\n value: state.currentReward().welcome_message_subject(),\n onchange: m.withAttr('value', state.currentReward().welcome_message_subject)\n }),\n m('.field-label.fontweight-semibold.u-marginbottom-10',\n 'Texto'\n ),\n m('textarea.text-field.height-medium.positive.u-marginbottom-60.w-input', {\n value: state.currentReward().welcome_message_body(),\n onchange: m.withAttr('value', state.currentReward().welcome_message_body)\n }),\n m('.u-marginbottom-20.w-row', [\n m('.w-col.w-col-3'),\n m('.w-sub-col.w-col.w-col-6',\n m('a.btn.btn-large', {\n onclick: state.updateRewards\n },\n 'Salvar'\n )\n ),\n m('.w-col.w-col-3')\n ])\n ])\n ]) : ''\n ])\n ),\n m('.w-col.w-col-1')\n ])\n )\n )\n ] : h.loader())\n );\n }\n};\n\nexport default projectEditWelcome;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectGoalsVM from '../vms/project-goals-vm';\n\nconst projectGoalEditCard = {\n oninit: function(vnode) {\n const goal = vnode.attrs.goal(),\n project = vnode.attrs.project,\n descriptionError = prop(false),\n titleError = prop(false),\n valueError = prop(false),\n validate = () => {\n vnode.attrs.error(false);\n descriptionError(false);\n valueError(false);\n if (_.isEmpty(goal.title())) {\n vnode.attrs.error(true);\n titleError(true);\n }\n if (_.isEmpty(goal.description())) {\n vnode.attrs.error(true);\n descriptionError(true);\n }\n if (!goal.value() || parseInt(goal.value()) < 10) {\n vnode.attrs.error(true);\n valueError(true);\n }\n };\n const destroyed = prop(false);\n\n const acceptNumeric = (e) => {\n goal.value(e.target.value.replace(/[^0-9]/g, ''));\n return true;\n };\n const confirmDelete = () => {\n const r = confirm('Você tem certeza?');\n if (r) {\n if (!goal.id()) {\n destroyed(true);\n return false;\n }\n return m.request({\n method: 'DELETE',\n url: `/projects/${goal.project_id()}/goals/${goal.id()}`,\n config: h.setCsrfToken\n }).then(() => {\n destroyed(true);\n h.redraw();\n }).catch(() =>\n alert('Erro ao deletar meta.')\n );\n }\n return false;\n };\n const saveGoal = () => {\n validate();\n if (vnode.attrs.error()) {\n return false;\n }\n const data = {\n id: goal.id(),\n project_id: goal.project_id(),\n value: goal.value(),\n title: goal.title(),\n description: goal.description()\n };\n\n if (goal.id()) {\n projectGoalsVM.updateGoal(goal.project_id(), goal.id(), data).then(() => {\n vnode.attrs.showSuccess(true);\n goal.editing.toggle();\n h.redraw();\n });\n } else {\n projectGoalsVM.createGoal(goal.project_id(), data).then((r) => {\n goal.id(r.goal_id);\n vnode.attrs.showSuccess(true);\n goal.editing.toggle();\n h.redraw();\n });\n }\n return false;\n };\n vnode.state = {\n confirmDelete,\n descriptionError,\n titleError,\n valueError,\n acceptNumeric,\n destroyed,\n saveGoal\n };\n },\n view: function({state, attrs}) {\n const goal = attrs.goal(),\n inlineError = message => m('.fontsize-smaller.text-error.u-marginbottom-20.fa.fa-exclamation-triangle',\n m('span',\n message\n )\n );\n\n return state.destroyed() ? m('div', '') :\n m('.card.u-marginbottom-30', [\n m('.w-row', [\n m('.w-col.w-col-6',\n m('.fontsize-small',\n 'Meta:'\n )\n ),\n m('.w-col.w-col-6',\n m('.w-row', [\n m('.prefix.text-field.w-col.w-col-4.w-col-small-6.w-col-tiny-6',\n m('.fontcolor-secondary.fontsize-base.lineheight-tightest.u-text-center',\n 'R$'\n )\n ),\n m('.w-col.w-col-8.w-col-small-6.w-col-tiny-6',\n m(\"input.positive.postfix.text-field.w-input[type='text']\", {\n class: state.valueError() ? 'error' : false,\n value: goal.value(),\n oninput: e => state.acceptNumeric(e),\n onchange: m.withAttr('value', goal.value)\n })\n )\n ])\n )\n ]),\n\n state.valueError() ? inlineError('A meta deve ser igual ou superior a R$10') : '',\n m('.w-row', [\n m('.w-col.w-col-6',\n m('.fontsize-small',\n 'Título:'\n )\n ),\n m('.w-col.w-col-6',\n m(\"input.positive.text-field.w-input[type='text']\", {\n value: goal.title(),\n class: state.descriptionError() ? 'error' : false,\n onchange: m.withAttr('value', goal.title)\n })\n )\n ]),\n state.titleError() ? inlineError('Título não pode ficar em branco.') : '',\n m('.w-row', [\n m('.w-col.w-col-6',\n m('.fontsize-small',\n 'Descrição da meta:'\n )\n ),\n m('.w-col.w-col-6',\n m(\"textarea.height-medium.positive.text-field.w-input[placeholder='O que você vai fazer se atingir essa meta?']\", {\n value: goal.description(),\n class: state.descriptionError() ? 'error' : false,\n onchange: m.withAttr('value', goal.description)\n })\n )\n ]),\n state.descriptionError() ? inlineError('Descrição não pode ficar em branco.') : '',\n m('.u-margintop-30.w-row', [\n m('.w-sub-col.w-col.w-col-5',\n m('button.btn.btn-small.w-button', {\n onclick: state.saveGoal\n }, 'Salvar')\n ),\n (attrs.goal().id() ?\n m('.w-sub-col.w-col.w-col-6',\n m('button.btn.btn-small.btn-terciary.w-button', {\n onclick: () => {\n attrs.goal().editing.toggle();\n }\n }, 'Cancelar')\n ) : ''),\n m('.w-col.w-col-1',\n m('button.btn.btn-inline.btn-no-border.btn-small.btn-terciary.fa.fa-lg.fa-trash', {\n onclick: state.confirmDelete\n })\n )\n ])\n ]);\n }\n};\n\nexport default projectGoalEditCard;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.contributions');\n\nconst projectGoalCard = {\n view: function({attrs}) {\n const goal = attrs.goal();\n\n return m('.card.u-marginbottom-30',\n m('.w-row', [\n m('.w-col.w-col-11.w-col-small-11.w-col-tiny-11', [\n m('.fontsize-base.fontweight-semibold.u-marginbottom-20',\n `Meta: R$${goal.value()}`\n ),\n m('.fontsize-small.fontweight-semibold',\n goal.title()\n ),\n m('p.fontcolor-secondary.fontsize-small', [\n goal.description()\n ])\n ]), [\n m('.w-col.w-col-1.w-col-small-1.w-col-tiny-1',\n m('button.btn.btn-inline.btn-no-border.btn-small.btn-terciary.fa.fa-edit.fa-lg', {\n onclick: goal.editing.toggle\n })\n )\n ]\n ])\n );\n }\n};\n\nexport default projectGoalCard;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport models from '../models';\nimport _ from 'underscore';\nimport h from '../h';\nimport {\n commonAnalytics\n} from '../api';\nimport projectGoalEditCard from './project-goal-edit-card';\nimport projectGoalCard from './project-goal-card';\nimport projectGoalsVM from '../vms/project-goals-vm';\nimport popNotification from './pop-notification';\nimport generateErrorInstance from '../error';\nimport railsErrorsVM from '../vms/rails-errors-vm';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.dashboard_goal');\n\nconst projectGoalsEdit = {\n oninit: function(vnode) {\n const e = generateErrorInstance();\n const mapErrors = [\n ['goals', ['goals.size']]\n ];\n const goals = projectGoalsVM.goals;\n\n const l = commonAnalytics.loaderWithToken(models.projectSubscribersInfo.postOptions({\n id: vnode.attrs.project.common_id\n }));\n\n const currentGoal = prop();\n const subscribersDetails = prop({});\n l.load().then((subData) => {\n try {\n subscribersDetails(subData);\n const sortedGoals = _.sortBy(goals(), g => g().value());\n const nextGoal = _.find(sortedGoals, goal => goal().value() > subscribersDetails().amount_paid_for_valid_period);\n currentGoal(nextGoal());\n } catch(e) {\n\n }\n });\n const showSuccess = prop(false);\n const error = prop(false);\n\n projectGoalsVM.fetchGoalsEdit(vnode.attrs.projectId);\n\n if (railsErrorsVM.railsErrors()) {\n railsErrorsVM.mapRailsErrors(railsErrorsVM.railsErrors(), mapErrors, e);\n }\n vnode.state = {\n showSuccess,\n e,\n error,\n goals,\n currentGoal,\n addGoal: projectGoalsVM.addGoal\n };\n },\n\n view: function({state, attrs}) {\n const showSuccess = state.showSuccess,\n error = state.error;\n return m('.w-container',\n m('.w-row', [\n (state.showSuccess() ? m(popNotification, {\n message: 'Meta salva com sucesso'\n }) : ''),\n (state.error() ? m(popNotification, {\n message: 'Erro ao salvar informações',\n error: true\n }) : ''),\n\n m('.w-col.w-col-8',\n m('.w-form', [\n state.e.inlineError('goals'),\n m('div',\n m(\".card.card-terciary.medium.u-marginbottom-30[id='arrecadacao']\", [\n m('.u-marginbottom-30', [\n m(\"label.fontsize-base.fontweight-semibold[for='name-8']\",\n 'O que você vai alcançar com os pagamentos mensais de seus assinantes?'\n ),\n m('.fontsize-smaller', [\n 'As metas mensais são a melhor maneira de informar aos seus assinantes como os recursos arrecadados mensalmente serão usados e o que vocês estão conquistando juntos.',\n m.trust(' '),\n 'Você pode alterar suas metas a qualquer momento durante sua campanha.'\n ])\n ]),\n _.map(state.goals(), (goal) => {\n if (goal().editing()) {\n return m(projectGoalEditCard, {\n goal,\n showSuccess,\n project: attrs.project,\n currentGoal: state.currentGoal,\n error\n });\n }\n return m(projectGoalCard, {\n goal\n });\n }),\n m('button.btn.btn-large.btn-message', {\n onclick: () => {\n state.addGoal(attrs.projectId);\n }\n }, [\n '+ ',\n m.trust(' '),\n ' Adicionar meta mensal'\n ])\n ])\n )\n ])\n ),\n m('.w-col.w-col-4',\n m('.card.u-radius',\n [\n m('.fontsize-small.u-marginbottom-20',\n [\n m('span.fa.fa-lightbulb-o.fa-lg'),\n m.trust(' '),\n 'Dicas'\n ]\n ),\n m('ul.w-list-unstyled',\n [\n m('li.u-marginbottom-10',\n m('a.fontsize-smaller.alt-link[href=\"https://suporte.catarse.me/hc/pt-br/articles/115005632746-Catarse-Assinaturas-FAQ-Realizadores#meta_inicial\"][target=\"_blank\"]',\n 'O que é a meta mensal inicial?'\n )\n ),\n m('li.u-marginbottom-10',\n m('a.fontsize-smaller.alt-link[href=\"https://suporte.catarse.me/hc/pt-br/articles/115005632746-Catarse-Assinaturas-FAQ-Realizadores#meta_futura\"][target=\"_blank\"]',\n 'O que são as metas mensais futuras?'\n )\n ),\n m('li.u-marginbottom-10',\n m('a.fontsize-smaller.alt-link[href=\"https://suporte.catarse.me/hc/pt-br/articles/115005632746-Catarse-Assinaturas-FAQ-Realizadores#meta_atual\"][target=\"_blank\"]',\n 'O que é a meta mensal atual?'\n )\n ),\n m('li.u-marginbottom-10',\n m('a.fontsize-smaller.alt-link[href=\"https://suporte.catarse.me/hc/pt-br/articles/115005632746-Catarse-Assinaturas-FAQ-Realizadores#nova_meta\"][target=\"_blank\"]',\n 'Posso adicionar novas metas depois do lançamento?'\n )\n ),\n m('li.u-marginbottom-10',\n m('a.fontsize-smaller.alt-link[href=\"https://suporte.catarse.me/hc/pt-br/articles/115005632746-Catarse-Assinaturas-FAQ-Realizadores#nao_atingir\"][target=\"_blank\"]',\n 'O que acontece se eu não atingir a meta do meu projeto?'\n )\n )\n ]\n )\n ]\n )\n )\n ])\n );\n }\n};\n\nexport default projectGoalsEdit;\n","import m from 'mithril';\nimport h from '../h';\nimport userVM from '../vms/user-vm';\nimport projectVM from '../vms/project-vm';\nimport projectGoalsEdit from '../c/project-goals-edit';\n\nconst projectEditGoals = {\n oninit: function(vnode) {\n vnode.state = {\n user: userVM.fetchUser(vnode.attrs.user_id),\n project: projectVM.fetchProject(vnode.attrs.project_id)\n };\n },\n\n view: function({state, attrs}) {\n return (state.user() && state.project() ? (state.project().mode !== 'sub' ? '' : m(projectGoalsEdit, {\n user: state.user(),\n userId: attrs.user_id,\n projectId: attrs.project_id,\n project: state.project()\n })) : m('div', h.loader()));\n }\n};\n\nexport default projectEditGoals;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport models from '../models';\nimport { catarse } from '../api';\nimport projectVM from './project-vm';\nimport h from '../h';\nimport generateErrorInstance from '../error';\n\nconst { replaceDiacritics } = window;\n\nconst e = generateErrorInstance();\n\nconst fields = {\n tracker_snippet_html: prop(''),\n user_id: prop(''),\n public_tags: prop(''),\n admin_tags: prop(''),\n service_fee: prop(''),\n name: prop(''),\n content_rating: prop(null),\n permalink: prop(''),\n category_id: prop(''),\n city_id: prop(''),\n city_name: prop(''),\n show_cans_and_cants: h.toggleProp(false, true),\n force_show_cans_and_cants: h.toggleProp(false, true),\n solidarity: h.RedrawStream(null),\n is_solidarity: h.RedrawStream(false),\n};\n\nconst fillFields = (data) => {\n fields.tracker_snippet_html(data.tracker_snippet_html || '');\n fields.user_id(data.user_id);\n fields.admin_tags(data.admin_tag_list || '');\n fields.public_tags(data.tag_list || '');\n fields.service_fee(data.service_fee);\n fields.name(data.name);\n fields.content_rating(data.content_rating);\n fields.permalink(data.permalink);\n fields.category_id(data.category_id);\n fields.city_id(data.city_id || '');\n fields.show_cans_and_cants(data.content_rating === 18);\n if (data.address.city) {\n fields.city_name(`${data.address.city} - ${data.address.state}`);\n }\n const projectSolidarityIntegration = (data.integrations || []).find(integration => integration.name === 'SOLIDARITY_SERVICE_FEE');\n fields.solidarity(!!projectSolidarityIntegration ? projectSolidarityIntegration : null);\n fields.is_solidarity(!!projectSolidarityIntegration);\n};\n\nconst updateProject = async (project_id) => {\n const projectData = {\n tracker_snippet_html: fields.tracker_snippet_html(),\n user_id: fields.user_id(),\n all_tags: fields.admin_tags(),\n all_public_tags: fields.public_tags(),\n service_fee: fields.service_fee(),\n name: fields.name(),\n content_rating: fields.content_rating(),\n permalink: fields.permalink(),\n category_id: fields.category_id(),\n city_id: fields.city_id,\n };\n \n if (fields.solidarity() && !fields.is_solidarity()) {\n projectData.integrations_attributes = [\n {\n id: fields.solidarity().id,\n name: 'SOLIDARITY_SERVICE_FEE',\n _destroy: true\n }\n ];\n \n } else if (!fields.solidarity() && fields.is_solidarity()) {\n projectData.integrations_attributes = [\n { \n name: 'SOLIDARITY_SERVICE_FEE',\n data: {\n name: 'COVID-19'\n }\n }\n ];\n }\n\n return projectVM.updateProject(project_id, projectData);\n};\n\nconst loadCategoriesOptionsTo = (prop, selected) => {\n const filters = catarse.filtersVM;\n models.category.getPage(filters({}).order({\n name: 'asc'\n }).parameters()).then((data) => {\n const mapped = _.map(data, (item, index) => m(`option[value='${item.id}']`, {\n selected: selected == item.id\n }, item.name));\n\n prop(mapped);\n });\n};\n\nconst generateSearchCity = (prop) => {\n const filters = catarse.filtersVM({\n search_index: 'ilike'\n }).order({ name: 'asc' });\n\n const genSelectClickCity = (city, citiesProp) => () => {\n fields.city_name(`${city.name} - ${city.acronym}`);\n fields.city_id(city.id);\n citiesProp('');\n };\n\n return (event) => {\n const value = event.currentTarget.value;\n filters.search_index(replaceDiacritics(value));\n fields.city_name(value);\n\n models.city.getPage(filters.parameters()).then((data) => {\n const map = _.map(data, item => m('.table-row.fontsize-smallest.fontcolor-secondary', [\n m('.city-select.fontsize-smallest.link-hidden-light', {\n onclick: genSelectClickCity(item, prop)\n }, `${item.name} - ${item.acronym}`)\n ]));\n\n prop(m('.table-outer.search-pre-result', { style: { 'z-index': 9999 } }, map));\n }).catch((err) => {\n prop('');\n });\n };\n};\n\n\nconst projectBasicsVM = {\n fields,\n fillFields,\n updateProject,\n loadCategoriesOptionsTo,\n e,\n generateSearchCity\n};\n\nexport default projectBasicsVM;\n","import m from 'mithril';\n\nconst inputCard = {\n view: function({attrs}) {\n const cardClass = attrs.cardClass || '.u-marginbottom-30.card.card-terciary',\n onclick = attrs.onclick || Function.prototype;\n\n return m(cardClass, { onclick }, [\n m('.w-row', [\n m('.w-col.w-col-5.w-sub-col', [\n m('label.field-label.fontweight-semibold', attrs.label),\n (attrs.label_hint ? m('label.hint.fontsize-smallest.fontcolor-secondary', attrs.label_hint) : '')\n ]),\n m('.w-col.w-col-7.w-sub-col', attrs.children)\n ]),\n\n attrs.belowChildren\n ]);\n }\n};\n\nexport default inputCard;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { catarse } from '../api';\nimport models from '../models';\nimport h from '../h';\nimport railsErrorsVM from '../vms/rails-errors-vm';\nimport projectBasicsVM from '../vms/project-basics-vm';\nimport popNotification from './pop-notification';\nimport inputCard from './input-card';\nimport projectEditSaveBtn from './project-edit-save-btn';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.dashboard_basics');\n\nconst ADULT_CONTENT_AGE = 18;\nconst NO_ADULT_CONTENT_AGE = 1;\nconst CONTENT_RATING_NOT_SET = 0;\n\nconst projectBasicsEdit = {\n oninit: function (vnode) {\n const vm = projectBasicsVM,\n mapErrors = [\n ['name', ['name']],\n ['public_tags', ['public_tags']],\n ['content_rating', ['content_rating']],\n ['permalink', ['permalink']],\n ['category_id', ['category']],\n ['city_id', ['city']],\n ],\n loading = prop(false),\n cities = prop(),\n categories = prop([]),\n isAdultContent = prop(null),\n showSuccess = h.toggleProp(false, true),\n showError = h.toggleProp(false, true),\n selectedTags = prop([]),\n tagOptions = prop([]),\n isEditingTags = prop(false),\n tagEditingLoading = prop(false),\n onSubmit = () => {\n if (isEditingTags()) {\n return false;\n }\n\n loading(true);\n m.redraw();\n const tagString = _.pluck(selectedTags(), 'name').join(',');\n vm.fields.public_tags(tagString);\n vm.updateProject(vnode.attrs.projectId)\n .then(() => {\n loading(false);\n vm.e.resetFieldErrors();\n showSuccess(true);\n showError(false);\n vnode.attrs.reloadProject(vm.fillFields);\n })\n .catch(err => {\n if (err.errors_json) {\n railsErrorsVM.mapRailsErrors(err.errors_json, mapErrors, vm.e);\n }\n loading(false);\n showSuccess(false);\n showError(true);\n });\n\n return false;\n };\n if (railsErrorsVM.railsErrors()) {\n railsErrorsVM.mapRailsErrors(railsErrorsVM.railsErrors(), mapErrors, vm.e);\n }\n vm.fillFields(vnode.attrs.project);\n\n if (vm.fields.public_tags()) {\n selectedTags(_.map(vm.fields.public_tags().split(','), name => ({ name })));\n }\n\n vm.loadCategoriesOptionsTo(categories, vm.fields.category_id());\n const addTag = tag => () => {\n tagOptions([]);\n\n if (selectedTags().length >= 5) {\n vm.e('public_tags', window.I18n.t('tags_max_error', I18nScope()));\n vm.e.inlineError('public_tags', true);\n m.redraw();\n\n return false;\n }\n selectedTags().push(tag);\n isEditingTags(false);\n\n m.redraw();\n\n return false;\n };\n\n const removeTag = tagToRemove => () => {\n const updatedTags = _.reject(selectedTags(), tag => tag === tagToRemove);\n\n selectedTags(updatedTags);\n\n return false;\n };\n const tagString = prop('');\n const transport = prop({ abort: Function.prototype });\n const searchTagsUrl = `${h.getApiHost()}/rpc/tag_search`;\n const searchTags = () => m.request({ method: 'POST', background: true, config: transport, data: { query: tagString(), count: 3 }, url: searchTagsUrl });\n const triggerTagSearch = e => {\n tagString(e.target.value);\n\n isEditingTags(true);\n tagOptions([]);\n\n const keyCode = e.keyCode;\n\n if (keyCode === 188 || keyCode === 13) {\n const tag = tagString().charAt(tagString().length - 1) === ',' ? tagString().substr(0, tagString().length - 1) : tagString();\n\n addTag({ name: tag.toLowerCase() }).call();\n e.target.value = '';\n return false;\n }\n\n tagEditingLoading(true);\n transport().abort();\n searchTags().then(data => {\n tagOptions(data);\n tagEditingLoading(false);\n m.redraw(true);\n });\n\n return false;\n };\n\n const editTag = event => {\n return triggerTagSearch(event);\n };\n\n vnode.state = {\n vm,\n isAdultContent,\n onSubmit,\n loading,\n categories,\n cities,\n showSuccess,\n showError,\n tagOptions,\n editTag,\n addTag,\n removeTag,\n isEditingTags,\n triggerTagSearch,\n selectedTags,\n tagEditingLoading,\n };\n },\n view: function ({ state, attrs }) {\n const vm = state.vm;\n \n return m('#basics-tab', [\n state.showSuccess()\n ? m(popNotification, {\n message: window.I18n.t('shared.successful_update'),\n toggleOpt: state.showSuccess,\n })\n : '',\n state.showError()\n ? m(popNotification, {\n message: window.I18n.t('shared.failed_update'),\n toggleOpt: state.showError,\n error: true,\n })\n : '',\n // add pop notifications here\n m('form.w-form', { onsubmit: state.onSubmit }, [\n m('.w-container', [\n // admin fields\n attrs.user.is_admin\n ? m('.w-row', [\n m('.w-col.w-col-10.w-col-push-1', [\n m(inputCard, {\n label: window.I18n.t('tracker_snippet_html', I18nScope()),\n children: [\n m('textarea.text.optional.w-input.text-field.positive.medium', {\n value: vm.fields.tracker_snippet_html(),\n onchange: m.withAttr('value', vm.fields.tracker_snippet_html),\n }),\n ],\n }),\n m(inputCard, {\n label: window.I18n.t('user_id', I18nScope()),\n children: [\n m('input.string.optional.w-input.text-field.positive.medium[type=\"text\"]', {\n value: vm.fields.user_id(),\n onchange: m.withAttr('value', vm.fields.user_id),\n }),\n ],\n }),\n m(inputCard, {\n label: window.I18n.t('admin_tags', I18nScope()),\n label_hint: window.I18n.t('admin_tags_hint', I18nScope()),\n children: [\n m('input.string.optional.w-input.text-field.positive.medium[type=\"text\"]', {\n value: vm.fields.admin_tags(),\n onchange: m.withAttr('value', vm.fields.admin_tags),\n }),\n ],\n }),\n m(inputCard, {\n label: window.I18n.t('service_fee', I18nScope()),\n children: [\n m('input.string.optional.w-input.text-field.positive.medium[type=\"number\"]', {\n value: vm.fields.service_fee(),\n onchange: m.withAttr('value', vm.fields.service_fee),\n }),\n ],\n }),\n\n m(inputCard, {\n label: window.I18n.t('solidarity_covid', I18nScope()),\n children: [\n m('select.required.w-input.text-field.w-select.positive.medium', {\n value: `${vm.fields.is_solidarity()}`,\n class: vm.e.hasError('integrations') ? 'error' : '',\n onchange: m.withAttr('value', (value) => vm.fields.is_solidarity(JSON.parse(value))),\n }, [\n m(`option[value=true]`, {\n selected: vm.fields.is_solidarity(),\n }, 'Sim'),\n m(`option[value=false]`, {\n selected: !vm.fields.is_solidarity(),\n }, 'Não')\n ]),\n vm.e.inlineError('integrations'),\n ]\n })\n ]),\n ])\n : '',\n m('.w-row', [\n m('.w-col.w-col-10.w-col-push-1', [\n m(inputCard, {\n label: window.I18n.t('name', I18nScope()),\n label_hint: window.I18n.t('name_hint', I18nScope()),\n children: [\n m('input.string.required.w-input.text-field.positive.medium[type=\"text\"][maxlength=\"50\"]', {\n value: vm.fields.name(),\n class: vm.e.hasError('name') ? 'error' : '',\n onchange: m.withAttr('value', vm.fields.name),\n }),\n vm.e.inlineError('name'),\n ],\n }),\n m(inputCard, {\n label: window.I18n.t('adult_content', I18nScope()),\n label_hint: window.I18n.t('adult_content_hint', I18nScope()),\n children: [\n m(\n 'select.required.w-input.text-field.w-select.positive.medium[id=\"content_rating_id\"]',\n {\n value: vm.fields.content_rating(),\n class: vm.e.hasError('content_rating') ? 'error' : '',\n onchange: (event) => {\n try {\n const content_rating_value = JSON.parse(event.target.value);\n vm.fields.content_rating(content_rating_value);\n vm.fields.show_cans_and_cants(content_rating_value === ADULT_CONTENT_AGE); \n vm.fields.force_show_cans_and_cants(false); \n } catch (e) {\n console.log('Error setting content rating:', e);\n h.captureException(e);\n }\n },\n },\n m(`option[value=${CONTENT_RATING_NOT_SET}]`, {\n selected: vm.fields.content_rating() === CONTENT_RATING_NOT_SET\n }, I18n.t('is_adult_content_answer_choose', I18nScope())),\n m(`option[value=${ADULT_CONTENT_AGE}]`, {\n selected: vm.fields.content_rating() === ADULT_CONTENT_AGE\n }, I18n.t('is_adult_content_answer_yes', I18nScope())),\n m(`option[value=${NO_ADULT_CONTENT_AGE}]`, {\n selected: vm.fields.content_rating() === NO_ADULT_CONTENT_AGE\n }, I18n.t('is_adult_content_answer_no', I18nScope()))\n ),\n vm.e.inlineError('content_rating'),\n\n m('div.fontsize-smaller.fontweight-light.fontcolor-secondary', [\n window.I18n.t('adult_content_description', I18nScope()),\n m('a.alt-link.fontweight-semibold', {\n onclick: () => vm.fields.force_show_cans_and_cants.toggle()\n }, window.I18n.t('adult_content_description_click_more', I18nScope()) ),\n '.'\n ])\n ],\n belowChildren: (vm.fields.show_cans_and_cants() || vm.fields.force_show_cans_and_cants()) && [\n m('div.card.u-margintop-30', [\n m('.w-row', [\n m('div.w-sub-col.w-col.w-col-6', [\n m('div.fontsize-small.fontweight-semibold.u-marginbottom-10', I18n.t('adult_content_can_title', I18nScope())),\n m('div.fontsize-smaller', I18n.t('adult_content_can_text', I18nScope()))\n ]),\n m('div.w-col.w-col-6', [\n m('div.fontsize-small.fontweight-semibold.u-marginbottom-10', I18n.t('adult_content_cant_title', I18nScope())),\n m('div.fontsize-smaller', [\n m.trust(I18n.t('adult_content_cant_text', I18nScope()))\n ])\n ])\n ]),\n m('div.fontsize-small.u-text-center.u-margintop-30.u-marginbottom-20',\n m(`a.alt-link.fontweight-semibold[href=\"${I18n.t('adult_content_support_url', I18nScope())}\"]`,\n I18n.t('adult_content_more_info_link_text', I18nScope())\n )\n )\n ])\n ]\n }),\n m(inputCard, {\n label: window.I18n.t('tags', I18nScope()),\n label_hint: window.I18n.t('tags_hint', I18nScope()),\n onclick: () => state.isEditingTags(false),\n children: [\n m('input.string.optional.w-input.text-field.positive.medium[type=\"text\"]', {\n onkeyup: event => state.editTag(event),\n class: vm.e.hasError('public_tags') ? 'error' : '',\n onfocus: () => vm.e.inlineError('public_tags', false),\n }),\n state.isEditingTags()\n ? m(\n '.options-list.table-outer',\n state.tagEditingLoading()\n ? m('.dropdown-link', m('.fontsize-smallest', 'Carregando...'))\n : state.tagOptions().length\n ? _.map(state.tagOptions(), tag =>\n m('.dropdown-link', { onclick: state.addTag(tag) }, m('.fontsize-smaller', tag.name))\n )\n : m('.dropdown-link', m('.fontsize-smallest', 'Nenhuma tag relacionada...'))\n )\n : '',\n vm.e.inlineError('public_tags'),\n m(\n 'div.tag-choices',\n _.map(state.selectedTags(), choice =>\n m(\n '.tag-div',\n m('div', [m('a.tag-close-btn.fa.fa-times-circle', { onclick: state.removeTag(choice) }), ` ${choice.name}`])\n )\n )\n ),\n ],\n }),\n m(inputCard, {\n label: window.I18n.t('permalink', I18nScope()),\n label_hint: window.I18n.t('permalink_hint', I18nScope()),\n children: [\n m('.w-row', [\n m(\n '.w-col.w-col-4.w-col-small-6.w-col-tiny6.text-field.prefix.no-hover.medium.prefix-permalink',\n {\n class: vm.e.hasError('permalink') ? 'error' : '',\n },\n m('.fontcolor-secondary.u-text-center.fontcolor-secondary.u-text-center.fontsize-smallest', 'www.catarse.me/')\n ),\n m('.w-col.w-col-8.w-col-small-6.w-col-tiny-6', [\n m('input.string.required.w-input.text-field.postfix.positive.medium[type=\"text\"]', {\n value: vm.fields.permalink(),\n class: vm.e.hasError('permalink') ? 'error' : '',\n onchange: m.withAttr('value', vm.fields.permalink),\n }),\n ]),\n ]),\n m('.w-row', vm.e.inlineError('permalink')),\n ],\n }),\n m(inputCard, {\n label: window.I18n.t('category', I18nScope()),\n label_hint: window.I18n.t('category_hint', I18nScope()),\n children: [\n m(\n 'select.required.w-input.text-field.w-select.positive.medium',\n {\n value: vm.fields.category_id(),\n class: vm.e.hasError('category_id') ? 'error' : '',\n onchange: m.withAttr('value', vm.fields.category_id),\n },\n state.categories()\n ),\n vm.e.inlineError('category_id'),\n ],\n }),\n m(inputCard, {\n label: window.I18n.t('city', I18nScope()),\n label_hint: window.I18n.t('city_hint', I18nScope()),\n children: [\n m('input.string.required.w-input.text-field.positive.medium[type=\"text\"]', {\n value: vm.fields.city_name(),\n class: vm.e.hasError('city_id') ? 'error' : '',\n onkeyup: vm.generateSearchCity(state.cities),\n }),\n vm.e.inlineError('city_id'),\n state.cities(),\n ],\n }),\n ]),\n ]),\n ]),\n m(projectEditSaveBtn, { loading: state.loading, onSubmit: state.onSubmit }),\n ]),\n ]);\n },\n};\n\nexport default projectBasicsEdit;\n","import m from 'mithril';\nimport h from '../h';\nimport userVM from '../vms/user-vm';\nimport projectVM from '../vms/project-vm';\nimport projectBasicsEdit from '../c/project-basics-edit';\n\nconst projectEditBasic = {\n oninit: function(vnode) {\n const project = projectVM.fetchProject(vnode.attrs.project_id);\n async function reloadProject(projectProp) {\n try {\n await projectVM.fetchProject(vnode.attrs.project_id, true, projectProp);\n h.redraw();\n } catch(e) {\n console.log('Error loading project data:', e);\n h.captureException(e);\n }\n }\n\n vnode.state = {\n user: userVM.fetchUser(vnode.attrs.user_id),\n project,\n reloadProject,\n };\n },\n\n view: function({state, attrs}) {\n return (state.user() && state.project() ? m(projectBasicsEdit, {\n user: state.user(),\n userId: attrs.user_id,\n projectId: attrs.project_id,\n project: state.project(),\n reloadProject: state.reloadProject,\n }) : m('div', h.loader()));\n }\n};\n\nexport default projectEditBasic;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport projectVM from './project-vm';\nimport railsErrorsVM from './rails-errors-vm';\nimport generateErrorInstance from '../error';\n\nconst e = generateErrorInstance();\n\nconst fields = {\n about_html: prop('')\n};\n\nconst fillFields = (data) => {\n fields.about_html(data.about_html || '');\n};\n\nconst updateProject = (project_id) => {\n const projectData = {\n about_html: fields.about_html()\n };\n\n return projectVM.updateProject(project_id, projectData);\n};\n\nconst projectDescriptionVM = {\n fields,\n fillFields,\n updateProject,\n e\n};\n\nexport default projectDescriptionVM;\n\n","import m from 'mithril';\n\nconst bigInputCard = {\n view: function({attrs}) {\n const cardClass = attrs.cardClass || '.w-row.u-marginbottom-30.card.card-terciary.padding-redactor-description.text.optional.project_about_html.field_with_hint';\n\n return m(cardClass, { style: (attrs.cardStyle || {}) }, [\n m('div', [\n m('label.field-label.fontweight-semibold.fontsize-base', attrs.label),\n (attrs.label_hint ? m('label.hint.fontsize-smallest.fontcolor-secondary', attrs.label_hint) : '')\n ]),\n m('div', attrs.children)\n ]);\n }\n};\n\nexport default bigInputCard;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport railsErrorsVM from '../vms/rails-errors-vm';\nimport projectDescriptionVM from '../vms/project-description-vm';\nimport popNotification from './pop-notification';\nimport bigInputCard from './big-input-card';\nimport projectEditSaveBtn from './project-edit-save-btn';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.dashboard_description');\n\nconst projectDescriptionEdit = {\n oninit: function(vnode) {\n const vm = projectDescriptionVM,\n mapErrors = [\n ['about_html', ['about_html']]\n ],\n showSuccess = h.toggleProp(false, true),\n showError = h.toggleProp(false, true),\n loading = prop(false),\n onSubmit = (event) => {\n loading(true);\n m.redraw();\n vm.updateProject(vnode.attrs.projectId).then((data) => {\n loading(false);\n vm.e.resetFieldErrors();\n if (!showSuccess()) { showSuccess.toggle(); }\n if (showError()) { showError.toggle(); }\n railsErrorsVM.validatePublish();\n }).catch((err) => {\n if (err.errors_json) {\n railsErrorsVM.mapRailsErrors(err.errors_json, mapErrors, vm.e);\n }\n loading(false);\n if (showSuccess()) { showSuccess.toggle(); }\n if (!showError()) { showError.toggle(); }\n });\n return false;\n };\n\n if (railsErrorsVM.railsErrors()) {\n railsErrorsVM.mapRailsErrors(railsErrorsVM.railsErrors(), mapErrors, vm.e);\n }\n vm.fillFields(vnode.attrs.project);\n\n vnode.state = {\n onSubmit,\n showSuccess,\n showError,\n vm,\n loading\n };\n },\n view: function({state, attrs}) {\n const vm = state.vm;\n return m('#description-tab', [\n (state.showSuccess() ? m(popNotification, {\n message: window.I18n.t('shared.successful_update'),\n toggleOpt: state.showSuccess\n }) : ''),\n (state.showError() ? m(popNotification, {\n message: window.I18n.t('shared.failed_update'),\n toggleOpt: state.showError,\n error: true\n }) : ''),\n\n m('form.w-form', { onsubmit: state.onSubmit }, [\n m('.w-container', [\n m('.w-row', [\n m('.w-col.w-col-10.w-col-push-1', [\n m('.u-marginbottom-60.u-text-center', [\n\t\t m('.w-inline-block.card.fontsize-small.u-radius', [\n m.trust(window.I18n.t('description_alert', I18nScope()))\n\t\t ])\n\t ]),\n m(bigInputCard, {\n label: window.I18n.t('description_label', I18nScope()),\n label_hint: window.I18n.t('description_hint', I18nScope()),\n children: [\n m('.preview-container', {\n class: vm.e.hasError('about_html') ? 'error' : false\n }, h.redactor('project[about_html]', vm.fields.about_html)),\n vm.e.inlineError('about_html')\n ]\n })\n ])\n ])\n ]),\n m(projectEditSaveBtn, { loading: state.loading, onSubmit: state.onSubmit })\n ])\n\n ]);\n }\n};\n\nexport default projectDescriptionEdit;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport projectVM from './project-vm';\nimport railsErrorsVM from './rails-errors-vm';\nimport generateErrorInstance from '../error';\n\nconst e = generateErrorInstance();\n\nconst fields = {\n about_html: prop(''),\n video_url: prop('')\n};\n\nconst fillFields = (data) => {\n fields.about_html(data.about_html || '');\n fields.video_url(data.video_url || '');\n};\n\nconst updateProject = (project_id) => {\n const projectData = {\n about_html: fields.about_html(),\n video_url: fields.video_url()\n };\n\n return projectVM.updateProject(project_id, projectData);\n};\n\nconst projectDescriptionVM = {\n fields,\n fillFields,\n updateProject,\n e\n};\n\nexport default projectDescriptionVM;\n\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport railsErrorsVM from '../vms/rails-errors-vm';\nimport projectDescriptionVideoVM from '../vms/project-description-video-vm';\nimport popNotification from './pop-notification';\nimport inputCard from './input-card';\nimport bigInputCard from './big-input-card';\nimport projectEditSaveBtn from './project-edit-save-btn';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.dashboard_description');\nconst I18nVideoScope = _.partial(h.i18nScope, 'projects.dashboard_video');\n\nconst projectDescriptionVideoEdit = {\n oninit: function(vnode) {\n const vm = projectDescriptionVideoVM,\n mapErrors = [\n ['about_html', ['about_html']],\n ['video_url', ['video_url']]\n ],\n showSuccess = h.toggleProp(false, true),\n showError = h.toggleProp(false, true),\n loading = prop(false),\n onSubmit = (event) => {\n loading(true);\n m.redraw();\n vm.updateProject(vnode.attrs.projectId).then((data) => {\n loading(false);\n vm.e.resetFieldErrors();\n if (!showSuccess()) { showSuccess.toggle(); }\n if (showError()) { showError.toggle(); }\n railsErrorsVM.validatePublish();\n }).catch((err) => {\n if (err.errors_json) {\n railsErrorsVM.mapRailsErrors(err.errors_json, mapErrors, vm.e);\n }\n loading(false);\n if (showSuccess()) { showSuccess.toggle(); }\n if (!showError()) { showError.toggle(); }\n });\n return false;\n };\n\n if (railsErrorsVM.railsErrors()) {\n railsErrorsVM.mapRailsErrors(railsErrorsVM.railsErrors(), mapErrors, vm.e);\n }\n vm.fillFields(vnode.attrs.project);\n\n vnode.state = {\n onSubmit,\n showSuccess,\n showError,\n vm,\n loading\n };\n },\n view: function({state, attrs}) {\n const vm = state.vm;\n return m('#description-tab', [\n (state.showSuccess() ? m(popNotification, {\n message: window.I18n.t('shared.successful_update'),\n toggleOpt: state.showSuccess\n }) : ''),\n (state.showError() ? m(popNotification, {\n message: window.I18n.t('shared.failed_update'),\n toggleOpt: state.showError,\n error: true\n }) : ''),\n\n m('form.w-form', { onsubmit: state.onSubmit }, [\n m('.w-container', [\n m('.w-row', [\n m('.w-col.w-col-10.w-col-push-1', [\n m('.u-marginbottom-60.u-text-center', [\n\t\t m('.w-col-8.w-inline-block.card.fontsize-small.u-radius', [\n m.trust(window.I18n.t('description_video_alert', I18nScope()))\n\t\t ])\n\t ]),\n m(inputCard, {\n label: window.I18n.t('video_label', I18nVideoScope()),\n label_hint: window.I18n.t('video_hint', I18nVideoScope()),\n children: [\n m('input.string.required.w-input.text-field.positive.medium[type=\"text\"]', {\n value: vm.fields.video_url(),\n class: vm.e.hasError('video_url') ? 'error' : '',\n onchange: m.withAttr('value', vm.fields.video_url)\n }),\n vm.e.inlineError('video_url')\n ]\n })\n ])\n ]),\n m('.w-row', [\n m('.w-col.w-col-10.w-col-push-1', [\n m(bigInputCard, {\n label: window.I18n.t('description_label', I18nScope()),\n label_hint: window.I18n.t('description_hint', I18nScope()),\n children: [\n m('.preview-container', {\n class: vm.e.hasError('about_html') ? 'error' : false\n }, h.redactor('project[about_html]', vm.fields.about_html)),\n vm.e.inlineError('about_html')\n ]\n })\n ])\n ])\n ]),\n m(projectEditSaveBtn, { loading: state.loading, onSubmit: state.onSubmit })\n ])\n\n ]);\n }\n};\n\nexport default projectDescriptionVideoEdit;\n","import m from 'mithril';\nimport h from '../h';\nimport userVM from '../vms/user-vm';\nimport projectVM from '../vms/project-vm';\nimport projectDescriptionEdit from '../c/project-description-edit';\nimport projectDescriptionVideoEdit from '../c/project-description-video-edit';\n\nconst projectEditDescription = {\n oninit: function(vnode) {\n vnode.state = {\n user: userVM.fetchUser(vnode.attrs.user_id),\n project: projectVM.fetchProject(vnode.attrs.project_id)\n };\n },\n\n view: function({state, attrs}) {\n const editComponent = projectVM.isSubscription(state.project)\n ? projectDescriptionVideoEdit\n : projectDescriptionEdit;\n return (state.user() && state.project() ? m(editComponent, {\n user: state.user(),\n userId: attrs.user_id,\n projectId: attrs.project_id,\n project: state.project()\n }) : m('div', h.loader()));\n }\n};\n\nexport default projectEditDescription;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport projectVM from './project-vm';\nimport generateErrorInstance from '../error';\n\nconst e = generateErrorInstance();\n\nconst fields = {\n video_url: prop('')\n};\n\nconst fillFields = (data) => {\n fields.video_url(data.video_url || '');\n};\n\nconst updateProject = (project_id) => {\n const projectData = {\n video_url: fields.video_url()\n };\n\n return projectVM.updateProject(project_id, projectData);\n};\n\nconst projectVideoVM = {\n fields,\n fillFields,\n updateProject,\n e\n};\n\nexport default projectVideoVM;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport railsErrorsVM from '../vms/rails-errors-vm';\nimport projectVideoVM from '../vms/project-video-vm';\nimport popNotification from './pop-notification';\nimport inputCard from './input-card';\nimport projectEditSaveBtn from './project-edit-save-btn';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.dashboard_video');\n\nconst projectBudgetEdit = {\n oninit: function(vnode) {\n const vm = projectVideoVM,\n mapErrors = [\n ['video_url', ['video_url']]\n ],\n showSuccess = h.toggleProp(false, true),\n showError = h.toggleProp(false, true),\n loading = prop(false),\n onSubmit = (event) => {\n loading(true);\n m.redraw();\n vm.updateProject(vnode.attrs.projectId).then((data) => {\n loading(false);\n vm.e.resetFieldErrors();\n if (!showSuccess()) { showSuccess.toggle(); }\n if (showError()) { showError.toggle(); }\n railsErrorsVM.validatePublish();\n }).catch((err) => {\n if (err.errors_json) {\n railsErrorsVM.mapRailsErrors(err.errors_json, mapErrors, vm.e);\n }\n loading(false);\n if (showSuccess()) { showSuccess.toggle(); }\n if (!showError()) { showError.toggle(); }\n });\n return false;\n };\n\n if (railsErrorsVM.railsErrors()) {\n railsErrorsVM.mapRailsErrors(railsErrorsVM.railsErrors(), mapErrors, vm.e);\n }\n vm.fillFields(vnode.attrs.project);\n\n vnode.state = {\n onSubmit,\n showSuccess,\n showError,\n vm,\n loading\n };\n },\n view: function({state, attrs}) {\n const vm = state.vm;\n return m('#video-tab', [\n (state.showSuccess() ? m(popNotification, {\n message: window.I18n.t('shared.successful_update'),\n toggleOpt: state.showSuccess\n }) : ''),\n (state.showError() ? m(popNotification, {\n message: window.I18n.t('shared.failed_update'),\n toggleOpt: state.showError,\n error: true\n }) : ''),\n\n m('form.w-form', { onsubmit: state.onSubmit }, [\n m('.w-container', [\n m('.w-row', [\n m('.w-col.w-col-10.w-col-push-1', [\n m('.u-marginbottom-60.u-text-center', [\n\t\t m('.w-inline-block.card.fontsize-small.u-radius', [\n m.trust(window.I18n.t('video_alert', I18nScope()))\n\t\t ])\n\t ]),\n m(inputCard, {\n label: window.I18n.t('video_label', I18nScope()),\n label_hint: window.I18n.t('video_hint', I18nScope()),\n children: [\n m('input.string.required.w-input.text-field.positive.medium[type=\"text\"]', {\n value: vm.fields.video_url(),\n class: vm.e.hasError('video_url') ? 'error' : '',\n onchange: m.withAttr('value', vm.fields.video_url)\n }),\n vm.e.inlineError('video_url')\n ]\n })\n ])\n ])\n ]),\n m(projectEditSaveBtn, { loading: state.loading, onSubmit: state.onSubmit })\n ])\n\n ]);\n }\n};\n\nexport default projectBudgetEdit;\n","import m from 'mithril';\nimport h from '../h';\nimport userVM from '../vms/user-vm';\nimport projectVM from '../vms/project-vm';\nimport projectVideoEdit from '../c/project-video-edit';\n\nconst projectEditVideo = {\n oninit: function(vnode) {\n vnode.state = {\n user: userVM.fetchUser(vnode.attrs.user_id),\n project: projectVM.fetchProject(vnode.attrs.project_id)\n };\n },\n\n view: function({state, attrs}) {\n return (state.user() && state.project() ? m(projectVideoEdit, {\n user: state.user(),\n userId: attrs.user_id,\n projectId: attrs.project_id,\n project: state.project()\n }) : m('div', h.loader()));\n }\n};\n\nexport default projectEditVideo;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport projectVM from './project-vm';\nimport generateErrorInstance from '../error';\n\nconst e = generateErrorInstance();\n\nconst fields = {\n budget: prop('')\n};\n\nconst fillFields = (data) => {\n fields.budget(data.budget || '');\n};\n\nconst updateProject = (project_id) => {\n const projectData = {\n budget: fields.budget()\n };\n\n return projectVM.updateProject(project_id, projectData);\n};\n\nconst projectBudgetVM = {\n fields,\n fillFields,\n updateProject,\n e\n};\n\nexport default projectBudgetVM;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport railsErrorsVM from '../vms/rails-errors-vm';\nimport projectBudgetVM from '../vms/project-budget-vm';\nimport popNotification from './pop-notification';\nimport bigInputCard from './big-input-card';\nimport projectEditSaveBtn from './project-edit-save-btn';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.dashboard_budget');\n\nconst projectBudgetEdit = {\n oninit: function(vnode) {\n const vm = projectBudgetVM,\n mapErrors = [\n ['budget', ['budget']]\n ],\n showSuccess = h.toggleProp(false, true),\n showError = h.toggleProp(false, true),\n loading = prop(false),\n onSubmit = (event) => {\n loading(true);\n m.redraw();\n vm.updateProject(vnode.attrs.projectId).then((data) => {\n loading(false);\n vm.e.resetFieldErrors();\n if (!showSuccess()) { showSuccess.toggle(); }\n if (showError()) { showError.toggle(); }\n railsErrorsVM.validatePublish();\n }).catch((err) => {\n if (err.errors_json) {\n railsErrorsVM.mapRailsErrors(err.errors_json, mapErrors, vm.e);\n }\n loading(false);\n if (showSuccess()) { showSuccess.toggle(); }\n if (!showError()) { showError.toggle(); }\n });\n return false;\n };\n\n if (railsErrorsVM.railsErrors()) {\n railsErrorsVM.mapRailsErrors(railsErrorsVM.railsErrors(), mapErrors, vm.e);\n }\n vm.fillFields(vnode.attrs.project);\n\n vnode.state = {\n onSubmit,\n showSuccess,\n showError,\n vm,\n loading\n };\n },\n view: function({state, attrs}) {\n const vm = state.vm;\n return m('#budget-tab', [\n (state.showSuccess() ? m(popNotification, {\n message: window.I18n.t('shared.successful_update'),\n toggleOpt: state.showSuccess\n }) : ''),\n (state.showError() ? m(popNotification, {\n message: window.I18n.t('shared.failed_update'),\n toggleOpt: state.showError,\n error: true\n }) : ''),\n\n m('form.w-form', { onsubmit: state.onSubmit }, [\n m('.w-container', [\n m('.w-row', [\n m('.w-col.w-col-10.w-col-push-1', [\n m('.u-marginbottom-60.u-text-center', [\n\t\t m('.w-inline-block.card.fontsize-small.u-radius', [\n m.trust(window.I18n.t('budget_alert', I18nScope()))\n\t\t ])\n\t ]),\n m(bigInputCard, {\n cardStyle: { display: 'block' },\n label: window.I18n.t('budget_label', I18nScope()),\n children: [\n m('.preview-container', {\n class: vm.e.hasError('budget') ? 'error' : false\n }, h.redactor('project[budget]', vm.fields.budget)),\n vm.e.inlineError('budget')\n ]\n })\n ])\n ])\n ]),\n m(projectEditSaveBtn, { loading: state.loading, onSubmit: state.onSubmit })\n ])\n\n ]);\n }\n};\n\nexport default projectBudgetEdit;\n","import m from 'mithril';\nimport h from '../h';\nimport userVM from '../vms/user-vm';\nimport projectVM from '../vms/project-vm';\nimport projectBudgetEdit from '../c/project-budget-edit';\n\nconst projectEditBudget = {\n oninit: function(vnode) {\n vnode.state = {\n user: userVM.fetchUser(vnode.attrs.user_id),\n project: projectVM.fetchProject(vnode.attrs.project_id)\n };\n },\n\n view: function({state, attrs}) {\n return (state.user() && state.project() ? m(projectBudgetEdit, {\n user: state.user(),\n userId: attrs.user_id,\n projectId: attrs.project_id,\n project: state.project()\n }) : m('div', h.loader()));\n }\n};\n\nexport default projectEditBudget;\n","import m from 'mithril';\nimport h from '../h';\nimport userVM from '../vms/user-vm';\nimport userAboutEdit from '../c/user-about-edit';\n\nconst projectEditUserAbout = {\n oninit: function(vnode) {\n vnode.state = {\n user: userVM.fetchUser(vnode.attrs.user_id)\n };\n },\n\n view: function({state, attrs}) {\n return (state.user() ? m(userAboutEdit, {\n user: state.user(),\n userId: attrs.user_id,\n useFloatBtn: true,\n hideDisableAcc: true,\n hideCoverImg: true,\n hidePasswordChange: true,\n publishingUserAbout: true\n }) : m('div', h.loader()));\n }\n};\n\nexport default projectEditUserAbout;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport h from '../h';\nimport _ from 'underscore';\nimport userVM from '../vms/user-vm';\nimport userAboutEdit from '../c/user-about-edit';\nimport userSettings from '../c/user-settings';\n\nconst projectEditUserSettings = {\n oninit: function(vnode) {\n\n const user = prop({});\n\n userVM\n .fetchUser(vnode.attrs.user_id, false)\n .then((userDate) => {\n user(_.first(userDate));\n h.redraw();\n });\n\n vnode.state = {\n user\n };\n },\n\n view: function({state, attrs}) {\n return (state.user() ? m(userSettings, {\n user: state.user,\n userId: attrs.user_id,\n hideCreditCards: true,\n useFloatBtn: true,\n publishingUserSettings: true,\n isProjectUserEdit: true\n }) : m('div', h.loader()));\n }\n};\n\nexport default projectEditUserSettings;\n","import m from 'mithril';\nimport inlineError from './inline-error';\n\nconst rewardCardEditDescription = {\n\n view: ({state, attrs}) => {\n const {\n reward,\n descriptionError\n } = attrs;\n\n return [\n m('.w-row',\n m('label.fontsize-smaller',\n 'Descrição:'\n )\n ),\n m('.w-row', [\n m('textarea.text.required.w-input.text-field.positive.height-medium[aria-required=\\'true\\'][placeholder=\\'Descreva sua recompensa\\'][required=\\'required\\']', {\n value: reward.description(),\n class: descriptionError() ? 'error' : false,\n oninput: m.withAttr('value', reward.description)\n }),\n m(\".fontsize-smaller.text-error.u-marginbottom-20.fa.fa-exclamation-triangle.w-hidden[data-error-for='reward_description']\",\n 'Descrição não pode ficar em branco'\n )\n ]),\n descriptionError() ? m(inlineError, { message: 'Descrição não pode ficar em branco.'}) : ''\n ];\n }\n};\n\nexport default rewardCardEditDescription;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport copyTextInput from './copy-text-input';\nimport rewardVM from '../vms/reward-vm';\nimport projectVM from '../vms/project-vm';\nimport inlineError from './inline-error';\nimport rewardCardEditDescription from './reward-card-edit-description';\nimport { isNumber } from 'util';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.reward_fields');\n\nconst dashboardRewardCard = {\n oninit: function (vnode) {\n const reward = vnode.attrs.reward(),\n imageFileToUpload = prop(null),\n isUploadingRewardImage = prop(false),\n isDeletingRewardImage = prop(false),\n contributionsMade = () => reward.paid_count() + reward.waiting_payment_count(),\n availableCount = () => {\n const numberAvailable = reward.maximum_contributions() - contributionsMade();\n if (isNaN(numberAvailable)) {\n return 0;\n } else {\n return numberAvailable;\n }\n },\n limitError = prop(false),\n editDescription = h.toggleProp(false, true),\n showLimited = h.toggleProp(false, true),\n descriptionError = prop(false),\n isSaving = prop(false),\n toggleLimit = () => {\n reward.run_out(false);\n reward.limited.toggle();\n if (reward.limited()) {\n reward.maximum_contributions(contributionsMade() + 1);\n } else {\n reward.maximum_contributions('');\n }\n },\n limitEdit = h.toggleProp(false, true),\n descriptionEdit = h.toggleProp(false, true),\n validate = () => {\n limitError(false);\n vnode.attrs.error(false);\n \n const maximumContributionsNumber = reward.maximum_contributions() ? Number(reward.maximum_contributions()) : 0;\n if (reward.limited() && contributionsMade() >= maximumContributionsNumber) {\n limitError(true);\n vnode.attrs.error(true);\n vnode.attrs.errors('Erro: Número de contribuições é maior que o limite de recompensas desejado.');\n }\n\n descriptionError(reward.description() === null || reward.description().length === 0);\n if (descriptionError()) {\n vnode.attrs.error(true);\n vnode.attrs.errors('Erro na descrição.');\n }\n\n if (limitError() && descriptionError()) {\n vnode.attrs.errors('Erro ao salvar informações.');\n }\n },\n saveReward = () => {\n validate();\n if (vnode.attrs.error()) {\n return false;\n }\n isSaving(true);\n const data = getRewardDataToSave();\n const isSubscription = projectVM.isSubscription(vnode.attrs.project());\n if (isSubscription) {\n data.description = reward.description();\n }\n\n rewardVM\n .updateReward(vnode.attrs.project().project_id, reward.id(), data)\n .then((data) => {\n vnode.attrs.showSuccess(true);\n limitEdit(false);\n descriptionEdit(false);\n isSaving(false);\n h.redraw();\n })\n .catch(err => {\n isSaving(false);\n h.redraw();\n });\n return false;\n },\n getRewardDataToSave = () => {\n\n if (reward.run_out()) {\n reward.maximum_contributions(null);\n return {\n run_out: true\n };\n } else if (reward.limited()) {\n return {\n maximum_contributions: reward.maximum_contributions(),\n run_out: false\n };\n } else {\n return {\n maximum_contributions: null,\n run_out: false\n };\n }\n },\n onSelectImageFile = () => {\n const rewardImageFile = window.document.getElementById(`reward_image_file_closed_card_${vnode.attrs.index}`);\n if (rewardImageFile && rewardImageFile.files && rewardImageFile.files.length) {\n\n imageFileToUpload(rewardImageFile.files[0]);\n isUploadingRewardImage(true);\n vnode.attrs.uploadImage(reward, imageFileToUpload, vnode.attrs.project().id, reward.id())\n .then(r_with_image => {\n if (r_with_image) {\n reward.uploaded_image(r_with_image.uploaded_image);\n imageFileToUpload(null);\n vnode.attrs.showSuccess(true);\n }\n isUploadingRewardImage(false);\n })\n .catch(error => {\n vnode.attrs.showSuccess(false);\n isUploadingRewardImage(false);\n });\n }\n },\n tryDeleteImage = () => {\n\n if (reward.newReward || imageFileToUpload()) {\n reward.uploaded_image(null);\n imageFileToUpload(null);\n } else {\n isDeletingRewardImage(true);\n vnode.attrs.deleteImage(reward, vnode.attrs.project().id, reward.id())\n .then(r => {\n if (r) {\n imageFileToUpload(null);\n reward.uploaded_image(null);\n }\n isDeletingRewardImage(false);\n })\n .catch(error => {\n // TODO: Show error on deleting the image\n isDeletingRewardImage(false);\n m.redraw();\n });\n }\n },\n runOutRewardAvailability = () => {\n reward.limited(false);\n reward.run_out.toggle();\n };\n\n vnode.state = {\n editDescription,\n availableCount,\n descriptionError,\n toggleLimit,\n saveReward,\n showLimited,\n limitError,\n runOutRewardAvailability,\n onSelectImageFile,\n tryDeleteImage,\n isUploadingRewardImage,\n isDeletingRewardImage,\n limitEdit,\n descriptionEdit,\n isSaving\n };\n },\n view: function ({\n state,\n attrs\n }) {\n const reward = attrs.reward();\n const project = attrs.project();\n\n const limitEdit = state.limitEdit;\n const descriptionEdit = state.descriptionEdit;\n const isSubscription = projectVM.isSubscription(project);\n const isUploadingRewardImage = state.isUploadingRewardImage;\n const isDeletingRewardImage = state.isDeletingRewardImage;\n const tryDeleteImage = state.tryDeleteImage;\n const onSelectImageFile = state.onSelectImageFile;\n const availableCount = state.availableCount;\n const shouldShowLoaderToUploadImage = isUploadingRewardImage() || isDeletingRewardImage();\n const showLimited = limitEdit();\n const limitError = (state.limitError && state.limitError());\n const descriptionError = state.descriptionError;\n const isEditingDescription = descriptionEdit();\n const isSaving = state.isSaving();\n\n return m('.w-row.cursor-move.card-persisted.card-terciary.u-marginbottom-20.medium.sortable', {\n class: attrs.class\n }, [\n (\n isSaving ?\n m('.card', [h.loader()])\n :\n m('.card', [\n\n m('.w-row', [\n m('.w-col.w-col-11.w-col-small-11.w-col-tiny-11',\n m('.fontsize-base.fontweight-semibold',\n window.I18n.t(\n isSubscription ?\n 'minimum_value_subscription_title' :\n 'minimum_value_title', I18nScope({\n minimum_value: reward.minimum_value()\n }))\n )\n ),\n (rewardVM.canEdit(reward, project.state, attrs.user) ?\n m('.w-col.w-col-1.w-col-small-1.w-col-tiny-1',\n m(\"a.show_reward_form[href='javascript:void(0);']\", {\n onclick: () => {\n reward.edit.toggle();\n }\n },\n m('.btn.btn-small.btn-terciary.fa.fa-lg.fa-edit.btn-no-border')\n )\n ) : '')\n ]),\n m('.u-marginbottom-20', [\n m('.fontsize-smaller.fontweight-semibold',\n window.I18n.t(\n isSubscription ?\n 'paid_subscribers' :\n 'paid_contributors', I18nScope({\n count: reward.paid_count()\n })\n )\n ),\n m('.fontsize-smaller.fontcolor-secondary', window.I18n.t('index.contributions_to_confirm', I18nScope({\n count: reward.waiting_payment_count()\n })))\n ]),\n\n // REWARD IMAGE\n (\n (shouldShowLoaderToUploadImage) ?\n (\n h.loader()\n ) :\n (\n (reward.uploaded_image && reward.uploaded_image()) ?\n (\n m(\"div.u-marginbottom-30.w-row\", [\n m(\"div.w-col.w-col-7\", [\n m(\"div.fontsize-smaller.fontweight-semibold\", [\n \"Imagem\",\n m(\"span.fontcolor-secondary\", \" (opcional)\")\n ]),\n m(\"div.u-marginbottom-20\",\n m(\"div.btn.btn-small.btn-terciary.fa.fa-lg.fa-trash.btn-no-border.btn-inline.u-right[href='#']\", {\n onclick: () => tryDeleteImage()\n })\n ),\n m(`img[src='${reward.uploaded_image()}'][alt='']`)\n ]),\n m(\"div.w-col.w-col-5\")\n ])\n ) :\n (\n m(\"div.u-marginbottom-30.w-row\", [\n m(\"div.w-col.w-col-7\", [\n m(\"div.fontsize-smaller.fontweight-semibold\", [\n \"Imagem\",\n m(\"span.fontcolor-secondary\", \" (opcional)\")\n ]),\n m(\"div.w-form\", [\n m(\"form\",\n m(`input.text-field.w-input[type='file'][placeholder='Choose file'][id='reward_image_file_closed_card_${attrs.index}']`, {\n oninput: () => onSelectImageFile(),\n onchange: () => onSelectImageFile(),\n })\n ),\n m(\"div.w-form-done\",\n m(\"div\", \"Thank you! Your submission has been received!\")\n ),\n m(\"div.w-form-fail\",\n m(\"div\", \"Oops! Something went wrong while submitting the form.\")\n )\n ])\n ]),\n m(\"div.w-col.w-col-5\")\n ])\n )\n )\n ),\n // END REWARD IMAGE\n\n m('.fontsize-small.fontweight-semibold',\n reward.title()\n ),\n m('.fontsize-small.fontcolor-secondary',\n m.trust(h.simpleFormat(h.strip(reward.description()))),\n ),\n\n // START REWARD LIMITATION\n (\n ((reward.limited() && reward.maximum_contributions() > 0) || reward.run_out()) ?\n (\n (availableCount() <= 0 || reward.run_out()) ?\n m('.u-margintop-10',\n m('span.badge.badge-gone.fontsize-smaller',\n window.I18n.t('reward_gone', I18nScope())\n )\n )\n :\n m('.u-margintop-10',\n m('span.badge.badge-attention.fontsize-smaller', [\n m('span.fontweight-bold',\n window.I18n.t('reward_limited', I18nScope())\n ),\n window.I18n.t('reward_available', I18nScope({\n available: availableCount(),\n maximum: reward.maximum_contributions()\n }))\n ])\n )\n )\n :\n ''\n ),\n // END REWARD LIMITATION\n\n reward.deliver_at() && !isSubscription ? m('.fontsize-smallest', [\n m('b', window.I18n.t('delivery_estimation', I18nScope())),\n h.momentify(reward.deliver_at(), 'MMM/YYYY')\n ]) : null,\n isSubscription ? null : m('.fontsize-smallest',\n m('b', `${window.I18n.t('delivery', I18nScope())}: `),\n window.I18n.t(`shipping_options.${reward.shipping_options()}`, I18nScope())),\n m('.u-margintop-40', [\n isSubscription &&\n m(`button.btn.btn-small.btn-terciary.btn-inline.u-marginright-20.w-button`, {\n onclick: descriptionEdit.toggle\n }, 'Editar descrição'),\n m(`button.btn.btn-small.btn-terciary.btn-inline.u-marginright-20.w-button`, {\n onclick: limitEdit.toggle\n }, 'Editar disponibilidade'),\n ]),\n m(`div${(showLimited || isEditingDescription) ? '' : '.w-hidden'}`, [\n m('.card.card-terciary.div-display-none.u-margintop-10.u-radius', {\n style: {\n display: 'block'\n }\n },\n m('.w-form', [\n [\n (\n showLimited && [\n m('div.w-row', [\n m('div.w-col.w-col-6',\n m('div.w-checkbox', [\n m(`input.w-checkbox-input[type='checkbox']`, {\n onclick: state.runOutRewardAvailability,\n checked: reward.run_out()\n }),\n m('label.fontsize-smaller.fontweight-semibold.w-form-label',\n window.I18n.t('run_out_reward', I18nScope())\n )\n ])\n ),\n m('div.w-col.w-col-6')\n ]),\n m('.w-row', [\n m('.w-col.w-col-6',\n m('.w-checkbox', [\n m(`input.w-checkbox-input[type='checkbox']`, {\n onclick: state.toggleLimit,\n checked: reward.limited()\n }),\n m('label.fontsize-smaller.fontweight-semibold.w-form-label',\n window.I18n.t('reward_limited_input', I18nScope())\n )\n ])\n ),\n m('.w-col.w-col-6', [\n m('input.string.tel.optional.w-input.text-field.u-marginbottom-30.positive[placeholder=\\'Quantidade disponível\\'][type=\\'tel\\']', {\n class: limitError ? 'error' : false,\n value: reward.maximum_contributions(),\n onchange: m.withAttr('value', reward.maximum_contributions)\n }),\n limitError ? m(inlineError, {\n message: 'Limite deve ser maior que quantidade de apoios.'\n }) : '',\n ])\n ])\n ]\n ),\n (\n // REWARD DESCRIPTION\n (isSubscription && isEditingDescription) &&\n m(rewardCardEditDescription, {\n reward,\n descriptionError\n })\n // END REWARD DESCRIPTION\n ),\n m('.w-row', [\n m('.w-sub-col.w-col.w-col-4',\n m('button.btn.btn-small.w-button', {\n onclick: state.saveReward\n }, 'Salvar')\n ),\n m('.w-sub-col.w-col.w-col-4',\n m('button.btn.btn-small.btn-terciary.w-button', {\n onclick: () => {\n descriptionEdit(false);\n limitEdit(false);\n }\n }, 'Cancelar')\n ),\n m('.w-clearfix.w-col.w-col-4')\n ])\n ]\n ])\n )\n ]),\n ])\n ),\n m('.u-margintop-20', [\n m('.fontcolor-secondary.fontsize-smallest.fontweight-semibold',\n window.I18n.t('reward_link_label', I18nScope())\n ),\n m('.fontcolor-secondary.fontsize-smallest.u-marginbottom-10',\n window.I18n.t('reward_link_hint', I18nScope())\n ),\n m('.w-form',\n m('.w-col.w-col-6',\n m(copyTextInput, {\n value: `https://www.catarse.me/pt/projects/${project.project_id}/${isSubscription ? 'subscriptions/start' : 'contributions/new'}?reward_id=${reward.id()}`\n }),\n )\n ),\n\n ]),\n ]);\n }\n};\n\nexport default dashboardRewardCard;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport inlineError from '../c/inline-error';\n\nconst shippingFeeInput = {\n oninit: function(vnode) {\n const states = vnode.attrs.states;\n const fee = vnode.attrs.fee,\n fees = vnode.attrs.fees,\n deleted = h.toggleProp(false, true),\n stateInUse = stateData => {\n const destinations = _.map(fees(), fee => fee.destination());\n return stateData.acronym !== fee.destination() && _.contains(destinations, stateData.acronym);\n },\n applyMask = _.compose(fee.value, h.applyMonetaryMask);\n\n _.extend(fee, { deleted });\n const feeNumberValue = Number(fee.value());\n fee.value(feeNumberValue ? `${h.formatNumber(feeNumberValue, 2, 2)}` : '0,00');\n vnode.state = {\n fee,\n applyMask,\n fees,\n deleted,\n feeValue: fee.value,\n stateInUse,\n states\n };\n },\n view: function({state}) {\n const deleted = state.deleted,\n othersCount = _.filter(state.fees(), fee => fee.destination !== 'others' && fee.destination !== 'international').length,\n states = state.states;\n\n return m(`div${deleted() ? '.w-hidden' : ''}`, [\n m('.u-marginbottom-10.w-row', [\n m('.w-col.w-col-6',\n\n (\n state.fee.destination() === 'others' ? [\n\n m('input[type=\\'hidden\\']', {\n value: 'others'\n }),\n m('label.field-label.fontsize-smallest',\n (othersCount > 0 ? 'Resto do Brasil' : 'Todos os estados do Brasil')\n )\n ] :\n\n state.fee.destination() === 'international' ?\n\n [\n m('input[type=\\'hidden\\']', {\n value: 'international'\n }),\n m('label.field-label.fontsize-smallest',\n 'Internacional'\n )\n ] :\n\n m('select.fontsize-smallest.text-field.text-field-light.w-select', {\n class: state.fee.error ? 'error' : false,\n value: state.fee.destination(),\n onchange: m.withAttr('value', state.fee.destination)\n }, [\n (_.map(states(), stateData =>\n m('option', {\n value: stateData.acronym,\n disabled: state.stateInUse(stateData)\n },\n stateData.name\n )))\n ]))\n ),\n m('.w-col.w-col-1'),\n m('.w-col.w-col-4',\n m('.w-row', [\n m('.no-hover.positive.prefix.text-field.w-col.w-col-3',\n m('.fontcolor-secondary.fontsize-mini.u-text-center',\n 'R$'\n )\n ),\n m('.w-col.w-col-9',\n m('input.positive.postfix.text-field.w-input', {\n value: state.applyMask(state.feeValue()),\n autocomplete: 'off',\n type: 'text',\n onkeyup: m.withAttr('value', state.applyMask),\n oninput: m.withAttr('value', state.feeValue)\n })\n )\n ])\n ),\n m('.w-col.w-col-1', [\n m('input[type=\\'hidden\\']', {\n value: state.deleted()\n }),\n\n (state.fee.destination() === 'others' || state.fee.destination() === 'international' ? '' :\n m('a.btn.btn-no-border.btn-small.btn-terciary.fa.fa-1.fa-trash', {\n onclick: () => state.deleted.toggle()\n }))\n ])\n\n\n ],\n state.fee.error ? m(inlineError, { message: 'Estado não pode ficar em branco.' }) : ''\n ), m('.divider.u-marginbottom-10')\n ]);\n }\n};\n\nexport default shippingFeeInput;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport moment from 'moment';\nimport _ from 'underscore';\nimport h from '../h';\nimport shippingFeeInput from '../c/shipping-fee-input';\nimport rewardVM from '../vms/reward-vm';\nimport projectVM from '../vms/project-vm';\nimport rewardCardEditDescription from './reward-card-edit-description';\n\nconst editRewardCard = {\n oninit: function(vnode) {\n const project = projectVM.getCurrentProject(),\n reward = vnode.attrs.reward(),\n imageFileToUpload = prop(null),\n minimumValue = projectVM.isSubscription(project) ? 5 : 10,\n destroyed = prop(false),\n isDeletingImage = prop(false),\n isUploadingImage = prop(false),\n isSavingReward = prop(false),\n acceptNumeric = (e) => {\n reward.minimum_value(e.target.value.replace(/[^0-9]/g, ''));\n return true;\n },\n confirmDelete = () => {\n const r = confirm('Você tem certeza?');\n if (r) {\n if (reward.newReward) {\n destroyed(true);\n return false;\n }\n return m.request({\n method: 'DELETE',\n url: `/projects/${vnode.attrs.project_id}/rewards/${reward.id()}`,\n config: h.setCsrfToken\n }).then(() => {\n destroyed(true);\n m.redraw();\n });\n }\n return false;\n },\n descriptionError = prop(false),\n minimumValueError = prop(false),\n deliverAtError = prop(false),\n states = prop([]),\n fees = prop([]),\n statesLoader = rewardVM.statesLoader,\n validate = () => {\n vnode.attrs.error(false);\n vnode.attrs.errors('Erro ao salvar informações. Confira os dados informados.');\n descriptionError(false);\n minimumValueError(false);\n deliverAtError(false);\n if (reward.newReward && moment(reward.deliver_at()).isBefore(moment().date(-1))) {\n vnode.attrs.error(true);\n deliverAtError(true);\n }\n if (_.isEmpty(reward.description())) {\n vnode.attrs.error(true);\n descriptionError(true);\n }\n if (!reward.minimum_value() || parseInt(reward.minimum_value()) < minimumValue) {\n vnode.attrs.error(true);\n minimumValueError(true);\n }\n _.map(fees(), (fee) => {\n _.extend(fee, {\n error: false\n });\n if (fee.destination() === null) {\n vnode.attrs.error(true);\n _.extend(fee, {\n error: true\n });\n }\n });\n },\n onSelectImageFile = () => {\n const rewardImageFile = window.document.getElementById(`reward_image_file_open_card_${vnode.attrs.index}`);\n if (rewardImageFile.files.length) {\n vnode.attrs.showImageToUpload(reward, imageFileToUpload, rewardImageFile.files[0]);\n }\n },\n tryDeleteImage = (reward) => {\n\n if (reward.newReward || imageFileToUpload()) {\n reward.uploaded_image(null);\n imageFileToUpload(null);\n } else {\n isDeletingImage(true);\n m.redraw();\n vnode.attrs.deleteImage(reward, vnode.attrs.project_id, reward.id())\n .then(r => {\n if (r) {\n imageFileToUpload(null);\n reward.uploaded_image(null);\n }\n\n isDeletingImage(false);\n m.redraw();\n })\n .catch(err => {\n isDeletingImage(false);\n m.redraw();\n });\n }\n },\n saveReward = () => {\n isSavingReward(true);\n validate();\n if (vnode.attrs.error()) {\n isSavingReward(false);\n h.redraw();\n return false;\n }\n const data = {\n title: reward.title(),\n project_id: vnode.attrs.project_id,\n shipping_options: reward.shipping_options(),\n minimum_value: reward.minimum_value(),\n description: reward.description(),\n deliver_at: reward.deliver_at()\n };\n if (reward.shipping_options() === 'national' || reward.shipping_options() === 'international') {\n const shippingFees = _.map(fees(), fee => ({\n _destroy: fee.deleted(),\n id: fee.id(),\n value: fee.value(),\n destination: fee.destination()\n }));\n _.extend(data, {\n shipping_fees_attributes: shippingFees\n });\n }\n if (reward.newReward) {\n isUploadingImage(true);\n isSavingReward(false);\n h.redraw();\n\n rewardVM.createReward(vnode.attrs.project_id, data).then((r) => {\n vnode.attrs.showSuccess(true);\n reward.newReward = false;\n // save id so we can update without reloading the page\n reward.id(r.reward_id);\n reward.edit.toggle();\n\n vnode.attrs.uploadImage(reward, imageFileToUpload, vnode.attrs.project_id, r.reward_id)\n .then(r_with_image => {\n vnode.attrs.showSuccess(true);\n isUploadingImage(false);\n h.redraw();\n })\n .catch(error => {\n vnode.attrs.showSuccess(false);\n isUploadingImage(false);\n h.redraw();\n });\n \n isSavingReward(false);\n h.redraw();\n })\n .catch(err => {\n vnode.attrs.error(true);\n vnode.attrs.errors('Erro ao salvar recompensa.');\n isSavingReward(false);\n h.redraw();\n });\n } else {\n isUploadingImage(true);\n isSavingReward(false);\n m.redraw();\n\n rewardVM.updateReward(vnode.attrs.project_id, reward.id(), data).then(() => {\n vnode.attrs.showSuccess(true);\n reward.edit.toggle();\n\n vnode.attrs.uploadImage(reward, imageFileToUpload, vnode.attrs.project_id, reward.id())\n .then(r_with_image => {\n vnode.attrs.showSuccess(true);\n isUploadingImage(false);\n h.redraw();\n })\n .catch(error => {\n vnode.attrs.showSuccess(false);\n isUploadingImage(false);\n h.redraw();\n });\n isSavingReward(false);\n h.redraw();\n })\n .catch(err => {\n vnode.attrs.error(true);\n vnode.attrs.errors('Erro ao salvar recompensa.');\n isSavingReward(false);\n h.redraw();\n });\n }\n return false;\n },\n updateOptions = () => {\n const destinations = _.map(fees(), fee => fee.destination());\n if (((reward.shipping_options() === 'national' || reward.shipping_options() === 'international') && !_.contains(destinations, 'others'))) {\n fees().push({\n id: prop(null),\n value: prop(0),\n destination: prop('others')\n });\n }\n if (reward.shipping_options() === 'national') {\n fees(_.reject(fees(), fee => fee.destination() === 'international'));\n } else if (reward.shipping_options() === 'international' && !_.contains(destinations, 'international')) {\n fees().push({\n id: prop(null),\n value: prop(0),\n destination: prop('international')\n });\n }\n };\n\n statesLoader.load().then((data) => {\n states(data);\n states().unshift({\n acronym: null,\n name: 'Estado'\n });\n\n if (!reward.newReward) {\n rewardVM.getFees({\n id: reward.id()\n }).then((feeData) => {\n _.map(feeData, (fee) => {\n const feeProp = {\n id: prop(fee.id),\n value: prop(fee.value),\n destination: prop(fee.destination)\n };\n fees().unshift(feeProp);\n });\n updateOptions();\n });\n }\n });\n\n vnode.state.minimumValueError = minimumValueError;\n vnode.state.minimumValue = minimumValue;\n vnode.state.deliverAtError = deliverAtError;\n vnode.state.descriptionError = descriptionError;\n vnode.state.confirmDelete = confirmDelete;\n vnode.state.acceptNumeric = acceptNumeric;\n vnode.state.updateOptions = updateOptions;\n vnode.state.saveReward = saveReward;\n vnode.state.destroyed = destroyed;\n vnode.state.states = states;\n vnode.state.project = project;\n vnode.state.reward = reward;\n vnode.state.fees = fees;\n vnode.state.tryDeleteImage = tryDeleteImage;\n vnode.state.onSelectImageFile = onSelectImageFile;\n vnode.state.isUploadingImage = isUploadingImage;\n vnode.state.isDeletingImage = isDeletingImage;\n vnode.state.isSavingReward = isSavingReward;\n },\n view: function({\n state,\n attrs\n }) {\n const newFee = {\n id: prop(null),\n value: prop(null),\n destination: prop(null)\n },\n fees = state.fees(),\n reward = attrs.reward(),\n inlineError = message => m('.fontsize-smaller.text-error.u-marginbottom-20.fa.fa-exclamation-triangle', m('span', message)),\n index = attrs.index,\n isUploadingImage = state.isUploadingImage(),\n isDeletingImage = state.isDeletingImage(),\n shouldAppearLoaderOnImageUploading = isUploadingImage || isDeletingImage,\n isSavingReward = state.isSavingReward(),\n descriptionError = state.descriptionError;\n\n return state.destroyed() ? m('div', '') : (isSavingReward ? h.loader() : m('.w-row.card-terciary.u-marginbottom-20.card-edition.medium', {\n class: attrs.class\n }, [\n m('.card',\n m('.w-form', [\n m('.w-row', [\n m('.w-col.w-col-5',\n m('label.fontsize-smaller',\n 'Título:'\n )\n ),\n m('.w-col.w-col-7',\n m('input.w-input.text-field.positive[aria-required=\\'true\\'][autocomplete=\\'off\\'][type=\\'tel\\']', {\n value: state.reward.title(),\n oninput: m.withAttr('value', state.reward.title)\n })\n )\n ]),\n m('.w-row.u-marginbottom-20', [\n m('.w-col.w-col-5',\n m('label.fontsize-smaller',\n 'Valor mínimo:'\n )\n ),\n m('.w-col.w-col-7', [\n m('.w-row', [\n m('.w-col.w-col-3.w-col-small-3.w-col-tiny-3.text-field.positive.prefix.no-hover',\n m('.fontsize-smallest.fontcolor-secondary.u-text-center',\n 'R$'\n )\n ),\n m('.w-col.w-col-9.w-col-small-9.w-col-tiny-9',\n m('input.string.tel.required.w-input.text-field.project-edit-reward.positive.postfix[aria-required=\\'true\\'][autocomplete=\\'off\\'][required=\\'required\\'][type=\\'tel\\']', {\n\n class: state.minimumValueError() ? 'error' : false,\n value: state.reward.minimum_value(),\n oninput: e => state.acceptNumeric(e)\n })\n )\n ]),\n state.minimumValueError() ? inlineError(`Valor deve ser igual ou superior a R$${state.minimumValue}.`) : '',\n\n m('.fontsize-smaller.text-error.u-marginbottom-20.fa.fa-exclamation-triangle.w-hidden[data-error-for=\\'reward_minimum_value\\']',\n 'Informe um valor mínimo maior ou igual a 10'\n )\n ])\n ]),\n state.project.mode === 'sub' ? null : m('.w-row', [\n m('.w-col.w-col-5',\n m('label.fontsize-smaller',\n 'Previsão de entrega:'\n )\n ),\n m('.w-col.w-col-7',\n m('.w-row',\n m('.w-col.w-col-12',\n m('.w-row', [\n m('input[type=\\'hidden\\'][value=\\'1\\']'),\n m('select.date.required.w-input.text-field.w-col-6.positive[aria-required=\\'true\\'][discard_day=\\'true\\'][required=\\'required\\'][use_short_month=\\'true\\']', {\n class: state.deliverAtError() ? 'error' : false,\n onchange: (e) => {\n state.reward.deliver_at(moment(state.reward.deliver_at()).month(parseInt(e.target.value) - 1).format());\n }\n }, [\n _.map(moment.monthsShort(), (month, monthIndex) => m('option', {\n value: monthIndex + 1,\n selected: moment(state.reward.deliver_at()).format('M') == monthIndex + 1\n },\n h.capitalize(month)\n ))\n ]),\n m('select.date.required.w-input.text-field.w-col-6.positive[aria-required=\\'true\\'][discard_day=\\'true\\'][required=\\'required\\'][use_short_month=\\'true\\']', {\n class: state.deliverAtError() ? 'error' : false,\n onchange: (e) => {\n state.reward.deliver_at(moment(reward.deliver_at()).year(parseInt(e.target.value)).format());\n }\n }, [\n _.map(_.range(moment().year(), moment().year() + 6), year =>\n m('option', {\n value: year,\n selected: moment(state.reward.deliver_at()).format('YYYY') === String(year)\n }, year))\n ])\n ])\n )\n ),\n state.deliverAtError() ? inlineError('Data de entrega não pode ser no passado.') : '',\n )\n ]),\n\n m(rewardCardEditDescription, {\n reward, descriptionError, inlineError\n }),\n\n // REWARD IMAGE\n (\n (shouldAppearLoaderOnImageUploading) ?\n (\n h.loader()\n ) :\n (\n (reward.uploaded_image && reward.uploaded_image()) ?\n (\n m(\"div.u-marginbottom-30.u-margintop-30\",\n m(\"div.w-row\", [\n m(\"div.w-col.w-col-5\",\n m(\"label.fontsize-smaller[for='field-8']\", [\n \"Imagem\",\n m(\"span.fontcolor-secondary\", \"(opcional)\")\n ])\n ),\n m(\"div.w-col.w-col-7\",\n m(\"div.u-marginbottom-20\", [\n m(\"div.btn.btn-small.btn-terciary.fa.fa-lg.fa-trash.btn-no-border.btn-inline.u-right[href='#']\", {\n onclick: () => state.tryDeleteImage(reward)\n }),\n m(`img[src='${reward.uploaded_image()}'][alt='']`)\n ])\n )\n ])\n )\n ) :\n (\n m(\"div.u-marginbottom-30.u-margintop-30\",\n m(\"div.w-row\", [\n m(\"div.w-col.w-col-5\",\n m(\"label.fontsize-smaller\", [\n \"Imagem \",\n m(\"span.fontcolor-secondary\", \"(opcional)\")\n ])\n ),\n m(\"div.w-col.w-col-7\",\n m(`input.text-field.w-input[type='file'][placeholder='Choose file'][id='reward_image_file_open_card_${index}']`, {\n oninput: () => state.onSelectImageFile(),\n onchange: () => state.onSelectImageFile(),\n })\n )\n ])\n )\n )\n )\n ),\n // END REWARD IMAGE\n\n state.project.mode === 'sub' ? null : m('.u-marginbottom-30.w-row', [\n m('.w-col.w-col-3',\n m(\"label.fontsize-smaller[for='field-2']\",\n 'Tipo de entrega'\n )\n ),\n m('.w-col.w-col-9', [\n m('select.positive.text-field.w-select', {\n value: state.reward.shipping_options() || 'free',\n onchange: (e) => {\n state.reward.shipping_options(e.target.value);\n state.updateOptions();\n }\n }, [\n m('option[value=\\'international\\']',\n 'Frete Nacional e Internacional'\n ),\n m('option[value=\\'national\\']',\n 'Frete Nacional'\n ),\n m('option[value=\\'free\\']',\n 'Sem frete envolvido'\n ),\n m('option[value=\\'presential\\']',\n 'Retirada presencial'\n )\n ]),\n\n ((state.reward.shipping_options() === 'national' || state.reward.shipping_options() === 'international') ?\n m('.card.card-terciary', [\n\n // state fees\n (_.map(fees, (fee, feeIndex) => [m(shippingFeeInput, {\n fee,\n fees: state.fees,\n feeIndex,\n states: state.states\n }),\n\n ])),\n m('.u-margintop-20',\n m(\"a.alt-link[href='#']\", {\n onclick: () => {\n state.fees().push(newFee);\n return false;\n }\n },\n 'Adicionar destino'\n )\n )\n ]) : '')\n ])\n ]),\n m('.w-row.u-margintop-30', [\n m('.w-col.w-col-5.w-col-small-5.w-col-tiny-5.w-sub-col-middle',\n m('a.w-button.btn.btn-small', {\n onclick: () => {\n state.saveReward();\n }\n }, 'Salvar')\n ),\n (reward.newReward ? '' :\n m('.w-col.w-col-5.w-col-small-5.w-col-tiny-5.w-sub-col-middle',\n m('a.w-button.btn-terciary.btn.btn-small.reward-close-button', {\n onclick: () => {\n reward.edit.toggle();\n }\n }, 'Cancelar')\n )),\n m('.w-col.w-col-1.w-col-small-1.w-col-tiny-1', [\n m('input[type=\\'hidden\\'][value=\\'false\\']'),\n m('a.remove_fields.existing', {\n onclick: state.confirmDelete\n },\n m('.btn.btn-small.btn-terciary.fa.fa-lg.fa-trash.btn-no-border')\n )\n ])\n ])\n ])\n )\n ]));\n }\n};\n\nexport default editRewardCard;\n","import m from 'mithril'\nimport _ from 'underscore'\nimport { RewardDetailsStream, StreamType } from '../../../@types/reward-details-stream'\nimport DashboardRewardCard from '../../dashboard-reward-card'\nimport EditRewardCard from '../../edit-reward-card'\nimport { ProjectDetails } from '../../../@types/project-details'\n\nexport type RewardsEditListCardAttrs = {\n reward: StreamType<RewardDetailsStream>\n index: number\n project: StreamType<ProjectDetails>\n error: StreamType<boolean>\n errors: StreamType<string>\n user: StreamType<{}>\n showSuccess: StreamType<boolean>\n loading: StreamType<boolean> \n showImageToUpload(reward: any, imageFileToUpload: any, imageInputElementFile: any): void\n deleteImage(reward: any, projectId: any, rewardId: any): Promise<any>\n uploadImage(reward: any, imageFileToUpload: any, projectId: any, rewardId: any): Promise<any>\n class: string\n project_id: number\n}\n\nexport class RewardsEditListCard implements m.Component {\n view({attrs} : m.Vnode<RewardsEditListCardAttrs>) {\n const reward = attrs.reward\n const index = attrs.index\n const error = attrs.error\n const errors = attrs.errors\n const user = attrs.user\n const showSuccess = attrs.showSuccess\n const project = attrs.project\n const showImageToUpload = attrs.showImageToUpload\n const deleteImage = attrs.deleteImage\n const uploadImage = attrs.uploadImage\n const project_id = attrs.project_id\n const isEditing = reward().edit()\n\n return (\n <div id={reward().id()}>\n <div class='nested-fields'>\n <div class='reward-card'>\n {\n isEditing ?\n <EditRewardCard\n class={attrs.class}\n project_id={project_id}\n error={error}\n showSuccess={showSuccess}\n errors={errors}\n reward={reward}\n showImageToUpload={showImageToUpload}\n deleteImage={deleteImage}\n uploadImage={uploadImage}\n index={index} />\n :\n <DashboardRewardCard\n class={attrs.class}\n reward={reward}\n error={error}\n errors={errors}\n user={user()}\n showSuccess={showSuccess}\n project={project}\n showImageToUpload={showImageToUpload}\n deleteImage={deleteImage}\n uploadImage={uploadImage}\n index={index} />\n }\n </div>\n </div>\n\n <input type='hidden' value={reward().id()} class='ui-sortable-handle' />\n </div>\n )\n }\n}","import m from 'mithril'\nimport moment from 'moment'\nimport _ from 'underscore'\nimport h from '../../../h'\nimport { RewardDetails } from '../../../@types/reward-details'\nimport { RewardDetailsStream, ToggleStream, StreamType } from '../../../@types/reward-details-stream'\nimport rewardVM from '../../../vms/reward-vm'\nimport dashboardRewardCard from '../../dashboard-reward-card'\nimport editRewardCard from '../../edit-reward-card'\nimport userVM from '../../../vms/user-vm'\nimport { ProjectDetails } from '../../../@types/project-details'\nimport { RewardsEditListCard } from './rewards-edit-list-card'\n\ntype ExtendedWindow = {\n $(...params: any[]): any\n I18n: {\n locale: string\n t(path: string, ...params: any[])\n }\n}\n\nconst { $, I18n } = window as any as ExtendedWindow;\nconst jQuery = $\nconst I18nScope = _.partial(h.i18nScope, 'projects.reward_fields');\nconst prop = h.RedrawStream as <T>(data?: T, onUpdate?: (data: T) => void) => (newData?: T) => T\n\nexport type RewardsEditListAttrs = {\n class: string\n project_id: number\n user_id: number\n project: StreamType<ProjectDetails>\n error: StreamType<boolean>\n errors: StreamType<string>\n showSuccess: StreamType<boolean>\n loading: StreamType<boolean>\n}\n\nexport type RewardsEditListState = {\n rewards: StreamType<StreamType<RewardDetailsStream>[]>\n newReward(): RewardDetailsStream\n user: StreamType<{}>\n setSorting(localVnode: m.VnodeDOM<{}, {}>): void\n showImageToUpload(reward: any, imageFileToUpload: any, imageInputElementFile: any): void\n deleteImage(reward: any, projectId: any, rewardId: any): Promise<any>\n uploadImage(reward: any, imageFileToUpload: any, projectId: any, rewardId: any): Promise<any>\n}\n\nexport class RewardsEditList implements m.Component {\n\n oninit({ attrs, state }: m.Vnode<RewardsEditListAttrs, RewardsEditListState>) {\n const rewards = prop<StreamType<RewardDetailsStream>[]>([])\n const loading = attrs.loading\n const error = attrs.error\n const errors = attrs.errors\n const showSuccess = attrs.showSuccess\n function newReward(): RewardDetailsStream {\n return {\n id: prop(null),\n minimum_value: prop(null),\n title: prop(''),\n shipping_options: prop('free'),\n edit: h.toggleProp(true, false) as any as ToggleStream<boolean>,\n deliver_at: prop(moment().date(1).format()),\n description: prop(''),\n paid_count: prop(0),\n waiting_payment_count: prop(0),\n limited: h.toggleProp(false, true) as any as ToggleStream<boolean>,\n maximum_contributions: prop(null),\n run_out: h.toggleProp(false, true) as any as ToggleStream<boolean>,\n newReward: true,\n uploaded_image: prop(null),\n row_order: prop(999999999 + (rewards().length * 20)) // we need large and spaced apart numbers\n };\n }\n\n const updateRewardSortPosition = (rewardId, position) => m.request({\n method: 'POST',\n url: `/${I18n.locale}/projects/${attrs.project_id}/rewards/${rewardId}/sort?reward[row_order_position]=${position}`,\n config: (xhr) => {\n if (h.authenticityToken()) {\n xhr.setRequestHeader('X-CSRF-Token', h.authenticityToken());\n xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');\n }\n }\n });\n\n function setSorting(localVnode: m.VnodeDOM) {\n if (jQuery) {\n jQuery(localVnode.dom).sortable({\n update(event, ui) {\n const rewardId = ui.item[0].id\n updateRewardSortPosition(rewardId, ui.item.index())\n }\n })\n }\n }\n\n async function loadRewards() {\n\n await rewardVM.fetchRewards(attrs.project_id)\n\n rewards([]);\n\n for (const reward of rewardVM.rewards()) {\n\n const limited = reward.maximum_contributions !== null && !reward.run_out;\n const rewardDataStreams: RewardDetailsStream = {\n id: prop(reward.id),\n deliver_at: prop(reward.deliver_at),\n description: prop(reward.description),\n run_out: h.toggleProp(reward.run_out, !reward.run_out) as any as ToggleStream<boolean>,\n maximum_contributions: prop(reward.maximum_contributions),\n minimum_value: prop(reward.minimum_value),\n edit: h.toggleProp(false, true) as any as ToggleStream<boolean>,\n limited: h.toggleProp(limited, !limited) as any as ToggleStream<boolean>,\n paid_count: prop(reward.paid_count),\n row_order: prop(reward.row_order),\n shipping_options: prop(reward.shipping_options),\n title: prop(reward.title),\n uploaded_image: prop(reward.uploaded_image),\n waiting_payment_count: prop(reward.waiting_payment_count),\n newReward: false,\n }\n\n const rewardDataStreamProp = prop<RewardDetailsStream>(rewardDataStreams)\n rewards(rewards().concat([rewardDataStreamProp]));\n }\n\n if (rewardVM.rewards().length === 0) {\n rewards([prop(newReward())]);\n }\n\n h.redraw();\n }\n\n const uploadImage = (reward, imageFileToUpload, projectId, rewardId) => {\n if (imageFileToUpload()) {\n return rewardVM\n .uploadImage(projectId, rewardId, imageFileToUpload())\n .then(r => {\n if (r) {\n reward.uploaded_image(r.uploaded_image);\n }\n return r;\n })\n .catch(err => {\n error(true);\n errors('Erro ao fazer upload da imagem da recompensa. Favor tentar novamente.');\n });\n } else {\n return Promise.resolve();\n }\n };\n\n const deleteImage = (reward, projectId, rewardId) => {\n return rewardVM.deleteImage(projectId, rewardId)\n .then(r => {\n if (r) {\n reward.uploaded_image(r.uploaded_image);\n }\n return r;\n })\n .catch(err => {\n error(true);\n errors('Erro ao deletar a imagem da recompensa. Favor tentar novamente.');\n });\n };\n\n const showImageToUpload = (reward, imageFileToUpload, imageInputElementFile) => {\n const reader = new FileReader();\n reader.onload = function () {\n imageFileToUpload(imageInputElementFile);\n var dataURL = reader.result;\n reward.uploaded_image(dataURL);\n m.redraw();\n };\n reader.readAsDataURL(imageInputElementFile);\n };\n\n loadRewards()\n\n state.rewards = rewards\n state.user = userVM.fetchUser(attrs.user_id) as StreamType<{}>\n state.newReward = newReward\n state.setSorting = setSorting\n state.showImageToUpload = showImageToUpload\n state.deleteImage = deleteImage\n state.uploadImage = uploadImage\n }\n\n view({ attrs, state }: m.Vnode<RewardsEditListAttrs, RewardsEditListState>) {\n\n const loading = attrs.loading\n const error = attrs.error\n const errors = attrs.errors\n const showSuccess = attrs.showSuccess\n const project = attrs.project\n const showImageToUpload = state.showImageToUpload\n const deleteImage = state.deleteImage\n const uploadImage = state.uploadImage\n const project_id = attrs.project_id\n const sortedRewards = _.sortBy(state.rewards(), reward => Number(reward().row_order()))\n const hasRewards = state.rewards().length > 0\n const shouldShowAddRewardButton = rewardVM.canAdd(project().state, state.user())\n\n return (\n <>\n <div class='w-form'>\n {\n hasRewards &&\n <div oncreate={state.setSorting} id='rewards' class='ui-sortable'>\n {sortedRewards.map((reward, index) =>\n <RewardsEditListCard\n reward={reward}\n index={index}\n project={project}\n error={error}\n errors={errors}\n user={state.user}\n showSuccess={showSuccess}\n loading={loading}\n showImageToUpload={showImageToUpload}\n deleteImage={deleteImage}\n uploadImage={uploadImage}\n class={attrs.class}\n project_id={project_id}\n />\n )}\n </div>\n }\n </div>\n <AddRewardButton \n shouldDisplayButton={shouldShowAddRewardButton}\n onclick={() => {\n state.rewards().push(prop(state.newReward()));\n h.redraw();\n }} />\n </>\n )\n }\n}\n\ntype AddRewardButtonAttrs = {\n shouldDisplayButton: boolean\n onclick(event: Event): void\n}\n\nclass AddRewardButton implements m.Component {\n view({attrs} : m.Vnode<AddRewardButtonAttrs>) {\n const shouldDisplayButton = attrs.shouldDisplayButton\n const onclick = attrs.onclick\n\n return (\n shouldDisplayButton &&\n <button class='btn btn-large btn-message show_reward_form new_reward_button add_fields'\n onclick={onclick}>\n {I18n.t('add_reward', I18nScope())}\n </button>\n )\n }\n}","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport popNotification from '../c/pop-notification';\nimport { RewardsEditList } from '../c/projects/edit/rewards-edit-list';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.reward_fields');\n\nconst projectEditReward = {\n oninit: function(vnode) {\n const loading = prop(false);\n const error = prop(false);\n const errors = prop([]);\n const showSuccess = prop(false);\n const tips = window.I18n.translations[window.I18n.currentLocale()].projects.reward_fields.faq;\n\n vnode.state = {\n loading,\n error,\n errors,\n showSuccess,\n tips,\n };\n },\n\n view({ state, attrs }) {\n const project_id = attrs.project_id;\n const user_id = attrs.user_id;\n const error = state.error;\n const errors = state.errors;\n const project = attrs.project;\n const showSuccess = state.showSuccess;\n const loading = state.loading;\n\n return m('[id=\"dashboard-rewards-tab\"]',\n (project() ? [\n m('.w-section.section',\n m('.w-container', [\n (state.showSuccess() ? m(popNotification, {\n message: 'Recompensa salva com sucesso'\n }) : ''),\n (state.error() ? m(popNotification, {\n message: state.errors(),\n error: true\n }) : ''),\n m('.w-row',\n m('.w-col.w-col-8.w-col-push-2',\n m('.u-marginbottom-60.u-text-center',\n m('.w-inline-block.card.fontsize-small.u-radius', [\n m('span.fa.fa-lightbulb-o'),\n m.trust(` ${window.I18n.t('reward_know_more_cta_html', I18nScope())}`)\n ])\n )\n )\n ),\n m('.w-row', [\n m('.w-col.w-col-8',\n m(RewardsEditList, {\n class: 'card',\n project_id,\n user_id,\n project,\n error,\n errors,\n showSuccess,\n loading,\n })\n ),\n m('.w-col.w-col-4',\n m('.card.u-radius', [\n m('.fontsize-small.u-marginbottom-20', [\n m('span.fa.fa-lightbulb-o.fa-lg'),\n m.trust(` ${window.I18n.t('reward_know_more_cta_html', I18nScope())}`)\n ]),\n m('.divider.u-marginbottom-20'),\n m('.fontsize-smallest.w-hidden-small.w-hidden-tiny', [\n window.I18n.t('reward_faq_intro', I18nScope()),\n m('br'),\n m('br'),\n window.I18n.t('reward_faq_sub_intro', I18nScope()),\n m('br'),\n m('br'),\n _.map(state.tips,\n (tip, idx) => project().mode === 'sub' && (Number(idx) === 3 || Number(idx) === 4) ?\n null \n :\n [\n m('.fontweight-semibold', tip.title),\n m.trust(tip.description),\n m('br'),\n m('br')\n ]\n )\n ])\n ])\n )\n ])\n ])\n )\n ] : h.loader())\n );\n }\n};\n\nexport default projectEditReward;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectVM from './project-vm';\nimport generateErrorInstance from '../error';\n\nconst e = generateErrorInstance();\nconst currentProject = prop({});\n\nconst fields = {\n headline: prop(''),\n uploaded_image: prop(''),\n cover_image: prop(''),\n upload_files_targets: prop({}),\n upload_files: prop(new FormData())\n};\n\nconst fillFields = (data) => {\n fields.headline(data.headline || '');\n fields.cover_image(data.cover_image || '');\n fields.upload_files_targets({});\n fields.upload_files(new FormData());\n currentProject(data);\n};\n\nconst reloadCurrentProject = () => {\n if (currentProject().id) {\n projectVM.fetchProject(currentProject().id, false).then((data) => {\n fillFields(_.first(data));\n m.redraw();\n });\n }\n};\n\nconst prepareForUpload = (event, target) => {\n const formData = fields.upload_files();\n if (event.target.files[0]) {\n if (formData.delete) formData.delete(target);\n formData.append(target, event.target.files[0]);\n fields.upload_files_targets()[target] = true;\n } else {\n formData.delete(target);\n delete fields.upload_files_targets()[target];\n }\n};\n\nconst uploadImage = (project_id) => {\n if (_.isEmpty(fields.upload_files_targets())) {\n const p = new Promise((resolve) => {\n resolve({});\n });\n\n return p;\n }\n return m.request({\n method: 'POST',\n url: `/projects/${project_id}/upload_image.json`,\n data: fields.upload_files(),\n config: h.setCsrfToken,\n serialize(data) { return data; }\n });\n};\n\nconst updateProject = (project_id) => {\n const projectData = {\n headline: fields.headline()\n };\n\n return projectVM.updateProject(project_id, projectData);\n};\n\nconst projectCardVM = {\n fields,\n fillFields,\n updateProject,\n e,\n prepareForUpload,\n uploadImage,\n currentProject,\n reloadCurrentProject\n};\n\nexport default projectCardVM;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport railsErrorsVM from '../vms/rails-errors-vm';\nimport projectCardVM from '../vms/project-card-vm';\nimport popNotification from './pop-notification';\nimport inputCard from './input-card';\nimport projectEditSaveBtn from './project-edit-save-btn';\nimport projectCard from './project-card';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.dashboard_card');\n\nconst projectCardEdit = {\n oninit: function(vnode) {\n const vm = projectCardVM,\n mapErrors = [\n ['uploaded_image', ['uploaded_image']],\n ['cover_image', ['cover_image']],\n ['headline', ['headline']],\n ],\n showSuccess = h.toggleProp(false, true),\n showError = h.toggleProp(false, true),\n loading = prop(false),\n onSubmit = () => {\n loading(true);\n m.redraw();\n vm.uploadImage(vnode.attrs.projectId).then(() => {\n vm.updateProject(vnode.attrs.projectId).then(() => {\n loading(false);\n vm.e.resetFieldErrors();\n if (!showSuccess()) { showSuccess.toggle(); }\n if (showError()) { showError.toggle(); }\n vm.reloadCurrentProject();\n railsErrorsVM.validatePublish();\n }).catch((err) => {\n if (err.errors_json) {\n railsErrorsVM.mapRailsErrors(err.errors_json, mapErrors, vm.e);\n }\n loading(false);\n if (showSuccess()) { showSuccess.toggle(); }\n if (!showError()) { showError.toggle(); }\n m.redraw();\n });\n }).catch((uploaderr) => {\n if (uploaderr.errors_json) {\n railsErrorsVM.mapRailsErrors(uploaderr.errors_json, mapErrors, vm.e);\n }\n loading(false);\n if (showSuccess()) { showSuccess.toggle(); }\n if (!showError()) { showError.toggle(); }\n });\n return false;\n };\n\n if (railsErrorsVM.railsErrors()) {\n railsErrorsVM.mapRailsErrors(railsErrorsVM.railsErrors(), mapErrors, vm.e);\n }\n vm.fillFields(vnode.attrs.project);\n\n vnode.state = {\n onSubmit,\n showSuccess,\n showError,\n vm,\n loading\n };\n },\n view: function({ state }) {\n const vm = state.vm;\n return m('#card-tab', [\n (state.showSuccess() ? m(popNotification, {\n message: window.I18n.t('shared.successful_update'),\n toggleOpt: state.showSuccess\n }) : ''),\n (state.showError() ? m(popNotification, {\n message: window.I18n.t('shared.failed_update'),\n toggleOpt: state.showError,\n error: true\n }) : ''),\n\n m('form.w-form', { onsubmit: state.onSubmit }, [\n m('.w-section.section', [\n m('.w-container', [\n (\n vm.currentProject().mode === 'sub' ?\n m('.w-row', [\n m('.w-col.w-col-12', [\n m(inputCard, {\n label: m.trust(window.I18n.t('cover_image_label', I18nScope())),\n label_hint: window.I18n.t('cover_image_hint', I18nScope()),\n children: [\n m('span.hint',\n (vm.fields.cover_image()\n ? m(`img[alt=\"Imagem de fundo\"][src=\"${vm.fields.cover_image()}\"]`)\n : 'Imagem de fundo')\n ),\n m('input.file.optional.w-input.text-field[id=\"project_cover_image\"][name=\"project[cover_image]\"][type=\"file\"]', {\n class: vm.e.hasError('cover_image') ? 'error' : false,\n onchange: (e) => { vm.prepareForUpload(e, 'cover_image'); }\n }),\n vm.e.inlineError('cover_image')\n ]\n })\n ])\n ])\n : \n ''\n ),\n m('.w-row', [\n m('.w-col.w-col-8', [\n m(inputCard, {\n label: window.I18n.t('uploaded_image_label', I18nScope()),\n label_hint: window.I18n.t('uploaded_image_hint', I18nScope()),\n children: [\n m('input.file.optional.w-input.text-field[id=\"project_uploaded_image\"][name=\"project[uploaded_image]\"][type=\"file\"]', {\n class: vm.e.hasError('uploaded_image') ? 'error' : false,\n onchange: (e) => { vm.prepareForUpload(e, 'uploaded_image'); }\n }),\n vm.e.inlineError('uploaded_image')\n ]\n }),\n m(inputCard, {\n label: window.I18n.t('headline_label', I18nScope()),\n label_hint: window.I18n.t('headline_label_hint', I18nScope()),\n children: [\n m('textarea.text.optional.w-input.text-field.positive[id=\"project_headline\"][maxlength=\"100\"][name=\"project[headline]\"][rows=\"3\"]', {\n onchange: m.withAttr('value', vm.fields.headline),\n class: vm.e.hasError('headline') ? 'error' : false\n }, vm.fields.headline()),\n vm.e.inlineError('headline')\n ]\n })\n ]),\n m(projectCard, { project: vm.currentProject(), type: 'small' })\n ])\n ])\n ]),\n m(projectEditSaveBtn, { loading: state.loading, onSubmit: state.onSubmit })\n ])\n\n ]);\n }\n};\n\nexport default projectCardEdit;\n","import m from 'mithril';\nimport h from '../h';\nimport userVM from '../vms/user-vm';\nimport projectVM from '../vms/project-vm';\nimport projectCardEdit from '../c/project-card-edit';\n\nconst projectEditCard = {\n oninit: function(vnode) {\n vnode.state = {\n user: userVM.fetchUser(vnode.attrs.user_id),\n project: projectVM.fetchProject(vnode.attrs.project_id)\n };\n },\n\n view: function({state, attrs}) {\n return (state.user() && state.project() ? m(projectCardEdit, {\n user: state.user(),\n userId: attrs.user_id,\n projectId: attrs.project_id,\n project: state.project()\n }) : m('div', h.loader()));\n }\n};\n\nexport default projectEditCard;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport userVM from '../vms/user-vm';\nimport projectVM from '../vms/project-vm';\nimport youtubeLightbox from '../c/youtube-lightbox';\nimport projectDeleteButton from '../c/project-delete-button';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.dashboard_start');\nconst projectEditStart = {\n view: function({attrs}) {\n return m('.dashboard-header.min-height-70.u-text-center.u-marginbottom-80', [\n m('.w-container',\n m('.u-marginbottom-40.w-row', [\n m('.w-col.w-col-8.w-col-push-2', [\n m('.fontsize-larger.fontweight-semibold.lineheight-looser.u-marginbottom-10',\n window.I18n.t('title', I18nScope())\n ),\n m('.fontsize-small.lineheight-loose.u-marginbottom-40',\n window.I18n.t('description', I18nScope({\n name: attrs.project().user.name || ''\n }))\n ),\n m('.card.card-terciary.u-radius',\n m(`iframe[allowfullscreen=\"true\"][width=\"630\"][height=\"383\"][frameborder=\"0\"][scrolling=\"no\"][mozallowfullscreen=\"true\"][webkitallowfullscreen=\"true\"][src=${window.I18n.t('video_src', I18nScope())}]`)\n ),\n\n ])\n ])\n ),\n (attrs.project().state === 'draft' ?\n m(projectDeleteButton, {\n project: attrs.project()\n }) :\n '')\n ]);\n }\n};\n\nexport default projectEditStart;\n","import h from '../h';\nimport m from 'mithril';\nimport projectsShow from '../root/projects-show';\n\nconst projectPreview = {\n view: function({attrs}) {\n return attrs.project() ? m('div', [\n m('.u-text-center',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-8.w-col-push-2', [\n m('.fontweight-semibold.fontsize-large.u-margintop-40',\n 'É hora dos feedbacks!'\n ),\n m('p.fontsize-base',\n 'Compartilhe o link abaixo com seus amigos e aproveite o momento para fazer ajustes finos que ajudem na sua campanha.'\n ),\n m('.w-row.u-marginbottom-30', [\n m('.w-col.w-col-3'),\n m('.w-col.w-col-6',\n m(`input.w-input.text-field[type='text'][value='https://www.catarse.me/${attrs.project().permalink}']`)\n ),\n m('.w-col.w-col-3')\n ])\n ]),\n m('.w-col.w-col-2')\n ])\n )\n ),\n m(projectsShow, attrs)\n ]) : h.loader();\n }\n};\n\nexport default projectPreview;\n","import m from 'mithril';\n\nconst announceExpirationModal = {\n view: function({attrs}) {\n return m('div', [\n m('.modal-dialog-content', [\n m('.fontsize-large.u-text-center.u-marginbottom-30.fontweight-semibold',\n 'Você confirma?'\n ),\n m('.fontsize-large.u-text-center.u-marginbottom-30', [\n 'Sua arrecadação irá terminar no dia ',\n m('span.expire-date',\n attrs.expirationDate\n ),\n ', as 23h59. Até lá, você pode captar recursos e seguir firme na sua campanha! Assim que o seu prazo chegar ao fim, você deverá confirmar os seus dados bancários. A partir de então, depositaremos o dinheiro na sua conta em 10 dias úteis.'\n ])\n ]),\n m('.modal-dialog-nav-bottom',\n m('.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-4', [\n m(\"input[id='anchor'][name='anchor'][type='hidden'][value='announce_expiration']\"),\n m(\"input.btn.btn.btn-large[id='budget-save'][name='commit'][type='submit'][value='Sim']\")\n ]),\n m('.w-col.w-col-4',\n m('button.btn.btn-large.btn-terciary', {\n onclick: attrs.displayModal.toggle\n },\n ' Não'\n )\n ),\n m('.w-col.w-col-2')\n ])\n )\n ]);\n }\n};\n\nexport default announceExpirationModal;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport moment from 'moment';\nimport h from '../h';\nimport modalBox from './modal-box';\nimport announceExpirationModal from './announce-expiration-modal';\n\nconst projectAnnounceExpiration = {\n oninit: function(vnode) {\n const days = prop(2),\n showModal = h.toggleProp(false, true);\n vnode.state = {\n days,\n showModal\n };\n },\n view: function({state, attrs}) {\n const days = state.days,\n expirationDate = moment().add(state.days(), 'days').format('DD/MM/YYYY');\n return m(\"[id='dashboard-announce_expiration-tab']\",\n m(`form.simple_form.project-form.w-form[accept-charset='UTF-8'][action='/${window.I18n.locale}/flexible_projects/${attrs.project_id}'][id='expiration-form'][method='post'][novalidate='novalidate']`, [\n m(\"input[name='utf8'][type='hidden'][value='✓']\"),\n m(\"input[name='_method'][type='hidden'][value='patch']\"),\n m(`input[name='authenticity_token'][type='hidden'][value='${h.authenticityToken()}']`),\n m('.w-section',\n m('.w-container',\n m('.w-row.u-marginbottom-60', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-10',\n m('.card-big.card.card-terciary.u-radius', [\n m('.u-marginbottom-30.w-row', [\n m('.w-sub-col.w-col.w-col-6',\n m('.fontsize-small.u-marginbottom-10', [\n 'Em quantos dias, contados a partir de agora, você quer encerrar a sua arrecadação?',\n m('br'),\n m('span.fontsize-smaller.fontweight-semibold',\n '(mínimo de 2 dias)'\n )\n ])\n ),\n m('.w-col.w-col-6',\n m('.w-row', [\n m('.w-col.w-col-8.w-col-small-6.w-col-tiny-6',\n\n m(\"input.numeric.numeric.optional.w-input.text-field.positive.medium[id='flexible_project_online_days'][step='any'][type='number']\",\n {\n name: 'flexible_project[online_days]',\n value: days(),\n onchange: m.withAttr('value', state.days)\n }\n )\n\n ),\n m('.medium.no-hover.postfix.prefix-permalink.text-field.w-col.w-col-4.w-col-small-6.w-col-tiny-6',\n m('.fontcolor-secondary.fontsize-base.lineheight-tightest.u-text-center',\n 'Dias'\n )\n )\n ])\n )\n ]),\n m('.fontcolor-secondary.u-text-center', [\n m('.fontsize-smaller',\n 'Você poderá receber apoios até:'\n ),\n m('.fontsize-base', [\n m('span.expire-date',\n expirationDate\n ),\n ' as 23h59m'\n ])\n ])\n ])\n ),\n m('.w-col.w-col-1')\n ])\n )\n ),\n m('.w-section',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-4'),\n m('.w-col.w-col-4',\n m('button.btn.btn-large.u-marginbottom-20', {\n onclick: (e) => {\n state.showModal.toggle();\n e.preventDefault();\n }\n },\n ' Confirmar'\n )\n )\n ])\n )\n ),\n\n (state.showModal() ? m(modalBox, {\n displayModal: state.showModal,\n content: [announceExpirationModal, {\n expirationDate,\n displayModal: state.showModal\n }]\n }) : '')\n ])\n );\n }\n};\n\nexport default projectAnnounceExpiration;\n","import m from 'mithril';\n\nconst projectEditTab = {\n view: function({attrs}) {\n return m('div.u-marginbottom-80', [\n m(\".w-section.dashboard-header.u-text-center[id='dashboard-titles-root']\",\n m('.w-container',\n m('.w-row',\n m('.w-col.w-col-8.w-col-push-2.u-marginbottom-30', [\n m(\".fontweight-semibold.fontsize-larger.lineheight-looser[id='dashboard-page-title']\",\n m.trust(attrs.title)\n ),\n m(\".fontsize-base[id='dashboard-page-subtitle']\",\n m.trust(attrs.subtitle)\n )\n ])\n )\n )\n ),\n m('.u-marginbottom-80', attrs.content)\n ]);\n }\n};\n\nexport default projectEditTab;\n","import m from 'mithril';\nimport Stream from 'mithril/stream';\nimport _ from 'underscore';\nimport h, { VNode } from '../h';\nimport projectVM, { ProjectIntegration } from '../vms/project-vm';\nimport projectEditSaveBtn from '../c/project-edit-save-btn';\nimport railsErrorsVM from '../vms/rails-errors-vm';\nimport popNotification from '../c/pop-notification';\n\nconst GA = 'GA';\nconst PIXEL = 'PIXEL';\n\nexport class ProjectEditIntegrations {\n\n oninit(/** @type {VNode} */vnode) {\n \n /**\n * @param {string} name\n * @param {ProjectIntegration[]} integrations\n * @returns {ProjectIntegration} \n * */\n const findIntegrationByName = (name = '', integrations = []) => integrations.find(integration => integration.name === name);\n\n const GATracking = h.RedrawStream({ data: { id: '' }, name: GA });\n const FBPixelTracking = h.RedrawStream({ data: { id: '' }, name: PIXEL });\n\n const GATrackingID = h.RedrawStream('', id => {\n GATracking(_.extend(GATracking(), { data: { id }, name: GA }));\n });\n const FBPixelTrackingID = h.RedrawStream('', id => {\n FBPixelTracking(_.extend(FBPixelTracking(), { data: { id }, name: PIXEL }));\n });\n\n const loadingIntegrations = h.RedrawStream(true);\n const loading = h.RedrawStream(false);\n const error = h.RedrawStream(false);\n const showSuccess = h.RedrawStream(false);\n const showError = h.RedrawStream(false);\n const projectId = vnode.attrs.project_id;\n\n projectVM\n .getIntegrations(projectId)\n .then(data => {\n GATrackingID(GATracking(findIntegrationByName(GA, data)).data.id);\n FBPixelTrackingID(FBPixelTracking(findIntegrationByName(PIXEL, data)).data.id);\n loadingIntegrations(false);\n })\n .catch(error => {\n loadingIntegrations(false);\n });\n \n /**\n * @param {Stream<ProjectIntegration>} integration \n */\n async function requestForIntegration(integration) {\n const integrationData = integration();\n const shouldCreate = !!integrationData.id;\n\n const response = shouldCreate ? \n await projectVM.updateIntegration(projectId, integrationData)\n :\n await projectVM.createIntegration(projectId, integrationData);\n\n integrationData.id = response.integration_id;\n integration(integrationData);\n }\n\n async function save() {\n loading(true);\n try {\n showError(false);\n error(false);\n\n await requestForIntegration(GATracking);\n await requestForIntegration(FBPixelTracking);\n \n showSuccess(true);\n } catch(e) {\n error(true);\n showError(true);\n }\n loading(false);\n }\n\n vnode.state = {\n GATrackingID,\n FBPixelTrackingID,\n loading,\n save,\n error,\n showSuccess,\n showError,\n loadingIntegrations\n };\n }\n\n view({ state, attrs }) {\n\n const GATrackingID = state.GATrackingID;\n const FBPixelTrackingID = state.FBPixelTrackingID;\n const save = state.save;\n const error = state.error;\n const showSuccess = state.showSuccess;\n const showError = state.showError;\n const loadingIntegrations = state.loadingIntegrations;\n\n if (loadingIntegrations()) {\n return h.loader();\n } else {\n return m('#integrations', [\n (state.showSuccess() ? m(popNotification, {\n message: window.I18n.t('shared.successful_update'),\n toggleOpt: state.showSuccess\n }) : ''),\n (state.showError() ? m(popNotification, {\n message: window.I18n.t('shared.failed_update'),\n toggleOpt: state.showError,\n error: true\n }) : ''),\n \n m('div.section',\n m('div.w-container',\n m('div.w-row', [\n m('div.w-col.w-col-1'),\n m('div.w-col.w-col-10',\n m('div.w-form', [\n m('form', [\n m('div.u-marginbottom-20.card.card-terciary.medium.w-row', [\n m('div.w-col.w-col-5', [\n m('label.fontweight-semibold.fontsize-base', 'Google Analytics'),\n m('label.field-label.fontsize-smallest.fontcolor-secondary', [\n 'Informe o seu ID de Acompanhamento e comece a enviar informações dos visitantes de sua página para a sua conta do Google Analytics ',\n m('a.alt-link[href=\"https://suporte.catarse.me/hc/pt-br/articles/360038491812\"]', 'Saiba mais')\n ]),\n m('img[src=\"/assets/logo_lockup_analytics_icon_horizontal_black.png\"][width=\"146\"][alt=\"\"]')\n ]),\n m('div.w-col.w-col-7',\n m('div.w-row', [\n m('div.text-field.prefix.no-hover.medium.prefix-permalink.w-col.w-col-2.w-col-tiny-2',\n m('div.fontcolor-secondary.u-text-center.fontsize-smallest', 'UA-')\n ),\n m('div.w-col.w-col-10.w-col-tiny-10',\n m(`input${error() ? '.error' : ''}.text-field.postfix.positive.medium.w-input[type=\"text\"][placeholder=\"1234567-1\"][id=\"google-analytics-id\"]`, {\n value: GATrackingID(),\n onkeyup: (/** @type {Event} */ event) => GATrackingID(event.target.value)\n }),\n )\n ])\n )\n ]),\n m('div.u-marginbottom-20.card.card-terciary.medium.w-row', [\n m('div.w-col.w-col-5', [\n m('label.fontweight-semibold.fontsize-base', 'Facebook Pixel'),\n m('label.field-label.fontsize-smallest.fontcolor-secondary', [\n 'Envia informações dos visitantes de sua página para o seu Facebook Pixel ',\n m('a.alt-link[href=\"https://suporte.catarse.me/hc/pt-br/articles/360038491672\"]', 'Saiba mais')\n ]),\n m('img[src=\"/assets/facebook-pixel-logotyp.png\"][width=\"146\"][alt=\"\"]')\n ]),\n m('div.w-col.w-col-7', [\n m(`input${error() ? '.error' : ''}.text-field.medium.positive.w-input[type=\"text\"][placeholder=\"123456789123456\"][id=\"fb-pixel-id\"]`, {\n value: FBPixelTrackingID(),\n onkeyup: (/** @type {Event} */ event) => FBPixelTrackingID(event.target.value.replace(/\\D*/g, ''))\n }),\n ])\n ])\n ]),\n ])\n ),\n ])\n ),\n \n m(projectEditSaveBtn, { loading: state.loading, onSubmit: save }),\n )\n ]);\n }\n }\n}\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectVM from '../vms/project-vm';\n// @TODO move all tabs to c/\n// using the inside components that root tabs use\nimport projectEditGoal from '../root/project-edit-goal';\nimport projectEditWelcomeMessage from '../root/project-edit-welcome';\nimport projectEditGoals from '../root/project-edit-goals';\nimport projectEditBasic from '../root/project-edit-basic';\nimport projectEditDescription from '../root/project-edit-description';\nimport projectEditVideo from '../root/project-edit-video';\nimport projectEditBudget from '../root/project-edit-budget';\nimport projectEditUserAbout from '../root/project-edit-user-about';\nimport projectEditUserSettings from '../root/project-edit-user-settings';\nimport projectEditReward from '../root/project-edit-reward';\nimport projectEditCard from '../root/project-edit-card';\nimport projectEditStart from '../root/project-edit-start';\nimport projectPreview from '../root/project-preview';\nimport projectDashboardMenu from '../c/project-dashboard-menu';\nimport projectAnnounceExpiration from '../c/project-announce-expiration';\nimport projectEditTab from '../c/project-edit-tab';\nimport { ProjectEditIntegrations } from './project-edit-integrations';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.edit');\n\nconst projectEdit = {\n oninit: function (vnode) {\n const { project_id, user_id } = vnode.attrs;\n const project = projectVM.fetchProject(project_id);\n const c_opts = { project_id, user_id, project };\n const hash = prop(window.location.hash);\n\n const displayTabContent = () => {\n\n hash(window.location.hash);\n const isUnpublishedAdmin = !project().is_published || project().is_admin_role;\n const isEmptyHash = _.isEmpty(hash()) || hash() === '#_=_';\n\n switch (window.location.hash) {\n case '#video':\n if (projectVM.isSubscription(project)) return null\n else return m(projectEditTab, {\n title: window.I18n.t('video_html', I18nScope()),\n subtitle: window.I18n.t('video_subtitle', I18nScope()),\n content: m(projectEditVideo, _.extend({}, c_opts))\n });\n\n case '#description':\n return m(projectEditTab, {\n title: window.I18n.t('description', I18nScope()),\n subtitle: window.I18n.t('description_subtitle', I18nScope()),\n content: m(projectEditDescription, _.extend({}, c_opts))\n });\n\n case '#budget':\n return m(projectEditTab, {\n title: window.I18n.t('budget', I18nScope()),\n subtitle: window.I18n.t('budget_subtitle', I18nScope()),\n content: m(projectEditBudget, _.extend({}, c_opts))\n });\n\n case '#reward':\n return m(projectEditTab, {\n title: window.I18n.t('reward_html', I18nScope()),\n subtitle: window.I18n.t('reward_subtitle', I18nScope()),\n content: m(projectEditReward, _.extend({}, c_opts))\n });\n\n case '#integrations':\n return m(projectEditTab, {\n title: window.I18n.t('integrations_html', I18nScope()),\n subtitle: window.I18n.t('integrations_subtitle', I18nScope()),\n content: m(ProjectEditIntegrations, _.extend({}, c_opts))\n });\n\n case '#user_settings':\n return m(projectEditTab, {\n title: window.I18n.t('user_settings', I18nScope()),\n subtitle: window.I18n.t('user_settings_subtitle', I18nScope()),\n content: m(projectEditUserSettings, _.extend({}, c_opts))\n });\n\n case '#user_about':\n return m(projectEditTab, {\n title: window.I18n.t('user_about', I18nScope()),\n subtitle: window.I18n.t('user_about_subtitle', I18nScope()),\n content: m(projectEditUserAbout, _.extend({}, c_opts))\n });\n\n case '#welcome_message':\n return m(projectEditTab, {\n title: window.I18n.t('welcome', I18nScope()),\n subtitle: window.I18n.t('welcome_subtitle', I18nScope()),\n content: m(projectEditWelcomeMessage, _.extend({}, c_opts))\n });\n\n case '#card':\n return m(projectEditTab, {\n title: window.I18n.t(`card_${project().mode}`, I18nScope()),\n subtitle: window.I18n.t(`card_subtitle_${project().mode}`, I18nScope()),\n content: m(projectEditCard, _.extend({}, c_opts))\n });\n\n case '#goals':\n return m(projectEditTab, {\n title: window.I18n.t('goals', I18nScope()),\n subtitle: '',\n content: m(projectEditGoals, _.extend({}, c_opts))\n });\n\n case '#announce_expiration':\n return m(projectEditTab, {\n title: window.I18n.t('announce_expiration', I18nScope()),\n subtitle: window.I18n.t('announce_expiration_subtitle', I18nScope()),\n content: m(projectAnnounceExpiration, _.extend({}, c_opts))\n });\n\n case '#preview':\n return m(projectPreview, _.extend({}, c_opts));\n\n case '#start':\n return m(projectEditStart, _.extend({}, c_opts));\n\n case '#goal':\n if (isUnpublishedAdmin)\n return m(projectEditTab, {\n title: window.I18n.t('goal', I18nScope()),\n subtitle: window.I18n.t('goal_subtitle', I18nScope()),\n content: m(projectEditGoal, _.extend({}, c_opts))\n });\n\n case '#basics':\n if (isUnpublishedAdmin)\n return m(projectEditTab, {\n title: window.I18n.t('basics', I18nScope()),\n subtitle: window.I18n.t('basics_subtitle', I18nScope()),\n content: m(projectEditBasic, _.extend({}, c_opts))\n });\n\n default:\n return m(projectEditTab, {\n title: window.I18n.t('basics', I18nScope()),\n subtitle: window.I18n.t('basics_subtitle', I18nScope()),\n content: m(projectEditBasic, _.extend({}, c_opts))\n });\n }\n };\n\n h.redrawHashChange();\n vnode.state = {\n displayTabContent,\n hash,\n project\n };\n },\n view: function ({ state, attrs }) {\n const project = state.project;\n\n return m('.project-dashboard-edit',\n (\n project() ? [\n m(`.w-section.section-product.${project().mode}`),\n state.displayTabContent(),\n (\n project() ?\n m(projectDashboardMenu, { project })\n :\n ''\n )\n ]\n :\n ''\n )\n );\n }\n};\n\nexport default projectEdit;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport contributionVM from '../vms/contribution-vm';\nimport rewardVM from '../vms/reward-vm';\nimport paymentVM from '../vms/payment-vm';\nimport projectVM from '../vms/project-vm';\nimport addressVM from '../vms/address-vm';\nimport usersVM from '../vms/user-vm';\nimport faqBox from '../c/faq-box';\nimport nationalityRadio from '../c/nationality-radio';\nimport paymentForm from '../c/payment-form';\nimport inlineError from '../c/inline-error';\nimport addressForm from '../c/address-form';\nimport { catarse } from '../api';\nimport models from '../models';\n\nconst { CatarseAnalytics } = window;\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.contributions.edit');\nconst I18nIntScope = _.partial(h.i18nScope, 'projects.contributions.edit_international');\n\nconst projectsPayment = {\n oninit: function (vnode) {\n \n const {\n ViewContentEvent,\n AddToCartEvent\n } = projectVM;\n \n projectVM.sendPageViewForCurrentProject(null, [ ViewContentEvent(), AddToCartEvent() ]);\n\n const project = projectVM.currentProject;\n const vm = paymentVM();\n const showPaymentForm = prop(false);\n const contribution = contributionVM.getCurrentContribution();\n const reward = prop(contribution().reward);\n const value = contribution().value;\n const documentMask = _.partial(h.mask, '999.999.999-99');\n const documentCompanyMask = _.partial(h.mask, '99.999.999/9999-99');\n const isCnpj = prop(false);\n const currentUserID = h.getUserID();\n const countriesLoader = catarse.loader(models.country.getPageOptions());\n const user = usersVM.getCurrentUser();\n \n vm.fields.address().setFields(vnode.attrs.address || vm.fields.address());\n\n const shippingFee = () =>\n _.findWhere(rewardVM.fees(), {\n id: contribution().shipping_fee_id,\n });\n\n const validateForm = () => {\n if (vm.validate()) {\n vm.kondutoExecute();\n showPaymentForm(true);\n h.redraw();\n }\n };\n\n const fieldHasError = fieldName => {\n const fieldWithError = _.findWhere(vm.fields.errors(), {\n field: fieldName,\n });\n\n return fieldWithError\n ? m(inlineError, {\n message: fieldWithError.message,\n })\n : '';\n };\n\n const applyDocumentMask = value => {\n if (value.length > 14) {\n isCnpj(true);\n vm.fields.ownerDocument(documentCompanyMask(value));\n } else {\n isCnpj(false);\n vm.fields.ownerDocument(documentMask(value));\n }\n };\n\n const addressChange = fn => e => {\n CatarseAnalytics.oneTimeEvent({\n cat: 'contribution_finish',\n act: vm.isInternational ? 'contribution_address_br' : 'contribution_address_int',\n });\n\n if (_.isFunction(fn)) {\n fn(e);\n }\n };\n\n const scope = attr => (vm.isInternational() ? I18nIntScope(attr) : I18nScope(attr));\n\n const isLongDescription = reward => reward.description && reward.description.length > 110;\n\n if (_.isNull(currentUserID)) {\n return h.navigateToDevise();\n }\n if (reward() && !_.isNull(reward().id)) {\n rewardVM\n .getFees(reward())\n .then(fees => {\n rewardVM.fees(fees);\n h.redraw();\n })\n .catch(err => m.redraw());\n }\n\n vm.fetchUser().then(() => {\n countriesLoader\n .load()\n .then((countryData) => {\n vm.fields.address().countries(_.sortBy(countryData, 'name_en'));\n h.redraw();\n });\n h.redraw();\n });\n\n vm.kondutoExecute();\n projectVM.getCurrentProject();\n\n vnode.state = {\n addressChange,\n applyDocumentMask,\n fieldHasError,\n validateForm,\n showPaymentForm,\n contribution,\n reward,\n value,\n scope,\n isCnpj,\n vm,\n user,\n project,\n shippingFee,\n isLongDescription,\n toggleDescription: h.toggleProp(false, true),\n };\n },\n view: function ({ state }) {\n const user = state.user(),\n project = state.project(),\n formatedValue = h.formatNumber(Number(state.value), 2, 3),\n anonymousCheckbox = m('.w-row', [\n m('.w-checkbox.w-clearfix', [\n m(\"input.w-checkbox-input[id='anonymous'][name='anonymous'][type='checkbox']\", {\n onclick: () =>\n CatarseAnalytics.event({\n cat: 'contribution_finish',\n act: 'contribution_anonymous_change',\n }),\n onchange: () => {\n state.vm.fields.anonymous.toggle();\n },\n checked: state.vm.fields.anonymous(),\n }),\n m(\"label.w-form-label.fontsize-smallest[for='anonymous']\", window.I18n.t('fields.anonymous', state.scope())),\n ]),\n\n state.vm.fields.anonymous()\n ? m(\n '.card.card-message.u-radius.zindex-10.fontsize-smallest',\n m('div', [\n m('span.fontweight-bold', [window.I18n.t('anonymous_confirmation_title', state.scope()), m('br')]),\n m('br'),\n window.I18n.t('anonymous_confirmation', state.scope()),\n ])\n )\n : '',\n ]);\n\n return m(\n '#project-payment.w-section.w-clearfix.section',\n state.vm.fields.address() && !_.isEmpty(project)\n ? [\n m(\n '.w-col',\n m('.w-clearfix.w-hidden-main.w-hidden-medium.card.u-radius.u-marginbottom-20', [\n m('.fontsize-smaller.fontweight-semibold.u-marginbottom-20', window.I18n.t('selected_reward.value', state.scope())),\n m('.w-clearfix', [\n m('.fontsize-larger.text-success.u-left', `R$ ${formatedValue}`),\n m(\n `a.alt-link.fontsize-smaller.u-right[href=\"/projects/${projectVM.currentProject().project_id}/contributions/new${\n state.reward().id ? `?reward_id=${state.reward().id}` : ''\n }\"]`,\n 'Editar'\n ),\n ]),\n m('.divider.u-marginbottom-10.u-margintop-10'),\n m('.back-payment-info-reward', [\n m('.fontsize-smaller.fontweight-semibold.u-marginbottom-10', window.I18n.t('selected_reward.reward', state.scope())),\n m('.fontsize-smallest.fontweight-semibold', state.reward().title),\n m(\n '.fontsize-smallest.reward-description.opened.fontcolor-secondary',\n {\n class: state.isLongDescription(state.reward()) ? (state.toggleDescription() ? 'extended' : '') : 'extended',\n },\n state.reward().description\n ? state.reward().description\n : m.trust(\n window.I18n.t(\n 'selected_reward.review_without_reward_html',\n state.scope(\n _.extend({\n value: formatedValue,\n })\n )\n )\n )\n ),\n state.isLongDescription(state.reward())\n ? m(\n 'a[href=\"javascript:void(0);\"].link-hidden.link-more.u-marginbottom-20',\n {\n onclick: state.toggleDescription.toggle,\n },\n [\n state.toggleDescription() ? 'menos ' : 'mais ',\n m('span.fa.fa-angle-down', {\n class: state.toggleDescription() ? 'reversed' : '',\n }),\n ]\n )\n : '',\n state.reward().deliver_at\n ? m('.fontcolor-secondary.fontsize-smallest.u-margintop-10', [\n m('span.fontweight-semibold', 'Entrega prevista:'),\n ` ${h.momentify(state.reward().deliver_at, 'MMM/YYYY')}`,\n ])\n : '',\n rewardVM.hasShippingOptions(state.reward()) || state.reward().shipping_options === 'presential'\n ? m('.fontcolor-secondary.fontsize-smallest', [\n m('span.fontweight-semibold', 'Forma de envio: '),\n window.I18n.t(`shipping_options.${state.reward().shipping_options}`, {\n scope: 'projects.contributions',\n }),\n ])\n : '',\n ]),\n ])\n ),\n\n m(\n '.w-container',\n m('.w-row', [\n m('.w-col.w-col-8', [\n m('.w-form', [\n m('form.u-marginbottom-40', [\n m('.u-marginbottom-40.u-text-center-small-only', [\n m('.fontweight-semibold.lineheight-tight.fontsize-large', window.I18n.t('title', state.scope())),\n m('.fontsize-smaller', window.I18n.t('required', state.scope())),\n ]),\n\n user.name && user.owner_document\n ? m('.card.card-terciary.u-radius.u-marginbottom-40', [\n m('.w-row.u-marginbottom-20', [\n m('.w-col.w-col-2.w-col-small-2.w-col-tiny-2.w-hidden-tiny', [\n m(\n `img.thumb.u-margintop-10.u-round[src=\"${h.useAvatarOrDefault(\n user.profile_img_thumbnail\n )}\"][width=\"100\"]`\n ),\n ]),\n m('.w-col.w-col-10.w-col-small-10.w-col-tiny-10', [\n m('.fontcolor-secondary.fontsize-smallest.u-marginbottom-10', [\n project ? 'Dados do apoiador ' : 'Dados do usuário ',\n m(\n `a.alt-link[href=\"/not-my-account${project ? `?project_id=${project.project_id}` : ''}${\n state.reward() ? `&reward_id=${state.reward().id}` : ''\n }${state.value ? `&value=${state.value * 100}` : ''}\"]`,\n 'Não é você?'\n ),\n ]),\n m('.fontsize-base.fontweight-semibold', user.name),\n user.owner_document ? m('label.field-label', `CPF/CNPJ: ${user.owner_document}`) : '',\n ]),\n ]),\n anonymousCheckbox,\n ])\n : '',\n // m(\n // '.card.card-terciary.u-marginbottom-30.u-radius.w-form',\n // m(nationalityRadio, {\n // fields: addVM.fields,\n // defaultCountryID: addVM.defaultCountryID,\n // defaultForeignCountryID: addVM.defaultForeignCountryID,\n // international: addVM.international,\n // })\n // ),\n\n user.name && user.owner_document\n ? ''\n : m('.card.card-terciary.u-radius.u-marginbottom-40', [\n m('.w-row', [\n m('.w-col.w-col-7.w-sub-col', [\n m(\n \"label.field-label.fontweight-semibold[for='complete-name']\",\n window.I18n.t('fields.complete_name', state.scope())\n ),\n m(\"input.positive.w-input.text-field[id='complete-name'][name='complete-name']\", {\n onfocus: state.vm.resetFieldError('completeName'),\n class: state.fieldHasError('completeName') ? 'error' : false,\n type: 'text',\n onchange: m.withAttr('value', state.vm.fields.completeName),\n value: state.vm.fields.completeName(),\n placeholder: 'Nome Completo',\n }),\n state.fieldHasError('completeName'),\n ]),\n m(\n '.w-col.w-col-5',\n state.vm.isInternational()\n ? ''\n : [\n m(\n \"label.field-label.fontweight-semibold[for='document']\",\n window.I18n.t('fields.owner_document', state.scope())\n ),\n m(\"input.positive.w-input.text-field[id='document']\", {\n onfocus: state.vm.resetFieldError('ownerDocument'),\n class: state.fieldHasError('ownerDocument') ? 'error' : false,\n type: 'tel',\n onkeyup: m.withAttr('value', state.applyDocumentMask),\n value: state.vm.fields.ownerDocument(),\n }),\n state.fieldHasError('ownerDocument'),\n ]\n ),\n ]),\n anonymousCheckbox,\n ]),\n\n m('.card.card-terciary.u-radius.u-marginbottom-40',\n m(addressForm, {\n addVM: state.vm.fields.address(),\n addressFields: state.vm.fields.address().fields,\n international: state.vm.isInternational,\n hideNationality: true,\n })\n ),\n ]),\n ]),\n m(\n '.w-row.u-marginbottom-40',\n !state.showPaymentForm()\n ? m(\n '.w-col.w-col-push-3.w-col-6',\n m(\n 'button.btn.btn-large',\n {\n onclick: () =>\n CatarseAnalytics.event(\n {\n cat: 'contribution_finish',\n act: 'contribution_next_click',\n },\n state.validateForm\n ),\n },\n window.I18n.t('next_step', state.scope())\n )\n )\n : ''\n ),\n state.showPaymentForm()\n ? m(paymentForm, {\n vm: state.vm,\n contribution_id: state.contribution().id,\n project_id: projectVM.currentProject().project_id,\n user_id: user.id,\n })\n : '',\n ]),\n m('.w-col.w-col-4', [\n m('.card.u-marginbottom-20.u-radius.w-hidden-small.w-hidden-tiny', [\n m('.fontsize-smaller.fontweight-semibold.u-marginbottom-20', window.I18n.t('selected_reward.value', state.scope())),\n m('.w-clearfix', [\n m('.fontsize-larger.text-success.u-left', `R$ ${formatedValue}`),\n m(\n `a.alt-link.fontsize-smaller.u-right[href=\"/projects/${projectVM.currentProject().project_id}/contributions/new${\n state.reward().id ? `?reward_id=${state.reward().id}` : ''\n }\"]`,\n 'Editar'\n ),\n ]),\n m('.divider.u-marginbottom-10.u-margintop-10'),\n m('.back-payment-info-reward', [\n m('.fontsize-smaller.fontweight-semibold.u-marginbottom-10', window.I18n.t('selected_reward.reward', state.scope())),\n m('.fontsize-smallest.fontweight-semibold', state.reward().title),\n m(\n '.fontsize-smallest.reward-description.opened.fontcolor-secondary',\n {\n class: state.isLongDescription(state.reward()) ? (state.toggleDescription() ? 'extended' : '') : 'extended',\n },\n state.reward().description\n ? state.reward().description\n : m.trust(\n window.I18n.t(\n 'selected_reward.review_without_reward_html',\n state.scope(\n _.extend({\n value: Number(state.value).toFixed(),\n })\n )\n )\n )\n ),\n state.isLongDescription(state.reward())\n ? m(\n 'a[href=\"javascript:void(0);\"].link-hidden.link-more.u-marginbottom-20',\n {\n onclick: state.toggleDescription.toggle,\n },\n [\n state.toggleDescription() ? 'menos ' : 'mais ',\n m('span.fa.fa-angle-down', {\n class: state.toggleDescription() ? 'reversed' : '',\n }),\n ]\n )\n : '',\n state.reward().deliver_at\n ? m('.fontcolor-secondary.fontsize-smallest.u-margintop-10', [\n m('span.fontweight-semibold', 'Entrega prevista:'),\n ` ${h.momentify(state.reward().deliver_at, 'MMM/YYYY')}`,\n ])\n : '',\n state.reward() && (rewardVM.hasShippingOptions(state.reward()) || state.reward().shipping_options === 'presential')\n ? m('.fontcolor-secondary.fontsize-smallest', [\n m('span.fontweight-semibold', 'Forma de envio: '),\n window.I18n.t(`shipping_options.${state.reward().shipping_options}`, {\n scope: 'projects.contributions',\n }),\n ])\n : '',\n m(\n 'div'\n // state.contribution().shipping_fee_id ? [\n // m('.divider.u-marginbottom-10.u-margintop-10'),\n // m('.fontsize-smaller.fontweight-semibold',\n // 'Destino da recompensa:'\n // ),\n // m(`a.alt-link.fontsize-smaller.u-right[href=\"/projects/${projectVM.currentProject().project_id}/contributions/new${state.reward().id ? `?reward_id=${state.reward().id}` : ''}\"]`,\n // 'Editar'\n // ),\n // m('.fontsize-smaller', { style: 'padding-right: 42px;' },\n // `${rewardVM.feeDestination(state.reward(), state.contribution().shipping_fee_id)}`\n // ),\n // m('p.fontsize-smaller', `(R$ ${rewardVM.shippingFeeById(state.contribution().shipping_fee_id) ? rewardVM.shippingFeeById(state.contribution().shipping_fee_id).value : '...'})`)\n // ] : ''\n ),\n ]),\n ]),\n m(faqBox, {\n mode: project.mode,\n vm: state.vm,\n faq: state.vm.faq(project.mode),\n projectUserId: project.user_id,\n }),\n ]),\n ])\n ),\n ]\n : h.loader()\n );\n },\n};\n\nexport default projectsPayment;\n","import m from 'mithril';\nimport _ from 'underscore';\nimport h from '../h';\nimport projectVM from '../vms/project-vm';\nimport rewardVM from '../vms/reward-vm';\nimport faqBox from '../c/faq-box';\n\nconst projectsReward = {\n oninit: function(vnode) {\n const vm = rewardVM,\n selectedReward = vm.selectedReward,\n selectReward = vm.selectReward,\n rewards = vm.rewards(),\n mode = projectVM.currentProject().mode,\n faq = window.I18n.translations[window.I18n.currentLocale()].projects.faq[mode];\n\n // TODO unify projectsReward and project-reward-list reward submission. fix routing issue.\n const submitContribution = () => {\n const valueFloat = h.monetaryToFloat(vm.contributionValue);\n\n if (valueFloat < vm.selectedReward().minimum_value) {\n vm.error(`O valor de apoio para essa recompensa deve ser de no mínimo R$${vm.selectedReward().minimum_value}`);\n } else if (!h.getUser()) {\n\t\t\t\tconst storeKey = 'selectedReward';\n h.storeObject(storeKey, { value: valueFloat, reward: vm.selectedReward() });\n\n return h.navigateToDevise(`/${projectVM.currentProject().permalink}`);\n } else {\n vm.error('');\n vm.contributionValue(valueFloat);\n m.route(`/projects/${projectVM.currentproject().project_id}/payment`, {\n project_user_id: projectVM.currentProject().user_id\n });\n }\n\n return false;\n };\n\n const isSelected = reward => reward.id === selectedReward().id;\n\n if (_.first(rewards).id !== vm.noReward.id) {\n rewards.unshift(vm.noReward);\n }\n\n vnode.state = {\n rewards,\n project: projectVM.currentProject,\n contributionValue: vm.contributionValue,\n submitContribution,\n applyMask: vm.applyMask,\n error: vm.error,\n isSelected,\n selectedReward,\n selectReward,\n faq\n };\n },\n view: function({state, attrs}) {\n const project = state.project;\n\n return m('#project-rewards', [\n m('.w-section.page-header.u-text-center', [\n m('.w-container', [\n m('h1.fontsize-larger.fontweight-semibold.project-name[itemprop=\"name\"]', h.selfOrEmpty(project().name || project().project_name)),\n m('h2.fontsize-base.lineheight-looser[itemprop=\"author\"]', [\n 'por ',\n project().user ? project().user.name : project().owner_name ? project().owner_name : ''\n ])\n ])\n ]),\n m('.w-section.header-cont-new',\n m('.w-container',\n m('.fontweight-semibold.lineheight-tight.text-success.fontsize-large.u-text-center-small-only', [\n 'Escolha a recompensa e o valor do apoio',\n m.trust(' '),\n m('span.fontsize-small.badge.badge-success', '(parcele em até 6x)')\n ])\n )\n ),\n m('.section[id=\\'new-contribution\\']',\n m('.w-container',\n m('.w-row',\n [\n m('.w-col.w-col-8',\n m('.w-form.back-reward-form',\n m('form.simple_form.new_contribution', {\n onsubmit: state.submitContribution\n }, _.map(state.rewards, (reward, index) => {\n const isSelected = state.isSelected(reward),\n monetaryMinimum = h.applyMonetaryMask(reward.minimum_value);\n\n return m('span.radio.w-radio.w-clearfix.back-reward-radio-reward', {\n class: isSelected ? 'selected' : '',\n onclick: state.selectReward(reward),\n key: index\n }, m(`label[for='contribution_reward_id_${reward.id}']`,\n [\n m(`input.radio_buttons.optional.w-input.text-field.w-radio-input.back-reward-radio-button[id='contribution_reward_id_${reward.id}'][name='contribution[reward_id]'][type='radio'][value='${reward.id}']`, {\n checked: !!isSelected,\n }),\n m(`label.w-form-label.fontsize-base.fontweight-semibold.u-marginbottom-10[for='contribution_reward_${reward.id}']`,\n reward.id === -1 ? 'Não quero recompensa' : `R$ ${reward.minimum_value} ou mais`\n ),\n isSelected ? m('.w-row.back-reward-money',\n [\n m('.w-col.w-col-8.w-col-small-8.w-col-tiny-8.w-sub-col-middle.w-clearfix',\n [\n m('.w-row',\n [\n m('.w-col.w-col-3.w-col-small-3.w-col-tiny-3',\n m('.back-reward-input-reward.placeholder',\n 'R$'\n )\n ),\n m('.w-col.w-col-9.w-col-small-9.w-col-tiny-9',\n m('input.user-reward-value.back-reward-input-reward[autocomplete=\\'off\\'][type=\\'tel\\']', {\n class: state.error() ? 'error' : '',\n min: monetaryMinimum,\n placeholder: monetaryMinimum,\n onkeyup: m.withAttr('value', state.applyMask),\n value: state.contributionValue()\n }\n )\n )\n ]\n ),\n state.error().length > 0 ? m('.text-error', [\n m('br'),\n m('span.fa.fa-exclamation-triangle'),\n ` ${state.error()}`\n ]) : ''\n ]\n ),\n m('.submit-form.w-col.w-col-4.w-col-small-4.w-col-tiny-4',\n m('button.btn.btn-large', [\n 'Continuar ',\n m('span.fa.fa-chevron-right')\n ])\n )\n ]\n ) : '',\n m('.back-reward-reward-description',\n [\n m('.fontsize-smaller.u-marginbottom-10', reward.description),\n reward.deliver_at ? m('.fontsize-smallest.fontcolor-secondary', `Estimativa de entrega: ${h.momentify(reward.deliver_at, 'MMM/YYYY')}`) : ''\n ]\n )\n ]\n )\n ); // End map return\n })\n )\n )\n ),\n m('.w-col.w-col-4', m(faqBox, { mode: state.project().mode, faq: state.faq }))\n ]\n )\n )\n )\n ]);\n }\n};\n\nexport default projectsReward;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport h from '../h';\nimport models from '../models';\nimport projectDashboardMenu from '../c/project-dashboard-menu';\nimport projectVM from '../vms/project-vm';\n\nconst fiscalScope = _.partial(h.i18nScope, 'projects.dashboard_fiscal');\n\nconst projectsFiscal = {\n oninit: function(vnode) {\n const loader = catarse.loaderWithToken,\n filterVM = catarse.filtersVM({\n project_id: 'eq'\n }),\n {\n project_id\n } = vnode.attrs,\n projectDetail = prop({}),\n projectFiscalData = prop({});\n filterVM.project_id(project_id);\n const l = loader(models.projectFiscalId.getRowOptions(filterVM.parameters()));\n l.load().then((data) => {\n projectFiscalData(_.first(data) || {});\n });\n const l2 = loader(models.projectDetail.getRowOptions(filterVM.parameters()));\n l2.load().then((data) => {\n projectDetail(_.first(data) || {});\n });\n vnode.state = {\n l,\n l2,\n projectDetail,\n projectFiscalData\n };\n },\n view: function({state, attrs}) {\n const project = state.projectDetail();\n const projectFiscalData = state.projectFiscalData();\n const loading = state.l() || state.l2();\n const hasData = !loading && projectFiscalData && (!_.isEmpty(projectFiscalData.debit_notes) || !_.isEmpty(projectFiscalData.informs));\n \n return m('.project-fiscal',\n (project.is_owner_or_admin ? m(projectDashboardMenu, {\n project: prop(project)\n }) : ''),\n m('.section',\n m('.w-container',\n m('.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8', [\n m('.fontsize-larger.fontweight-semibold.lineheight-looser.u-text-center',\n window.I18n.t('title', fiscalScope())\n ),\n m('.fontsize-base.u-text-center',\n window.I18n.t('subtitle', fiscalScope())\n ),\n m('.u-margintop-20.u-text-center',\n m('.w-inline-block.card.fontsize-small.u-radius', [\n m('span.fa.fa-lightbulb-o',\n ''\n ),\n m.trust(' '),\n m.trust(window.I18n.t('help_link', fiscalScope()))\n ])\n )\n ]),\n m('.w-col.w-col-2')\n ])\n )\n ),\n m('.divider'),\n (!loading ?\n m('.before-footer.section',\n m('.w-container', [\n (!hasData ?\n m('.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8',\n m('.card.card-message.u-marginbottom-40.u-radius',\n m('.fontsize-base', [\n m('span.fa.fa-exclamation-circle',\n ''\n ),\n window.I18n.t(!projectVM.isSubscription(project) ?\n 'nodoc_explanation'\n : 'nodoc_explanation_sub', fiscalScope())\n ])\n )\n ),\n m('.w-col.w-col-2')\n ])\n :\n m('.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8',\n m('.card.u-radius.u-marginbottom-20.card-terciary', [\n m('.fontsize-small.fontweight-semibold.u-marginbottom-20', [\n m('span.fa.fa-download',\n m.trust(' ')\n ),\n window.I18n.t('doc_download', fiscalScope())\n ]),\n m('.card.u-radius.u-marginbottom-20', [\n m('span.fontweight-semibold',\n m.trust('Atenção:')\n ),\n m.trust(window.I18n.t('doc_download_explanation', fiscalScope()))\n ]),\n m('ul.w-list-unstyled', _.map(projectFiscalData.informs, (inform, idx) => [\n (idx > 0 ? m('li.divider.u-marginbottom-10') : ''),\n m('li.fontsize-smaller.u-marginbottom-10',\n m('div', [\n 'Informe de Rendimentos -',\n m.trust(' '),\n m(`a.alt-link[href='/projects/${project.project_id}/inform/${inform}']`,\n inform\n ),\n m.trust(' ')\n ])\n )])\n ),\n m('ul.w-list-unstyled', _.map(projectFiscalData.debit_notes, (note, idx) => [\n (idx > 0 || !_.isEmpty(projectFiscalData.informs) ? m('li.divider.u-marginbottom-10') : ''),\n m('li.fontsize-smaller.u-marginbottom-10',\n m('div', [\n 'Nota de Débito -',\n m.trust(' '),\n m(`a.alt-link[href='/projects/${project.project_id}/debit_note/${note}']`,\n note.replace(/^(\\d\\d\\d\\d)(\\d\\d)(\\d\\d)$/, '$3/$2/$1')\n ),\n m.trust(' ')\n ])\n )])\n )\n ])\n ),\n m('.w-col.w-col-2')\n ])\n\n ),\n ]\n )\n )\n : h.loader())\n );\n }\n};\n\nexport default projectsFiscal;\n","import m from 'mithril';\nimport h from '../h';\n\nconst formattedServiceFee = (project) => (project.service_fee * 100).toFixed(2).replace(/(\\.|,)?0+$/g, '');\n\nconst aonTerms = (project, expiresAt) => [\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontsize-smallest.fontcolor-secondary', '1/9'),\n ' ',\n m('span', {\n style: {\n 'font-weight': ' 600'\n }\n }, 'O que pode e não pode alterar na página do projeto a partir da publicação?')\n ]),\n m('div', [\n m('span.fontweight-semibold', 'Você não poderá alterar'), ': a identidade do responsável pelo projeto (Nome / CPF ou Razão Social / CNPJ), a Modalidade de financiamento, o título do projeto, a URL (link) do projeto, a categoria do projeto, a meta de arrecadação, prazo escolhido e as recompensas onde existirem apoios já efetuados. ',\n m('br'), m('br'),\n m('span.fontweight-semibold', 'Você poderá alterar'), ': o vídeo principal da campanha, o conteúdo da descrição, a imagem do projeto, a frase de efeito, as recompensas onde não existirem apoios efetuados, além de adicionar novas recompensas durante a arrecadação'\n ])\n ]),\n\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontsize-smallest.fontcolor-secondary', '2/9'),\n ' ',\n m('span.fontweight-semibold', ' Regras da modalidade Tudo-ou-nada')\n ]),\n m('div', ['Você escolheu a campanha tudo-ou-nada. Dessa maneira, você só irá receber os recursos arrecadados ', m('span.fontweight-semibold', 'caso atinja ou supere a meta de arrecadação'), '. Caso contrário, todos seus apoiadores serão reembolsados. Você será responsável pela entrega das recompensas oferecidas se seu projeto alcançar a meta de arrecadação.'])\n ]),\n\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontsize-smallest.fontcolor-secondary', '3/9'),\n ' ',\n m('span', {\n style: {\n 'font-weight': ' 600'\n }\n }, 'Meta de arrecadação')\n ]),\n m('div', 'A meta não poderá ser alterada após o publicação do projeto.'),\n\n ]),\n\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontsize-smallest.fontcolor-secondary', '4/9'),\n ' ',\n m('span', {\n style: {\n 'font-weight': ' 600'\n }\n }, 'Taxas')\n ]),\n m('div', [\n `Cobramos ${formattedServiceFee(project)}% sobre o `,\n m('span.fontweight-semibold', 'valor total arrecadado'),\n ' pelo seu projeto caso ele atinja ou supere a meta dentro do prazo da campanha. Se o projeto não atingir a meta, nenhuma taxa será cobrada.',\n m('span.fontweight-semibold')\n ])\n ]),\n\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontsize-smallest.fontcolor-secondary', '5/9'),\n ' ',\n m('span', {\n style: {\n 'font-weight': ' 600'\n }\n }, 'Prazo da campanha')\n ]),\n m('div', `Seu projeto estará em arrecadação no Catarse até o dia ${h.momentify(expiresAt)} às 23h59min59s. Este prazo não poderá ser alterado após a publicação do projeto.`)\n ]),\n\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontsize-smallest.fontcolor-secondary', '6/9'),\n ' ',\n m('span', {\n style: {\n 'font-weight': ' 600'\n }\n }, 'Regras do repasse e reembolso'),\n m('div', [\n m.trust('Quando o prazo do seu projeto chegar ao fim, você deverá inscrever e confirmar seus dados bancários. Você poderá alterar o Banco, Conta e a Agência <strong>somente se a nova conta cadastrada for de sua titularidade</strong>. Após essa confirmação, o Catarse depositará o valor arrecadado, já descontada a taxa, na sua conta em 10 dias úteis. Caso o projeto não atinja 100% da meta dentro do prazo, o Catarse irá reembolsar os apoiadores. <a href=\"http://suporte.catarse.me/hc/pt-br/articles/202365507\" target=\"blank\">Saiba mais sobre o processo de reembolso</a>')\n ])\n ]),\n m('div', '')\n ]),\n\n\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontsize-smallest.fontcolor-secondary', '7/9'),\n ' ',\n m('span', {\n style: {\n 'font-weight': ' 600'\n }\n }, 'Responsabilidade do Catarse')\n ]), [m('div', [m('span.fontweight-semibold'), m('span.fontweight-semibold', 'O Catarse é responsável:'), ' pelo desenvolvimento tecnológico da plataforma, atendimento de dúvidas e problemas (tanto de apoiadores quanto de realizadores), por hospedar o projeto na plataforma e por garantir a segurança das transações financeiras.\\ ', m('br'), m('br'), m('span.fontweight-semibold', 'O Catarse não é responsável:'), ' pelo financiamento, divulgação e execução, nem pela entrega de recompensas dos projetos inscritos.'])]\n ]),\n\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontsize-smallest.fontcolor-secondary', '8/9'),\n ' ',\n m('span', {\n style: {\n 'font-weight': ' 600'\n }\n }, 'Suas responsabilidades')\n ]),\n m('div', 'É sua responsabilidade o recebimento do dinheiro da campanha e tudo aquilo que diz respeito a formatação do projeto, planejamento e divulgação da campanha de arrecadação, mobilização de apoiadores, execução do projeto, comunicação com apoiadores e produção e entrega de recompensas dentro do prazo estimado.')\n ]),\n\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontsize-smallest.fontcolor-secondary', '9/9'),\n ' ',\n m('span', {\n style: {\n 'font-weight': ' 600'\n }\n }, 'Retiradas de projetos no ar')\n ]),\n m('div', [m('span.fontweight-semibold'), 'O CATARSE reserva-se o direito de, a seu exclusivo critério e uma vez notificado a respeito, cancelar projetos e encerrar as contas de CRIADORES DE PROJETOS que violem nossas ', m('a.alt-link[href=\\'http://suporte.catarse.me/hc/pt-br/articles/202387638-Diretrizes-para-cria%C3%A7%C3%A3o-de-projetos\\'][target=\\'_blank\\']', 'Regras do Jogo'), ' e ', m('a.alt-link[href=\\'http://www.catarse.me/terms-of-use\\'][target=\\'_blank\\']', 'Termos de Uso'), '.'])\n ])\n];\n\nconst flexTerms = project => [\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontsize-smallest.fontcolor-secondary', '1/9'),\n ' ',\n m('span.fontweight-semibold', 'O que pode e não pode alterar na página do projeto a partir da publicação?')\n ]),\n m('div', [\n m('span.fontweight-semibold', 'Você não poderá alterar'),\n ': a identidade do responsável pelo projeto (Nome / CPF ou Razão Social / CNPJ), a Modalidade de financiamento, o título do projeto, a URL (link) do projeto, a categoria do projeto, a meta de arrecadação, o prazo (caso já tenha definido), e as recompensas onde existirem apoios já efetuados.',\n m('br'), m('br'),\n m('span.fontweight-semibold', 'Você poderá alterar'),\n ': o vídeo principal da campanha, o conteúdo da descrição, a imagem do projeto, a frase de efeito, as recompensas onde não existirem apoios efetuados, além de adicionar novas recompensas durante a arrecadação'\n ])\n ]),\n\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontsize-smallest.fontcolor-secondary', '2/9'),\n ' ',\n m('span.fontweight-semibold', 'Regras da modalidade FLEX')\n ]),\n m('div', 'Você escolheu a campanha flexível. Dessa maneira, você irá receber todos os recursos arrecadados junto aos apoiadores ao final do prazo da campanha (descontando a taxa do Catarse) e deverá cumprir com a execução do projeto e com a entrega das recompensas oferecidas independente do quanto arrecadar.')\n ]),\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontsize-smallest.fontcolor-secondary', '3/9'),\n ' ',\n m('span.fontweight-semibold', 'Meta de arrecadação')\n ]),\n m('div', 'A meta não poderá ser alterada após o publicação do projeto.')\n ]),\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontsize-smallest.fontcolor-secondary', '4/9'),\n ' ',\n m('span.fontweight-semibold', 'Taxas')\n ]),\n m('div', [\n `Ao final da campanha, cobraremos ${formattedServiceFee(project)}% sobre o `,\n m('span.fontweight-semibold', 'valor total arrecadado.')\n ])\n ]),\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontsize-smallest.fontcolor-secondary', '5/9'),\n ' ',\n m('span.fontweight-semibold', 'Prazo da campanha')\n ]),\n m('div', 'Uma vez definido, o prazo de encerramento não poderá ser alterado. Caso você tenha iniciado a campanha com o prazo em aberto, deverá defini-lo durante a campanha, podendo deixar a campanha aberta por no máximo 12 meses.')\n ]),\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontsize-smallest.fontcolor-secondary', '6/9'),\n ' ',\n m('span.fontweight-semibold', 'Prazo para repasse')\n ]),\n m('div', \n m.trust(\n `Quando o prazo do seu projeto chegar ao fim, você deverá inscrever e confirmar seus dados bancários. Você poderá alterar o Banco, Conta e a Agência <strong>somente se a nova conta cadastrada for de sua titularidade</strong>. Após a confirmação, o Catarse depositará na sua conta corrente em 10 dias úteis. O valor depositado já estará considerando o desconto de ${formattedServiceFee(project)}% da taxa.`\n )\n )\n ]),\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontsize-smallest.fontcolor-secondary', '7/9'),\n ' ',\n m('span.fontweight-semibold', 'Responsabilidade do Catarse')\n ]), [m('div', [m('span.fontweight-semibold'), m('span.fontweight-semibold', 'O Catarse é responsável:'), ' pelo desenvolvimento tecnológico da plataforma, atendimento de dúvidas e problemas (tanto de apoiadores quanto de realizadores), por hospedar o projeto na plataforma e por garantir a segurança das transações financeiras.\\ ', m('br'), m('br'), m('span.fontweight-semibold', 'O Catarse não é responsável:'), ' pelo financiamento, divulgação e execução, nem pela entrega de recompensas dos projetos inscritos.'])]\n ]),\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontsize-smallest.fontcolor-secondary', '8/9'),\n ' ',\n m('span.fontweight-semibold', 'Suas responsabilidades')\n ]),\n m('div', 'É sua responsabilidade o recebimento do dinheiro da campanha e tudo aquilo que diz respeito a formatação do projeto, planejamento e divulgação da campanha de arrecadação, mobilização de apoiadores, execução do projeto, comunicação com apoiadores e produção e entrega de recompensas dentro do prazo estimado.')\n ]),\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontsize-smallest.fontcolor-secondary', '9/9'),\n ' ',\n m('span', {\n style: {\n 'font-weight': ' 600'\n }\n }, 'Retiradas de projetos no ar')\n ]),\n m('div', [m('span.fontweight-semibold'), 'O CATARSE reserva-se o direito de, a seu exclusivo critério e uma vez notificado a respeito, cancelar projetos e encerrar as contas de CRIADORES DE PROJETOS que violem nossas ', m('a.alt-link[href=\\'http://suporte.catarse.me/hc/pt-br/articles/202387638-Diretrizes-para-cria%C3%A7%C3%A3o-de-projetos\\'][target=\\'_blank\\']', 'Regras do Jogo'), ' e ', m('a.alt-link[href=\\'http://www.catarse.me/terms-of-use\\'][target=\\'_blank\\']', 'Termos de Uso'), '.'])\n ])\n];\n\nconst subTerms = project => [\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontcolor-secondary.fontsize-smallest',\n '1/9'\n ),\n m.trust(' '),\n m('span.fontweight-semibold',\n 'O que pode e não pode alterar na página do projeto a partir da publicação?'\n )\n ]),\n m('div', [\n m('span.fontweight-semibold',\n 'Você não poderá alterar:'\n ),\n ' a identidade do responsável pelo projeto (Nome / CPF ou Razão Social / CNPJ), a Modalidade de financiamento, o título do projeto, a URL (link) do projeto, a categoria escolhida e as recompensas onde existirem apoios já efetuados.',\n m('br'),\n m('br'),\n m('span.fontweight-semibold',\n 'Você poderá alterar: '\n ),\n 'o conteúdo da descrição do projeto, o vídeo principal da campanha, as imagens do projeto, a frase de efeito, as recompensas onde não existirem apoios efetuados, além de adicionar novas recompensas e novas metas durante a arrecadação.'\n ])\n ]),\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontcolor-secondary.fontsize-smallest',\n '2/9'\n ),\n m.trust(' '),\n m('span.fontweight-semibold',\n 'Regras da modalidade Assinatura'\n )\n ]),\n m('div',\n 'Você escolheu a modalidade Assinatura. Dessa maneira, você irá receber em tempo real, no saldo de sua conta no Catarse, os recursos arrecadados pelos seus assinantes. Você é o responsável por entregar as recompensas oferecidas aos seus assinantes.'\n )\n ]),\n\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontcolor-secondary.fontsize-smallest',\n '3/9'\n ),\n m.trust(' '),\n m('span.fontweight-semibold',\n 'Metas de arrecadação'\n )\n ]),\n m('div',\n 'Você poderá alterar, durante a campanha no ar, as suas metas de arrecadação em qualquer momento, independente de já tê-las atingido ou não. A única restrição imposta é que o seu projeto tenha sempre ao menos uma meta definida.'\n )\n ]),\n\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontcolor-secondary.fontsize-smallest',\n '4/9'\n ),\n m.trust(' '),\n m('span.fontweight-semibold',\n 'Taxas'\n )\n ]),\n m('div', [\n `Cobramos ${formattedServiceFee(project)}% sobre todos os valores arrecadados em sua campanha de assinatura. `,\n m('span.fontweight-semibold')\n ])\n ]),\n\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontcolor-secondary.fontsize-smallest',\n '5/9'\n ),\n m.trust(' '),\n m('span.fontweight-semibold',\n 'Prazo da campanha'\n )\n ]),\n m('div',\n 'No Catarse Assinaturas você pode manter sua campanha no ar por quanto tempo você quiser.'\n )\n ]),\n\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontcolor-secondary.fontsize-smallest',\n '6/9'\n ),\n m.trust(' '),\n m('span.fontweight-semibold',\n 'Regras da transferência de dinheiro'\n )\n ]),\n m('div', [\n 'Você poderá realizar 01 saque mensal (que é como chamamos a transferência do seu saldo no Catarse para sua conta bancária cadastrada). Assim que você solicitar o saque, o Catarse depositará o valor, já com o desconto da taxa, na sua conta corrente em 10 dias úteis.',\n m.trust(' ')\n ])\n ]),\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontcolor-secondary.fontsize-smallest',\n '7/9'\n ),\n m.trust(' '),\n m('span.fontweight-semibold',\n 'Responsabilidade do Catarse'\n )\n ]),\n m('div', [\n m('span.fontweight-semibold'),\n m('span.fontweight-semibold',\n 'O Catarse é responsável:'\n ),\n m.trust(' '),\n 'pelo desenvolvimento tecnológico da plataforma, atendimento de dúvidas e problemas (tanto de apoiadores quanto de realizadores), por hospedar o projeto na plataforma e por garantir a segurança das transações financeiras.',\n m('br'),\n m('br'),\n m('span.fontweight-semibold',\n 'O Catarse não é responsável:'\n ),\n m.trust(' '),\n 'pelo financiamento, divulgação e execução, nem pela entrega de recompensas dos projetos inscritos.'\n ])\n ]),\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontcolor-secondary.fontsize-smallest',\n '8/9'\n ),\n m.trust(' '),\n m('span.fontweight-semibold',\n 'Suas responsabilidades'\n )\n ]),\n m('div', [\n m('span.fontweight-semibold'),\n m('span.fontweight-semibold'),\n 'É sua responsabilidade o recebimento do dinheiro da campanha e tudo aquilo que diz respeito a formatação do projeto, planejamento e divulgação da campanha de arrecadação, mobilização de apoiadores, execução do projeto, comunicação com apoiadores e produção e entrega de recompensas dentro do prazo estimado.'\n ])\n ]),\n m('.w-col.w-col-11', [\n m('div', [\n m('span.fontcolor-secondary.fontsize-smallest',\n '9/9'\n ),\n m.trust(' '),\n m('span.fontweight-semibold',\n 'Retiradas de projetos no ar'\n )\n ]),\n m('div', [\n m('span.fontweight-semibold'),\n 'O CATARSE reserva-se o direito de, a seu exclusivo critério e uma vez notificado a respeito, cancelar projetos e encerrar as contas de CRIADORES DE PROJETOS que violem nossas ',\n m(\"a.alt-link[href='http://suporte.catarse.me/hc/pt-br/articles/202387638-Diretrizes-para-cria%C3%A7%C3%A3o-de-projetos'][target='_blank']\",\n 'Regras do Jogo'\n ),\n ' e ',\n m(\"a.alt-link[href='http://www.catarse.me/terms-of-use'][target='_blank']\",\n 'Termos de Uso'\n ),\n '.'\n ])\n ])\n];\n\nconst publishVM = {\n flexTerms,\n subTerms,\n aonTerms\n};\n\nexport default publishVM;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport moment from 'moment';\nimport { catarse } from '../api';\nimport models from '../models';\nimport h from '../h';\nimport projectDashboardMenu from '../c/project-dashboard-menu';\nimport publishVM from '../vms/publish-vm';\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.publish');\n\nconst publish = {\n oninit: function(vnode) {\n const filtersVM = catarse.filtersVM({\n project_id: 'eq'\n }),\n projectAccount = prop([]),\n projectDetails = prop([]),\n loader = catarse.loaderWithToken;\n\n const project_id = vnode.attrs.project_id;\n \n filtersVM.project_id(project_id);\n \n\n const l = loader(models.projectDetail.getRowOptions(filtersVM.parameters())),\n accountL = loader(models.projectAccount.getRowOptions(filtersVM.parameters()));\n l.load().then(projectDetails).then(_ => m.redraw());\n accountL.load().then(projectAccount).then(_ => m.redraw());\n\n const expiresAt = () => {\n const project = _.first(projectDetails());\n return moment().add(project.online_days, 'days');\n };\n\n const acceptedIndex = prop(0);\n\n const getTerms = (project) => {\n switch (project.mode) {\n case 'flex':\n return publishVM.flexTerms(project);\n case 'aon':\n return publishVM.aonTerms(project, expiresAt());\n case 'sub':\n return publishVM.subTerms(project);\n default:\n return publishVM.subTerms(project);\n }\n };\n\n vnode.state = {\n l,\n accountL,\n acceptedIndex,\n filtersVM,\n projectAccount,\n projectDetails,\n getTerms,\n };\n },\n view: function({state, attrs}) {\n const project = _.first(state.projectDetails());\n const acceptedIndex = state.acceptedIndex;\n const account = _.first(state.projectAccount());\n\n if (project) {\n const terms = state.getTerms(project);\n\n return [\n project && account ? \n [\n (project.is_owner_or_admin ? m(projectDashboardMenu, {\n project: prop(project),\n hidePublish: true\n }) : ''),\n m(`.w-section.section-product.${project.mode}`),\n m('.w-section.section', [\n m('.w-container', [\n m('.w-row', [\n m('.w-col.w-col-3'),\n m('.w-col.w-col-6', [\n m('.u-text-center', [\n m('img.u-marginbottom-20[src=\\'/assets/catarse_bootstrap/launch-icon.png\\'][width=\\'94\\']'),\n m('.fontsize-large.fontweight-semibold.u-marginbottom-20', 'Pronto para lançar sua campanha?'),\n m('.fontsize-base.u-marginbottom-30', 'Preparamos uma lista com informações importantes para você checar antes de colocar seu projeto no ar!')\n ])\n ]),\n m('.w-col.w-col-3')\n ])\n ])\n ]),\n m('.divider'),\n m('.w-section.section-one-column.bg-gray.section.before-footer', [\n m('.w-container', [\n m('.card.medium.u-marginbottom-60.card-secondary', [\n m('.w-row', [\n m('.w-col.w-col-6.w-clearfix', [\n m(`img.card-project-thumb.u-right[src=${project.large_image}]`)\n ]),\n m('.w-col.w-col-6', [\n m('.u-marginbottom-30.fontsize-base', [\n m('div', [m('span.fontweight-semibold', 'Título: '), project.name]),\n m('div', [m('span.fontweight-semibold', 'Link: '), `www.catarse.me/${project.permalink}`]),\n m('div', [m('span.fontweight-semibold', 'Modalidade de financiamento: '), window.I18n.t(project.mode, I18nScope())]),\n (project.mode !== 'sub' ?\n m('div', [m('span.fontweight-semibold', 'Meta de arrecadação: '), `R$ ${h.formatNumber(project.goal, 2, 3)}`]) :\n ''),\n (project.online_days !== null) ? m('div', [m('span.fontweight-semibold', `Prazo: ${project.online_days} ${(project.online_days > 1) ? 'dias' : 'dia'}`)]) : '',\n m('div', [m('span.fontweight-semibold', 'Responsável: '), account.owner_name]),\n m('div', [m('span.fontweight-semibold', 'CPF/CNPJ: '), account.owner_document])\n ])\n ])\n ]),\n m('.u-text-center', [\n m('.w-row', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-10', [\n m('.divider.u-marginbottom-20.u-margintop-20'),\n m('.fontsize-small.fontcolor-secondary', 'Os dados acima não podem ser alterados após o projeto entrar no ar. Se você precisa fazer mudanças, navegue na barra lateral e volte aqui quando estiver tudo pronto!')\n ]),\n m('.w-col.w-col-1')\n ])\n ])\n ]),\n m('.card.medium.u-radius.u-marginbottom-60', [\n m('.u-text-center.u-marginbottom-60', [\n m('.fontsize-large.fontweight-semibold', 'Relembre nossas regras'),\n m('.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8', [\n m('.fontsize-small', ['Antes de publicar, clique nos círculos abaixo e confirme que você está ciente de como funciona o Catarse. Qualquer dúvida, ', m('a.alt-link[href=\"http://suporte.catarse.me/hc/pt-br/requests/new\"][target=\"_blank\"]', 'entre em contato'), '!'])\n ]),\n m('.w-col.w-col-2')\n ])\n ]),\n \n _.map(terms, (term, index) => m(`.u-marginbottom-30.fontsize-base${(index <= acceptedIndex()) ? '' : '.w-hidden.publish-rules'}`, [\n m('.w-row', [\n m('.w-col.w-col-1.u-text-center', [\n m('div', [\n m((index + 1 > acceptedIndex()) ? 'a.w-inline-block.checkbox-big' : 'a.w-inline-block.checkbox-big.checkbox--selected.fa.fa-check.fa-lg', {\n onclick: () => {\n if (index >= acceptedIndex()) {\n acceptedIndex(acceptedIndex() + 1);\n }\n }\n })\n ])\n ]),\n term\n ])\n ]))\n \n ]),\n (acceptedIndex() >= terms.length ?\n m('.w-row.publish-btn-section', [\n m('.w-col.w-col-4'),\n m('.w-col.w-col-4', [\n m(`a.btn.btn-large.u-marginbottom-20[href=/${project.mode === 'flex' ? 'flexible_projects' : 'projects'}/${project.project_id}/push_to_online]`, 'Publicar agora!'),\n m('.u-text-center.fontsize-smaller', [\n 'Ao publicar o seu projeto, você está aceitando os ',\n m('a.alt-link[href=\\'/terms-of-use\\'][target=\\'_blank\\']', 'Termos de Uso'),\n ' e ',\n m('a.alt-link[href=\\'/privacy-policy\\'][target=\\'_blank\\']', 'Politica de Privacidade')\n ])\n ]),\n m('.w-col.w-col-4')\n ]) : '')\n ])\n ])\n ] \n : \n h.loader()\n ];\n } else {\n return '';\n }\n }\n};\n\nexport default publish;\n","/**\n * window.c.youtubeLightbox component\n * A visual component that displays a lightbox with a youtube video\n *\n * Example:\n * view: () => {\n * ...\n * m.component(c.youtubeLightbox, {src: 'https://www.youtube.com/watch?v=FlFTcDSKnLM'})\n * ...\n * }\n */\n\nimport m from 'mithril';\nimport _ from 'underscore';\nimport models from '../models';\nimport h from '../h';\n\nconst youtubeLightbox = {\n oninit: function(vnode) {\n let player;\n const showLightbox = h.toggleProp(false, true),\n setYoutube = () => {\n const tag = document.createElement('script'),\n firstScriptTag = document.getElementsByTagName('script')[0];\n tag.src = 'https://www.youtube.com/iframe_api';\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n window.onYouTubeIframeAPIReady = createPlayer;\n },\n closeVideo = () => {\n if (!_.isUndefined(player)) {\n player.pauseVideo();\n }\n\n showLightbox.toggle();\n\n return false;\n },\n createPlayer = () => {\n player = new window.YT.Player('ytvideo', {\n height: '528',\n width: '940',\n videoId: vnode.attrs.src,\n playerVars: {\n showInfo: 0,\n modestBranding: 0\n },\n events: {\n onStateChange: state => (state.data === 0) ? closeVideo() : false\n }\n });\n };\n\n vnode.state = {\n showLightbox,\n setYoutube,\n closeVideo\n };\n },\n view: function({state, attrs}) {\n return m('#youtube-lightbox', [\n m('a#youtube-play.w-lightbox.w-inline-block.fa.fa-play-circle.fontcolor-negative.fa-5x[href=\\'javascript:void(0);\\']', {\n onclick: () => {\n state.showLightbox.toggle();\n attrs.onclick && attrs.onclick();\n }\n }),\n m(`#lightbox.w-lightbox-backdrop[style=\"display:${state.showLightbox() ? 'block' : 'none'}\"]`, [\n m('.w-lightbox-container', [\n m('.w-lightbox-content', [\n m('.w-lightbox-view', [\n m('.w-lightbox-frame', [\n m('figure.w-lightbox-figure', [\n m('img.w-lightbox-img.w-lightbox-image[src=\\'data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22940%22%20height=%22528%22/%3E\\']'),\n m('#ytvideo.embedly-embed.w-lightbox-embed', { oncreate: state.setYoutube })\n ])\n ])\n ]),\n m('.w-lightbox-spinner.w-lightbox-hide'),\n m('.w-lightbox-control.w-lightbox-left.w-lightbox-inactive'),\n m('.w-lightbox-control.w-lightbox-right.w-lightbox-inactive'),\n m('#youtube-close.w-lightbox-control.w-lightbox-close', { onclick: state.closeVideo })\n ]),\n m('.w-lightbox-strip')\n ])\n ])\n ]);\n }\n};\n\nexport default youtubeLightbox;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport models from '../models';\nimport h from '../h';\nimport startVM from '../vms/start-vm';\nimport youtubeLightbox from '../c/youtube-lightbox';\nimport slider from '../c/slider';\nimport landingQA from '../c/landing-qa';\nimport inlineError from '../c/inline-error';\n\nconst I18nScope = _.partial(h.i18nScope, 'pages.start');\n\nconst start = {\n oninit: function(vnode) {\n h.analytics.windowScroll({ cat: 'project_start', act: 'start_page_scroll' });\n const stats = prop([]),\n categories = prop([]),\n selectedPane = prop(0),\n selectedCategory = prop([]),\n featuredProjects = prop([]),\n selectedCategoryIdx = prop(-1),\n startvm = startVM(window.I18n),\n filters = catarse.filtersVM,\n paneImages = startvm.panes,\n categoryvm = filters({\n category_id: 'eq'\n }),\n projectvm = filters({\n project_id: 'eq'\n }),\n uservm = filters({\n id: 'eq'\n }),\n loader = catarse.loader,\n statsLoader = loader(models.statistic.getRowOptions()),\n loadCategories = () => models.category.getPage(filters({}).order({\n name: 'asc'\n }).parameters()).then(categories),\n selectPane = idx => () => {\n selectedPane(idx);\n },\n lCategory = () => loader(models.categoryTotals.getRowOptions(categoryvm.parameters())),\n lProject = () => loader(models.projectDetail.getRowOptions(projectvm.parameters())),\n lUser = () => loader(models.userDetail.getRowOptions(uservm.parameters())),\n linkToExternal = (category) => {\n const externalLinkCategories = window.I18n.translations[window.I18n.currentLocale()].projects.index.explore_categories;\n return _.isUndefined(externalLinkCategories[category.id])\n ? null\n : `${externalLinkCategories[category.id].link}?ref=ctrse_start`;\n },\n loadCategoryProjects = (category) => {\n selectedCategory(category);\n const categoryProjects = _.findWhere(startvm.categoryProjects, {\n categoryId: _.first(category).category_id\n });\n featuredProjects([]);\n if (!_.isUndefined(categoryProjects)) {\n _.map(categoryProjects.sampleProjects, (project_id, idx) => {\n if (!_.isUndefined(project_id)) {\n projectvm.project_id(project_id);\n lProject().load().then(project => setProject(project, idx));\n }\n });\n }\n },\n selectCategory = category => () => {\n const externalLink = linkToExternal(category);\n if (externalLink) {\n window.location = externalLink;\n return;\n }\n selectedCategoryIdx(category.id);\n categoryvm.category_id(category.id);\n selectedCategory([category]);\n m.redraw();\n lCategory().load().then(loadCategoryProjects);\n },\n setUser = (user, idx) => {\n featuredProjects()[idx] = _.extend({}, featuredProjects()[idx], {\n userThumb: _.first(user).profile_img_thumbnail\n });\n },\n setProject = (project, idx) => {\n featuredProjects()[idx] = _.first(project);\n uservm.id(_.first(project).user.id);\n lUser().load().then(user => setUser(user, idx));\n },\n projectCategory = prop('-1'),\n projectName = prop(''),\n projectNameError = prop(false),\n projectCategoryError = prop(false),\n validateProjectForm = () => {\n projectCategoryError(projectCategory() == -1);\n projectNameError(projectName().trim() === '');\n\n return (!projectCategoryError() && !projectNameError());\n };\n\n statsLoader.load().then(stats);\n loadCategories();\n\n vnode.state = {\n stats,\n categories,\n paneImages,\n selectCategory,\n selectedCategory,\n selectedCategoryIdx,\n selectPane,\n selectedPane,\n featuredProjects,\n linkToExternal,\n testimonials: startvm.testimonials,\n questions: startvm.questions,\n projectCategory,\n projectName,\n projectNameError,\n projectCategoryError,\n validateProjectForm\n };\n },\n view: function({state, attrs}) {\n const stats = _.first(state.stats());\n const testimonials = () => _.map(state.testimonials, (testimonial) => {\n const content = m('.card.u-radius.card-big.card-terciary', [\n m('.u-text-center.u-marginbottom-20', [\n m(`img.thumb-testimonial.u-round.u-marginbottom-20[src=\"${testimonial.thumbUrl}\"]`)\n ]),\n m('p.fontsize-large.u-marginbottom-30', `\"${testimonial.content}\"`),\n m('.u-text-center', [\n m('.fontsize-large.fontweight-semibold', testimonial.name),\n m('.fontsize-base', testimonial.totals)\n ])\n ]);\n\n return {\n content\n };\n });\n\n return m('#start', { oncreate: h.setPageTitle(window.I18n.t('header_html', I18nScope())) }, [\n m('.w-section.hero-full.hero-start', [\n m('.w-container.u-text-center', [\n m('.fontsize-megajumbo.fontweight-semibold.u-marginbottom-40', window.I18n.t('slogan', I18nScope())),\n m('.w-row.u-marginbottom-40', [\n m('.w-col.w-col-4.w-col-push-4', [\n m('a.btn.btn-large.u-marginbottom-10[href=\"#start-form\"]', {\n oncreate: h.scrollTo(),\n onclick: h.analytics.event({ cat: 'project_start', act: 'start_btnstart_click' })\n }, window.I18n.t('submit', I18nScope()))\n ])\n ]),\n m('.w-row', _.isEmpty(stats) ? '' : [\n m('.w-col.w-col-4', [\n m('.fontsize-largest.lineheight-loose', h.formatNumber(stats.total_contributors, 0, 3)),\n m('p.fontsize-small.start-stats', window.I18n.t('header.people', I18nScope()))\n ]),\n m('.w-col.w-col-4', [\n m('.fontsize-largest.lineheight-loose', `${stats.total_contributed.toString().slice(0, 2)} milhões`),\n m('p.fontsize-small.start-stats', window.I18n.t('header.money', I18nScope()))\n ]),\n m('.w-col.w-col-4', [\n m('.fontsize-largest.lineheight-loose', h.formatNumber(stats.total_projects_success, 0, 3)),\n m('p.fontsize-small.start-stats', window.I18n.t('header.success', I18nScope()))\n ])\n ])\n ])\n ]),\n m('.w-section.section', [\n m('.w-container', [\n m('.w-row', [\n m('.w-col.w-col-10.w-col-push-1.u-text-center', [\n m('.fontsize-larger.u-marginbottom-10.fontweight-semibold', window.I18n.t('page-title', I18nScope())),\n m('.fontsize-small', window.I18n.t('page-subtitle', I18nScope()))\n ]),\n ]),\n m('.w-clearfix.how-row', [\n m('.w-hidden-small.w-hidden-tiny.how-col-01', [\n m('.info-howworks-backers', [\n m('.fontweight-semibold.fontsize-large', window.I18n.t('banner.1', I18nScope())),\n m('.fontsize-base', window.I18n.t('banner.2', I18nScope()))\n ]),\n m('.info-howworks-backers', [\n m('.fontweight-semibold.fontsize-large', window.I18n.t('banner.3', I18nScope())),\n m('.fontsize-base', window.I18n.t('banner.4', I18nScope()))\n ])\n ]),\n m('.how-col-02'),\n m('.how-col-03', [\n m('.fontweight-semibold.fontsize-large', window.I18n.t('banner.5', I18nScope())),\n m('.fontsize-base', window.I18n.t('banner.6', I18nScope())),\n m('.fontweight-semibold.fontsize-large.u-margintop-30', window.I18n.t('banner.7', I18nScope())),\n m('.fontsize-base', window.I18n.t('banner.8', I18nScope()))\n ]),\n m('.w-hidden-main.w-hidden-medium.how-col-01', [\n m('.info-howworks-backers', [\n m('.fontweight-semibold.fontsize-large', window.I18n.t('banner.1', I18nScope())),\n m('.fontsize-base', window.I18n.t('banner.2', I18nScope()))\n ]),\n m('.info-howworks-backers', [\n m('.fontweight-semibold.fontsize-large', window.I18n.t('banner.3', I18nScope())),\n m('.fontsize-base', window.I18n.t('banner.4', I18nScope()))\n ])\n ])\n ])\n ])\n ]),\n m('.w-section.divider'),\n m('.w-section.section-large', [\n m('.w-container.u-text-center.u-marginbottom-60', [\n m('div', [\n m('span.fontsize-largest.fontweight-semibold', window.I18n.t('features.title', I18nScope()))\n ]),\n m('.w-hidden-small.w-hidden-tiny.fontsize-large.u-marginbottom-20', window.I18n.t('features.subtitle', I18nScope())),\n m('.w-hidden-main.w-hidden-medium.u-margintop-30', [\n m('.fontsize-large.u-marginbottom-30', window.I18n.t('features.feature_1', I18nScope())),\n m('.fontsize-large.u-marginbottom-30', window.I18n.t('features.feature_2', I18nScope())),\n m('.fontsize-large.u-marginbottom-30', window.I18n.t('features.feature_3', I18nScope())),\n m('.fontsize-large.u-marginbottom-30', window.I18n.t('features.feature_4', I18nScope())),\n m('.fontsize-large.u-marginbottom-30', window.I18n.t('features.feature_5', I18nScope())),\n m('.fontsize-large.u-marginbottom-30', window.I18n.t('features.feature_6', I18nScope()))\n ])\n ]),\n m('.w-container', [\n m('.w-tabs.w-hidden-small.w-hidden-tiny', [\n m('.w-tab-menu.w-col.w-col-4', _.map(state.paneImages, (pane, idx) => m(`btn.w-tab-link.w-inline-block.tab-list-item${(idx === state.selectedPane()) ? '.selected' : ''}`, {\n onclick: h.analytics.event({ cat: 'project_start', act: 'start_solution_click', lbl: pane.label }, state.selectPane(idx))\n }, pane.label))),\n m('.w-tab-content.w-col.w-col-8', _.map(state.paneImages, (pane, idx) => m('.w-tab-pane', [\n m(`img[src=\"${pane.src}\"].pane-image${(idx === state.selectedPane()) ? '.selected' : ''}`)\n ])))\n ])\n ])\n ]),\n\n m('.w-section.section-large.card-terciary',\n m('.w-container',\n [\n m('.u-text-center.u-marginbottom-40',\n [\n m('div',\n m('span.fontsize-largest.fontweight-semibold',\n window.I18n.t('mode.title', I18nScope())\n )\n ),\n m('.w-row',\n [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-10',\n m('.fontsize-large.u-marginbottom-20',\n window.I18n.t('mode.subtitle', I18nScope())\n )\n ),\n m('.w-col.w-col-1')\n ]\n )\n ]\n ),\n m('div',\n m('.flex-row.u-marginbottom-40',\n [\n m('.flex-column.card.u-radius.u-marginbottom-30',\n [\n m('.u-text-center.u-marginbottom-30',\n m('img[src=\\'https://daks2k3a4ib2z.cloudfront.net/57ba58b4846cc19e60acdd5b/5a4e2fd4056b6a0001013595_aon-badge.png\\']')\n ),\n m('.fontsize-large.flex-column.u-marginbottom-20',\n [\n window.I18n.t('mode.aon.info', I18nScope()),\n m.trust(' ')\n ]\n ),\n m('.fontsize-base.flex-column.fontcolor-secondary',\n window.I18n.t('mode.aon.info_2', I18nScope())\n )\n ]\n ),\n m('.flex-column.card.u-radius.u-marginbottom-30',\n [\n m('.u-text-center.u-marginbottom-30',\n m('img[src=\\'https://daks2k3a4ib2z.cloudfront.net/57ba58b4846cc19e60acdd5b/5a4e2fd48aff0400011446b8_flex-badge.png\\']')\n ),\n m('.fontsize-large.flex-column.u-marginbottom-20',\n window.I18n.t('mode.flex.info', I18nScope())\n ),\n m('.fontsize-base.flex-column.fontcolor-secondary',\n window.I18n.t('mode.flex.info_2', I18nScope())\n )\n ]\n ),\n m('.flex-column.card.u-radius.u-marginbottom-30.card-secondary',\n [\n m('.u-text-center.u-marginbottom-30',\n m('img[src=\\'https://daks2k3a4ib2z.cloudfront.net/57ba58b4846cc19e60acdd5b/5a4e2fd4872fe200012f7fed_ass-badge.png\\']')\n ),\n m('.fontsize-large.flex-column.u-marginbottom-20',\n window.I18n.t('mode.sub.info', I18nScope())\n ),\n m('.fontsize-base.flex-column.fontcolor-secondary',\n [\n window.I18n.t('mode.sub.info_2', I18nScope()),\n m.trust(window.I18n.t('mode.sub.more_link', I18nScope()))\n ]\n )\n ]\n )\n ]\n )\n ),\n m('.u-text-center.u-marginbottom-30',\n [\n m('.fontsize-large.fontweight-semibold',\n window.I18n.t('mode.tax_info', I18nScope())\n ),\n m('.fontsize-smallest.fontcolor-secondary',\n [\n window.I18n.t('mode.failed_info', I18nScope()),\n m.trust(window.I18n.t('mode.more_link', I18nScope()))\n ]\n )\n ]\n )\n ]\n )\n ),\n\n m('.w-section.section-large.bg-blue-one', [\n m('.w-container.u-text-center', [\n m('.fontsize-larger.lineheight-tight.fontcolor-negative.u-marginbottom-20', [\n window.I18n.t('video.title', I18nScope()),\n m('br'),\n window.I18n.t('video.subtitle', I18nScope())\n ]),\n m(youtubeLightbox, {\n src: window.I18n.t('video.src', I18nScope()),\n onclick: h.analytics.event({ cat: 'project_start', act: 'start_video_play' })\n })\n ])\n ]),\n m('.w-hidden-small.w-hidden-tiny.section-categories', [\n m('.w-container', [\n m('.u-text-center', [\n m('.w-row', [\n m('.w-col.w-col-10.w-col-push-1', [\n m('.fontsize-large.u-marginbottom-40.fontcolor-negative', window.I18n.t('categories.title', I18nScope()))\n ])\n ])\n ]),\n m('.w-tabs', [\n m('.w-tab-menu.u-text-center', _.map(state.categories(), category => m(`a.w-tab-link.w-inline-block.btn-category.small.btn-inline${(state.selectedCategoryIdx() === category.id) ? '.w--current' : ''}`, {\n onclick: h.analytics.event({ cat: 'project_start', act: 'start_category_click', lbl: category.name }, state.selectCategory(category))\n }, [\n m('div', category.name)\n ]))),\n m('.w-tab-content.u-margintop-40', [\n m('.w-tab-pane.w--tab-active', [\n m('.w-row', (state.selectedCategoryIdx() !== -1) ? _.map(state.selectedCategory(), category => [\n m('.w-col.w-col-5', [\n m('.fontsize-jumbo.u-marginbottom-20', category.name),\n m('a.w-button.btn.btn-medium.btn-inline.btn-dark[href=\"#start-form\"]', {\n oncreate: h.scrollTo()\n }, window.I18n.t('submit', I18nScope()))\n ]),\n m('.w-col.w-col-7', [\n m('.fontsize-megajumbo.fontcolor-negative', `R$ ${category.total_successful_value ? h.formatNumber(category.total_successful_value, 2, 3) : '...'}`),\n m('.fontsize-large.u-marginbottom-20', 'Doados para projetos'),\n m('.fontsize-megajumbo.fontcolor-negative', (category.successful_projects) ? category.successful_projects : '...'),\n m('.fontsize-large.u-marginbottom-30', 'Projetos financiados'),\n !_.isEmpty(state.featuredProjects()) ? _.map(state.featuredProjects(), project => !_.isUndefined(project) ? m('.w-row.u-marginbottom-10', [\n m('.w-col.w-col-1', [\n m(`img.user-avatar[src=\"${h.useAvatarOrDefault(project.userThumb)}\"]`)\n ]),\n m('.w-col.w-col-11', [\n m('.fontsize-base.fontweight-semibold', project.user.public_name || project.user.name),\n m('.fontsize-smallest', [\n window.I18n.t('categories.pledged', I18nScope({ pledged: h.formatNumber(project.pledged), contributors: project.total_contributors })),\n m(`a.link-hidden[href=\"/${project.permalink}\"]`, project.name)\n ])\n ])\n ]) : m('.fontsize-base', window.I18n.t('categories.loading_featured', I18nScope()))) : '',\n ])\n ]) : '')\n ])\n ])\n ])\n ])\n ]),\n m(slider, {\n slides: testimonials(),\n title: window.I18n.t('testimonials_title', I18nScope()),\n slideClass: 'slide-testimonials-content',\n wrapperClass: 'slide-testimonials',\n onchange: h.analytics.event({ cat: 'project_start', act: 'start_testimonials_change' })\n }),\n m('.w-section.divider.u-margintop-30'),\n m('.w-container', [\n m('.fontsize-larger.u-text-center.u-marginbottom-60.u-margintop-40', window.I18n.t('qa_title', I18nScope())),\n m('.w-row.u-marginbottom-60', [\n m('.w-col.w-col-6', _.map(state.questions.col_1, question => m(landingQA, {\n question: question.question,\n answer: question.answer,\n onclick: h.analytics.event({ cat: 'project_start', act: 'start_qa_click', lbl: question.question })\n }))),\n m('.w-col.w-col-6', _.map(state.questions.col_2, question => m(landingQA, {\n question: question.question,\n answer: question.answer,\n onclick: h.analytics.event({ cat: 'project_start', act: 'start_qa_click', lbl: question.question })\n })))\n ])\n ]),\n m('#start-form.w-section.section-large.u-text-center.bg-purple.before-footer', [\n m('.w-container', [\n m('.fontsize-jumbo.fontcolor-negative.u-marginbottom-60', 'Crie o seu rascunho gratuitamente!'),\n m('form[action=\"/projects/fallback_create\"][method=\"GET\"].w-row.w-form', {\n onsubmit: (e) => {\n h.analytics.oneTimeEvent({ cat: 'project_create', act: 'create_form_submit' })(e);\n return state.validateProjectForm();\n }\n },\n [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8', [\n m('.fontsize-larger.fontcolor-negative.u-marginbottom-10', window.I18n.t('form.title', I18nScope())),\n m('input[name=\"utf8\"][type=\"hidden\"][value=\"✓\"]'),\n m(`input[name=\"authenticity_token\"][type=\"hidden\"][value=\"${h.authenticityToken()}\"]`),\n m('input.w-input.text-field.medium.u-marginbottom-30[type=\"text\"]', {\n name: 'project[name]',\n class: state.projectNameError() ? 'error' : '',\n onfocus: () => state.projectNameError(false),\n onchange: (e) => {\n h.analytics.oneTimeEvent({ cat: 'project_create', act: 'create_form_change', lbl: 'name' })(e);\n m.withAttr('value', state.projectName)(e);\n }\n }),\n m('.fontsize-larger.fontcolor-negative.u-marginbottom-10', 'na categoria'),\n m('select.w-select.text-field.medium.u-marginbottom-40', {\n name: 'project[category_id]',\n class: state.projectCategoryError() ? 'error' : '',\n onfocus: () => state.projectCategoryError(false),\n onchange: (e) => {\n h.analytics.oneTimeEvent({ cat: 'project_create', act: 'create_form_change', lbl: 'category' })(e);\n m.withAttr('value', state.projectCategory)(e);\n }\n }, [\n m('option[value=\"-1\"]', window.I18n.t('form.select_default', I18nScope())),\n _.map(state.categories(), category => m('option', { value: category.id, selected: state.projectCategory() === category.id }, category.name))\n ])\n ]),\n m('.w-col.w-col-2'),\n m('.w-row.u-marginbottom-20', [\n m('.w-col.w-col-4.w-col-push-4.u-margintop-40', [\n m(`input[type=\"submit\"][value=\"${window.I18n.t('form.submit', I18nScope())}\"].w-button.btn.btn-large`)\n ]),\n ]),\n m('.w-row.u-marginbottom-80', (state.projectNameError() || state.projectCategoryError()) ? m(\n inlineError,\n { message: 'Por favor, verifique novamente os campos acima!' }\n ) : '')\n ])\n ])\n ])\n ]);\n }\n};\n\nexport default start;\n","import _ from 'underscore';\n\nconst startVM = (I18n) => {\n const i18nStart = I18n.translations[I18n.currentLocale()].pages.start,\n testimonials = i18nStart.testimonials,\n categoryProjects = i18nStart.categoryProjects,\n panes = i18nStart.panes,\n qa = i18nStart.qa;\n\n return {\n testimonials: _.map(testimonials, testimonial => ({\n thumbUrl: testimonial.thumb,\n content: testimonial.content,\n name: testimonial.name,\n totals: testimonial.totals\n })),\n panes: _.map(panes, pane => ({\n label: pane.label,\n src: pane.src\n })),\n questions: {\n col_1: _.map(qa.col_1, question => ({\n question: question.question,\n answer: question.answer\n })),\n col_2: _.map(qa.col_2, question => ({\n question: question.question,\n answer: question.answer\n }))\n },\n categoryProjects: _.map(categoryProjects, category => ({\n categoryId: category.category_id,\n sampleProjects: [\n category.sample_project_ids.primary,\n category.sample_project_ids.secondary\n ]\n }))\n };\n};\n\nexport default startVM;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport h from '../h';\nimport models from '../models';\n\nconst teamTotal = {\n oninit: function(vnode) {\n const vm = {\n collection: prop([])\n };\n\n models.teamTotal.getRow().then((data) => {\n vm.collection(data);\n });\n\n vnode.state = {\n vm\n };\n },\n view: function({state, attrs}) {\n return m('#team-total-static.w-section.section-one-column.section.u-margintop-40.u-text-center.u-marginbottom-20', [\n state.vm.collection().map(teamTotal => m('.w-container', [\n m('.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8', [\n m('.fontsize-base.u-marginbottom-30',\n `Hoje somos ${teamTotal.member_count} pessoas espalhadas por ${teamTotal.total_cities} cidades em ${teamTotal.countries.length\n } países (${teamTotal.countries.toString()})! O Catarse é independente, sem investidores, de código aberto e construído com amor. Nossa paixão é construir um ambiente onde cada vez mais projetos possam ganhar vida.`),\n m('.fontsize-larger.lineheight-tight.text-success',\n `Nossa equipe, junta, já apoiou R$${h.formatNumber(teamTotal.total_amount)} para ${teamTotal.total_contributed_projects} projetos!`)\n ]),\n m('.w-col.w-col-2')\n ])\n ]))\n ]);\n }\n};\n\nexport default teamTotal;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport models from '../models';\n\nconst teamMembers = {\n oninit: function(vnode) {\n const vm = {\n collection: prop(vnode.attrs.team_members || [])\n },\n\n groupCollection = (collection, groupTotal) => _.map(_.range(Math.ceil(collection.length / groupTotal)), i => collection.slice(i * groupTotal, (i + 1) * groupTotal));\n\n models.teamMember.getPage().then((data) => {\n vm.collection(groupCollection(data, 4));\n });\n\n vnode.state = {\n vm\n };\n },\n view: function({state}) {\n const teamMembersCollection = state.vm.collection;\n\n return m('#team-members-static.w-section.section', [\n m('.w-container', [\n _.map(teamMembersCollection(), group => m('.w-row.u-text-center', [\n _.map(group, member => {\n return m('.team-member.w-col.w-col-3.w-col-small-3.w-col-tiny-6.u-marginbottom-40', [\n m(`a.alt-link[href=\"/users/${member.id}\"]`, [\n m(`img.thumb.big.u-round.u-marginbottom-10[src=\"${member.img}\"]`),\n m('.fontweight-semibold.fontsize-base', member.name)\n ]),\n m('.fontsize-smallest.fontcolor-secondary', `Apoiou ${member.total_contributed_projects} projetos`)\n ])\n }\n )\n ]))\n ])\n ]);\n }\n};\n\nexport default teamMembers;\n","import m from 'mithril';\nimport teamTotal from '../c/team-total';\nimport teamMembers from '../c/team-members';\n\nconst team = {\n view: function() {\n return m('#static-team-app', [\n m('.w-section.hero-who.hero-full', [\n m('.w-container.u-text-center', [\n m('img.icon-hero[src=\"https://catarse.me/assets/logo-yellow.png\"]'),\n m('.u-text-center.u-marginbottom-20.fontsize-largest',\n 'Conheça nosso time')\n ])\n ]),\n m(teamTotal),\n m(teamMembers)\n ]);\n }\n};\n\nexport default team;\n","/*\n * UserFollowCard - Component\n * User info card with follow button\n *\n * Example:\n * m.component(c.UserFollowCard, {friend: friend})\n */\n\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport h from '../h';\nimport _ from 'underscore';\nimport UserFollowBtn from '../c/user-follow-btn';\nimport userVM from '../vms/user-vm';\n\nconst UserFollowCard = {\n oninit: function(vnode) {\n const friend = prop(vnode.attrs.friend);\n vnode.state = {\n friend\n };\n },\n view: function({state, attrs}) {\n const friend = state.friend(),\n profile_img = _.isEmpty(friend.avatar) ? '/assets/catarse_bootstrap/user.jpg' : friend.avatar;\n return m('.w-col.w-col-4',\n m('.card.card-backer.u-marginbottom-20.u-radius.u-text-center',\n [\n m(`img.thumb.u-marginbottom-10.u-round[src='${profile_img}']`),\n m('.fontsize-base.fontweight-semibold.lineheight-tight',\n m('a.link-hidden', { href: `/users/${friend.friend_id}` }, userVM.displayName(friend))\n ),\n m('.fontcolor-secondary.fontsize-smallest.u-marginbottom-10',\n (_.isNull(friend.city) ? '' :\n m('.fontsize-smaller.fontcolor-secondary.u-marginbottom-10', `${friend.city}, ${friend.state}`))\n ),\n m('.fontsize-smaller',\n [\n m('span.fontweight-semibold', friend.total_contributed_projects),\n ' apoiados ',\n m.trust(' '),\n '| ',\n m.trust(' '),\n m('span.fontweight-semibold', friend.total_published_projects),\n ' criados'\n ]\n ),\n m('.btn-bottom-card.w-row',\n [\n m('.w-col.w-col-3.w-col-small-4.w-col-tiny-3'),\n m('.w-col.w-col-6.w-col-small-4.w-col-tiny-6',\n m(\n UserFollowBtn,\n { following: friend.following, follow_id: friend.friend_id }\n )\n ),\n m('.w-col.w-col-3.w-col-small-4.w-col-tiny-3')\n ]\n )\n ]\n )\n );\n }\n};\n\nexport default UserFollowCard;\n","/**\n * window.c.userFriends component\n * Shows all friends cards and a follow-all button\n *\n * Example of use:\n * view: () => {\n * ...\n * m.component(c.userFriends, {user: user})\n * ...\n * }\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport h from '../h';\nimport models from '../models';\nimport UserFollowCard from '../c/user-follow-card';\nimport loadMoreBtn from '../c/load-more-btn';\nimport { getFriendsListVM } from '../vms/friends-vm';\n\nconst userFriends = {\n oninit: function(vnode) {\n const userFriendVM = catarse.filtersVM({ user_id: 'eq' }),\n user = vnode.attrs.user,\n friendListVM = getFriendsListVM(),\n allLoading = prop(false),\n followAll = () => {\n allLoading(true);\n const l = catarse.loaderWithToken(models.followAllFriends.postOptions({}));\n\n l.load()\n .then(() => {\n friendListVM.firstPage(userFriendVM.parameters());\n allLoading(false);\n h.redraw();\n })\n .catch(error => {\n allLoading(false);\n h.redraw();\n });\n };\n\n userFriendVM.user_id(user.user_id);\n\n if (!friendListVM.collection().length) {\n friendListVM.firstPage(userFriendVM.parameters());\n }\n\n vnode.state = {\n friendListVM,\n followAll,\n allLoading,\n };\n },\n view: function({ state, attrs }) {\n const listVM = state.friendListVM;\n return m('.w-section.bg-gray.before-footer.section', [\n m('.w-container', [\n m('.w-row.u-marginbottom-40.card.u-radius.card-terciary', [\n m('.w-col.w-col-7.w-col-small-6.w-col-tiny-6', [\n m('.fontsize-small', 'Comece agora! Siga todos os seus amigos ou somente alguns deles para descobrir projetos juntos!'),\n ]),\n m('.w-col.w-col-5.w-col-small-6.w-col-tiny-6', [\n state.allLoading()\n ? h.loader()\n : m(\n 'a.w-button.btn.btn-medium',\n {\n onclick: state.followAll,\n },\n `Siga todos os seus ${listVM.total() ? listVM.total() : ''} amigos`\n ),\n ]),\n ]),\n m('.w-row', [_.map(listVM.collection(), friend => m(UserFollowCard, { friend }))]),\n m('.w-section.section.bg-gray', [\n m('.w-container', [\n m('.w-row.u-marginbottom-60', [\n m('.w-col.w-col-5', [m('.u-marginright-20')]),\n m(loadMoreBtn, { collection: listVM }),\n m('.w-col.w-col-5'),\n ]),\n ]),\n ]),\n ]),\n ]);\n },\n};\n\nexport default userFriends;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport h from '../h';\nimport models from '../models';\n\nconst getFriendsListVM = () => {\n models.userFriend.pageSize(9);\n const friendListVM = catarse.paginationVM(models.userFriend, 'following.asc,total_contributed_projects.desc', { Prefer: 'count=exact' });\n\n return h.createBasicPaginationVMWithAutoRedraw(friendListVM);\n};\n\nconst getCreatorsListVM = () => {\n models.creatorSuggestion.pageSize(9);\n const creatorsListVM = catarse.paginationVM(models.creatorSuggestion, 'following.asc, total_published_projects.desc, total_contributed_projects.desc', {\n Prefer: 'count=exact',\n });\n\n return h.createBasicPaginationVMWithAutoRedraw(creatorsListVM);\n};\n\nconst getUserFollowsListVM = () => {\n models.userFollow.pageSize(9);\n const userFollowsListVM = catarse.paginationVM(models.userFollow, 'created_at.desc', { Prefer: 'count=exact' });\n return h.createBasicPaginationVMWithAutoRedraw(userFollowsListVM);\n};\n\nconst getUserFollowersListVM = () => {\n models.userFollower.pageSize(9);\n const userFollowersListVM = catarse.paginationVM(models.userFollower, 'following.asc,created_at.desc', { Prefer: 'count=exact' });\n return h.createBasicPaginationVMWithAutoRedraw(userFollowersListVM);\n};\n\nexport { getFriendsListVM, getCreatorsListVM, getUserFollowsListVM, getUserFollowersListVM };\n","/**\n * window.c.userFollows component\n * Shows all user follows cards\n *\n * Example of use:\n * view: () => {\n * ...\n * m.component(c.userFollows, {user: user})\n * ...\n * }\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport h from '../h';\nimport models from '../models';\nimport UserFollowCard from '../c/user-follow-card';\nimport loadMoreBtn from '../c/load-more-btn';\nimport { getUserFollowsListVM } from '../vms/friends-vm';\nconst userFollows = {\n oninit: function(vnode) {\n const userFriendVM = catarse.filtersVM({ user_id: 'eq' }),\n user = vnode.attrs.user,\n hash = prop(window.location.hash),\n followsListVM = getUserFollowsListVM();\n userFriendVM.user_id(user.user_id);\n if (!followsListVM.collection().length) {\n followsListVM.firstPage(userFriendVM.parameters());\n }\n\n vnode.state = {\n followsListVM,\n };\n },\n view: function({ state, attrs }) {\n const followsVM = state.followsListVM;\n return m('.w-section.bg-gray.before-footer.section', [\n m('.w-container', [\n m('.w-row', [\n _.map(followsVM.collection(), friend =>\n m(UserFollowCard, { friend: _.extend({}, { following: true, friend_id: friend.follow_id }, friend.source) })\n ),\n ]),\n m('.w-section.section.bg-gray', [\n m('.w-container', [\n m('.w-row.u-marginbottom-60', [\n m('.w-col.w-col-5', [m('.u-marginright-20')]),\n m(loadMoreBtn, { collection: followsVM }),\n m('.w-col.w-col-5'),\n ]),\n ]),\n ]),\n ]),\n ]);\n },\n};\n\nexport default userFollows;\n","/**\n * window.c.userFollowers component\n * Shows all user followers cards\n *\n * Example of use:\n * view: () => {\n * ...\n * m.component(c.userFollowers, {user: user})\n * ...\n * }\n */\nimport m from 'mithril';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport h from '../h';\nimport models from '../models';\nimport UserFollowCard from '../c/user-follow-card';\nimport loadMoreBtn from '../c/load-more-btn';\nimport { getUserFollowersListVM } from '../vms/friends-vm';\n\nconst userFollowers = {\n oninit: function(vnode) {\n const followersListVM = getUserFollowersListVM(),\n user = vnode.attrs.user,\n userIdVM = catarse.filtersVM({ follow_id: 'eq' });\n\n userIdVM.follow_id(user.user_id);\n\n if (!followersListVM.collection().length) {\n followersListVM.firstPage(userIdVM.parameters());\n }\n vnode.state = {\n followersListVM,\n };\n },\n view: function({ state, attrs }) {\n const followersVM = state.followersListVM;\n return m('.w-section.bg-gray.before-footer.section', [\n m('.w-container', [\n m('.w-row', [\n _.map(followersVM.collection(), friend => m(UserFollowCard, { friend: _.extend({}, { friend_id: friend.user_id }, friend.source) })),\n ]),\n m('.w-section.section.bg-gray', [\n m('.w-container', [\n m('.w-row.u-marginbottom-60', [\n m('.w-col.w-col-5', [m('.u-marginright-20')]),\n m(loadMoreBtn, { collection: followersVM }),\n m('.w-col.w-col-5'),\n ]),\n ]),\n ]),\n ]),\n ]);\n },\n};\n\nexport default userFollowers;\n","/**\n * window.c.userCreators component\n * Shows all user creators suggestions cards\n *\n * Example of use:\n * view: () => {\n * ...\n * m.component(c.userCreators, {user: user})\n * ...\n * }\n */\nimport m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport h from '../h';\nimport models from '../models';\nimport UserFollowCard from '../c/user-follow-card';\nimport loadMoreBtn from '../c/load-more-btn';\nimport { getCreatorsListVM } from '../vms/friends-vm';\n\nconst userCreators = {\n oninit: function(vnode) {\n const creatorsListVM = getCreatorsListVM();\n const allLoading = prop(false);\n const followAll = () => {\n allLoading(true);\n const l = catarse.loaderWithToken(models.followAllCreators.postOptions({}));\n\n l.load()\n .then(() => {\n creatorsListVM.firstPage();\n allLoading(false);\n h.redraw();\n })\n .catch(error => {\n allLoading(false);\n h.redraw();\n });\n };\n\n if (!creatorsListVM.collection().length) {\n creatorsListVM.firstPage();\n }\n\n vnode.state = {\n allLoading,\n creatorsListVM,\n followAll,\n };\n },\n view: function({ state }) {\n const creatorsVM = state.creatorsListVM;\n\n return m('.w-section.bg-gray.before-footer.section', [\n m('.w-container', [\n m('.w-row.u-marginbottom-40.card.u-radius.card-terciary', [\n m('.w-col.w-col-7.w-col-small-6.w-col-tiny-6', [\n m(\n '.fontsize-small',\n 'Siga os realizadores que você já apoiou e saiba em primeira mão sempre que eles apoiarem projetos ou lançarem novas campanhas!'\n ),\n ]),\n m('.w-col.w-col-5.w-col-small-6.w-col-tiny-6', [\n state.allLoading()\n ? h.loader()\n : m(\n 'a.w-button.btn.btn-medium',\n {\n onclick: state.followAll,\n },\n `Siga todos os ${creatorsVM.total() ? creatorsVM.total() : ''} realizadores`\n ),\n ]),\n ]),\n m('.w-row', [\n _.map(creatorsVM.collection(), friend =>\n m(UserFollowCard, {\n friend: _.extend(\n {},\n {\n friend_id: friend.user_id,\n },\n friend\n ),\n })\n ),\n ]),\n m('.w-section.section.bg-gray', [\n m('.w-container', [\n m('.w-row.u-marginbottom-60', [\n m('.w-col.w-col-5', [m('.u-marginright-20')]),\n m(loadMoreBtn, { collection: creatorsVM }),\n m('.w-col.w-col-5'),\n ]),\n ]),\n ]),\n ]),\n ]);\n },\n};\n\nexport default userCreators;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport userFriends from '../c/user-friends';\nimport userFollows from '../c/user-follows';\nimport userFollowers from '../c/user-followers';\nimport userCreators from '../c/user-creators';\n\nconst FollowFoundFriends = {\n oninit: function(vnode) {\n const user = h.getUser(),\n hash = prop(window.location.hash),\n displayTabContent = () => {\n const c_opts = {\n user,\n },\n tabs = {\n '#creators': m(userCreators, c_opts),\n '#friends': m(userFriends, c_opts),\n '#follows': m(userFollows, c_opts),\n '#followers': m(userFollowers, c_opts),\n };\n\n hash(window.location.hash);\n\n if (_.isEmpty(hash()) || hash() === '#_=_') {\n return tabs['#friends'];\n }\n\n return tabs[hash()];\n };\n\n h.redrawHashChange();\n\n vnode.state = {\n user,\n displayTabContent,\n };\n },\n view: function({ state, attrs }) {\n return m('div', [\n m('.w-section.dashboard-header', [\n m('.w-container', [\n m('.w-row.u-margintop-20.u-marginbottom-20', [\n m('.w-col.w-col-1'),\n m('.w-col.w-col-10.u-text-center', [\n m('.fontsize-larger.fontweight-semibold.u-marginbottom-10', 'Descubra projetos com seus amigos'),\n m('.fontsize-small', 'Siga os seus amigos e nós iremos te notificar sempre que eles lançarem ou apoiarem algum projeto'),\n ]),\n m('.w-col.w-col-1'),\n ]),\n ]),\n ]),\n m('.divider.u-margintop-30'),\n m(\n '.project-nav',\n m('.u-text-center.w-container', [\n m(\n `a[id=\"creators-link\"][class=\"dashboard-nav-link ${h.hashMatch('#creators') ? 'selected' : ''}\"] [href=\"#creators\"]`,\n 'Encontre realizadores'\n ),\n m(\n `a[id=\"friends-link\"][class=\"dashboard-nav-link ${h.hashMatch('#friends') || h.hashMatch('') ? 'selected' : ''}\"] [href=\"#friends\"]`,\n 'Encontre amigos'\n ),\n m(`a[id=\"follows-link\"][class=\"dashboard-nav-link ${h.hashMatch('#follows') ? 'selected' : ''}\"] [href=\"#follows\"]`, [\n 'Seguindo',\n m.trust(' '),\n m('span.w-hidden-small.w-hidden-tiny.badge', state.user.follows_count),\n ]),\n m(`a[id=\"followers-link\"][class=\"dashboard-nav-link ${h.hashMatch('#followers') ? 'selected' : ''}\"] [href=\"#followers\"]`, [\n 'Seguidores',\n m.trust(' '),\n m('span.w-hidden-small.w-hidden-tiny.badge', state.user.followers_count),\n ]),\n ])\n ),\n state.displayTabContent(),\n ]);\n },\n};\n\nexport default FollowFoundFriends;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport h from '../h';\nimport facebookButton from '../c/facebook-button';\nimport projectShareBox from '../c/project-share-box';\nimport projectRow from '../c/project-row';\nimport userVM from '../vms/user-vm';\nimport projectVM from '../vms/project-vm';\n\nconst { CatarseAnalytics } = window;\n\nconst I18nScope = _.partial(h.i18nScope, 'projects.contributions');\n\nconst thankYou = {\n oninit: function(vnode) {\n const {\n ViewContentEvent,\n PurchaseEvent\n } = projectVM;\n \n projectVM.sendPageViewForCurrentProject(vnode.attrs.project_id, [ ViewContentEvent(), PurchaseEvent() ]);\n\n const recommendedProjects = vnode.attrs.recommended_projects || userVM.getUserRecommendedProjects(),\n isSlip = vnode.attrs.contribution && !_.isEmpty(vnode.attrs.contribution.slip_url),\n sendContributionCreationData = () => {\n const analyticsData = {\n cat: 'contribution_creation',\n act: 'contribution_created',\n extraData: {\n project_id: vnode.attrs.contribution.project.id,\n contribution_id: vnode.attrs.contribution.contribution_id\n }\n };\n h.analytics.event(analyticsData)();\n };\n\n const setEvents = () => {\n sendContributionCreationData();\n\n CatarseAnalytics.event({\n cat: 'contribution_finish',\n act: 'contribution_finished',\n lbl: isSlip ? 'slip' : 'creditcard',\n val: vnode.attrs.contribution.value,\n extraData: {\n contribution_id: vnode.attrs.contribution.contribution_id\n }\n });\n\n CatarseAnalytics.checkout(\n `${vnode.attrs.contribution.contribution_id}`,\n `[${vnode.attrs.contribution.project.permalink}] ${vnode.attrs.contribution.reward ? vnode.attrs.contribution.reward.minimum_value : '10'} [${isSlip ? 'slip' : 'creditcard'}]`,\n `${vnode.attrs.contribution.reward ? vnode.attrs.contribution.reward.reward_id : ''}`,\n `${vnode.attrs.contribution.project.category}`,\n `${vnode.attrs.contribution.value}`,\n `${vnode.attrs.contribution.value * vnode.attrs.contribution.project.service_fee}`\n );\n };\n\n vnode.state = {\n setEvents,\n displayShareBox: h.toggleProp(false, true),\n isSlip,\n recommendedProjects\n };\n },\n view: function({state, attrs}) {\n\n return m('#thank-you', { oncreate: state.setEvents }, [\n m('.page-header.u-marginbottom-30',\n m('.w-container',\n m('.w-row',\n m('.w-col.w-col-10.w-col-push-1',\n [\n m('.u-marginbottom-20.u-text-center',\n m(`img.big.thumb.u-round[src='${attrs.contribution.project.user_thumb}']`)\n ),\n m('#thank-you.u-text-center', !state.isSlip ?\n [\n m('#creditcard-thank-you.fontsize-larger.text-success.u-marginbottom-20',\n window.I18n.t('thank_you.thank_you', I18nScope())\n ),\n m('.fontsize-base.u-marginbottom-40',\n m.trust(\n window.I18n.t('thank_you.thank_you_text_html',\n I18nScope({\n total: attrs.contribution.project.total_contributions,\n email: attrs.contribution.contribution_email,\n link2: `/${window.I18n.locale}/users/${h.getUser().user_id}/edit#contributions`,\n link_email: `/${window.I18n.locale}/users/${h.getUser().user_id}/edit#about_me`\n })\n )\n )\n ),\n m('.fontsize-base.fontweight-semibold.u-marginbottom-20',\n 'Compartilhe com seus amigos e ajude esse projeto a bater a meta!'\n )\n ] : [\n m('#slip-thank-you.fontsize-largest.text-success.u-marginbottom-20', window.I18n.t('thank_you_slip.thank_you', I18nScope())),\n m('.fontsize-base.u-marginbottom-40',\n m.trust(window.I18n.t('thank_you_slip.thank_you_text_html',\n I18nScope({\n email: attrs.contribution.contribution_email,\n link_email: `/${window.I18n.locale}/users/${h.getUser().user_id}/edit#about_me`\n }))))\n ]\n ),\n state.isSlip ? '' : m('.w-row',\n [\n m('.w-hidden-small.w-hidden-tiny',\n [\n m('.w-sub-col.w-col.w-col-4', m(facebookButton, {\n url: `https://www.catarse.me/${attrs.contribution.project.permalink}?ref=ctrse_thankyou&utm_source=facebook.com&utm_medium=social&utm_campaign=project_share`,\n big: true\n })),\n m('.w-sub-col.w-col.w-col-4', m(facebookButton, {\n messenger: true,\n big: true,\n url: `https://www.catarse.me/${attrs.contribution.project.permalink}?ref=ctrse_thankyou&utm_source=facebook.com&utm_medium=messenger&utm_campaign=thanks_share`\n })),\n m('.w-col.w-col-4', m(`a.btn.btn-large.btn-tweet.u-marginbottom-20[href=\"https://twitter.com/intent/tweet?text=Acabei%20de%20apoiar%20o%20projeto%20${encodeURIComponent(attrs.contribution.project.name)}%20https://www.catarse.me/${attrs.contribution.project.permalink}%3Fref%3Dtwitter%26utm_source%3Dtwitter.com%26utm_medium%3Dsocial%26utm_campaign%3Dproject_share\"][target=\"_blank\"]`, [\n m('span.fa.fa-twitter'), ' Twitter'\n ]))\n ]\n ),\n m('.w-hidden-main.w-hidden-medium', [\n m('.u-marginbottom-30.u-text-center-small-only', m('button.btn.btn-large.btn-terciary.u-marginbottom-40', {\n onclick: state.displayShareBox.toggle\n }, 'Compartilhe')),\n state.displayShareBox() ? m(projectShareBox, {\n // Mocking a project prop\n project: prop({\n permalink: attrs.contribution.project.permalink,\n name: attrs.contribution.project.name\n }),\n displayShareBox: state.displayShareBox\n }) : ''\n ])\n ]\n )\n ]\n )\n\n )\n )\n ),\n m('.section.u-marginbottom-40',\n m('.w-container',\n state.isSlip ? m('.w-row',\n m('.w-col.w-col-8.w-col-offset-2',\n m('iframe.slip', {\n src: attrs.contribution.slip_url,\n width: '100%',\n height: '905px',\n frameborder: '0',\n style: 'overflow: hidden;'\n })\n )\n ) : [\n m('.fontsize-large.fontweight-semibold.u-marginbottom-30.u-text-center',\n window.I18n.t('thank_you.project_recommendations', I18nScope())\n ),\n m(projectRow, {\n collection: state.recommendedProjects,\n ref: 'ctrse_thankyou_r'\n })\n ]\n )\n )\n ]);\n }\n};\n\nexport default thankYou;\n","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport { catarse } from '../api';\nimport _ from 'underscore';\nimport models from '../models';\nimport h from '../h';\nimport inlineError from '../c/inline-error';\n\nconst I18nScope = _.partial(h.i18nScope, 'pages.start');\n\nconst subProjectNew = {\n oninit: function(vnode) {\n const categories = prop([]),\n filters = catarse.filtersVM,\n loadCategories = () => models.category.getPage(filters({}).order({\n name: 'asc'\n }).parameters()).then(categories),\n projectCategory = prop('-1'),\n projectName = prop(''),\n projectNameError = prop(false),\n projectCategoryError = prop(false),\n validateProjectForm = () => {\n projectCategoryError(projectCategory() == -1);\n projectNameError(projectName().trim() === '');\n\n return (!projectCategoryError() && !projectNameError());\n };\n\n loadCategories();\n\n vnode.state = {\n categories,\n projectCategory,\n projectName,\n projectNameError,\n projectCategoryError,\n validateProjectForm\n };\n },\n view: function({state}) {\n return m('.before-footer.bg-purple.section-large.u-text-center',\n m('.w-container', [\n m(\"img[src='https://daks2k3a4ib2z.cloudfront.net/57ba58b4846cc19e60acdd5b/59cd4be2c67c8d0001764fbe_logo-ass.png']\"),\n m('.fontcolor-negative.fontsize-large.fontweight-semibold.u-marginbottom-60',\n 'Viva do que você ama fazer'\n ),\n m('.w-row', [\n m('.w-col.w-col-2'),\n m('.w-col.w-col-8',\n m('.w-form', [\n m('form.w-row.w-form[action=\"/projects/fallback_create\"][method=\"GET\"]',\n {\n onsubmit: e => state.validateProjectForm()\n }, [\n m('.fontcolor-negative.fontsize-larger.u-marginbottom-10',\n 'Quero iniciar uma campanha chamada'\n ),\n m('input[name=\"utf8\"][type=\"hidden\"][value=\"✓\"]'),\n m(`input[name=\"authenticity_token\"][type=\"hidden\"][value=\"${h.authenticityToken()}\"]`),\n m('input.w-hidden[type=\"text\"]', {\n name: 'project[mode]',\n value: 'sub'\n }),\n m('input.w-input.text-field.medium.u-marginbottom-30[type=\"text\"]', {\n name: 'project[name]',\n class: state.projectNameError() ? 'error' : '',\n onfocus: () => state.projectNameError(false),\n onchange: (e) => {\n m.withAttr('value', state.projectName)(e);\n }\n }),\n m('.fontcolor-negative.fontsize-larger.u-marginbottom-10',\n 'na categoria'\n ),\n m('select.w-select.text-field.medium.u-marginbottom-40', {\n name: 'project[category_id]',\n class: state.projectCategoryError() ? 'error' : '',\n onfocus: () => state.projectCategoryError(false),\n onchange: (e) => {\n m.withAttr('value', state.projectCategory)(e);\n }\n }, [\n m('option[value=\"-1\"]', window.I18n.t('form.select_default', I18nScope())),\n _.map(state.categories(), category => m('option', {\n value: category.id,\n selected: state.projectCategory() === category.id\n }, category.name))\n ])\n ],\n m('.u-marginbottom-80.w-row', [\n m('.w-col.w-col-4'),\n m('.u-margintop-40.w-col.w-col-4',\n m(`input[type=\"submit\"][value=\"${window.I18n.t('form.submit', I18nScope())}\"].w-button.btn.btn-large`)\n ),\n m('.w-col.w-col-4',\n m('div')\n )\n ])\n )\n ])\n ),\n m('.w-col.w-col-2')\n ]),\n m('.w-row.u-marginbottom-80', (state.projectNameError() || state.projectCategoryError()) ? m(inlineError, {\n message: 'Por favor, verifique novamente os campos acima!'\n }) : ''),\n\n ])\n );\n }\n};\n\nexport default subProjectNew;\n","import m from 'mithril'\nimport { Observable } from 'rxjs'\nimport { ProjectDetails } from '../../../@types/project-details'\n\nexport type ProjectCardSimpleAttrs = { \n name: string\n headline: string\n image: string\n}\n\nexport class ProjectCardSimple implements m.Component<ProjectCardSimpleAttrs> {\n view({ attrs } : m.Vnode<ProjectCardSimpleAttrs>) {\n\n const name = attrs.name\n const headline = attrs.headline\n const image = attrs.image\n \n const cardThumbStyle = {\n 'background-image' : image ? `url(${image})` : 'url(https://s3.amazonaws.com/cdn.catarse/assets/thumb_generico_solidaria.png)'\n }\n\n return (\n <div class=\"card-project card u-radius\">\n <div style={cardThumbStyle} class=\"card-project-thumb\"></div>\n <div class=\"card-project-description\">\n <div class=\"fontweight-semibold fontsize-base u-marginbottom-10 u-text-center-small-only lineheight-tight\">\n {name}\n </div>\n <div class=\"fontcolor-secondary fontsize-smaller w-hidden-small w-hidden-tiny\">\n {headline}\n </div>\n </div>\n </div>\n )\n }\n}","import m from 'mithril'\nimport InlineError from './inline-error'\n\nexport class InlineErrors {\n view({attrs} : m.Vnode<{ messages : string[] }>) {\n return attrs.messages && attrs.messages.map(message => <InlineError message={message} />)\n }\n}","import m from 'mithril'\n\nexport type InputImageFileAttrs = {\n class: string\n oninput(event : Event): void\n}\n\nexport type InputImageFileState = {\n inputFileElement: HTMLInputElement | null\n}\n\nexport class InputImageFile implements m.Component {\n view({ attrs, state, children }: m.Vnode<InputImageFileAttrs, InputImageFileState>) {\n\n const onCreateInputFile = (vnode : m.VnodeDOM) => state.inputFileElement = vnode.dom as HTMLInputElement\n const oninput = attrs.oninput\n const onLoadFileButton = (event: Event) => {\n event.preventDefault()\n if (state.inputFileElement) {\n state.inputFileElement.click()\n }\n }\n\n return (\n <>\n <input oncreate={onCreateInputFile} oninput={oninput} type=\"file\" accept=\"image/*\" style=\"display: none;\" />\n <span onclick={onLoadFileButton} class={attrs.class}>\n {children}\n </span>\n </>\n )\n }\n}","import m, { VnodeDOM } from 'mithril'\nimport { ProjectCardSimple } from '../../../c/projects/publish-by-steps/project-card-simple'\nimport { ProjectDetails } from '../../../@types/project-details'\nimport h from '../../../h'\nimport InlineError from '../../../c/inline-error'\nimport { InlineErrors } from '../../../c/inline-errors'\nimport { InputImageFile } from '../../../c/std/input-image-file'\n\nexport type CardEditAttrs = {\n project: ProjectDetails\n isSaving: boolean\n save(imageFile : File): void\n hasErrorOn(field : string) : boolean\n getFieldErrors(field : string) : string[]\n}\n\nexport type CardEditState = {\n selectedImageFile: File\n inputFileElement: HTMLInputElement\n}\n\nexport class CardEdit implements m.Component {\n oninit({state} : m.Vnode<CardEditAttrs, CardEditState>) {\n state.selectedImageFile = null\n state.inputFileElement = null\n }\n\n view({ attrs, state } : m.Vnode<CardEditAttrs, CardEditState>) {\n \n const project = attrs.project\n const isSaving = attrs.isSaving\n const save = attrs.save\n const hasErrorOn = attrs.hasErrorOn\n const getFieldErrors = attrs.getFieldErrors\n\n return (\n <div class=\"section\">\n <div class=\"w-container\">\n <div class=\"w-row\">\n <div class=\"w-col w-col-8\">\n <div class=\"card medium card-terciary u-radius w-form\">\n <form id=\"email-form-4\" name=\"email-form-4\" data-name=\"Email Form 4\">\n <div class=\"title-dashboard\">\n <span class=\"fontsize-smallest\"></span>\n Escolha a imagem do seu projeto\n </div>\n <div class=\"u-marginbottom-40 w-row\">\n <div class=\"_w-sub-col w-col w-col-5\">\n <label for=\"name\" class=\"field-label fontweight-semibold\">\n Imagem do projeto\n </label>\n <label for=\"name\" class=\"field-label fontsize-smallest fontcolor-secondary\">\n Tamanho recomendado 720x400px\n </label>\n </div>\n <div class=\"_w-sub-col w-col w-col-4\">\n <InputImageFile \n class='btn btn-small btn-dark'\n oninput={(event : Event) => {\n const files = (event.target as HTMLInputElement).files\n if (files.length > 0) {\n if (project.large_image && project.large_image.indexOf('blob') >= 0) {\n URL.revokeObjectURL(project.large_image)\n }\n\n state.selectedImageFile = files[0]\n project.large_image = URL.createObjectURL(state.selectedImageFile)\n }\n }}>\n Escolher arquivo\n </InputImageFile>\n </div>\n <div class=\"w-col w-col-3\">\n <div class=\"fontsize-smallest fontcolor-secondary\" style='padding-left: 4px;'>\n {\n state.selectedImageFile !== null ?\n `${state.selectedImageFile.name}`\n :\n 'Nenhum arquivo escolhido'\n }\n </div>\n </div>\n \n <InlineErrors messages={getFieldErrors('uploaded_image')} />\n </div>\n\n <div class=\"u-marginbottom-40 w-row\">\n <div class=\"_w-sub-col w-col w-col-5\">\n <label for=\"name\" class=\"field-label fontweight-semibold\">\n Frase de efeito\n </label>\n <label for=\"name\" class=\"field-label fontsize-smallest fontcolor-secondary\">\n Máximo de 100 caracteres\n </label>\n </div>\n <div class=\"w-col w-col-7\">\n <textarea\n maxlength=\"100\" \n placeholder=\"Um resuminho do seu projeto em até 100 caracteres\"\n value={project.headline}\n oninput={(event : Event) => project.headline = event.target.value}\n class={`text-field positive w-input ${hasErrorOn('headline') && 'error'}`}\n required>\n </textarea>\n <InlineErrors messages={getFieldErrors('headline')} />\n </div>\n </div>\n <div class=\"u-marginbottom-40 w-row\">\n <div class=\"_w-sub-col w-col w-col-5\">\n <label for=\"name\" class=\"field-label fontweight-semibold\">\n Vídeo do youtube (opcional)\n </label>\n <label for=\"name\" class=\"field-label fontsize-smallest fontcolor-secondary\">\n Vídeo que é exibido na página principal da campanha\n </label>\n </div>\n <div class=\"w-col w-col-7\">\n <input \n oninput={(event : Event) => project.video_url = event.target.value}\n type=\"text\"\n class=\"text-field positive w-input\"\n maxlength=\"3000\"\n placeholder=\"www.youtube.com/seuvideo\"\n value={project.video_url}/>\n </div>\n </div>\n <div class=\"u-margintop-40 w-row\">\n <div class=\"w-col w-col-3\"></div>\n <div class=\"w-col w-col-6\">\n {\n isSaving ?\n h.loader()\n :\n <button onclick={() => save(state.selectedImageFile)} class=\"btn btn-large\">\n Próximo >\n </button>\n }\n </div>\n <div class=\"w-col w-col-3\"></div>\n </div>\n </form>\n </div>\n </div>\n <div class=\"w-col w-col-4\">\n <div class=\"u-margintop-40\">\n <ProjectCardSimple \n name={project.name} \n headline={project.headline}\n image={project.large_image}\n />\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n }\n};","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isFunction(x) {\n return typeof x === 'function';\n}\n//# sourceMappingURL=isFunction.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport var config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n var error = /*@__PURE__*/ new Error();\n /*@__PURE__*/ console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n /*@__PURE__*/ console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n//# sourceMappingURL=config.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function hostReportError(err) {\n setTimeout(function () { throw err; }, 0);\n}\n//# sourceMappingURL=hostReportError.js.map\n","/** PURE_IMPORTS_START _config,_util_hostReportError PURE_IMPORTS_END */\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport var empty = {\n closed: true,\n next: function (value) { },\n error: function (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var isArray = /*@__PURE__*/ (function () { return Array.isArray || (function (x) { return x && typeof x.length === 'number'; }); })();\n//# sourceMappingURL=isArray.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar UnsubscriptionErrorImpl = /*@__PURE__*/ (function () {\n function UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ?\n errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ') : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n }\n UnsubscriptionErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n})();\nexport var UnsubscriptionError = UnsubscriptionErrorImpl;\n//# sourceMappingURL=UnsubscriptionError.js.map\n","/** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_UnsubscriptionError PURE_IMPORTS_END */\nimport { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nvar Subscription = /*@__PURE__*/ (function () {\n function Subscription(unsubscribe) {\n this.closed = false;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._unsubscribe = unsubscribe;\n }\n }\n Subscription.prototype.unsubscribe = function () {\n var errors;\n if (this.closed) {\n return;\n }\n var _a = this, _parentOrParents = _a._parentOrParents, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n this.closed = true;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (_parentOrParents instanceof Subscription) {\n _parentOrParents.remove(this);\n }\n else if (_parentOrParents !== null) {\n for (var index = 0; index < _parentOrParents.length; ++index) {\n var parent_1 = _parentOrParents[index];\n parent_1.remove(this);\n }\n }\n if (isFunction(_unsubscribe)) {\n try {\n _unsubscribe.call(this);\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n }\n }\n if (isArray(_subscriptions)) {\n var index = -1;\n var len = _subscriptions.length;\n while (++index < len) {\n var sub = _subscriptions[index];\n if (isObject(sub)) {\n try {\n sub.unsubscribe();\n }\n catch (e) {\n errors = errors || [];\n if (e instanceof UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n }\n else {\n errors.push(e);\n }\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n };\n Subscription.prototype.add = function (teardown) {\n var subscription = teardown;\n if (!teardown) {\n return Subscription.EMPTY;\n }\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (!(subscription instanceof Subscription)) {\n var tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default: {\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n }\n var _parentOrParents = subscription._parentOrParents;\n if (_parentOrParents === null) {\n subscription._parentOrParents = this;\n }\n else if (_parentOrParents instanceof Subscription) {\n if (_parentOrParents === this) {\n return subscription;\n }\n subscription._parentOrParents = [_parentOrParents, this];\n }\n else if (_parentOrParents.indexOf(this) === -1) {\n _parentOrParents.push(this);\n }\n else {\n return subscription;\n }\n var subscriptions = this._subscriptions;\n if (subscriptions === null) {\n this._subscriptions = [subscription];\n }\n else {\n subscriptions.push(subscription);\n }\n return subscription;\n };\n Subscription.prototype.remove = function (subscription) {\n var subscriptions = this._subscriptions;\n if (subscriptions) {\n var subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n };\n Subscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription()));\n return Subscription;\n}());\nexport { Subscription };\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isObject(x) {\n return x !== null && typeof x === 'object';\n}\n//# sourceMappingURL=isObject.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var rxSubscriber = /*@__PURE__*/ (function () {\n return typeof Symbol === 'function'\n ? /*@__PURE__*/ Symbol('rxSubscriber')\n : '@@rxSubscriber_' + /*@__PURE__*/ Math.random();\n})();\nexport var $$rxSubscriber = rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map\n","/** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nvar Subscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subscriber, _super);\n function Subscriber(destinationOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this.syncErrorValue = null;\n _this.syncErrorThrown = false;\n _this.syncErrorThrowable = false;\n _this.isStopped = false;\n switch (arguments.length) {\n case 0:\n _this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n _this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n _this.destination = destinationOrNext;\n destinationOrNext.add(_this);\n }\n else {\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext);\n }\n break;\n }\n default:\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);\n break;\n }\n return _this;\n }\n Subscriber.prototype[rxSubscriberSymbol] = function () { return this; };\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n Subscriber.prototype._unsubscribeAndRecycle = function () {\n var _parentOrParents = this._parentOrParents;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar SafeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SafeSubscriber, _super);\n function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this._parentSubscriber = _parentSubscriber;\n var next;\n var context = _this;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n _this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = _this.unsubscribe.bind(_this);\n }\n }\n _this._context = context;\n _this._next = next;\n _this._error = error;\n _this._complete = complete;\n return _this;\n }\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parentSubscriber = this._parentSubscriber;\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n var useDeprecatedSynchronousErrorHandling = config.useDeprecatedSynchronousErrorHandling;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.complete = function () {\n var _this = this;\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._complete) {\n var wrappedComplete = function () { return _this._complete.call(_this._context); };\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n if (!config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError(err);\n return true;\n }\n }\n return false;\n };\n SafeSubscriber.prototype._unsubscribe = function () {\n var _parentSubscriber = this._parentSubscriber;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n };\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\n//# sourceMappingURL=Subscriber.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var observable = /*@__PURE__*/ (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })();\n//# sourceMappingURL=observable.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function noop() { }\n//# sourceMappingURL=noop.js.map\n","/** PURE_IMPORTS_START _noop PURE_IMPORTS_END */\nimport { noop } from './noop';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (!fns) {\n return noop;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map\n","/** PURE_IMPORTS_START _util_canReportError,_util_toSubscriber,_symbol_observable,_util_pipe,_config PURE_IMPORTS_END */\nimport { canReportError } from './util/canReportError';\nimport { toSubscriber } from './util/toSubscriber';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nvar Observable = /*@__PURE__*/ (function () {\n function Observable(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var operator = this.operator;\n var sink = toSubscriber(observerOrNext, error, complete);\n if (operator) {\n sink.add(operator.call(sink, this.source));\n }\n else {\n sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n return sink;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if (canReportError(sink)) {\n sink.error(err);\n }\n else {\n console.warn(err);\n }\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscription;\n subscription = _this.subscribe(function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var source = this.source;\n return source && source.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n if (operations.length === 0) {\n return this;\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n//# sourceMappingURL=Observable.js.map\n","/** PURE_IMPORTS_START _Subscriber,_symbol_rxSubscriber,_Observer PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriberSymbol]) {\n return nextOrObserver[rxSubscriberSymbol]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber(emptyObserver);\n }\n return new Subscriber(nextOrObserver, error, complete);\n}\n//# sourceMappingURL=toSubscriber.js.map\n","/** PURE_IMPORTS_START _Subscriber PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nexport function canReportError(observer) {\n while (observer) {\n var _a = observer, closed_1 = _a.closed, destination = _a.destination, isStopped = _a.isStopped;\n if (closed_1 || isStopped) {\n return false;\n }\n else if (destination && destination instanceof Subscriber) {\n observer = destination;\n }\n else {\n observer = null;\n }\n }\n return true;\n}\n//# sourceMappingURL=canReportError.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar ObjectUnsubscribedErrorImpl = /*@__PURE__*/ (function () {\n function ObjectUnsubscribedErrorImpl() {\n Error.call(this);\n this.message = 'object unsubscribed';\n this.name = 'ObjectUnsubscribedError';\n return this;\n }\n ObjectUnsubscribedErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return ObjectUnsubscribedErrorImpl;\n})();\nexport var ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from './Subscription';\nvar SubjectSubscription = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubjectSubscription, _super);\n function SubjectSubscription(subject, subscriber) {\n var _this = _super.call(this) || this;\n _this.subject = subject;\n _this.subscriber = subscriber;\n _this.closed = false;\n return _this;\n }\n SubjectSubscription.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.closed = true;\n var subject = this.subject;\n var observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n var subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n };\n return SubjectSubscription;\n}(Subscription));\nexport { SubjectSubscription };\n//# sourceMappingURL=SubjectSubscription.js.map\n","/** PURE_IMPORTS_START tslib,_Observable,_Subscriber,_Subscription,_util_ObjectUnsubscribedError,_SubjectSubscription,_internal_symbol_rxSubscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nvar SubjectSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubjectSubscriber, _super);\n function SubjectSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n return _this;\n }\n return SubjectSubscriber;\n}(Subscriber));\nexport { SubjectSubscriber };\nvar Subject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.observers = [];\n _this.closed = false;\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype[rxSubscriberSymbol] = function () {\n return new SubjectSubscriber(this);\n };\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype.next = function (value) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n };\n Subject.prototype.error = function (err) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n };\n Subject.prototype.complete = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n };\n Subject.prototype._trySubscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return _super.prototype._trySubscribe.call(this, subscriber);\n }\n };\n Subject.prototype._subscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription(this, subscriber);\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var destination = this.destination;\n if (destination && destination.next) {\n destination.next(value);\n }\n };\n AnonymousSubject.prototype.error = function (err) {\n var destination = this.destination;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n };\n AnonymousSubject.prototype.complete = function () {\n var destination = this.destination;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var source = this.source;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return Subscription.EMPTY;\n }\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map\n","import { Subject, Observable } from 'rxjs'\nimport m from 'mithril'\nimport { catarse } from '../api'\nimport models from '../models'\nimport { ProjectDetails } from \"../@types/project-details\"\nimport h from '../h'\nimport { RailsErrors } from '../@types/rails-errors'\nimport _ from 'underscore'\nimport { ThisWindow, I18ScopeType } from '../@types/window'\n\ndeclare var window : ThisWindow\n\nconst I18nScope = _.partial(h.i18nScope, 'activerecord.errors.models') as (params : {}) => I18ScopeType;\n\nexport type FieldError = {\n field: string\n messages: string[]\n}\n\nexport class ProjectPublishByStepsVM {\n private _project : ProjectDetails | null\n private _isLoadingProject : boolean\n private _isSavingProject : boolean\n private _errors : { [key:string] : string[] }\n private _errorObserver : Subject<FieldError>\n\n constructor(private project_id : number) {\n this._project = null\n this._isLoadingProject = true\n this._errors = {}\n this._errorObserver = new Subject<FieldError>()\n this.init()\n }\n\n get project() : ProjectDetails {\n const self = this\n return {\n ...this._project,\n get project_id() {\n return self._project.project_id\n },\n set project_id(value) {\n // won't set project_id\n },\n set headline(value) {\n self._project.headline = value\n },\n get headline() {\n return self._project.headline\n },\n set large_image(value) {\n self._project.large_image = value\n },\n get large_image() {\n return self._project.large_image\n },\n get video_url() {\n return self._project.video_url\n },\n set video_url(value) {\n self._project.video_url = value\n },\n get goal() {\n return self._project.goal\n },\n set goal(value) {\n self._project.goal = value\n },\n get about_html() {\n return self._project.about_html || ''\n },\n set about_html(value) {\n self._project.about_html = value\n },\n get permalink() {\n return self._project.permalink\n },\n set permalink(value) {\n self._project.permalink = value\n },\n get city_id() {\n return self._project.city_id\n },\n set city_id(value) {\n self._project.city_id = value\n }\n }\n }\n \n get isLoadingProject() : boolean {\n return this._isLoadingProject\n }\n\n get isSaving() : boolean {\n return this._isSavingProject\n }\n\n get error() : Observable<FieldError> {\n return this._errorObserver\n }\n\n getErrors(field : string) : string[] {\n return this._errors[field] || []\n }\n\n hasErrorOn(field : string) : boolean {\n const errors = this._errors[field] || []\n return errors.length > 0\n }\n\n async publish() {\n try {\n this._isSavingProject = true\n this._isLoadingProject = true\n const configPublishRequest = {\n method: 'GET',\n url: `/projects/${this.project_id}/push_to_online`,\n config: h.setCsrfToken\n }\n await m.request(configPublishRequest)\n } catch(e) {\n\n } finally {\n this._isSavingProject = false\n this._isLoadingProject = false\n }\n }\n \n async save(fields : string[], requiredFields : string[], cardImageFile? : File | undefined) {\n try {\n this.clearErrors()\n this._isSavingProject = true\n\n h.redraw()\n\n this._project.content_rating = 1\n this._project.budget = '.'\n fields.push('content_rating')\n fields.push('budget')\n\n const projectHasImageUploaded = !_.isEmpty(this._project.small_image) || !_.isEmpty(this._project.thumb_image)\n let someInvalidation = projectHasImageUploaded\n if ((requiredFields.includes('uploaded_image') && !projectHasImageUploaded) || typeof cardImageFile !== 'undefined') {\n someInvalidation = await this.uploadCardImage(cardImageFile)\n this._project.thumb_image = this._project.small_image = this._project.large_image\n }\n const requiredFieldsWithoutUploadedImage = requiredFields.filter(rf => rf !== 'uploaded_image')\n return (await this.saveFields(fields, requiredFieldsWithoutUploadedImage)) && someInvalidation\n } catch(e) {\n return false\n } finally {\n this.tryDispatchErrorDisplay()\n this._isSavingProject = false\n h.redraw()\n }\n }\n\n private tryDispatchErrorDisplay() {\n if (this.hasError()) {\n for (const field of Object.keys(this._errors)) {\n this._errorObserver.next({ field, messages: this._errors[field] })\n return\n }\n }\n }\n\n private hasError() {\n return Object.keys(this._errors).length > 0\n }\n\n private async saveFields(fields : string[], requiredFields : string[]) {\n \n this._isSavingProject = true\n \n h.redraw()\n\n const projectDataToSave = {}\n for (const field of fields) {\n projectDataToSave[field] = this._project[field]\n }\n\n let manualErrorsSet = false\n\n for (const field of requiredFields) {\n if (!projectDataToSave[field]) {\n this.setErrorOnField(field, this.conditionalI18n(`${field}.blank`))\n manualErrorsSet = true\n }\n }\n\n if (manualErrorsSet) {\n h.redraw()\n return false\n }\n\n const requestOptions = {\n method: 'PUT',\n url: `/projects/${this.project_id}.json`,\n data: { project: projectDataToSave },\n config: h.setCsrfToken,\n }\n\n try {\n await m.request(requestOptions)\n return true\n } catch(error) {\n this.mapRailsErrors(error as RailsErrors)\n return false\n } finally {\n this._isSavingProject = false\n h.redraw()\n } \n }\n\n private async uploadCardImage(coverImageFile : File | null) : Promise<boolean> {\n if (!coverImageFile) {\n this.setErrorOnField('uploaded_image', this.conditionalI18n('uploaded_image.blank'))\n return false\n } else {\n const data = new FormData()\n data.append('uploaded_image', coverImageFile)\n const requestOptions = {\n method: 'POST',\n url: `/projects/${this.project_id}/upload_image.json`,\n data,\n config: h.setCsrfToken,\n }\n await m.request(requestOptions)\n return true\n }\n }\n\n private mapRailsErrors(error : RailsErrors) {\n const railsErrorJson = JSON.parse(error.errors_json)\n Object.keys(railsErrorJson).forEach(field => {\n if (typeof railsErrorJson[field] === 'string') {\n this.setErrorOnField(field, railsErrorJson[field])\n } else {\n for (const message of railsErrorJson[field]) {\n this.setErrorOnField(field, message)\n }\n }\n })\n }\n\n private setErrorOnField(field : string, message : string) {\n this._errors[field] = (this._errors[field] || []).concat(message)\n }\n \n private clearErrors() {\n this._errors = {}\n }\n\n private async init() {\n this._project = await this.fetchProject()\n }\n\n private async fetchProject() {\n try {\n this._isLoadingProject = true\n const filter = catarse.filtersVM({ project_id: 'eq' }).project_id(this.project_id)\n const getRowParamenters = models.projectDetail.getRowOptions(filter.parameters())\n return (await catarse.loaderWithToken(getRowParamenters).load())[0]\n } catch(e) {\n throw e\n } finally {\n this._isLoadingProject = false\n h.redraw()\n }\n }\n\n private conditionalI18n(path : string, params = {}) {\n if (this._project.mode === 'flex') {\n return window.I18n.t(`flexible_project.attributes.${path}`, I18nScope(params))\n } else {\n return window.I18n.t(`project.attributes.${path}`, I18nScope(params))\n }\n }\n}","import m from 'mithril'\n\ntype DescriptionEditTipsAttrs = {\n show: boolean\n}\n\nexport class DescriptionEditTips implements m.Component {\n view({ attrs } : m.Vnode<DescriptionEditTipsAttrs>) {\n\n const show = attrs.show\n\n return (\n <div class='dashboard-column-tips description' style={`display: ${show ? 'block' : 'none'}`}>\n <div class=\"card card-secondary\">\n <div>\n <div class=\"arrow-left\"></div>\n <img src=\"https://s3.amazonaws.com/cdn.catarse/assets/rafa.png\" alt=\"\" class=\"thumb small u-round u-right\" />\n <div class=\"fontsize-smallest\">\n Dicas do Rafa, nosso especialista\n </div>\n </div>\n </div>\n <div class=\"card\">\n <div class=\"fontsize-smaller u-marginbottom-20\">\n Para alcançar o maior número de apoios:\n </div>\n <div class=\"fontsize-smaller u-marginbottom-10\">\n <span class=\"fa fa-check fa-fw\" aria-hidden=\"true\"></span> \n <span> Descreva quem irá se beneficiar</span>\n </div>\n <div class=\"fontsize-smaller u-marginbottom-10\">\n <span class=\"fa fa-check fa-fw\" aria-hidden=\"true\"></span>\n <span> Dê detalhes de como o dinheiro será usado</span>\n </div>\n <div class=\"fontsize-smaller u-marginbottom-10\">\n <span class=\"fa fa-check fa-fw\" aria-hidden=\"true\"></span> \n <span> Explique a urgência da sua causa</span>\n </div>\n <div class=\"fontsize-smaller u-marginbottom-10\">\n <span class=\"fa fa-check fa-fw\" aria-hidden=\"true\"></span>\n <span> Conte para as pessoas o que o suporte delas irá representar para você</span>\n </div>\n <div class=\"fontsize-smaller u-marginbottom-10\">\n <span class=\"fa fa-check fa-fw\" aria-hidden=\"true\"></span>\n <span> Compartilhe o quão feliz você ficará com o apoio das pessoas</span>\n </div>\n </div>\n </div>\n )\n }\n}","import m from 'mithril'\nimport h from '../../h'\n\nexport type InputCurrencyAttrs = {\n placeholder: string\n value: number\n onValueChange(newValue : number): void\n class: string\n onfocus(event : Event): void\n onblur(event : Event): void\n}\n\nexport class InputCurrency implements m.Component {\n view({attrs} : m.Vnode<InputCurrencyAttrs>) {\n\n const placeholder = attrs.placeholder\n const value = attrs.value\n const onValueChange = attrs.onValueChange\n const onfocus = attrs.onfocus\n const onblur = attrs.onblur\n\n return (\n <input\n value={numberToCurrency(value)}\n type='text'\n placeholder={placeholder}\n oninput={(event : Event) => {\n const element = event.target as HTMLInputElement\n onValueChange(currencyToNumber(element.value))\n }}\n onblur={onblur}\n onfocus={onfocus}\n class={`back-reward-input-reward w-input ${attrs.class}`} />\n )\n }\n}\n\nfunction numberToCurrency(amount : number) : string {\n return Intl.NumberFormat('pt-BR', { minimumFractionDigits: 2, maximumFractionDigits: 2}).format(amount)\n}\n\nfunction currencyToNumber(currency : string) : number {\n const currencyOnlyNumbers = currency.replace(/\\D*/g, '')\n const integerPart = currencyOnlyNumbers.slice(0, currencyOnlyNumbers.length - 2)\n const decimalPart = currencyOnlyNumbers.slice(currencyOnlyNumbers.length - 2, currencyOnlyNumbers.length)\n return Number(`${integerPart}.${decimalPart}`)\n}","import m from 'mithril'\nimport h from '../../h'\n\nexport type TextareaHtmlEditorAttrs = {\n class: string\n html: string\n onChange(html : string): void\n onfocus(event : Event): void\n onblur(event : Event): void\n}\n\nexport class TextareaHtmlEditor implements m.Component {\n view({ attrs } : m.Vnode<TextareaHtmlEditorAttrs>) {\n const attrsWithDefaultClasses = {\n ...attrs,\n onChange: (value : any) => {},\n class: `input_field redactor w-input text-field bottom jumbo positive ${attrs.class}`\n }\n\n const onChange = attrs.onChange\n const html = attrs.html\n\n return (\n <textarea {...attrsWithDefaultClasses}\n oncreate={(vnode : m.VnodeDOM) => {\n const configureRedactor = h.setRedactor((newHtml?: string) => {\n if (typeof newHtml !== 'undefined') {\n onChange(newHtml)\n }\n \n return html\n })\n\n configureRedactor(vnode)\n }}>\n\n </textarea>\n )\n }\n}","import m from 'mithril'\nimport { City } from '../../@types/city'\nimport { searchCities, getCityById } from '../../vms/cities-search-vm'\nimport h from '../../h'\n\nexport type InputFindLocationAttrs = {\n city_id?: number\n class: string\n onSelect(city : City): void\n}\n\nexport type InputFindLocationState = {\n searchCities(input : string): void\n cities: City[]\n selectedCity?: City\n onSelect(city : City): void\n cityInputValue: string\n}\n\nexport class InputFindLocation implements m.Component {\n \n oninit({ attrs, state } : m.Vnode<InputFindLocationAttrs, InputFindLocationState>) {\n\n if (attrs.city_id) {\n getCityById(attrs.city_id).then(city => {\n state.selectedCity = city\n state.cityInputValue = state.selectedCity && `${state.selectedCity.name} - ${state.selectedCity.state_name}`\n h.redraw()\n })\n }\n state.selectedCity = null\n state.cityInputValue = ''\n state.cities = []\n state.searchCities = async (inputText) => {\n try {\n state.cityInputValue = inputText\n state.cities = await searchCities(inputText)\n } catch(e) {\n state.cities = []\n }\n\n h.redraw()\n }\n state.onSelect = (city) => {\n state.selectedCity = city\n state.cityInputValue = state.selectedCity && `${state.selectedCity.name} - ${state.selectedCity.state_name}`\n attrs.onSelect(city)\n state.cities = []\n h.redraw()\n }\n }\n\n view({ attrs, state } : m.Vnode<InputFindLocationAttrs, InputFindLocationState>) {\n const cities = state.cities\n const searchCities = state.searchCities\n const hasCitiesToDisplay = cities && cities.length > 0\n const onSelect = state.onSelect\n const cityInputValue = state.cityInputValue\n\n return (\n <>\n <input \n value={cityInputValue} \n oninput={(event : Event) => searchCities(event.target.value)} \n type='text' \n class={`text-field positive w-input ${attrs.class}`}\n maxlength='256' \n required />\n {\n hasCitiesToDisplay &&\n <div class='table-outer search-pre-result' style='z-index: 9999;' >\n {\n cities.map(city => (\n <div class='table-row fontsize-smallest fontcolor-secondary'>\n <div onclick={() => onSelect(city)} class='city-select fontsize-smallest link-hidden-light'>\n {city.name} - {city.state_name}\n </div>\n </div>\n ))\n }\n </div>\n }\n </>\n )\n }\n}","import m from 'mithril'\n\nexport type PreviewProjectPageAttrs = {\n project_id: number\n show: boolean\n onClose(): void\n}\n\nexport class PreviewProjectPage implements m.Component {\n view({ attrs } : m.Vnode<PreviewProjectPageAttrs>) {\n \n const project_id = attrs.project_id\n const show = attrs.show\n const onClose = attrs.onClose\n\n return (\n show &&\n <div class='modal-backdrop' style='display: block;' onclick={onClose}>\n <div class='modal-dialog-outer'>\n <div class='modal-dialog-inner modal-dialog-big w-clearfix'>\n <a onclick={onClose} href='#description' class='modal-close fa fa-close fa-lg w-inline-block'></a>\n <div class=\"modal-dialog-header\">\n <div class=\"fontsize-large u-text-center\">\n Modo de pré-visualização\n </div>\n </div>\n <div class='div-block-6' style='overflow: hidden;'>\n <iframe src={`/projects/${project_id}?is_preview_without_dashboard_menu=true#preview`} style='width: 100%; height: 100%;'></iframe>\n </div>\n </div>\n </div>\n </div> \n )\n }\n}","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nvar MapOperator = /*@__PURE__*/ (function () {\n function MapOperator(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n MapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n };\n return MapOperator;\n}());\nexport { MapOperator };\nvar MapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MapSubscriber, _super);\n function MapSubscriber(destination, project, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.count = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n MapSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return MapSubscriber;\n}(Subscriber));\n//# sourceMappingURL=map.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from '../Subscription';\nvar Action = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Action, _super);\n function Action(scheduler, work) {\n return _super.call(this) || this;\n }\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return this;\n };\n return Action;\n}(Subscription));\nexport { Action };\n//# sourceMappingURL=Action.js.map\n","/** PURE_IMPORTS_START tslib,_Action PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Action } from './Action';\nvar AsyncAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.pending = false;\n return _this;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (this.closed) {\n return this;\n }\n this.state = state;\n var id = this.id;\n var scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay !== null && this.delay === delay && this.pending === false) {\n return id;\n }\n clearInterval(id);\n return undefined;\n };\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, delay) {\n var errored = false;\n var errorValue = undefined;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = !!e && e || new Error(e);\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype._unsubscribe = function () {\n var id = this.id;\n var scheduler = this.scheduler;\n var actions = scheduler.actions;\n var index = actions.indexOf(this);\n this.work = null;\n this.state = null;\n this.pending = false;\n this.scheduler = null;\n if (index !== -1) {\n actions.splice(index, 1);\n }\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n };\n return AsyncAction;\n}(Action));\nexport { AsyncAction };\n//# sourceMappingURL=AsyncAction.js.map\n","var Scheduler = /*@__PURE__*/ (function () {\n function Scheduler(SchedulerAction, now) {\n if (now === void 0) {\n now = Scheduler.now;\n }\n this.SchedulerAction = SchedulerAction;\n this.now = now;\n }\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) {\n delay = 0;\n }\n return new this.SchedulerAction(this, work).schedule(state, delay);\n };\n Scheduler.now = function () { return Date.now(); };\n return Scheduler;\n}());\nexport { Scheduler };\n//# sourceMappingURL=Scheduler.js.map\n","/** PURE_IMPORTS_START _AsyncAction,_AsyncScheduler PURE_IMPORTS_END */\nimport { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport var async = /*@__PURE__*/ new AsyncScheduler(AsyncAction);\n//# sourceMappingURL=async.js.map\n","/** PURE_IMPORTS_START tslib,_Scheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Scheduler } from '../Scheduler';\nvar AsyncScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) {\n now = Scheduler.now;\n }\n var _this = _super.call(this, SchedulerAction, function () {\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== _this) {\n return AsyncScheduler.delegate.now();\n }\n else {\n return now();\n }\n }) || this;\n _this.actions = [];\n _this.active = false;\n _this.scheduled = undefined;\n return _this;\n }\n AsyncScheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) {\n delay = 0;\n }\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {\n return AsyncScheduler.delegate.schedule(work, delay, state);\n }\n else {\n return _super.prototype.schedule.call(this, work, delay, state);\n }\n };\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this.active) {\n actions.push(action);\n return;\n }\n var error;\n this.active = true;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (action = actions.shift());\n this.active = false;\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler));\nexport { AsyncScheduler };\n//# sourceMappingURL=AsyncScheduler.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nexport function debounceTime(dueTime, scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n return function (source) { return source.lift(new DebounceTimeOperator(dueTime, scheduler)); };\n}\nvar DebounceTimeOperator = /*@__PURE__*/ (function () {\n function DebounceTimeOperator(dueTime, scheduler) {\n this.dueTime = dueTime;\n this.scheduler = scheduler;\n }\n DebounceTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler));\n };\n return DebounceTimeOperator;\n}());\nvar DebounceTimeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DebounceTimeSubscriber, _super);\n function DebounceTimeSubscriber(destination, dueTime, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.dueTime = dueTime;\n _this.scheduler = scheduler;\n _this.debouncedSubscription = null;\n _this.lastValue = null;\n _this.hasValue = false;\n return _this;\n }\n DebounceTimeSubscriber.prototype._next = function (value) {\n this.clearDebounce();\n this.lastValue = value;\n this.hasValue = true;\n this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));\n };\n DebounceTimeSubscriber.prototype._complete = function () {\n this.debouncedNext();\n this.destination.complete();\n };\n DebounceTimeSubscriber.prototype.debouncedNext = function () {\n this.clearDebounce();\n if (this.hasValue) {\n var lastValue = this.lastValue;\n this.lastValue = null;\n this.hasValue = false;\n this.destination.next(lastValue);\n }\n };\n DebounceTimeSubscriber.prototype.clearDebounce = function () {\n var debouncedSubscription = this.debouncedSubscription;\n if (debouncedSubscription !== null) {\n this.remove(debouncedSubscription);\n debouncedSubscription.unsubscribe();\n this.debouncedSubscription = null;\n }\n };\n return DebounceTimeSubscriber;\n}(Subscriber));\nfunction dispatchNext(subscriber) {\n subscriber.debouncedNext();\n}\n//# sourceMappingURL=debounceTime.js.map\n","import m from 'mithril'\nimport { fromEvent } from 'rxjs'\nimport { debounceTime } from 'rxjs/operators'\nimport h from '../../../h'\n\nexport type InputPermalinkAttrs = {\n currentPermalink: string\n onValidChange(permalink : string): void\n onChange(permalink : string): void\n class: string\n autoResetLastValidValue: boolean\n}\n\nexport type InputPermalinkState = {\n currentPermalink: string\n class: string\n checkPermalinkAvailable(inputText : string): void\n}\n\nexport class InputPermalink implements m.Component {\n\n oninit({ state, attrs} : m.Vnode<InputPermalinkAttrs, InputPermalinkState>) {\n state.class = attrs.class\n state.currentPermalink = attrs.currentPermalink\n state.checkPermalinkAvailable = async (inputText) => {\n let lastValidValue = state.currentPermalink\n state.currentPermalink = inputText\n try {\n const projectBySlugRequestConfig = {\n method: 'GET',\n url: `/${inputText}.html`,\n config: h.setCsrfToken,\n deserialize: function(value) { return value }\n }\n \n await m.request(projectBySlugRequestConfig)\n if (state.currentPermalink !== attrs.currentPermalink) {\n state.class = 'error'\n }\n\n if (attrs.autoResetLastValidValue) {\n state.currentPermalink = lastValidValue\n h.redraw()\n }\n } catch(e) {\n state.class = ''\n\n if (typeof attrs.onValidChange === 'function') {\n attrs.onValidChange(state.currentPermalink)\n }\n\n if (typeof attrs.onChange === 'function') {\n attrs.onChange(state.currentPermalink)\n }\n }\n\n if (typeof attrs.onChange === 'function') {\n attrs.onChange(state.currentPermalink)\n }\n }\n }\n\n oncreate({ state, attrs, dom} : m.VnodeDOM<InputPermalinkAttrs, InputPermalinkState>) {\n const oninput = fromEvent(dom, 'input')\n const oneveryinput = oninput.pipe()\n const wait1s = oneveryinput.pipe(debounceTime(1000))\n\n oneveryinput.subscribe(event => {\n state.class = ''\n })\n \n wait1s.subscribe(event => {\n state.checkPermalinkAvailable(event.target.value)\n })\n }\n\n view({ state, attrs} : m.Vnode<InputPermalinkAttrs, InputPermalinkState>) {\n \n const currentPermalink = state.currentPermalink\n\n state.class = state.class || attrs.class\n\n return (\n <input \n value={currentPermalink}\n type=\"text\" \n id=\"project-parmalink-id\" \n maxlength=\"256\" \n placeholder=\"seu_link_no_catarse\" \n class={`text-field postfix positive w-input ${state.class}`} />\n )\n }\n}","/** PURE_IMPORTS_START _Observable,_util_isArray,_util_isFunction,_operators_map PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nvar toString = /*@__PURE__*/ (function () { return Object.prototype.toString; })();\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(map(function (args) { return isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n }\n return new Observable(function (subscriber) {\n function handler(e) {\n if (arguments.length > 1) {\n subscriber.next(Array.prototype.slice.call(arguments));\n }\n else {\n subscriber.next(e);\n }\n }\n setupSubscription(target, eventName, handler, subscriber, options);\n });\n}\nfunction setupSubscription(sourceObj, eventName, handler, subscriber, options) {\n var unsubscribe;\n if (isEventTarget(sourceObj)) {\n var source_1 = sourceObj;\n sourceObj.addEventListener(eventName, handler, options);\n unsubscribe = function () { return source_1.removeEventListener(eventName, handler, options); };\n }\n else if (isJQueryStyleEventEmitter(sourceObj)) {\n var source_2 = sourceObj;\n sourceObj.on(eventName, handler);\n unsubscribe = function () { return source_2.off(eventName, handler); };\n }\n else if (isNodeStyleEventEmitter(sourceObj)) {\n var source_3 = sourceObj;\n sourceObj.addListener(eventName, handler);\n unsubscribe = function () { return source_3.removeListener(eventName, handler); };\n }\n else if (sourceObj && sourceObj.length) {\n for (var i = 0, len = sourceObj.length; i < len; i++) {\n setupSubscription(sourceObj[i], eventName, handler, subscriber, options);\n }\n }\n else {\n throw new TypeError('Invalid event target');\n }\n subscriber.add(unsubscribe);\n}\nfunction isNodeStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function';\n}\nfunction isJQueryStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function';\n}\nfunction isEventTarget(sourceObj) {\n return sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function';\n}\n//# sourceMappingURL=fromEvent.js.map\n","import m from 'mithril'\n\ntype AmountEditTipsAttrs = {\n show: boolean\n}\n\nexport class AmountEditTips implements m.Component {\n view({ attrs } : m.Vnode<AmountEditTipsAttrs>) {\n\n const show = attrs.show\n\n return (\n <div class='dashboard-column-tips amount' style={`display: ${show ? 'block' : 'none'}`}>\n <div class=\"card card-secondary\">\n <div>\n <div class=\"arrow-left\"></div>\n <img src=\"https://s3.amazonaws.com/cdn.catarse/assets/rafa.png\" alt=\"\" class=\"thumb small u-round u-right\" />\n <div class=\"fontsize-smallest\">\n Dicas do Rafa, nosso especialista\n </div>\n </div>\n </div>\n <div class=\"card\">\n <div class=\"fontsize-smallest\">\n Quanto você precisa arrecadar para ter sucesso no seu projeto? Defina uma meta coerente com o que seu projeto propõe e não esqueça de considerar a taxa do Catarse quando for definir sua meta!\n </div>\n </div>\n </div>\n )\n }\n}","import m from 'mithril'\nimport h from '../../../h'\nimport { ProjectDetails } from '../../../@types/project-details'\nimport { DescriptionEditTips } from '../../../c/projects/publish-by-steps/description-edit-tips'\nimport { InputCurrency } from '../../../c/std/input-currency'\nimport { InlineErrors } from '../../../c/inline-errors'\nimport { TextareaHtmlEditor } from '../../../c/std/textarea-html-editor'\nimport { InputFindLocation } from '../../../c/std/input-find-location'\nimport { City } from '../../../@types/city'\nimport { PreviewProjectPage } from '../../../c/projects/publish-by-steps/preview-project-page'\nimport { InputPermalink } from '../../../c/projects/publish-by-steps/input-permalink'\nimport { AmountEditTips } from '../../../c/projects/publish-by-steps/amount-edit-tips'\n\n\nexport type DescriptionEditAttrs = {\n project: ProjectDetails\n isSaving: boolean\n save(goNext: boolean): Promise<void>\n getFieldErrors(field : string): string[]\n hasErrorOn(field : string): boolean\n}\n\nexport type DescriptionEditState = {\n showPreview(newValue?: boolean) : boolean\n showDescriptionTips(newValue?: boolean) : boolean\n showAmountTips(newValue?: boolean) : boolean\n}\n\nexport class DescriptionEdit implements m.Component {\n\n oninit({ attrs, state } : m.Vnode<DescriptionEditAttrs, DescriptionEditState> ) {\n state.showPreview = h.RedrawStream(false)\n state.showDescriptionTips = h.RedrawStream(false)\n state.showAmountTips = h.RedrawStream(false)\n }\n\n view({ attrs, state }: m.Vnode<DescriptionEditAttrs, DescriptionEditState>) {\n\n const project = attrs.project\n const isSaving = attrs.isSaving\n const save = attrs.save\n const getFieldErrors = attrs.getFieldErrors\n const hasErrorOn = attrs.hasErrorOn\n const showPreview = state.showPreview\n const showAmountTips = state.showAmountTips\n const showDescriptionTips = state.showDescriptionTips\n\n return (\n <> \n <PreviewProjectPage show={showPreview()} onClose={() => showPreview(false)} project_id={project.id} />\n\n <div class=\"section\">\n <div class=\"w-container\">\n <div class=\"w-row\">\n <div class=\"w-col w-col-8\">\n <div class=\"card medium card-terciary u-radius w-form\">\n <form>\n <div class=\"title-dashboard\">\n Fale sobre o seu projeto\n </div>\n <div class=\"u-marginbottom-30\">\n <label for=\"name-26\" class=\"field-label fontweight-semibold u-marginbottom-10\">\n Quanto você quer arrecadar?\n </label>\n <div class=\"u-marginbottom-20 w-row\">\n <div class=\"w-col w-col-3 w-col-small-3 w-col-tiny-3\">\n <div class=\"back-reward-input-reward placeholder\">R$</div>\n </div>\n <div class=\"w-col w-col-9 w-col-small-9 w-col-tiny-9\">\n <InputCurrency \n class={`${hasErrorOn('goal') ? 'error' : ''}`} \n value={project.goal}\n placeholder='0,00'\n onValueChange={newValue => project.goal = newValue} \n onfocus={(event : Event) => {\n showAmountTips(true)\n }}\n onblur={(event : Event) => {\n showAmountTips(false)\n }}\n />\n <InlineErrors messages={getFieldErrors('goal')} />\n </div>\n </div>\n </div>\n <div class=\"u-marginbottom-30\">\n <label for=\"name\" class=\"field-label fontweight-semibold u-marginbottom-10\">\n Descrição do projeto\n </label>\n <TextareaHtmlEditor \n html={project.about_html} \n class={`${hasErrorOn('about_html') ? 'error' : ''}`}\n onChange={(newHtml : string) => {\n project.about_html = newHtml\n }}\n onfocus={(event : Event) => {\n showDescriptionTips(true)\n }}\n onblur={(event : Event) => {\n showDescriptionTips(false)\n }} />\n <InlineErrors messages={getFieldErrors('about_html')} />\n </div>\n <div class=\"u-marginbottom-30 w-row\">\n <div class=\"_w-sub-col w-col w-col-5\">\n <label for=\"name-7\" class=\"field-label fontweight-semibold\">Link do projeto</label></div>\n <div class=\"w-col w-col-7\">\n <div class=\"w-row\">\n <div class=\"text-field prefix no-hover w-col w-col-4 w-col-small-6 w-col-tiny-6\">\n <div class=\"fontcolor-secondary u-text-center fontsize-smallest\">catarse.me/</div>\n </div>\n <div class=\"w-col w-col-8 w-col-small-6 w-col-tiny-6\">\n <InputPermalink \n autoResetLastValidValue={false}\n class={`${hasErrorOn('permalink') ? 'error' : ''}`} \n currentPermalink={project.permalink} \n onChange={(newPermalink : string) => project.permalink = newPermalink}\n onValidChange={(newPermalink : string) => project.permalink = newPermalink} />\n </div>\n </div>\n <InlineErrors messages={getFieldErrors('permalink')} />\n </div>\n </div>\n <div class=\"u-marginbottom-30\">\n <div class=\"w-row\">\n <div class=\"w-col w-col-5\">\n <label for=\"name-9\" class=\"field-label fontweight-semibold\">\n Local do projeto\n <br />\n </label>\n </div>\n <div class=\"w-col w-col-7\">\n <InputFindLocation \n class={`${hasErrorOn('city_id') ? 'error' : ''}`} \n city_id={project.city_id} \n onSelect={(city : City) => project.city_id = Number(city.id)}/>\n <InlineErrors messages={getFieldErrors('city_id')} />\n </div>\n </div>\n </div>\n\n {\n isSaving ?\n h.loader()\n :\n <>\n <div class=\"u-margintop-40 u-marginbottom-20 w-row\">\n <div class=\"w-col w-col-2\"></div>\n <div class=\"w-col w-col-8\">\n <a onclick={async () => await save(true)} href=\"#description\" class=\"btn btn-large\">\n Próximo >\n </a>\n </div>\n <div class=\"w-col w-col-2\"></div>\n </div>\n <div class=\"w-row\">\n <div class=\"w-col w-col-2\"></div>\n <div class=\"w-col w-col-4\">\n <a onclick={async () => {\n await save(false)\n showPreview(true)\n }} href=\"#description\" class=\"btn btn-medium btn-terciary\" data-ix=\"show-modal\" style=\"transition: all 0.5s ease 0s;\">\n Ver página\n </a>\n </div>\n <div class=\"w-col w-col-4\">\n <a onclick={async () => await save(false)} href=\"#description\" class=\"btn btn-medium btn-terciary\" data-ix=\"show-modal\" style=\"transition: all 0.5s ease 0s;\">\n Salvar\n </a>\n </div>\n <div class=\"w-col w-col-2\"></div>\n </div>\n </>\n }\n </form>\n </div>\n <div class=\"u-text-center u-margintop-20 fontsize-smaller\">\n <a href=\"#card\" class=\"link-hidden-dark\">\n < Voltar\n </a>\n </div>\n </div>\n\n <div class=\"w-col w-col-4 w-hidden-tiny w-hidden-small\">\n <AmountEditTips show={showAmountTips()} />\n <DescriptionEditTips show={showDescriptionTips()} />\n </div>\n </div>\n </div>\n </div>\n </>\n )\n }\n}","import m from 'mithril'\nimport { ProjectDetails } from '../../../@types/project-details'\n\nexport type AskAboutRewardAttrs = {\n project: ProjectDetails\n}\n\nexport class AskAboutReward implements m.Component {\n view({ attrs } : m.Vnode<AskAboutRewardAttrs>) {\n\n const project = attrs.project\n const userName = attrs.project.user?.public_name\n const askTo = userName || project.name\n\n return (\n <div class=\"section\">\n <div class=\"w-container\">\n <div class=\"w-row\">\n <div class=\"w-col w-col-2\"></div>\n <div class=\"w-col w-col-8\">\n <div class=\"card medium card-terciary u-marginbottom-20\">\n <div class=\"title-dashboard\">\n Você quer oferecer recompensas?\n <br/>\n </div>\n <div class=\"w-row\">\n <div class=\"w-col w-col-1\"></div>\n <div class=\"w-col w-col-10\">\n <div class=\"fontsize-base u-text-center\">\n Recompensas são uma funcionalidade opcional do Catarse, onde você pode oferecer algo em troca do apoio feito pelas pessoas. Se você quiser, pode publicar seu projeto sem recompensas e adicioná-las depois.\n </div>\n </div>\n <div class=\"w-col w-col-1\"></div>\n </div>\n <div class=\"u-margintop-40 u-marginbottom-20 w-row\"> \n <div class=\"w-col w-col-6 w-sub-col u-marginbottom-20\">\n <a href=\"#rewards\" class=\"btn btn-large btn-terciary\">\n Adicionar recompensas\n </a>\n </div>\n <div class=\"w-col w-col-6\">\n <a href=\"#user\" class=\"btn btn-large\">\n Seguir sem recompensas\n </a>\n </div>\n </div>\n </div>\n </div>\n <div class=\"w-col w-col-2\"></div>\n </div>\n </div>\n </div>\n )\n }\n}","import m from 'mithril'\n\nexport class RewardsEditTips implements m.Component {\n view({ attrs }) {\n return (\n <div class=\"dashboard-column-tips\">\n <div class=\"card card-secondary\">\n <div>\n <div class=\"arrow-left\"></div>\n <img src=\"https://s3.amazonaws.com/cdn.catarse/assets/rafa.png\" alt=\"\" class=\"thumb small u-round u-right\" />\n <div class=\"fontsize-smallest\">\n Dicas do Rafa, nosso especialista\n </div>\n </div>\n </div>\n <div class=\"card\">\n <div class=\"fontsize-smaller u-marginbottom-20\">\n Algumas dicas valiosas para a criação de recompensas:\n </div>\n <div class=\"fontsize-smaller u-marginbottom-10\">\n <span class=\"fa fa-check fa-fw\" aria-hidden=\"true\"></span>\n Prefira sempre recompensas virtuais, como participação em grupos de discussão, mensagem de agradecimento, foto digital, etc\n </div>\n <div class=\"fontsize-smaller u-marginbottom-10\">\n <span class=\"fa fa-check fa-fw\" aria-hidden=\"true\"></span>\n Tente não ultrapassar 5 a 7 recompensas ofertadas. Muitas opções podem causar confusão para seus apoiadores\n </div>\n <div class=\"fontsize-smaller u-marginbottom-10\">\n <span class=\"fa fa-check fa-fw\" aria-hidden=\"true\"></span>\n Ofereça recompensas variadas, com valores justos e realistas. Um exemplo poderia ser R$10, R$30, R$50, R$100, R$500 e acima de R$1.000\n </div>\n <div class=\"fontsize-smaller u-marginbottom-10\">\n <span class=\"fa fa-check fa-fw\" aria-hidden=\"true\"></span>\n Se for optar por oferecer recompensas físicas, tenha certeza de que o processo de produção e orçamento estão bem mapeados. \n </div>\n </div>\n </div>\n )\n }\n}","import m from 'mithril'\nimport { RewardsEditTips } from '../../../c/projects/publish-by-steps/rewards-edit-tips'\nimport { RewardsEditList } from '../../../c/projects/edit/rewards-edit-list'\nimport { ProjectDetails } from '../../../@types/project-details'\nimport h from '../../../h'\n\nexport type RewardsEditAttrs = {\n project: ProjectDetails\n}\n\nexport class RewardsEdit implements m.Component {\n view({ attrs } : m.Vnode<RewardsEditAttrs>) {\n const project = attrs.project\n\n return (\n <div class=\"section\">\n <div class=\"w-container\">\n <div class=\"w-row\">\n <div class=\"w-col w-col-8\">\n <div class=\"card card-terciary u-radius\">\n <div class=\"title-dashboard\">\n Adicione suas recompensas\n </div>\n \n <RewardsEditList \n project_id={project.project_id}\n user_id={project.user_id}\n project={(newData? : ProjectDetails) => project}\n error={h.RedrawStream('')}\n errors={h.RedrawStream('')}\n showSuccess={h.RedrawStream(false)}\n loading={h.RedrawStream(false)} />\n\n <div class=\"u-margintop-40 u-marginbottom-20 w-row\">\n <div class=\"w-col w-col-2\"></div>\n <div class=\"w-col w-col-8\">\n <a href=\"#user\" class=\"btn btn-large\">\n Próximo >\n </a>\n </div>\n <div class=\"w-col w-col-2\"></div>\n </div>\n </div>\n <div class=\"u-text-center u-margintop-20 fontsize-smaller\">\n <a href=\"#ask-about-reward\" class=\"link-hidden-dark\">\n < Voltar\n </a>\n </div>\n </div>\n <div class=\"w-col w-col-4 w-hidden-small w-hidden-tiny\">\n <RewardsEditTips />\n </div>\n </div>\n </div>\n </div>\n )\n }\n}","import m from 'mithril'\n\nexport class UserInfoEditPublicProfileTips implements m.Component {\n view({ attrs }) {\n return (\n <div class=\"dashboard-column-tips internet\">\n <div class=\"card card-secondary\">\n <div>\n <div class=\"arrow-left\"></div>\n <img src=\"https://s3.amazonaws.com/cdn.catarse/assets/rafa.png\" alt=\"\" class=\"thumb small u-round u-right\" />\n <div class=\"fontsize-smallest\">\n Dicas do Rafa, nosso especialista\n </div>\n </div>\n </div>\n <div class=\"card\">\n <div class=\"fontsize-smallest\">\n Apoiadores querem conhecer melhor quem está por trás do projeto. Links que ajudam a contar sua história são sempre bem vindos (seu site, perfis em mídias sociais, alguma matéria legal sobre você, uma entrevista). Procure informar no máximo 3 links, para ficar sucinto!\n </div>\n </div>\n </div>\n )\n }\n}","import m from 'mithril'\n\nexport class UserInfoEditSettingsTips implements m.Component {\n view({attrs}) {\n return (\n <div class=\"dashboard-column-tips admin\">\n <div class=\"card card-secondary\">\n <div>\n <div class=\"arrow-left\"></div>\n <img src=\"https://s3.amazonaws.com/cdn.catarse/assets/rafa.png\" alt=\"\" class=\"thumb small u-round u-right\" />\n <div class=\"fontsize-smallest\">\n Dicas do Rafa, nosso especialista\n </div>\n </div>\n </div>\n <div class=\"card\">\n <div class=\"fontsize-smallest\">\n Os dados do responsável pelo projeto precisam ser os mesmos dados do dono da conta bancária que irá receber o dinheiro arrecadado. Esses dados não podem ser alterados após a publicação do projeto!\n </div>\n </div>\n </div>\n )\n }\n}","import m from 'mithril'\nimport { UserDetails } from '../../../@types/user-details'\nimport { InputImageFile } from '../../std/input-image-file'\nimport { Event } from '../../../@types/event-target'\nimport { InlineErrors } from '../../inline-errors'\n\nexport type UserInfoEditPublicProfileAttrs = {\n hasErrorOn(field : string)\n getErrorsOn(field : string): string[]\n user: UserDetails\n onSelectProfileImage(profileImageFile : File): void\n}\n\nexport type UserInfoEditPublicProfileState = {\n selectedProfileImageFile: File | null\n imageBlobUrl: string\n}\n\nexport class UserInfoEditPublicProfile implements m.Component {\n view({ attrs, state } : m.Vnode<UserInfoEditPublicProfileAttrs, UserInfoEditPublicProfileState>) {\n const user = attrs.user\n const hasErrorOn = attrs.hasErrorOn\n const getErrorsOn = attrs.getErrorsOn\n const onSelectProfileImage = attrs.onSelectProfileImage\n const profileImageUrl = state.imageBlobUrl || user.profile_img_thumbnail\n const onClickToAddNewLink = (event : Event) => {\n const links = user.links || []\n user.links = links\n const newLink = { link: '' }\n links.push(newLink as any)\n }\n const onClickRemoveLink = (link : { id: number, link: string }, index : number) => {\n if (link.id > 0) {\n link['invisible'] = true\n link['_destroy'] = 1\n } else {\n user.links.splice(index, 1)\n }\n }\n\n return (\n <div class=\"card medium card-terciary u-marginbottom-20\">\n <div class=\"title-dashboard\">\n Agora fale sobre você\n </div>\n <div class=\"w-form\">\n <form id=\"public-profile-form-id\">\n <div class=\"u-marginbottom-30 w-row\">\n <div class=\"_w-sub-col w-col w-col-5\">\n <label for=\"name-11\" class=\"fontweight-semibold fontsize-base\">\n Nome público\n </label>\n <label for=\"name-11\" class=\"field-label fontsize-smallest fontcolor-secondary\">\n Esse é o nome que os usuários irão ver no seu perfil\n </label>\n </div>\n <div class=\"w-col w-col-7\">\n <input \n oninput={(event : Event) => user.public_name = event.target.value} \n value={user.public_name} \n type='text'\n id='public-name-id'\n name='public-name'\n class={`text-field positive w-input ${hasErrorOn('public_name') ? 'error' : ''}`} />\n <InlineErrors messages={getErrorsOn('public_name')} />\n </div>\n </div>\n <div class=\"u-marginbottom-20 w-row\">\n <div class=\"_w-sub-col w-col w-col-5\">\n <label for=\"name-11\" class=\"fontweight-semibold fontsize-base\">\n Imagem do perfil \n <span class=\"fontcolor-terciary\">\n (opcional)\n </span>\n </label>\n <label for=\"name-11\" class=\"field-label fontsize-smallest fontcolor-secondary\">\n Essa imagem será utilizada como a miniatura de seu perfil (PNG, JPG)\n </label>\n </div>\n <div class=\"_w-sub-col w-col w-col-4\">\n <InputImageFile \n oninput={(event : Event<HTMLInputElement> ) => {\n if (event.target.files && event.target.files.length > 0) {\n state.selectedProfileImageFile = event.target.files[0]\n onSelectProfileImage(state.selectedProfileImageFile)\n\n if (profileImageUrl && profileImageUrl.indexOf('blob') >= 0) {\n URL.revokeObjectURL(profileImageUrl)\n }\n\n state.imageBlobUrl = URL.createObjectURL(state.selectedProfileImageFile)\n }\n }}\n class='btn btn-small btn-dark' >\n Escolher arquivo\n </InputImageFile>\n {\n profileImageUrl && profileImageUrl.length &&\n <div class=\"input file optional user_uploaded_image field_with_hint\">\n <img alt=\"Avatar do Usuario\" src={profileImageUrl} />\n </div>\n }\n </div>\n <div class=\"w-col w-col-3\">\n <div class=\"fontsize-smallest fontcolor-secondary\" style='padding-left: 4px;'>\n {\n state.selectedProfileImageFile ?\n state.selectedProfileImageFile.name\n :\n 'Nenhum arquivo escolhido'\n }\n </div>\n </div>\n </div>\n <div class=\"u-marginbottom-10 w-row\">\n <div class=\"_w-sub-col w-col w-col-5\">\n <label for=\"name-11\" class=\"fontweight-semibold field-label\">\n Presença na internet \n <span class=\"fontcolor-terciary\">\n (opcional)\n </span>\n </label>\n <label for=\"name-11\" class=\"field-label fontsize-smallest fontcolor-secondary\">\n Inclua links que ajudem apoiadores a te conhecer melhor.\n <br />\n </label>\n </div>\n <div class=\"w-col w-col-7\">\n {\n user.links && user.links.filter(l => !l['invisible']).map((link, index) => (\n <div class=\"w-row\">\n <div class=\"_w-sub-col-middle w-col w-col-10 w-col-small-10 w-col-tiny-10\">\n <input value={link.link} oninput={(event:Event) => link.link = event.target.value} type=\"text\" class=\"text-field positive w-input\" name={`link-${index}`} id={index} required />\n </div>\n <div class=\"w-col w-col-2 w-col-small-2 w-col-tiny-2\">\n <span onclick={() => onClickRemoveLink(link, index)} class=\"btn btn-small btn-terciary fa fa-lg fa-trash btn-no-border\" aria-hidden=\"true\"></span>\n </div>\n </div>\n ))\n }\n <div class=\"w-row\">\n <div class=\"w-col w-col-6\"></div>\n <div class=\"w-col w-col-6\">\n <span onclick={onClickToAddNewLink} class=\"btn btn-small btn-terciary\">\n + Adicionar link\n </span>\n </div>\n </div>\n </div>\n </div>\n </form>\n </div>\n </div>\n\n )\n }\n}","import m from 'mithril';\nimport prop from 'mithril/stream';\nimport _ from 'underscore';\nimport { StreamType } from '../../../@types/reward-details-stream';\nimport { UserDetails } from '../../../@types/user-details';\nimport { State } from '../../../@types/state';\nimport h from '../../../h';\nimport addressVM from '../../../vms/address-vm';\nimport { InlineErrors } from '../../inline-errors';\nimport UserSettingsAddress from '../../user-settings-address';\nimport UserSettingsResponsible from '../../user-settings-responsible';\nimport { UserAddress } from '../../../@types/user-address';\nimport moment from 'moment';\n\nexport type UserInfoEditSettingsAttrs = {\n hasErrorOn(field : string): boolean\n getErrorsOn(field : string): string[]\n user: UserDetails\n}\n\nexport type UserInfoEditSettingsState = {\n parsedErrors: {\n hasError(field : string) : void\n inlineError(field : string): JSX.Element\n },\n fields: StreamType<{\n account_type: StreamType<string>\n name: StreamType<string>\n owner_document: StreamType<string>\n birth_date: StreamType<string>\n state_inscription: StreamType<string>\n }>\n disableFields: boolean\n applyDocumentMask(newData : string): string\n applyBirthDateMask(newData : string): string\n addVM: StreamType<any>\n}\n\nexport class UserInfoEditSettings implements m.Component {\n\n oninit({attrs, state} : m.Vnode<UserInfoEditSettingsAttrs, UserInfoEditSettingsState>) {\n const hasErrorOn = attrs.hasErrorOn\n const getErrorsOn = attrs.getErrorsOn\n const user = attrs.user\n user.address = user.address || {\n address_number: '',\n address_complement: '',\n address_neighbourhood: '',\n phone_number: '',\n country_id: 36,\n address_street: '',\n address_city: '',\n address_state: '',\n address_zip_code: '',\n } as UserAddress\n const errors = {\n addressStreet: prop(false),\n addressNeighbourhood: prop(false),\n addressCity: prop(false),\n stateID: prop(false),\n addressZipCode: prop(false),\n phoneNumber: prop(false),\n addressState: prop(false),\n countryID: prop(false),\n addressNumber: prop(false),\n addressComplement: prop(false),\n }\n\n const parsedErrors = {\n hasError: (field : string) => {\n switch(field) {\n case 'address_zip_code': {\n errors.addressZipCode(hasErrorOn(field))\n break;\n }\n case 'phone_number': {\n errors.phoneNumber(hasErrorOn(field))\n break;\n }\n case 'address_state': {\n errors.addressState(hasErrorOn(field))\n break;\n }\n case 'address_street': {\n errors.addressStreet(hasErrorOn(field))\n break;\n }\n case 'address_neighbourhood': {\n errors.addressNeighbourhood(hasErrorOn(field))\n break;\n }\n case 'address_city': {\n errors.addressCity(hasErrorOn(field))\n break;\n }\n case 'state_id': {\n errors.stateID(hasErrorOn(field))\n break;\n }\n case 'country_id': {\n errors.countryID(hasErrorOn(field))\n break;\n }\n case 'address_number': {\n errors.addressNumber(hasErrorOn(field))\n break;\n }\n case 'address_complement': {\n errors.addressComplement(hasErrorOn(field))\n break;\n }\n\n case 'owner_document': {\n return hasErrorOn('cpf')\n }\n case 'state': {\n errors.addressState(hasErrorOn('address_state'))\n return hasErrorOn('address_state')\n }\n case 'street': {\n errors.addressStreet(hasErrorOn('address_street'))\n return hasErrorOn('address_street')\n }\n case 'number': {\n errors.addressNumber(hasErrorOn('address_number'))\n return hasErrorOn('address_number')\n }\n case 'neighbourhood': {\n errors.addressNeighbourhood(hasErrorOn('address_neighbourhood'))\n return hasErrorOn('address_neighbourhood')\n }\n case 'city': {\n errors.addressCity(hasErrorOn('address_city'))\n return hasErrorOn('address_city')\n }\n case 'zipcode': {\n errors.addressZipCode(hasErrorOn('address_zip_code'))\n return hasErrorOn('address_zip_code')\n }\n case 'phonenumber': {\n errors.phoneNumber(hasErrorOn('phone_number'))\n return hasErrorOn('phone_number')\n }\n }\n\n return hasErrorOn(field)\n },\n inlineError: (field : string) => {\n switch(field) {\n case 'owner_document':\n return <InlineErrors messages={getErrorsOn('cpf')} /> \n }\n return <InlineErrors messages={getErrorsOn(field)} />\n }\n }\n\n const userFieldsNames = [\n 'account_type',\n 'name',\n 'owner_document',\n 'birth_date',\n 'state_inscription',\n ]\n\n const fields = prop(objectOfStreamsFromPOJO(user, userFieldsNames)) as any\n\n const hasContributedOrPublished = user.total_contributed_projects >= 1 || user.total_published_projects >= 1\n const disableFields = user.is_admin_role ? false : (hasContributedOrPublished && !_.isEmpty(user.name) && !_.isEmpty(user.owner_document))\n \n const birthDayMask = _.partial(h.mask, '99/99/9999') as (newData : string) => string\n const documentMask = _.partial(h.mask, '999.999.999-99') as (newData : string) => string\n const documentCompanyMask = _.partial(h.mask, '99.999.999/9999-99') as (newData : string) => string\n \n const hasBirthDate = !!fields().birth_date()\n if (hasBirthDate) {\n fields().birth_date(h.momentify(fields().birth_date() || moment()))\n }\n\n const applyBirthDateMask = _.compose(fields().birth_date, birthDayMask) as (newData : string) => string\n const applyDocumentMask = (value : string) => {\n if (fields().account_type() != 'pf') {\n fields().owner_document(documentCompanyMask(value));\n } else {\n fields().owner_document(documentMask(value));\n }\n \n h.redraw()\n\n return fields().owner_document()\n }\n \n state.parsedErrors = parsedErrors\n state.fields = fields\n state.disableFields = disableFields\n state.applyBirthDateMask = applyBirthDateMask\n state.applyDocumentMask = applyDocumentMask\n state.addVM = addViewModel()\n\n function addViewModel() {\n\n const statesProp = prop<State[]>([])\n\n const fieldsMap = {\n addressZipCode: 'address_zip_code',\n phoneNumber: 'phone_number',\n addressState: 'address_state',\n addressStreet: 'address_street',\n addressNeighbourhood: 'address_neighbourhood',\n addressCity: 'address_city',\n stateID: 'state_id',\n countryID: 'country_id',\n addressNumber: 'address_number',\n addressComplement: 'address_complement',\n }\n\n const newMappedFields = Object.keys(fieldsMap).reduce((mappedFields, fieldNameToMap) => {\n mappedFields[fieldNameToMap] = mapFieldToProp(fieldsMap[fieldNameToMap])\n return mappedFields;\n }, {})\n\n function mapFieldToProp(field : string) {\n return (data? : string) => {\n if (typeof data !== 'undefined') {\n user.address[field] = data\n WhenChangeNationality(user, statesProp)\n }\n return user.address[field]\n }\n }\n\n newMappedFields['states'] = statesProp\n newMappedFields['errors'] = errors\n\n return (data? : any) => {\n return {\n fields: newMappedFields,\n }\n }\n }\n }\n\n view({attrs, state} : m.Vnode<UserInfoEditSettingsAttrs, UserInfoEditSettingsState>) {\n\n const user = attrs.user\n const parsedErrors = state.parsedErrors\n const fields = state.fields\n const disableFields = state.disableFields\n const applyBirthDateMask = state.applyBirthDateMask\n const applyDocumentMask = state.applyDocumentMask\n const addVM = state.addVM\n\n return (\n <>\n <UserSettingsResponsible \n parsedErrors={parsedErrors}\n fields={fields}\n user={user}\n disableFields={disableFields}\n applyDocumentMask={applyDocumentMask}\n applyBirthDateMask={applyBirthDateMask}\n />\n <UserSettingsAddress \n addVM={addVM}\n parsedErrors={parsedErrors}\n />\n </>\n )\n }\n}\n\nfunction objectOfStreamsFromPOJO(obj = {}, fields : string[]) {\n const objStreams = {}\n\n for (const field of fields) {\n // objStreams[field] = propFromField(obj, field)\n objStreams[field] = (newData? : any) => {\n if (typeof newData !== 'undefined') {\n objStreams[field]._value = newData\n obj[field] = newData\n }\n \n return objStreams[field]._value\n }\n\n objStreams[field]._value = obj[field]\n }\n\n return objStreams\n}\n\nfunction WhenChangeNationality(user : UserDetails, states: prop<State[]>) : UserAddress {\n const defaultCountryID = 36 // Brasil\n const isInternational = Number(user.address.country_id) !== defaultCountryID\n\n if (!_.isEmpty(states()) && !isInternational) {\n const countryState = _.first(_.filter(states(), countryState => {\n return user.address.state_id === countryState.id\n }))\n \n if (countryState) {\n user.address.address_state = countryState.acronym\n }\n }\n\n if (isInternational) {\n user.address = {\n country_id: user.address.country_id,\n address_street: user.address.address_street,\n address_city: user.address.address_city,\n address_state: user.address.address_state, \n address_zip_code: user.address.address_zip_code,\n } as UserAddress\n } else {\n user.address = {\n country_id: user.address.country_id,\n address_street: user.address.address_street,\n address_city: user.address.address_city,\n address_state: user.address.address_state, \n address_zip_code: user.address.address_zip_code,\n state_id: user.address.state_id,\n address_number: user.address.address_number,\n address_complement: user.address.address_complement,\n address_neighbourhood: user.address.address_neighbourhood,\n phone_number: user.address.phone_number,\n } as UserAddress\n }\n}","import m from 'mithril'\nimport { UserInfoEditPublicProfileTips } from '../../../c/projects/publish-by-steps/user-info-edit-public-profile-tips'\nimport { UserInfoEditSettingsTips } from '../../../c/projects/publish-by-steps/user-info-edit-settings-tips'\nimport { UserInfoEditPublicProfile } from '../../../c/projects/publish-by-steps/user-info-edit-public-profile'\nimport { UserDetails } from '../../../@types/user-details'\nimport { UserInfoEditSettings } from '../../../c/projects/publish-by-steps/user-info-edit-settings'\nimport h from '../../../h'\n\nexport type UserInfoEditAttrs = {\n user: UserDetails\n save(profileImage? : File): Promise<boolean>\n isSaving: boolean\n hasErrorOn(field : string): boolean\n getErrorsOn(field : string): string[]\n}\n\nexport type UserInfoEditState = {\n selectedProfileImageFile: File | null\n}\n\nexport class UserInfoEdit implements m.Component {\n\n\n view({attrs, state} : m.Vnode<UserInfoEditAttrs, UserInfoEditState>) {\n const user = attrs.user\n const save = attrs.save\n const isSaving = attrs.isSaving\n const hasErrorOn = attrs.hasErrorOn\n const getErrorsOn = attrs.getErrorsOn\n\n return (\n <div class=\"section\">\n <div class=\"w-container\">\n <div class=\"w-row\">\n <div class=\"w-col w-col-8\">\n <UserInfoEditPublicProfile \n user={user} \n hasErrorOn={hasErrorOn}\n getErrorsOn={getErrorsOn}\n onSelectProfileImage={(profileImageFile : File) => {\n state.selectedProfileImageFile = profileImageFile\n }}/>\n </div>\n <div class=\"w-col w-col-4 w-hidden-small w-hidden-tiny\">\n <UserInfoEditPublicProfileTips />\n </div>\n </div>\n <div class=\"w-row\">\n <div class=\"w-col w-col-8\">\n <div class=\"\">\n <UserInfoEditSettings \n user={user}\n hasErrorOn={hasErrorOn}\n getErrorsOn={getErrorsOn} />\n <div class=\"u-margintop-40 u-marginbottom-20 w-row\">\n <div class=\"w-col w-col-2\"></div>\n <div class=\"w-col w-col-8\">\n {\n isSaving ?\n h.loader()\n :\n <a onclick={(event : Event) => {\n save(state.selectedProfileImageFile)\n }} href=\"#user\" class=\"btn btn-large\">\n Próximo >\n </a>\n }\n </div>\n <div class=\"w-col w-col-2\"></div>\n </div>\n </div>\n <div class=\"u-text-center u-margintop-20 fontsize-smaller\">\n <a href=\"#ask-about-reward\" class=\"link-hidden-dark\">\n < Voltar\n </a>\n </div>\n </div>\n <div class=\"w-col w-col-4 w-hidden-small w-hidden-tiny\">\n <UserInfoEditSettingsTips />\n </div>\n </div>\n </div>\n </div>\n )\n }\n}","import m from 'mithril'\nimport { UserDetails } from '../@types/user-details'\nimport h from '../h'\nimport userVM from './user-vm'\nimport { RailsErrors } from '../@types/rails-errors'\nimport _ from 'underscore'\nimport { Subject, Observable } from 'rxjs'\nimport { ThisWindow, I18ScopeType } from '../@types/window'\n\ndeclare var window : ThisWindow\nconst I18nScope = _.partial(h.i18nScope, 'activerecord.errors.models') as (params? : {}) => I18ScopeType;\n\nexport type FieldError = {\n field: string\n messages: string[]\n}\n\ntype PublicProfileImageResponse = {\n cover_image: string | null\n uploaded_image: string | null\n}\n\nexport class UserInfoEditViewModel {\n\n private _isLoading : boolean\n private _isSaving : boolean\n private _user : UserDetails\n private _errors : { [field:string] : string[] }\n private _errorObserver : Subject<FieldError>\n\n constructor(private project_id : number, private user_id : number) {\n this._isLoading = true\n this._isSaving = false\n this._errors = {}\n this._errorObserver = new Subject<FieldError>()\n this.fetchUser()\n }\n\n get isLoading() {\n return this._isLoading\n }\n\n get isSaving() {\n return this._isSaving\n }\n\n get user() : UserDetails {\n return this._user\n }\n\n get error() : Observable<FieldError> {\n return this._errorObserver\n }\n \n getErrors(field : string) : string[] {\n return this._errors[field] || []\n }\n\n hasErrorOn(field : string) : boolean {\n const errors = this._errors[field] || []\n return errors.length > 0\n }\n\n async save(profileImage? : File) : Promise<boolean> {\n \n try {\n this.clearErrors()\n this._isSaving = true\n h.redraw()\n\n if (profileImage) {\n await this.uploadImage(profileImage)\n }\n\n const userSaveAttributes = {\n public_name: this._user.public_name,\n links_attributes: this._user.links,\n cpf: this._user.owner_document,\n name: this._user.name,\n address_attributes: this._user.address,\n account_type: this._user.account_type,\n birth_date: this._user.birth_date,\n state_inscription: this._user.state_inscription,\n publishing_user_settings: true\n }\n\n const requiredFields = [\n 'public_name',\n 'account_type', \n 'name',\n 'cpf',\n 'birth_date',\n ]\n\n let hasEmptyField = false\n\n requiredFields.forEach(field => {\n if (_.isEmpty(userSaveAttributes[field])) {\n this.setErrorOnField(field, this.blankError(field))\n hasEmptyField = true\n }\n })\n\n if (hasEmptyField) {\n console.log(this._errors)\n return false\n }\n\n await this.trySaveUserAttributesAndValidatePublishProject(userSaveAttributes)\n return true\n } catch(e) {\n this.mapRailsErrors(e as RailsErrors)\n return false\n } finally {\n this.tryDispatchErrorDisplay()\n this._isSaving = false\n h.redraw()\n }\n }\n\n private tryDispatchErrorDisplay() {\n if (this.hasError()) {\n for (const field of Object.keys(this._errors)) {\n this._errorObserver.next({ field, messages: this._errors[field] })\n return\n }\n }\n }\n\n private hasError() {\n return Object.keys(this._errors).length > 0\n }\n\n private async uploadImage(profileImage : File) {\n const formData = new FormData()\n formData.append('uploaded_image', profileImage)\n\n try {\n const requestConfig = {\n method: 'POST',\n url: `/users/${this.user.id}/upload_image.json`,\n data: formData,\n config: h.setCsrfToken,\n serialize(data) {\n return data;\n }\n }\n\n const response : PublicProfileImageResponse = await m.request(requestConfig)\n this._user.profile_img_thumbnail = response.uploaded_image\n return true\n } catch(e) {\n throw e\n }\n }\n\n private async fetchUser() {\n try {\n this._isLoading = true\n h.redraw()\n const response : UserDetails[] = await userVM.fetchUser(this.user_id, false)\n this._user = response[0]\n } catch(e) {\n //TODO: handle errors\n } finally {\n this._isLoading = false\n h.redraw()\n }\n }\n\n private async trySaveUserAttributesAndValidatePublishProject(userAttributes : any) {\n const saveRequestConfig = {\n method: 'PUT',\n url: `/users/${this.user_id}.json`,\n data: {\n user: userAttributes\n },\n config: h.setCsrfToken\n }\n\n const validatePublishRequestConfig = {\n method: 'GET',\n url: `/projects/${this.project_id}/validate_publish`,\n config: h.setCsrfToken\n }\n\n const address_state = this.blankError('address_state')\n const hasStateError = this._user.address.state_id === 0 || _.isEmpty(this._user.address.address_state)\n let hasThrown = false\n\n if (hasStateError) {\n delete userAttributes.address_attributes['state_id']\n delete userAttributes.address_attributes['address_state']\n }\n\n try {\n await m.request(saveRequestConfig)\n await m.request(validatePublishRequestConfig)\n if (hasStateError) {\n const errors = {\n errors: [address_state],\n errors_json: JSON.stringify({ address_state })\n }\n hasThrown = true\n throw errors\n }\n } catch(error) {\n const railsErrors = error as RailsErrors\n if (hasStateError && !hasThrown) {\n let errors_json = { address_state }\n let errors = []\n\n try {\n errors_json = JSON.parse(railsErrors.errors_json)\n errors_json.address_state = address_state\n errors = (railsErrors.errors instanceof Array && railsErrors.errors) || []\n } catch(e) {\n errors_json = { address_state }\n errors = []\n }\n\n throw {\n errors: errors.concat([address_state]),\n errors_json: JSON.stringify(errors_json),\n }\n } else {\n throw railsErrors\n }\n }\n\n }\n\n private mapRailsErrors(error : RailsErrors) {\n const railsErrorJson = JSON.parse(error.errors_json)\n Object.keys(railsErrorJson).forEach(field => {\n if (typeof railsErrorJson[field] === 'string') {\n this.setErrorOnField(field, railsErrorJson[field])\n } else {\n for (const message of railsErrorJson[field]) {\n this.setErrorOnField(field, message)\n }\n }\n })\n }\n\n private setErrorOnField(field : string, message : string) {\n this._errors[field] = (this._errors[field] || []).concat(message)\n }\n \n private clearErrors() {\n this._errors = {}\n }\n\n private blankError(field : string) {\n return window.I18n.t(`user.attributes.${field}.blank`, I18nScope())\n }\n\n}","import m from 'mithril'\n\nimport './todo.css'\n\nexport class Todo implements m.Component {\n view({ attrs }) {\n return (\n <div class=\"section\">\n <div class=\"w-container\">\n <div class=\"w-row\">\n <div class=\"w-col w-col-2\"></div>\n <div class=\"w-col w-col-8\">\n <div class=\"card medium card-terciary u-marginbottom-20\">\n <div class=\"title-dashboard\">\n Sua campanha está no ar.\n <br />\n Vamos agora receber doações.\n <br />\n </div>\n <div class=\"w-row\">\n <div class=\"w-col w-col-2\"></div>\n <div class=\"w-col w-col-8\">\n <ul role=\"list\" class=\"list-dashboard\">\n <li class=\"list-dashboard-item\">\n <span class=\"fa fa-check-circle list-dashboard\" aria-hidden=\"true\"></span>\n Comece sua campanha\n </li>\n <li class=\"list-dashboard-item\">\n Compartilhe com 3 a 5 amigos e peça para eles te ajudarem a divulgar\n </li>\n <li class=\"list-dashboard-item\">\n Faça um post em pelo menos 1 rede social\n </li>\n <li class=\"list-dashboard-item\">\n Envie lembretes para os seus amigos\n </li>\n </ul>\n <div class=\"card u-radius u-margintop-40 card-secondary\">\n <div class=\"w-row\">\n <div class=\"fal fa-hand-holding-usd fa-2x w-col w-col-2 u-marginbottom-10\" aria-hidden=\"true\"></div>\n <div class=\"w-col w-col-10\">\n <div>\n Você poderá enviar as doações para sua conta bancária quando encerrar sua campanha.\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"w-col w-col-2\"></div>\n </div>\n <div class=\"u-margintop-40 u-marginbottom-20 w-row\">\n <div class=\"w-col w-col-2\"></div>\n <div class=\"w-col w-col-8\">\n <a href=\"#share\" class=\"btn btn-large\">\n Comece a compartilhar\n </a>\n </div>\n <div class=\"w-col w-col-2\"></div>\n </div>\n </div>\n </div>\n <div class=\"w-col w-col-2\"></div>\n </div>\n </div>\n </div>\n )\n }\n}","import m from 'mithril'\nimport { ProjectDetails } from '../../../@types/project-details'\nimport h from '../../../h'\n\nexport type ShareAttrs = {\n project: ProjectDetails\n}\n\nexport type ShareState = {\n projectUrlElement: HTMLInputElement\n copyLinkText: string\n}\n\nexport class Share implements m.Component {\n view({ attrs, state } : m.Vnode<ShareAttrs, ShareState>) {\n \n const project = attrs.project\n const projectUrl = `${window.location.origin}/${project.permalink}`\n const copyToClipboard = (copyText : HTMLInputElement) => {\n copyText.focus()\n copyText.select()\n copyText.setSelectionRange(0, 99999)\n document.execCommand('copy')\n }\n\n const projectUrlEncoded = encodeURIComponent(projectUrl)\n const facebookShareLink = `${projectUrl}?utm_source=facebook.com&utm_medium=social&utm_campaign=project_share_simplified`\n const messengerShareLink = `${projectUrl}?utm_source=facebook.com&utm_medium=messenger&utm_campaign=project_share_simplified`\n const whatsappShareLink = h.isMobile() ? `whatsapp://send?text=${encodeURIComponent(`Eu adoraria se você pudesse dar uma olhada no meu projeto no Catarse. Sua ajuda significa muito pra mim: ${projectUrl}?utm_source=whatsapp&utm_medium=social&utm_campaign=project_share_simplified`)}` : `https://api.whatsapp.com/send?text=${encodeURIComponent(`Eu adoraria se você pudesse dar uma olhada no meu projeto no Catarse. Sua ajuda significa muito pra mim: ${projectUrl}?utm_source=whatsapp&utm_medium=social&utm_campaign=project_share_simplified`)}`\n const twitterShareLink = `https://twitter.com/intent/tweet?original_referer=${projectUrlEncoded}&ref_src=twsrc%5Etfw&text=${encodeURIComponent(`Ajude meu projeto ${project.name} no @catarse`)}&tw_p=tweetbutton&url=${projectUrlEncoded}%3Futm_source%3Dtwitter.com%26utm_medium%3Dsocial%26utm_campaign%3Dproject_share_simplified&via=catarse`\n const emailShareLink = `mailto:?subject=${encodeURIComponent(`Ajude meu projeto ${project.name} no Catarse`)}&body=${encodeURIComponent(`Eu adoraria se você pudesse dar uma olhada no meu projeto no Catarse. Sua ajuda significa muito pra mim: ${projectUrl}?utm_source=email&utm_medium=social&utm_campaign=project_share_simplified.`)}`\n\n const facebookShare = () => shareSocial(false, facebookShareLink)\n const messengerShare = () => shareSocial(true, messengerShareLink)\n const shareSocial = (messager : boolean, url : string) => {\n if (FB) {\n FB.ui({\n method: messager ? 'send' : 'share',\n link: url,\n href: url,\n display: 'popup',\n });\n }\n }\n\n const projectCopyUrl = `${projectUrl}?utm_source=project_dashboard&utm_medium=copy_link&utm_campaign=project_share_simplified`\n const copyLinkText = state.copyLinkText || 'Copiar'\n const onClickToCopyProjectUrl = () => {\n state.copyLinkText = 'Link copiado!'\n copyToClipboard(state.projectUrlElement)\n h.redraw()\n }\n return (\n <div class=\"section\">\n <div class=\"w-container u-marginbottom-80\">\n <div class=\"w-row\">\n <div class=\"w-col w-col-2\"></div>\n <div class=\"w-col w-col-8\">\n <div class=\"card medium card-terciary u-marginbottom-20\">\n <div class=\"title-dashboard\">\n Compartilhe sua campanha\n <br/>\n </div>\n <div class=\"w-row\">\n <div class=\"w-col w-col-1\"></div>\n <div class=\"w-col w-col-10\">\n <div class=\"fontsize-small\">\n <strong>\n Dica:\n </strong>\n Peça para 3 a 5 pessoas te ajudarem a compartilhar sua campanha. E então compartilhe em suas redes sociais.\n </div>\n <div class=\"divider u-margintop-20 u-marginbottom-20\"></div>\n <div class=\"u-text-center u-marginbottom-30 w-row\">\n <div class=\"w-col w-col-4 w-col-tiny-4\">\n <a href='#share' onclick={facebookShare} class=\"link-hidden-dark fontsize-small w-inline-block\">\n <div class=\"fa fa-facebook-square fa-2x\" aria-hidden=\"true\"></div>\n <div>Facebook</div>\n </a>\n </div>\n <div class=\"w-col w-col-4 w-col-tiny-4\">\n <a href='#share' onclick={messengerShare} class=\"link-hidden-dark fontsize-small w-inline-block\">\n <div class=\"fab fa-2x fa-facebook-messenger\" aria-hidden=\"true\"></div>\n <div>Messenger</div>\n </a>\n </div>\n <div class=\"w-col w-col-4 w-col-tiny-4\">\n <a target='_blank' href={whatsappShareLink} data-action=\"share/whatsapp/share\" class=\"link-hidden-dark fontsize-small w-inline-block\">\n <div class=\"fa fa-2x fa-whatsapp\" aria-hidden=\"true\"></div>\n <div>Whatsapp</div>\n </a>\n </div>\n </div>\n <div class=\"u-text-center w-row\">\n <div class=\"w-col w-col-4 w-col-tiny-4\">\n <a target='_blank' href={twitterShareLink} class=\"link-hidden-dark fontsize-small w-inline-block\">\n <div class=\"fa fa-2x fa-twitter\" aria-hidden=\"true\"></div>\n <div>Twitter</div>\n </a>\n </div>\n <div class=\"w-col w-col-4 w-col-tiny-4\">\n <a target='_blank' href={emailShareLink} class=\"link-hidden-dark fontsize-small w-inline-block\">\n <div class=\"far fa-2x fa-envelope\" aria-hidden=\"true\"></div>\n <div>Email</div>\n </a>\n </div>\n <div class=\"w-col w-col-4 w-col-tiny-4\"></div>\n </div>\n <div class=\"divider u-margintop-20 u-marginbottom-20\"></div>\n <div class=\"w-form\">\n <form id=\"email-form\" name=\"email-form\" data-name=\"Email Form\">\n <div class=\"fontsize-smaller\">\n Link da campanha\n </div>\n <div class=\"w-row\">\n <div class=\"w-col w-col-8\">\n <input \n oncreate={vnode => state.projectUrlElement = vnode.dom as HTMLInputElement}\n style='cursor: text;'\n value={projectCopyUrl} \n oninput={(event : Event) => {\n event.target.value = projectCopyUrl\n }}\n type=\"text\" \n class=\"text-field medium positive w-input\" \n id=\"permalink-campain-id\" />\n </div>\n <div class=\"w-col w-col-4\">\n <span onclick={onClickToCopyProjectUrl} class=\"btn btn-large\">\n {copyLinkText}\n </span>\n </div>\n </div>\n </form>\n </div>\n </div>\n <div class=\"w-col w-col-1\"></div>\n </div>\n </div>\n <a href=\"#share-reminder\" class=\"fontsize-small link-hidden-dark u-right\">\n Próximo >\n </a>\n </div>\n <div class=\"w-col w-col-2\"></div>\n </div>\n </div>\n </div>\n )\n }\n}","import m from 'mithril'\nimport { ProjectDetails } from '../../../@types/project-details'\n\nexport type ShareReminderAttrs = {\n project: ProjectDetails\n}\n\nexport class ShareReminder implements m.Component {\n view({ attrs } : m.Vnode<ShareReminderAttrs> ) {\n const project = attrs.project\n const projectUrl = `/projects/${project.id}/insights`\n\n return (\n <div class=\"section\">\n <div class=\"w-container\">\n <div class=\"w-row\">\n <div class=\"w-col w-col-2\"></div>\n <div class=\"w-col w-col-8\">\n <div class=\"card medium card-terciary u-marginbottom-20\">\n <div class=\"title-dashboard big\">\n Divulgar sua campanha é super importante!\n <br/>\n </div>\n <div class=\"w-row\">\n <div class=\"w-col w-col-1\"></div>\n <div class=\"u-text-center w-col w-col-10\">\n <div class=\"divider u-marginbottom-20\"></div>\n <img src=\"https://uploads-ssl.webflow.com/57ba58b4846cc19e60acdd5b/5ebd042f6f0ebfa4bdb69b7a_Asset%202%403x.png\" width=\"115\" alt=\"\" class=\"u-marginbottom-30 u-margintop-30\" />\n <div class=\"fontsize-small u-marginbottom-30\">\n Você tentou usar todas as opções de compartilhamento? Falar com as pessoas sobre sua campanha é a única forma de começar a receber doações.\n </div>\n <a href=\"#share\" class=\"btn btn-large btn-inline\">\n Voltar e compartilhar mais\n </a>\n </div>\n <div class=\"w-col w-col-1\"></div>\n </div>\n <div class=\"u-text-center u-margintop-30\">\n <a href={projectUrl} class=\"fontsize-small link-hidden-dark\">\n Gerenciar campanha\n </a>\n </div>\n </div>\n </div>\n <div class=\"w-col w-col-2\"></div>\n </div>\n </div>\n </div>\n )\n }\n}","import m from 'mithril'\nimport prop from 'mithril/stream'\nimport _ from 'underscore'\nimport h from '../../../h'\nimport { CardEdit } from './card-edit'\nimport { ProjectPublishByStepsVM } from '../../../vms/project-publish-by-steps-vm'\nimport { DescriptionEdit } from './description-edit'\nimport { AskAboutReward } from './ask-about-reward'\nimport { RewardsEdit } from './rewards-edit'\nimport { UserInfoEdit } from './user-info-edit'\nimport { UserInfoEditViewModel } from '../../../vms/user-info-edit-vm'\nimport { Todo } from './todo'\nimport { Share } from './share'\nimport { ShareReminder } from './share-reminder'\nimport PopNotification from '../../../c/pop-notification'\nimport { ThisWindow, I18ScopeType } from '../../../@types/window'\n\ndeclare var window : ThisWindow\n\nconst I18nScope = _.partial(h.i18nScope, 'activerecord') as (params? : {}) => I18ScopeType;\n\ntype ProjectsPublishByStepsAttrs = {\n project_id: number\n}\n\ntype ProjectsPublishByStepsState = {\n projectPublishByStepsVM: ProjectPublishByStepsVM\n userInfoEditVM: UserInfoEditViewModel\n showPopError: (newData? : boolean) => boolean\n}\n\ntype ProjectsPublishByStepsVnode = m.Vnode<ProjectsPublishByStepsAttrs, ProjectsPublishByStepsState>;\n\nclass ProjectsPublishBySteps implements m.Component<ProjectsPublishByStepsAttrs, ProjectsPublishByStepsState> {\n \n oninit({attrs, state} : ProjectsPublishByStepsVnode) {\n state.projectPublishByStepsVM = new ProjectPublishByStepsVM(attrs.project_id)\n state.userInfoEditVM = new UserInfoEditViewModel(attrs.project_id, h.getUserID())\n state.showPopError = h.RedrawStream(false)\n\n state.projectPublishByStepsVM.error.subscribe(error => {\n h.scrollTop()\n state.showPopError(true)\n })\n\n state.userInfoEditVM.error.subscribe(error => {\n h.scrollTop()\n state.showPopError(true)\n })\n }\n\n view({state} : ProjectsPublishByStepsVnode) {\n const projectPublishByStepsVM = state.projectPublishByStepsVM\n const userInfoEditVM = state.userInfoEditVM\n const showPopError = state.showPopError\n const errorMessage = window.I18n.t('publish_by_steps_fields_errors', I18nScope())\n\n return (\n <>\n <PopNotification error={true} message={errorMessage} toggleOpt={showPopError} />\n {this.renderBody({ projectPublishByStepsVM, userInfoEditVM, showPopError })}\n </>\n )\n }\n\n private renderBody({ projectPublishByStepsVM, userInfoEditVM, showPopError } : ProjectsPublishByStepsState) {\n\n if (projectPublishByStepsVM.isLoadingProject || userInfoEditVM.isLoading) {\n return h.loader()\n } else {\n const hash = window.location.hash\n const project = projectPublishByStepsVM.project\n const publishedNotPermittedSteps = [\n '#card',\n '#description',\n '#ask-about-reward',\n '#rewards',\n '#user',\n ]\n const isNotAllowedToPublishedProjects = publishedNotPermittedSteps.includes(hash)\n\n if (project.is_published && (isNotAllowedToPublishedProjects || hash === '')) {\n window.location.hash = '#to-do'\n h.redraw()\n }\n\n switch(hash) {\n case '#card': {\n return (\n <CardEdit\n project={projectPublishByStepsVM.project}\n isSaving={projectPublishByStepsVM.isSaving}\n save={async coverImageFile => {\n const canProceed = await projectPublishByStepsVM.save(['uploaded_image', 'headline', 'video_url'], ['uploaded_image', 'headline'], coverImageFile)\n if (canProceed) {\n window.location.hash = '#description'\n }\n }}\n hasErrorOn={(field : string) => projectPublishByStepsVM.hasErrorOn(field)}\n getFieldErrors={(field : string) => projectPublishByStepsVM.getErrors(field)} />\n )\n }\n\n case '#description': {\n return (\n <DescriptionEdit \n project={projectPublishByStepsVM.project}\n isSaving={projectPublishByStepsVM.isSaving}\n save={async (goNext : boolean) => {\n const fieldsToSave = ['goal', 'about_html', 'permalink', 'city_id']\n const canProceed = await projectPublishByStepsVM.save(fieldsToSave, fieldsToSave)\n if (canProceed && goNext) {\n window.location.hash = '#ask-about-reward'\n }\n }}\n hasErrorOn={(field : string) => projectPublishByStepsVM.hasErrorOn(field)}\n getFieldErrors={(field : string) => projectPublishByStepsVM.getErrors(field)} />\n )\n }\n\n case '#ask-about-reward': {\n return (\n <AskAboutReward project={projectPublishByStepsVM.project} />\n )\n }\n\n case '#rewards': {\n return (\n <RewardsEdit project={projectPublishByStepsVM.project} />\n )\n }\n\n case '#user': {\n return (\n <UserInfoEdit \n user={userInfoEditVM.user}\n isSaving={userInfoEditVM.isSaving || projectPublishByStepsVM.isSaving}\n hasErrorOn={(field : string) => userInfoEditVM.hasErrorOn(field)}\n getErrorsOn={(field : string) => userInfoEditVM.getErrors(field)}\n save={async (profileImage? : File) => {\n const canProceed = await userInfoEditVM.save(profileImage)\n if (canProceed) {\n await projectPublishByStepsVM.publish()\n window.location.hash = '#to-do'\n }\n }} />\n )\n }\n\n case '#to-do': {\n return (\n <Todo />\n )\n }\n\n case '#share': {\n return (\n <Share project={project} />\n )\n }\n\n case '#share-reminder': {\n return (\n <ShareReminder project={project} />\n )\n }\n \n default: {\n if (project.is_published) {\n window.location.hash = '#to-do'\n } else {\n window.location.hash = '#card'\n }\n }\n }\n }\n }\n}\n\nexport default ProjectsPublishBySteps","import * as root from './modules';\nimport 'babel-polyfill';\n\nexport default { root };\n","/** global CatarseAnalytics */\nimport m from 'mithril';\nimport _ from 'underscore';\nimport h from './h';\nimport c from './c';\n\nlet app = document.getElementById('application');\nlet body = document.body;\n\nexport function wrap(component, customAttr) {\n if (!app) {\n app = document.getElementById('application');\n }\n\n let firstRun = true; // Indica se é a primeira vez q executa um controller.\n return {\n oninit: function (vnode) {\n\n try {\n if (firstRun) {\n firstRun = false;\n } else {\n // só roda se nao for firstRun\n try {\n CatarseAnalytics.pageView(false);\n CatarseAnalytics.origin(); //force update of origin's cookie\n } catch (e) {\n console.error(e);\n }\n }\n const parameters = app.getAttribute('data-parameters') ? JSON.parse(app.getAttribute('data-parameters')) : {};\n let attr = customAttr,\n postParam = m.route.param('post_id') || parameters.post_id,\n projectParam = m.route.param('project_id') || parameters.project_id,\n projectUserIdParam = m.route.param('project_user_id') || parameters.user_id || parameters.project_user_id,\n userParam = m.route.param('user_id') || app.getAttribute('data-userid') || parameters.user_id,\n rewardIdParam = m.route.param('reward_id'),\n surveyIdParam = m.route.param('survey_id'),\n thankYouParam = app && JSON.parse(app.getAttribute('data-contribution'));\n \n const addToAttr = function (newAttr) {\n attr = _.extend({}, newAttr, attr);\n };\n \n if (postParam) {\n addToAttr({ post_id: postParam });\n }\n \n if (projectParam) {\n addToAttr({ project_id: projectParam });\n }\n \n if (userParam) {\n addToAttr({ user_id: userParam });\n }\n \n if (projectUserIdParam) {\n addToAttr({ project_user_id: projectUserIdParam });\n }\n \n if (surveyIdParam) {\n addToAttr({ survey_id: surveyIdParam });\n }\n \n if (rewardIdParam) {\n addToAttr({ reward_id: rewardIdParam });\n }\n \n if (thankYouParam) {\n addToAttr({ contribution: thankYouParam });\n }\n \n if (window.localStorage && window.localStorage.getItem('globalVideoLanding') !== 'true') {\n addToAttr({ withAlert: false });\n }\n \n if (document.getElementById('fixed-alert')) {\n addToAttr({ withFixedAlert: true });\n }\n \n body.className = 'body-project closed';\n \n vnode.state.attr = attr;\n } catch(e) {\n console.log('Error on wrap.oninit:', e);\n }\n },\n oncreate: function(vnode) {\n const hasUnmanagedRootComponent = app && \n app.children.app &&\n app.children.length > 1;\n\n const removeUnmanagedRootComponentFromDom = () => {\n app.removeChild(app.children.app);\n };\n\n if (hasUnmanagedRootComponent) {\n removeUnmanagedRootComponentFromDom();\n }\n },\n view: function ({ state }) {\n const key = 0;\n try {\n return m('div#app', {key}, [\n m(c.root.Menu, state.attr),\n m(component, state.attr),\n state.attr.hideFooter ? '' : m(c.root.Footer, state.attr),\n ]);\n } catch(e) {\n console.log('Error on wrap.view:', e);\n return m('div#app', {key});\n }\n }\n };\n}","import m from 'mithril';\nimport h from './h';\nimport _ from 'underscore';\nimport c from './c';\nimport Chart from 'chart.js';\nimport { wrap } from './wrap';\n\nm.originalTrust = m.trust;\nm.trust = (text) => h.trust(text);\n\n(function () {\n \n window.m = m;\n h.SentryInitSDK();\n\n history.pushState = h.attachEventsToHistory('pushState');\n history.replaceState = h.attachEventsToHistory('replaceState');\n /// Setup an AUTO-SCROLL TOP when change route\n const pushState = history.pushState;\n history.pushState = function () {\n if (typeof window.history.onpushstate == 'function') {\n window.history.onpushstate.apply(history, arguments);\n }\n pushState.apply(history, arguments);\n h.scrollTop();\n };\n \n Chart.defaults.global.responsive = true;\n Chart.defaults.global.responsive = false;\n Chart.defaults.global.scaleFontFamily = 'proxima-nova';\n\n // NOTE: comment when need to use multilanguage i18n support\n window.I18n.defaultLocale = 'pt';\n window.I18n.locale = 'pt';\n\n const adminRoot = document.getElementById('new-admin');\n\n if (adminRoot) {\n const adminWrap = function (component, customAttr) {\n return {\n oninit: function (vnode) {\n const attr = customAttr;\n\n vnode.state = {\n attr,\n };\n },\n view: function ({ state }) {\n const { attr } = state;\n return m('#app', [\n m(c.root.Menu, attr), \n m(component, attr), \n attr.hideFooter ? '' : m(c.root.Footer, attr)\n ]);\n },\n };\n };\n m.route.prefix('#');\n\n m.route(adminRoot, '/', {\n '/': adminWrap(c.root.AdminContributions, { root: adminRoot, menuTransparency: false, hideFooter: true }),\n '/home-banners': adminWrap(c.root.AdminHomeBanners, { menuTransparency: false, hideFooter: true }),\n '/users': adminWrap(c.root.AdminUsers, { menuTransparency: false, hideFooter: true }),\n '/subscriptions': adminWrap(c.root.AdminSubscriptions, { menuTransparency: false, hideFooter: true }),\n '/projects': adminWrap(c.root.AdminProjects, { menuTransparency: false, hideFooter: true }),\n '/notifications': adminWrap(c.root.AdminNotifications, { menuTransparency: false, hideFooter: true }),\n '/balance-transfers': adminWrap(c.root.AdminBalanceTranfers, { menuTransparency: false, hideFooter: true }),\n });\n }\n\n const app = document.getElementById('application'),\n body = document.body;\n\n const urlWithLocale = function (url) {\n return `/${window.I18n.locale}${url}`;\n };\n\n if (app) {\n const rootEl = app,\n isUserProfile =\n body.getAttribute('data-controller-name') == 'users' &&\n body.getAttribute('data-action') == 'show' &&\n app.getAttribute('data-hassubdomain') == 'true';\n\n m.route.prefix('');\n\n /**\n * Contribution/Subscription flow.\n * \n * ProjectShow ->\n * contribution: ProjectsContribution -> ProjectsPayment -> ThankYou\n * subscription: ProjectsSubscriptionContribution -> ProjectsSubscriptionCheckout -> ProjectsSubscriptionThankYou \n */\n\n m.route(rootEl, '/', {\n '/': wrap(isUserProfile ? c.root.UsersShow : c.root.ProjectsHome, { menuTransparency: true, footerBig: true, absoluteHome: isUserProfile }),\n '/explore': wrap(c.root.ProjectsExplore, { menuTransparency: true, footerBig: true }),\n '/start': wrap(c.root.Start, { menuTransparency: true, footerBig: true }),\n '/start-sub': wrap(c.root.SubProjectNew, { menuTransparency: false }),\n '/projects/:project_id/contributions/new': wrap(c.root.ProjectsContribution),\n '/projects/:project_id/contributions/fallback_create': wrap(c.root.ProjectsContribution),\n '/projects/:project_id/contributions/:contribution_id/edit': wrap(c.root.ProjectsPayment, { menuShort: true }),\n '/projects/:project_id/subscriptions/start': wrap(c.root.ProjectsSubscriptionContribution, { menuShort: true, footerBig: false }),\n '/projects/:project_id/subscriptions/checkout': wrap(c.root.ProjectsSubscriptionCheckout, { menuShort: true, footerBig: false }),\n '/projects/:project_id/subscriptions/thank_you': wrap(c.root.ProjectsSubscriptionThankYou, { menuShort: true, footerBig: false }),\n [urlWithLocale('/projects/:project_id/contributions/new')]: wrap(c.root.ProjectsContribution),\n [urlWithLocale('/projects/:project_id/contributions/:contribution_id/edit')]: wrap(c.root.ProjectsPayment, { menuShort: true }),\n [urlWithLocale('/projects/:project_id/subscriptions/start')]: wrap(c.root.ProjectsSubscriptionContribution, { menuShort: true, footerBig: false }),\n [urlWithLocale('/projects/:project_id/subscriptions/checkout')]: wrap(c.root.ProjectsSubscriptionCheckout, { menuShort: true, footerBig: false }),\n [urlWithLocale('/projects/subscriptions/thank_you')]: wrap(c.root.ProjectsSubscriptionThankYou, { menuShort: true, footerBig: false }),\n '/en': wrap(c.root.ProjectsHome, { menuTransparency: true, footerBig: true }),\n '/pt': wrap(c.root.ProjectsHome, { menuTransparency: true, footerBig: true }),\n [urlWithLocale('/flexible_projects')]: wrap(c.root.ProjectsHome, { menuTransparency: true, footerBig: true }),\n [urlWithLocale('/projects')]: wrap(c.root.ProjectsHome, { menuTransparency: true, footerBig: true }),\n '/projects': wrap(c.root.ProjectsHome, { menuTransparency: true, footerBig: true }),\n [urlWithLocale('/explore')]: wrap(c.root.ProjectsExplore, { menuTransparency: true, footerBig: true }),\n [urlWithLocale('/start')]: wrap(c.root.Start, { menuTransparency: true, footerBig: true }),\n [urlWithLocale('/projects/:project_id/contributions/:contribution_id')]: wrap(c.root.ThankYou, { menuTransparency: false, footerBig: false }),\n '/projects/:project_id/contributions/:contribution_id': wrap(c.root.ThankYou, { menuTransparency: false, footerBig: false }),\n '/projects/:project_id/insights': wrap(c.root.Insights, { menuTransparency: false, footerBig: false }),\n [urlWithLocale('/projects/:project_id/insights')]: wrap(c.root.Insights, { menuTransparency: false, footerBig: false }),\n '/projects/:project_id/contributions_report': wrap(c.root.ProjectsContributionReport, { menuTransparency: false, footerBig: false }),\n [urlWithLocale('/projects/:project_id/contributions_report')]: wrap(c.root.ProjectsContributionReport, {\n menuTransparency: false,\n footerBig: false,\n }),\n '/projects/:project_id/subscriptions_report': wrap(c.root.ProjectsSubscriptionReport, { menuTransparency: false, footerBig: false }),\n [urlWithLocale('/projects/:project_id/subscriptions_report')]: wrap(c.root.ProjectsSubscriptionReport, {\n menuTransparency: false,\n footerBig: false,\n }),\n '/projects/:project_id/subscriptions_report_download': wrap(c.root.ProjectsSubscriptionReportDownload, {\n menuTransparency: false,\n footerBig: false,\n }),\n [urlWithLocale('/projects/:project_id/subscriptions_report_download')]: wrap(c.root.ProjectsSubscriptionReportDownload, {\n menuTransparency: false,\n footerBig: false,\n }),\n '/projects/:project_id/surveys': wrap(c.root.Surveys, { menuTransparency: false, footerBig: false, menuShort: true }),\n '/projects/:project_id/fiscal': wrap(c.root.ProjectsFiscal, { menuTransparency: false, footerBig: false, menuShort: true }),\n '/projects/:project_id/posts': wrap(c.root.Posts, { menuTransparency: false, footerBig: false }),\n '/projects/:project_id/posts/:post_id': wrap(c.root.ProjectsShow, { menuTransparency: false, footerBig: true }),\n [urlWithLocale('/projects/:project_id/posts')]: wrap(c.root.Posts, { menuTransparency: false, footerBig: false }),\n [urlWithLocale('/projects/:project_id/posts/:post_id')]: wrap(c.root.ProjectsShow, { menuTransparency: false, footerBig: true }),\n '/projects/:project_id': wrap(c.root.ProjectsShow, { menuTransparency: false, footerBig: false }),\n '/users/:user_id': wrap(c.root.UsersShow, { menuTransparency: true, footerBig: false }),\n [urlWithLocale('/users/:user_id')]: wrap(c.root.UsersShow, { menuTransparency: true, footerBig: false }),\n '/contributions/:contribution_id/surveys/:survey_id': wrap(c.root.SurveysShow, { menuTransparency: false, footerBig: false }),\n [urlWithLocale('/contributions/:contribution_id/surveys/:survey_id')]: wrap(c.root.SurveysShow, { menuTransparency: false, footerBig: false }),\n '/users/:user_id/edit': wrap(c.root.UsersEdit, { menuTransparency: true, footerBig: false }),\n [urlWithLocale('/users/:user_id/edit')]: wrap(c.root.UsersEdit, { menuTransparency: true, footerBig: false }),\n '/projects/:project_id/edit': wrap(c.root.ProjectEdit, { menuTransparency: false, hideFooter: true, menuShort: true }),\n [urlWithLocale('/projects/:project_id/edit')]: wrap(c.root.ProjectEdit, { menuTransparency: false, hideFooter: true, menuShort: true }),\n '/projects/:project_id/rewards/:reward_id/surveys/new': wrap(c.root.SurveyCreate, { menuTransparency: false, hideFooter: true, menuShort: true }),\n [urlWithLocale('/follow-fb-friends')]: wrap(c.root.FollowFoundFriends, { menuTransparency: false, footerBig: false }),\n '/follow-fb-friends': wrap(c.root.FollowFoundFriends, { menuTransparency: false, footerBig: false }),\n [urlWithLocale('/:project')]: wrap(c.root.ProjectsShow, { menuTransparency: false, footerBig: false }),\n '/:project': wrap(c.root.ProjectsShow, { menuTransparency: false, footerBig: false }),\n [urlWithLocale('/team')]: wrap(c.root.Team, { menuTransparency: true, footerBig: true }),\n '/team': wrap(c.root.Team, { menuTransparency: true, footerBig: true }),\n [urlWithLocale('/jobs')]: wrap(c.root.Jobs, { menuTransparency: true, footerBig: true }),\n '/jobs': wrap(c.root.Jobs, { menuTransparency: true, footerBig: true }),\n '/press': wrap(c.root.Press, { menuTransparency: true, footerBig: true }),\n [urlWithLocale('/press')]: wrap(c.root.Press, { menuTransparency: true, footerBig: true }),\n\n [urlWithLocale('/projects/:project_id/publish')]: wrap(c.root.Publish, { menuTransparency: false, hideFooter: true, menuShort: true }),\n ['/projects/:project_id/publish']: wrap(c.root.Publish, { menuTransparency: false, hideFooter: true, menuShort: true }),\n [urlWithLocale('/projects/:project_id/publish-by-steps')]: wrap(c.root.ProjectsPublishBySteps, { menuTransparency: false, hideFooter: true, menuShort: true }),\n ['/projects/:project_id/publish-by-steps']: wrap(c.root.ProjectsPublishBySteps, { menuTransparency: false, hideFooter: true, menuShort: true }),\n });\n }\n})();\n","import * as tslib_1 from \"tslib\";\nimport { consoleSandbox, dynamicRequire, getGlobalObject, isNodeEnv, logger, uuid4 } from '@sentry/utils';\nimport { Scope } from './scope';\n/**\n * API compatibility version of this hub.\n *\n * WARNING: This number should only be incresed when the global interface\n * changes a and new methods are introduced.\n *\n * @hidden\n */\nexport var API_VERSION = 3;\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nvar DEFAULT_BREADCRUMBS = 30;\n/**\n * Absolute maximum number of breadcrumbs added to an event. The\n * `maxBreadcrumbs` option cannot be higher than this value.\n */\nvar MAX_BREADCRUMBS = 100;\n/**\n * @inheritDoc\n */\nvar Hub = /** @class */ (function () {\n /**\n * Creates a new instance of the hub, will push one {@link Layer} into the\n * internal stack on creation.\n *\n * @param client bound to the hub.\n * @param scope bound to the hub.\n * @param version number, higher number means higher priority.\n */\n function Hub(client, scope, _version) {\n if (scope === void 0) { scope = new Scope(); }\n if (_version === void 0) { _version = API_VERSION; }\n this._version = _version;\n /** Is a {@link Layer}[] containing the client and scope */\n this._stack = [];\n this._stack.push({ client: client, scope: scope });\n }\n /**\n * Internal helper function to call a method on the top client if it exists.\n *\n * @param method The method to call on the client.\n * @param args Arguments to pass to the client function.\n */\n Hub.prototype._invokeClient = function (method) {\n var _a;\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var top = this.getStackTop();\n if (top && top.client && top.client[method]) {\n (_a = top.client)[method].apply(_a, tslib_1.__spread(args, [top.scope]));\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.isOlderThan = function (version) {\n return this._version < version;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.bindClient = function (client) {\n var top = this.getStackTop();\n top.client = client;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.pushScope = function () {\n // We want to clone the content of prev scope\n var stack = this.getStack();\n var parentScope = stack.length > 0 ? stack[stack.length - 1].scope : undefined;\n var scope = Scope.clone(parentScope);\n this.getStack().push({\n client: this.getClient(),\n scope: scope,\n });\n return scope;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.popScope = function () {\n return this.getStack().pop() !== undefined;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.withScope = function (callback) {\n var scope = this.pushScope();\n try {\n callback(scope);\n }\n finally {\n this.popScope();\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.getClient = function () {\n return this.getStackTop().client;\n };\n /** Returns the scope of the top stack. */\n Hub.prototype.getScope = function () {\n return this.getStackTop().scope;\n };\n /** Returns the scope stack for domains or the process. */\n Hub.prototype.getStack = function () {\n return this._stack;\n };\n /** Returns the topmost scope layer in the order domain > local > process. */\n Hub.prototype.getStackTop = function () {\n return this._stack[this._stack.length - 1];\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.captureException = function (exception, hint) {\n var eventId = (this._lastEventId = uuid4());\n var finalHint = hint;\n // If there's no explicit hint provided, mimick the same thing that would happen\n // in the minimal itself to create a consistent behavior.\n // We don't do this in the client, as it's the lowest level API, and doing this,\n // would prevent user from having full control over direct calls.\n if (!hint) {\n var syntheticException = void 0;\n try {\n throw new Error('Sentry syntheticException');\n }\n catch (exception) {\n syntheticException = exception;\n }\n finalHint = {\n originalException: exception,\n syntheticException: syntheticException,\n };\n }\n this._invokeClient('captureException', exception, tslib_1.__assign({}, finalHint, { event_id: eventId }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.captureMessage = function (message, level, hint) {\n var eventId = (this._lastEventId = uuid4());\n var finalHint = hint;\n // If there's no explicit hint provided, mimick the same thing that would happen\n // in the minimal itself to create a consistent behavior.\n // We don't do this in the client, as it's the lowest level API, and doing this,\n // would prevent user from having full control over direct calls.\n if (!hint) {\n var syntheticException = void 0;\n try {\n throw new Error(message);\n }\n catch (exception) {\n syntheticException = exception;\n }\n finalHint = {\n originalException: message,\n syntheticException: syntheticException,\n };\n }\n this._invokeClient('captureMessage', message, level, tslib_1.__assign({}, finalHint, { event_id: eventId }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.captureEvent = function (event, hint) {\n var eventId = (this._lastEventId = uuid4());\n this._invokeClient('captureEvent', event, tslib_1.__assign({}, hint, { event_id: eventId }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.lastEventId = function () {\n return this._lastEventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.addBreadcrumb = function (breadcrumb, hint) {\n var top = this.getStackTop();\n if (!top.scope || !top.client) {\n return;\n }\n var _a = (top.client.getOptions && top.client.getOptions()) || {}, _b = _a.beforeBreadcrumb, beforeBreadcrumb = _b === void 0 ? null : _b, _c = _a.maxBreadcrumbs, maxBreadcrumbs = _c === void 0 ? DEFAULT_BREADCRUMBS : _c;\n if (maxBreadcrumbs <= 0) {\n return;\n }\n var timestamp = new Date().getTime() / 1000;\n var mergedBreadcrumb = tslib_1.__assign({ timestamp: timestamp }, breadcrumb);\n var finalBreadcrumb = beforeBreadcrumb\n ? consoleSandbox(function () { return beforeBreadcrumb(mergedBreadcrumb, hint); })\n : mergedBreadcrumb;\n if (finalBreadcrumb === null) {\n return;\n }\n top.scope.addBreadcrumb(finalBreadcrumb, Math.min(maxBreadcrumbs, MAX_BREADCRUMBS));\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setUser = function (user) {\n var top = this.getStackTop();\n if (!top.scope) {\n return;\n }\n top.scope.setUser(user);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setTags = function (tags) {\n var top = this.getStackTop();\n if (!top.scope) {\n return;\n }\n top.scope.setTags(tags);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setExtras = function (extras) {\n var top = this.getStackTop();\n if (!top.scope) {\n return;\n }\n top.scope.setExtras(extras);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setTag = function (key, value) {\n var top = this.getStackTop();\n if (!top.scope) {\n return;\n }\n top.scope.setTag(key, value);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setExtra = function (key, extra) {\n var top = this.getStackTop();\n if (!top.scope) {\n return;\n }\n top.scope.setExtra(key, extra);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setContext = function (name, context) {\n var top = this.getStackTop();\n if (!top.scope) {\n return;\n }\n top.scope.setContext(name, context);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.configureScope = function (callback) {\n var top = this.getStackTop();\n if (top.scope && top.client) {\n callback(top.scope);\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.run = function (callback) {\n var oldHub = makeMain(this);\n try {\n callback(this);\n }\n finally {\n makeMain(oldHub);\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.getIntegration = function (integration) {\n var client = this.getClient();\n if (!client) {\n return null;\n }\n try {\n return client.getIntegration(integration);\n }\n catch (_oO) {\n logger.warn(\"Cannot retrieve integration \" + integration.id + \" from the current Hub\");\n return null;\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.traceHeaders = function () {\n var top = this.getStackTop();\n if (top.scope && top.client) {\n var span = top.scope.getSpan();\n if (span) {\n return {\n 'sentry-trace': span.toTraceparent(),\n };\n }\n }\n return {};\n };\n return Hub;\n}());\nexport { Hub };\n/** Returns the global shim registry. */\nexport function getMainCarrier() {\n var carrier = getGlobalObject();\n carrier.__SENTRY__ = carrier.__SENTRY__ || {\n hub: undefined,\n };\n return carrier;\n}\n/**\n * Replaces the current main hub with the passed one on the global object\n *\n * @returns The old replaced hub\n */\nexport function makeMain(hub) {\n var registry = getMainCarrier();\n var oldHub = getHubFromCarrier(registry);\n setHubOnCarrier(registry, hub);\n return oldHub;\n}\n/**\n * Returns the default hub instance.\n *\n * If a hub is already registered in the global carrier but this module\n * contains a more recent version, it replaces the registered version.\n * Otherwise, the currently registered hub will be returned.\n */\nexport function getCurrentHub() {\n // Get main carrier (global for every environment)\n var registry = getMainCarrier();\n // If there's no hub, or its an old API, assign a new one\n if (!hasHubOnCarrier(registry) || getHubFromCarrier(registry).isOlderThan(API_VERSION)) {\n setHubOnCarrier(registry, new Hub());\n }\n // Prefer domains over global if they are there (applicable only to Node environment)\n if (isNodeEnv()) {\n return getHubFromActiveDomain(registry);\n }\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n}\n/**\n * Try to read the hub from an active domain, fallback to the registry if one doesnt exist\n * @returns discovered hub\n */\nfunction getHubFromActiveDomain(registry) {\n try {\n // We need to use `dynamicRequire` because `require` on it's own will be optimized by webpack.\n // We do not want this to happen, we need to try to `require` the domain node module and fail if we are in browser\n // for example so we do not have to shim it and use `getCurrentHub` universally.\n var domain = dynamicRequire(module, 'domain');\n var activeDomain = domain.active;\n // If there no active domain, just return global hub\n if (!activeDomain) {\n return getHubFromCarrier(registry);\n }\n // If there's no hub on current domain, or its an old API, assign a new one\n if (!hasHubOnCarrier(activeDomain) || getHubFromCarrier(activeDomain).isOlderThan(API_VERSION)) {\n var registryHubTopStack = getHubFromCarrier(registry).getStackTop();\n setHubOnCarrier(activeDomain, new Hub(registryHubTopStack.client, Scope.clone(registryHubTopStack.scope)));\n }\n // Return hub that lives on a domain\n return getHubFromCarrier(activeDomain);\n }\n catch (_Oo) {\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n }\n}\n/**\n * This will tell whether a carrier has a hub on it or not\n * @param carrier object\n */\nfunction hasHubOnCarrier(carrier) {\n if (carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub) {\n return true;\n }\n return false;\n}\n/**\n * This will create a new {@link Hub} and add to the passed object on\n * __SENTRY__.hub.\n * @param carrier object\n * @hidden\n */\nexport function getHubFromCarrier(carrier) {\n if (carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub) {\n return carrier.__SENTRY__.hub;\n }\n carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n carrier.__SENTRY__.hub = new Hub();\n return carrier.__SENTRY__.hub;\n}\n/**\n * This will set passed {@link Hub} on the passed object's __SENTRY__.hub attribute\n * @param carrier object\n * @param hub Hub\n */\nexport function setHubOnCarrier(carrier, hub) {\n if (!carrier) {\n return false;\n }\n carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n carrier.__SENTRY__.hub = hub;\n return true;\n}\n//# sourceMappingURL=hub.js.map"],"sourceRoot":""}