1!function(t){function e(e){for(var r,i,c=e[0],u=e[1],s=e[2],f=0,d=[];f<c.length;f++)i=c[f],Object.prototype.hasOwnProperty.call(a,i)&&a[i]&&d.push(a[i][0]),a[i]=0;for(r in u)Object.prototype.hasOwnProperty.call(u,r)&&(t[r]=u[r]);for(l&&l(e);d.length;)d.shift()();return o.push.apply(o,s||[]),n()}function n(){for(var t,e=0;e<o.length;e++){for(var n=o[e],r=!0,c=1;c<n.length;c++){var u=n[c];0!==a[u]&&(r=!1)}r&&(o.splice(e--,1),t=i(i.s=n[0]))}return t}var r={},a={11:0},o=[];function i(e){if(r[e])return r[e].exports;var n=r[e]={i:e,l:!1,exports:{}};return t[e].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.e=function(t){var e=[],n=a[t];if(0!==n)if(n)e.push(n[2]);else{var r=new Promise((function(e,r){n=a[t]=[e,r]}));e.push(n[2]=r);var o,c=document.createElement("script");c.charset="utf-8",c.timeout=120,i.nc&&c.setAttribute("nonce",i.nc),c.src=function(t){return i.p+""+({}[t]||t)+"."+{13:"199af8db69e4b08d034e",14:"86ef18535abfd289eeab",15:"adec4769f9fa88f90e51",16:"909322636757da725f9d",17:"78546b0c9aa03dd05262",18:"fc8f0fdca70d24cf7993",19:"61077f647d935f58e733",20:"34fcdd784ba6116d3936",21:"562f84c6a935b4356492",22:"4018c5753f8707162c83",23:"d2cf52998996546e7417",24:"6b0ade21035c29e5cc97",25:"40ea0e9910caeadcb438",26:"c478b0d851b20e56208e",27:"0b21ea8ae4148e482369",28:"22b19438f39ed221f24d",29:"2d36ad6ef090f2ac52b5",30:"cca39166d479f4160adb",31:"2ab555793141bea5a936",32:"46bb13fd48f1ce91888b"}[t]+".chunk.js"}(t);var u=new Error;o=function(e){c.onerror=c.onload=null,clearTimeout(s);var n=a[t];if(0!==n){if(n){var r=e&&("load"===e.type?"missing":e.type),o=e&&e.target&&e.target.src;u.message="Loading chunk "+t+" failed.\n("+r+": "+o+")",u.name="ChunkLoadError",u.type=r,u.request=o,n[1](u)}a[t]=void 0}};var s=setTimeout((function(){o({type:"timeout",target:c})}),12e4);c.onerror=c.onload=o,document.head.appendChild(c)}return Promise.all(e)},i.m=t,i.c=r,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="/static/",i.oe=function(t){throw console.error(t),t};var c=window.webpackJsonp=window.webpackJsonp||[],u=c.push.bind(c);c.push=e,c=c.slice();for(var s=0;s<c.length;s++)e(c[s]);var l=u;o.push([1589,0]),n()}({101:function(t,e,n){"use strict";e.a=function(t){return t.data.tokens}},105:function(t,e,n){"use strict";var r=n(6),a=n.n(r),o=n(3),i=n(80),c=n(15),u=n(36),s=n(64),l=n(117),f=n.n(l),d=n(118),p=n.n(d);function m(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function v(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?m(Object(n),!0).forEach((function(e){a()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var g={pomodoro:f.a,break:p.a},b={permission:s.a.permission};e.a=Object(o.e)(b,Object(u.b)(c.a,b),a()({},c.a.notify.type,(function(t,e){var n=e.payload;if(n.alerts&&setTimeout((function(){return alert(n.body)}),100),n.icon=g[n.icon]||g.pomodoro,n.desktop&&"granted"==s.a.permission){var r=new s.a.Notification(n.title,n);n.duration&&r.addEventListener("show",(function(){return setTimeout((function(){return r.close()}),n.duration)}))}else n.id&&i.a.closeAll(n.id),new i.a(v(v({},n),{},{queue:n.id,text:n.message,theme:"metroui",timeout:n.duration,type:n.level||"info"})).show()})))},106:function(t,e,n){"use strict";n.d(e,"a",(function(){return s})),n.d(e,"c",(function(){return l})),n.d(e,"b",(function(){return f}));var r=n(34),a=n.n(r),o=n(30),i=n.n(o),c=["later","tomorrow","week","inbox"],u=function(t,e,n){if(e||n)if(t.due){if(e&&t.due<e)return;if(n&&t.due>n)return}else if(t.rruleParsed){var r=i()().startOf("day").subtract(1,"s").toDate(),a=t.rruleParsed.after(r);
1if(!a||e&&!(a>e)||n&&!(a<n))return}return!0},s=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"week",e=i()().endOf("day"),n=i()().endOf(t).toDate();return{inbox:[null,e.toDate()],later:[n,null],tomorrow:[e.toDate(),e.clone().add(1,"d").toDate()],week:[e.toDate(),n]}},l=function(t,e){for(var n=0,r=c;n<r.length;n++){var o=r[n];if(u.apply(void 0,[t].concat(a()(e[o]))))return o}},f=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"week",n=i()().endOf("day"),r=i()().endOf(e);return r>n||(r=i()().add(1,"d").endOf(e)),"tomorrow"===t?n.clone().add(1,"d").valueOf():"week"===t?r.clone().subtract(1,"h").valueOf():"later"===t?r.clone().add(1,"d").valueOf():void 0}},108:function(t,e){t.exports=[{name:"(UTC-10:00) Hawaii",value:"Pacific/Honolulu"},{name:"(UTC-09:00) Alaska",value:"America/Anchorage"},{name:"(UTC-08:00) Baja California",value:"America/Tijuana"},{name:"(UTC-08:00) Pacific Time (US and Canada)",value:"America/Los_Angeles"},{name:"(UTC-07:00) Arizona",value:"America/Phoenix"},{name:"(UTC-07:00) Chihuahua, La Paz, Mazatlan",value:"America/Chihuahua"},{name:"(UTC-07:00) Mountain Time (US and Canada), Navajo Nation",value:"America/Denver"},{name:"(UTC-06:00) Central America",value:"America/Belize"},{name:"(UTC-06:00) Central Time (US and Canada)",value:"America/Chicago"},{name:"(UTC-06:00) Easter Island",value:"Pacific/Easter"},{name:"(UTC-06:00) Guadalajara, Mexico City, Monterrey",value:"America/Mexico_City"},{name:"(UTC-06:00) Saskatchewan",value:"America/Regina"},{name:"(UTC-05:00) Bogota, Lima, Quito",value:"America/Bogota"},{name:"(UTC-05:00) Chetumal",value:"America/Cancun"},{name:"(UTC-05:00) Eastern Time (US and Canada)",value:"America/New_York"},{name:"(UTC-05:00) Haiti",value:"America/Port-au-Prince"},{name:"(UTC-05:00) Havana",value:"America/Havana"},{name:"(UTC-05:00) Indiana (East)",value:"America/Indiana/Indianapolis"},{name:"(UTC-04:00) Asuncion",value:"America/Asuncion"},{name:"(UTC-04:00) Atlantic Time (Canada)",value:"America/Halifax"},{name:"(UTC-04:00) Caracas",value:"America/Caracas"},{name:"(UTC-04:00) Cuiaba",value:"America/Cuiaba"},{name:"(UTC-04:00) Georgetown, La Paz, Manaus, San Juan",value:"America/Manaus"},{name:"(UTC-04:00) Santiago",value:"America/Santiago"},{name:"(UTC-04:00) Turks and Caicos",value:"America/Grand_Turk"},{name:"(UTC-03:30) Newfoundland",value:"America/St_Johns"},{name:"(UTC-03:00) Araguaina",value:"America/Fortaleza"},{name:"(UTC-03:00) Brasilia",value:"America/Sao_Paulo"},{name:"(UTC-03:00) Cayenne, Fortaleza",value:"America/Cayenne"},{name:"(UTC-03:00) City of Buenos Aires",value:"America/Buenos_Aires"},{name:"(UTC-03:00) Greenland",value:"America/Godthab"},{name:"(UTC-03:00) Montevideo",value:"America/Montevideo"},{name:"(UTC-03:00) Saint Pierre and Miquelon",value:"America/Miquelon"},{name:"(UTC-03:00) Salvador",value:"America/Bahia"},{name:"(UTC-02:00) Fernando de Noronha",value:"America/Noronha"},{name:"(UTC-01:00) Azores",value:"Atlantic/Azores"},{name:"(UTC-01:00) Cabo Verde Islands",value:"Atlantic/Cape_Verde"},{name:"(UTC) Dublin, Edinburgh, Lisbon, London",value:"Europe/London"},{name:"(UTC) Monrovia, Reykjavik",value:"Africa/Monrovia"},{name:"UTC",value:"UTC"},{name:"(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna",value:"Europe/Amsterdam"},{name:"(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague",value:"Europe/Belgrade"},{name:"(UTC+01:00) Brussels, Copenhagen, Madrid, Paris",value:"Europe/Brussels"},{name:"(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb",value:"Europe/Warsaw"},{name:"(UTC+01:00) Casablanca",value:"Africa/Casablanca"},{name:"(UTC+01:00) West Central Africa",value:"Africa/Algiers"},{name:"(UTC+01:00) Windhoek",value:"Africa/Windhoek"},{name:"(UTC+02:00) Amman",value:"Asia/Amman"},{name:"(UTC+02:00) Athens, Bucharest",value:"Europe/Athens"},{name:"(UTC+02:00) Beirut",value:"Asia/Beirut"},{name:"(UTC+02:00) Cairo",value:"Africa/Cairo"},{name:"(UTC+02:00) Damascus",value:"Asia/Damascus"},{name:"(UTC+02:00) Gaza, Hebron",value:"Asia/Gaza"},{name:"(UTC+02:00) Harare, Pretoria",value:"Africa/Harare"},{name:"(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius",value:"Europe/Helsinki"},{name:"(UTC+02:00) Jerusalem",value:"Asia/Jerusalem"},{name:"(UTC+02:00) Kaliningrad",value:"Europe/Kaliningrad"}
1,{name:"(UTC+02:00) Tripoli",value:"Africa/Tripoli"},{name:"(UTC+03:00) Baghdad",value:"Asia/Baghdad"},{name:"(UTC+03:00) Istanbul",value:"Asia/Istanbul"},{name:"(UTC+03:00) Kuwait, Riyadh",value:"Asia/Kuwait"},{name:"(UTC+03:00) Minsk",value:"Europe/Minsk"},{name:"(UTC+03:00) Moscow, St. Petersburg",value:"Europe/Moscow"},{name:"(UTC+03:00) Nairobi",value:"Africa/Nairobi"},{name:"(UTC+03:30) Tehran",value:"Asia/Tehran"},{name:"(UTC+04:00) Abu Dhabi, Muscat",value:"Asia/Muscat"},{name:"(UTC+04:00) Astrakhan, Ulyanovsk, Volgograd",value:"Europe/Astrakhan"},{name:"(UTC+04:00) Baku",value:"Asia/Baku"},{name:"(UTC+04:00) Izhevsk, Samara",value:"Europe/Samara"},{name:"(UTC+04:00) Port Louis",value:"Indian/Mauritius"},{name:"(UTC+04:00) Tbilisi",value:"Asia/Tbilisi"},{name:"(UTC+04:00) Yerevan",value:"Asia/Yerevan"},{name:"(UTC+04:30) Kabul",value:"Asia/Kabul"},{name:"(UTC+05:00) Tashkent, Ashgabat",value:"Asia/Tashkent"},{name:"(UTC+05:00) Ekaterinburg",value:"Asia/Yekaterinburg"},{name:"(UTC+05:00) Islamabad, Karachi",value:"Asia/Karachi"},{name:"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",value:"Asia/Kolkata"},{name:"(UTC+05:30) Sri Jayawardenepura",value:"Asia/Colombo"},{name:"(UTC+05:45) Kathmandu",value:"Asia/Katmandu"},{name:"(UTC+06:00) Astana",value:"Asia/Almaty"},{name:"(UTC+06:00) Dhaka",value:"Asia/Dhaka"},{name:"(UTC+06:30) Yangon (Rangoon)",value:"Asia/Rangoon"},{name:"(UTC+07:00) Novosibirsk",value:"Asia/Novosibirsk"},{name:"(UTC+07:00) Bangkok, Hanoi, Jakarta",value:"Asia/Bangkok"},{name:"(UTC+07:00) Barnaul, Gorno-Altaysk",value:"Asia/Barnaul"},{name:"(UTC+07:00) Hovd",value:"Asia/Hovd"},{name:"(UTC+07:00) Krasnoyarsk",value:"Asia/Krasnoyarsk"},{name:"(UTC+07:00) Tomsk",value:"Asia/Tomsk"},{name:"(UTC+08:00) Beijing, Chongqing, Hong Kong SAR, Urumqi",value:"Asia/Chongqing"},{name:"(UTC+08:00) Irkutsk",value:"Asia/Irkutsk"},{name:"(UTC+08:00) Kuala Lumpur, Singapore",value:"Asia/Kuala_Lumpur"},{name:"(UTC+08:00) Perth",value:"Australia/Perth"},{name:"(UTC+08:00) Taipei",value:"Asia/Taipei"},{name:"(UTC+08:00) Ulaanbaatar",value:"Asia/Ulaanbaatar"},{name:"(UTC+08:30) Pyongyang",value:"Asia/Pyongyang"},{name:"(UTC+08:45) Eucla",value:"Australia/Eucla"},{name:"(UTC+09:00) Chita",value:"Asia/Chita"},{name:"(UTC+09:00) Osaka, Sapporo, Tokyo",value:"Asia/Tokyo"},{name:"(UTC+09:00) Seoul",value:"Asia/Seoul"},{name:"(UTC+09:00) Yakutsk",value:"Asia/Yakutsk"},{name:"(UTC+09:30) Adelaide",value:"Australia/Adelaide"},{name:"(UTC+09:30) Darwin",value:"Australia/Darwin"},{name:"(UTC+10:00) Brisbane",value:"Australia/Brisbane"},{name:"(UTC+10:00) Canberra, Melbourne, Sydney",value:"Australia/Canberra"},{name:"(UTC+10:00) Guam, Port Moresby",value:"Pacific/Guam"},{name:"(UTC+10:00) Hobart",value:"Australia/Hobart"},{name:"(UTC+10:00) Vladivostok",value:"Asia/Vladivostok"},{name:"(UTC+10:30) Lord Howe Island",value:"Australia/Lord_Howe"},{name:"(UTC+11:00) Bougainville Island",value:"Pacific/Bougainville"},{name:"(UTC+11:00) Chokirdakh",value:"Asia/Srednekolymsk"},{name:"(UTC+11:00) Magadan",value:"Asia/Magadan"},{name:"(UTC+11:00) Norfolk Island",value:"Pacific/Norfolk"},{name:"(UTC+11:00) Sakhalin",value:"Asia/Sakhalin"},{name:"(UTC+11:00) Solomon Islands, New Caledonia",value:"Pacific/Guadalcanal"},{name:"(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky",value:"Asia/Anadyr"},{name:"(UTC+12:00) Auckland, Wellington",value:"Pacific/Auckland"}]},109:function(t,e,n){"use strict";var r=n(19);e.a={onConfigure:function(t){var e=this;return function(n){e.evoid(n),e.configure(t)}},configure:function(t){var e=Object(r.save)(t);return this.dispatch&&(e=this.dispatch(e)),e}}},11:function(t,e,n){"use strict";n.d(e,"b",(function(){return u})),n.d(e,"c",(function(){return f})),n.d(e,"a",(function(){return d})),n.d(e,"d",(function(){return p}));var r=n(148),a=n.n(r),o=n(26),i={debug:!1,domain:"messages",units:{h:"h",m:"m",s:"s"},locale_data:{messages:{"":{lang:"en",domain:"messages",plural_forms:"nplurals=2; plural=(n != 1);"},hour:["hour"],minute:["minute"]}}},c=function(t){return t.locale_data.messages[""].lang},u=function(){return c(f.options)},s=globalThis.locale||i,l=c(s),f=new a.a(l);function d(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"s",n="",r=f.options.units||{h:"h",m:"m"};if(Number.isNaN(t))return n;"m"===e?t*=60:"h"===e&&(t*=3600);var a=Object(o.e)(t),i=a.hours,c=a.minutes;
1return i&&(n="".concat(i).concat(r.h)),c&&(n.length>0&&(n="".concat(n,"Â ")),n="".concat(n).concat(c).concat(r.m)),n}function p(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l;return((t=t&&t.toLowerCase()||l)==l?Promise.resolve(s):"en"==t?Promise.resolve(i):n(150)("./".concat(t,".locale.json"))).then((function(t){var e=t.locale_data.messages;return t.units={h:e.hour[0][0].toLowerCase(),m:e.minute[0][0].toLowerCase()},t}))}f.options=s,f._=f.translate.bind(f)},114:function(t,e,n){"use strict";var r=n(17),a=n.n(r);e.a=a.a.observable(void 0)},116:function(t,e,n){"use strict";var r=n(34),a=n.n(r),o=n(161),i=n(70),c=n(160),u=n(3),s=n(8),l=n(18);e.a=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];e=[u.n,o.a,u.m].concat(a()(e)),s.b.isDev&&e.push(Object(c.createLogger)({collapsed:!0,predicate:function(t,e){var n;return!(!e.type||null!==(n=e.meta)&&void 0!==n&&n.hidden||e.type.startsWith("persist/rehydrate"))},colors:{title:function(t){var e;return"main"==(null===(e=t.meta)||void 0===e?void 0:e.source)?"#990000":"#000000"}}}));var n=i.a.apply(void 0,a()(e));return Object(i.c)(Object(l.a)(t),{},n)}},117:function(t,e,n){t.exports=n.p+"images/[email protected]?4a03947f882698b430d0854bb070c764"},118:function(t,e,n){t.exports=n.p+"images/[email protected]?c7ea27f38869d57eb736a6f62b21a09e"},119:function(t,e,n){"use strict";var r,a=n(98),o=n(85),i=n(6),c=n.n(i),u=n(39),s=n.n(u),l=n(3),f=n(21),d=n(22),p=n(19),m=n(8),v=n(41),g=n(20),b=n(114),h=Object(l.e)({process:!1,timer:!1},c()(c()(c()(c()(c()({},l.k.COMPLETE,(function(){Object(l.l)(f.a.init()),setTimeout((function(){return b.a.trigger("init")}),0)})),f.a.init.type,(function(t){s.a.set("timezone",g.TIMEZONE),t.process&&clearInterval(t.process),t.process=setInterval((function(){return Object(l.l)(f.a.process())}),m.b.isDev?1e4:6e4)})),v.a.init.type,(function(t){t.timer&&clearInterval(t.timer),t.timer=setInterval((function(){return Object(l.l)(v.a.tick())}),1e3)})),d.a.logout.type,(function(){var t;null===(t=localStorage)||void 0===t||t.clear()})),p.default.update.type,(function(t,e){var n=e.payload;n&&n.timezone&&s.a.set("timezone",n.timezone)}))),y=n(105),O=Object(l.e)(null,c()(c()({},p.default.update.type,(function(t,e){var n=e.payload;return n.theme&&n.theme!=t?(x(n.theme),n.theme):t})),f.a.process.type,(function(t){return"auto"==t&&x(t),t})));globalThis.matchMedia&&(r=globalThis.matchMedia("(prefers-color-scheme: light)")).addEventListener("change",(function(){return w()}));var j=null,w=function(t){(t=null!=t?t:j)&&(j=t,"system"==t&&(t=r.matches?"light":"dark"),s.a.set("theme",t))},x=function(t){var e=(new Date).getHours();"auto"==t&&(t=e>6&&e<19?"light":"dark"),w(document.body.dataset.theme=t)},k=n(92),S=n(65);function T(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function _(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?T(Object(n),!0).forEach((function(e){c()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):T(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var C={debug:m.b.isDev,open:!1,super:void 0},A=Object(l.i)({key:"debug",storage:k.a},Object(l.e)(C,c()(c()({},S.a.reset.type,(function(){return C})),S.a.update.type,(function(t,e){var n=e.payload;return void 0!==n.debug&&(m.b.isDev=n.debug),_(_({},t),n)})))),P={main:h,notify:y.a,theme:O,debug:A,auth:a.a,config:o.a};e.a=P},122:function(t,e,n){"use strict";var r=n(6),a=n.n(r),o=n(58),i=n.n(o),c=n(3),u=n(21),s=n(19),l=n(8),f=n(41),d=n(36),p=n(18),m=n(31),v={},g=Object(c.e)(v,Object(d.d)(m.a,v),Object(d.e)(m.a),a()({},u.a.init.type,(function(t){return void 0===i()(t)||null===t?v:Object(p.e)(t,v)})),!l.b.isElectronRenderer&&a()(a()(a()(a()(a()({},s.default.read.type,(function(){Object(c.l)(m.a.read())})),m.a.save.type,(function(t){t.sort.length>0&&Object(c.l)(m.a.toggleScheme())})),m.a.remove.type,(function(t){t.sort.length>0&&Object(c.l)(m.a.toggleScheme())})),m.a.read.type,(function(t,e){var n=e.payload;t.sort.length>0&&Object(c.l)(m.a.toggleScheme()),m.b.resolve(n),t.read=n})),f.a.done.type,(function(t,e){var n=e.payload;"pomodoro"==n.mode&&Object(c.l)(m.a.complete(n))})));e.a=Object(c.i)({key:"todos"},g)},123:function(t,e,n){"use strict";(function(t){var r=n(13),a=n.n(r),o=(n(248),n(249),n(22)),i=n(75),c=n(66),u=n(15),s=n(41),l=n(65),f=n(158);function d(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var u=r&&r.prototype instanceof c?r:c,s=Object.create(u.prototype);return p(s,"_invoke",function(n,r,a){var o,c,u,s=0,l=a||[],f=!1,d={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return o=e,c=0,u=t,d.n=n,i}};function p(n,r){for(c=n,u=r,e=0;!f&&s&&!a&&e<l.length;e++){var a,o=l[e],p=d.p,m=o[2];n>3?(a=m===r)&&(u=o[(c=o[4])?5:(c=3,3)],o[4]=o[5]=t):o[0]<=p&&((a=n<2&&p<o[1])?(c=0,d.v=r,d.n=o[1]):p<m&&(a=n<3||o[0]>r||r>m)&&(o[4]=n,o[5]=r,d.n=m,c=0))}if(a||n>1)return i;throw f=!0,r}return function(a,l,m){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,m),c=l,u=m;(e=c<2?t:u)||!f;){o||(c?c<3?(c>1&&(d.n=-1),p(c,u)):d.n=u:d.v=u);try{if(s=2,o){if(c||(a="next"),e=o[a]){if(!(e=e.call(o,u)))throw TypeError("iterator result is not an object");
1if(!e.done)return e;u=e.value,c<2&&(c=0)}else 1===c&&(e=o.return)&&e.call(o),c<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),c=1);o=t}else if((e=(f=d.n<0)?u:n.call(r,d))!==i)break}catch(e){o=t,c=1,u=e}finally{s=1}}return{value:e,done:f}}}(n,a,o),!0),s}var i={};function c(){}function u(){}function s(){}e=Object.getPrototypeOf;var l=[][r]?e(e([][r]())):(p(e={},r,(function(){return this})),e),f=s.prototype=c.prototype=Object.create(l);function m(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,p(t,a,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=s,p(f,"constructor",s),p(s,"constructor",u),u.displayName="GeneratorFunction",p(s,a,"GeneratorFunction"),p(f),p(f,a,"Generator"),p(f,r,(function(){return this})),p(f,"toString",(function(){return"[object Generator]"})),(d=function(){return{w:o,m:m}})()}function p(t,e,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(t){a=0}(p=function(t,e,n,r){function o(e,n){p(t,e,(function(t){return this._invoke(e,n,t)}))}e?a?a(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(o("next",0),o("throw",1),o("return",2))})(t,e,n,r)}e.a=function(e){e.mixin("redux"),e.actions(l.a),e.subscribe(f.a),e.onClose=function(){return e.actions.update({open:!1})},e.onReload=function(){var n=a()(d().m((function n(r){var a;return d().w((function(n){for(;;)switch(n.n){case 0:if(e.actions.update({debug:r.box.debug.checked,super:r.box.is_super.checked}),!(a=r.refs.impersonate.value)){n.n=1;break}return n.n=1,e.dispatch(o.a.login(a));case 1:t.location.reload();case 2:return n.a(2)}}),n)})));return function(t){return n.apply(this,arguments)}}(),e.onClean=function(){var n=a()(d().m((function n(r){return d().w((function(n){for(;;)switch(n.n){case 0:return e.evoid(r),e.actions.reset(),e.dispatch(o.a.update({expire:0,token:null})),n.n=1,e.dispatch(o.a.login());case 1:t.location.reload();case 2:return n.a(2)}}),n)})));return function(t){return n.apply(this,arguments)}}(),e.onDayPass=function(){var t=Date.now()-864e5;e.dispatch(i.a.update({exported:t})),e.dispatch(s.a.update({inited:t},{force:!0})),e.dispatch(c.a.update({read:t})),e.dispatch(u.a.notify("A day pass")),e.onClose()},e.onDemo=function(){e.dispatch(o.a.logout()),window.location.href="/dev/demo"}}}).call(this,n(77))},133:function(t,e,n){t.exports=n.p+"images/user.png?9e06abfdaf298b9538e377f2f8a7f22b"},134:function(t,e,n){"use strict";(function(t){var r=n(6),a=n.n(r),o=n(13),i=n.n(o),c=n(95),u=n.n(c),s=n(96),l=n.n(s),f=n(162),d=n.n(f),p=n(94),m=n.n(p),v=n(196),g=n.n(v),b=n(100),h=n.n(b),y=n(39),O=n.n(y),j=n(8),w=n(3),x=n(92),k=n(135),S=n(136),T=n(137),_=n(74),C=n(56),A=n(116),P=n(138);n(206),n(221),n(215),n(133),n(216),n(217),n(218),n(219),n(220);function D(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var u=r&&r.prototype instanceof c?r:c,s=Object.create(u.prototype);return E(s,"_invoke",function(n,r,a){var o,c,u,s=0,l=a||[],f=!1,d={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return o=e,c=0,u=t,d.n=n,i}};function p(n,r){for(c=n,u=r,e=0;!f&&s&&!a&&e<l.length;e++){var a,o=l[e],p=d.p,m=o[2];n>3?(a=m===r)&&(u=o[(c=o[4])?5:(c=3,3)],o[4]=o[5]=t):o[0]<=p&&((a=n<2&&p<o[1])?(c=0,d.v=r,d.n=o[1]):p<m&&(a=n<3||o[0]>r||r>m)&&(o[4]=n,o[5]=r,d.n=m,c=0))}if(a||n>1)return i;throw f=!0,r}return function(a,l,m){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,m),c=l,u=m;(e=c<2?t:u)||!f;){o||(c?c<3?(c>1&&(d.n=-1),p(c,u)):d.n=u:d.v=u);try{if(s=2,o){if(c||(a="next"),e=o[a]){if(!(e=e.call(o,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,c<2&&(c=0)}else 1===c&&(e=o.return)&&e.call(o),c<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),c=1);o=t}else if((e=(f=d.n<0)?u:n.call(r,d))!==i)break}catch(e){o=t,c=1,u=e}finally{s=1}}return{value:e,done:f}}}(n,a,o),!0),s}var i={};function c(){}function u(){}function s(){}e=Object.getPrototypeOf;var l=[][r]?e(e([][r]())):(E(e={},r,(function(){return this})),e),f=s.prototype=c.prototype=Object.create(l);function d(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,E(t,a,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=s,E(f,"constructor",s),E(s,"constructor",u),u.displayName="GeneratorFunction",E(s,a,"GeneratorFunction"),E(f),E(f,a,"Generator"),E(f,r,(function(){return this})),E(f,"toString",(function(){return"[object Generator]"})),(D=function(){return{w:o,m:d}})()}function E(t,e,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(t){a=0}(E=function(t,e,n,r){function o(e,n){E(t,e,(function(t){return this._invoke(e,n,t)}))}e?a?a(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(o("next",0),o("throw",1),o("return",2))})(t,e,n,r)}function U(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function M(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};
1e%2?U(Object(n),!0).forEach((function(e){a()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):U(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function I(t,e,n){return e=m()(e),d()(t,function(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return function(){return!!t}()}()?Reflect.construct(e,n||[],m()(t).constructor):e.apply(t,n))}function L(t,e,n,r){var a=g()(m()(1&r?t.prototype:t),e,n);return 2&r&&"function"==typeof a?function(t){return a.apply(n,t)}:a}var G=function(e){function n(){var t;u()(this,n),t=I(this,n);var e=O.a.get("callback");return e&&window.location.href!==e&&(O.a.remove("callback"),window.location.href=e),t}return h()(n,e),l()(n,[{key:"start",value:(r=i()(D().m((function e(){var r,a,o,i=arguments;return D().w((function(e){for(;;)switch(e.n){case 0:return r=i.length>0&&void 0!==i[0]?i[0]:{},a=i.length>1&&void 0!==i[1]?i[1]:{},o=Object(A.a)(M(M({},r),{},{route:C.c,locale:T.a}),a.middlewares),this.store=o,e.n=1,Object(w.j)(o,x.a);case 1:return e.n=2,L(n,"start",this,3)([j.b.isDev]);case 2:console.log("App env: ".concat(j.b.isDev?"dev":"prod")),this.log("Environment:",j.b),Object(P.a)(o),Object(_.b)(o),j.b.isWeb&&Object(S.a)(o),j.b.isDev&&(t.app=this);case 3:return e.a(2)}}),e,this)}))),function(){return r.apply(this,arguments)})}]);var r}(k.a);G.prototype.news=[],e.a=G}).call(this,n(77))},135:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var r=n(95),a=n.n(r),o=n(96),i=n.n(o),c=function(){return i()((function t(){a()(this,t),this.log=console.debug.bind(console)}),[{key:"start",value:function(t){return t||(this.log=function(){}),Promise.resolve(!0)}}])}()},136:function(t,e,n){"use strict";var r=n(11),a=n(7);e.a=function(t){Object(a.p)(t,a.e,(function(e){Object(r.b)()!==e&&Object(r.d)(e).then((function(e){return t.dispatch({type:"LOCALE",payload:e})}))}))}},137:function(t,e,n){"use strict";var r=n(17),a=n.n(r),o=n(11);e.a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"en",e=arguments.length>1?arguments[1]:void 0,n=e.type,r=e.payload;return"LOCALE"==n&&(o.c.options=r,a.a.update(),t=r.locale_data.messages[""].lang),t}},138:function(t,e,n){"use strict";var r=n(39),a=n.n(r),o=n(24),i=n(7),c=window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: light)"),u=null,s=Object(o.a)(i.c,(function(t){var e=t.theme;"auto"==e&&(e=6<(new Date).getHours()<19?"light":"dark"),document.body.dataset.theme=e,l(e)}));function l(t){(t=null!=t?t:u)&&(u=t,"system"==t&&(t=c.matches?"light":"dark"),a.a.set("theme",t))}e.a=function(t){return document&&document.body&&t.subscribe((function(){return s(t.getState())})),c&&c.addEventListener("change",(function(){return l()})),s}},14:function(t,e,n){"use strict";var r=n(146),a=n.n(r),o=n(147),i=n.n(o),c=n(8),u={"X-Version":c.b.version};c.b.isElectron?(u["X-Electron"]=c.b.version,c.b.isElectronRenderer&&(u["X-SID"]=i()("".concat(c.b.version,":").concat(navigator.userAgent,":").concat(1e6*Math.floor(Date.now()/1e9))))):globalThis.window&&!c.b.isJest&&(u["X-SID"]=window.SID),e.a=a.a.create({headers:u,baseURL:"".concat(c.b.baseURL,"/api/v1")})},143:function(t,e,n){t.exports=n.p+"images/google.svg?0b8b4cf01360183b8a8387e5aa14ea8d"},144:function(t,e,n){t.exports=n.p+"images/windows.svg?8eeee09af77c94596953a70a984343fc"},145:function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var r=n(6),a=n.n(r),o=n(8);function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function c(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?i(Object(n),!0).forEach((function(e){a()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var u={auth:!0,web:!0,desktop:!0},s=[c(c({},u),{},{type:"apple",desktop:o.b.isMac}),c(c({},u),{},{type:"facebook"}),c(c({},u),{},{type:"github"}),c(c({},u),{},{type:"vk",name:"VK"}),c(c({},u),{},{type:"yandex"})]},1473:function(t,e,n){n(17).tag2("range",'<div class="u-p3 u-flex u-flex--column"> <div class="u-flex u-flex--align-center u-flex--space-between u-mv3"> <label class="u-mr4 u-nowrap"> {jed.gettext(\'Starts on\')} </label> <input class="c-input u-right u-mt2" ref="dtstart" style="width: 160px" riot-value="{dtstart}" min="{min}" type="{\'date\'}"> </div> <div class="u-flex u-flex--align-center u-flex--space-between u-mv3"> <label class="u-mr4 u-nowrap"> {jed.gettext(\'Ends on\')} </label> <input class="c-input u-right" ref="dtend" style="width: 160px" riot-value="{dtend}" min="{min}" type="{\'date\'}"> </div> <div class="u-flex u-flex--end"> <button class="c-btn c-btn--green" onclick="{onSelect}">{jed.gettext(\'Select Dates\')}</button> </div> </div>',"","",(function(t){var e=this,n=function(){var n=t.start&&t.start.toDate()||new Date,r=t.end&&t.end.toDate()||new Date;e.min=t.min||null,e.min&&(e.min=t.min.toISOString().slice(0,10)),e.dtstart=n.toISOString().slice(0,10),e.dtend=r.toISOString().slice(0,10)};this.on("before-mount",n),this.on("update",n),this.onSelect=function(n){if(!t.handle_select)return n;var r=new Date(e.refs.dtstart.value||null),a=new Date(e.refs.dtend.value||null);a=new Date(a.valueOf()+86399e3),t.handle_select(r,a)}}))},1474:function(t,e,n){},1475:function(t,e,n){},15:function(t,e,n){"use strict";n.d(e,"b",(function(){return w}));var r=n(6),a=n.n(r),o=n(82),i=n.n(o),c=n(107),u=n.n(c),s=n(3),l=n(14),f=n(42),d=n(20),p=n(7),m=n(11),v=n(26),g=n(59);function b(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];
1if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return h(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){c=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function y(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function O(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?y(Object(n),!0).forEach((function(e){a()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var j=Object(s.c)("app/notify/",["reset","update"],Object(f.b)({baseURL:"/notify",anonimous:!1}),{notify:function(t,e){return function(n,r){var a,o,c,u=Object(p.c)(r());return i()(t)&&(t={body:t}),e&&(t=O(O({},t),e)),t.message=t.body,t.title&&(t.message="".concat(Object(v.d)(t.title.trim())," · ").concat(Object(v.d)(t.body))),t.telegram&&u.notify_telegram&&l.a.post("/telegram",{text:t.message}),t.skip?s.a:(t.duration=null!==(a=t.duration)&&void 0!==a?a:u.notify_duration,t.alerts=t.alerts&&u.alerts,t.desktop=u.notify,t.title=null!==(o=t.title)&&void 0!==o?o:"Pomodoro-Tracker",t.id=null!==(c=t.id)&&void 0!==c?c:t.title,t)}},notifyPomodoroOver:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(r,a){var o=a(),i=Object(g.a)(o);if(i){var c=Object(p.c)(o),l=m.c.gettext("Pomodoro is finished"),f="short"===t?"take a short break":"take a long break";if(f=Object(v.d)(m.c.gettext(f)+"."),i.data&&i.data.length>0&&c.notifications===d.NOTIFICATIONS.custom){var b=u()(i.data.filter((function(t){return t.type===d.NOTIFY_TYPES.pomodoro})));f=b&&b.message||f}return r(e.notify(O(O({},n),{},{title:l,body:f,icon:"break",level:"info",alerts:!0,telegram:!0}))),s.a}}},notifyBreakOver:function(t){var e=this;return function(n,r){var a=r(),o=Object(g.a)(a),i=Object(p.c)(a),c=m.c.gettext("Break is over"),l=m.c.gettext("The next pomodoro will go better!");if(o.data&&o.data.length>0&&i.notifications===d.NOTIFICATIONS.custom){var f=u()(o.data.filter((function(t){return t.type===d.NOTIFY_TYPES.break})));l=f&&f.message||l}return n(e.notify(O(O({},t),{},{title:c,body:l,icon:"pomodoro",level:"success",alerts:!0,telegram:!0}))),s.a}},save:function(t,e){var n=this;return function(r,a){var o,i=a(),c=Object(g.a)(i),u=Object(p.c)(i),f=t.map((function(t){return{type:e,locale:u.locale,message:t}})),d=b(c.data);try{for(d.s();!(o=d.n()).done;){var m=o.value;m.type!==e&&f.push(m)}}catch(t){d.e(t)}finally{d.f()}return r(n.process(f)),Object(p.o)(a())&&l.a.post("/notify",f),s.a}}}),w=j.notify;e.a=j},150:function(t,e,n){var r={"./ar.locale.json":[295,13],"./de.locale.json":[296,14],"./el.locale.json":[297,15],"./es.locale.json":[298,16],"./fr.locale.json":[299,17],"./id.locale.json":[300,18],"./it.locale.json":[301,19],"./ja.locale.json":[302,20],"./kk.locale.json":[303,21],"./ko.locale.json":[304,22],"./nl.locale.json":[305,23],"./no.locale.json":[306,24],"./pl.locale.json":[307,25],"./pt.locale.json":[308,26],"./pt_br.locale.json":[309,27],"./ru.locale.json":[310,28],"./tr.locale.json":[311,29],"./uk.locale.json":[312,30],"./vi.locale.json":[313,31],"./zh.locale.json":[314,32]};function a(t){if(!n.o(r,t))return Promise.resolve().then((function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}));var e=r[t],a=e[0];return n.e(e[1]).then((function(){return n.t(a,3)}))}a.keys=function(){return Object.keys(r)},a.id=150,t.exports=a},158:function(t,e,n){"use strict";var r=n(6),a=n.n(r),o=n(24),i=n(7);function c(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function u(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};
1e%2?c(Object(n),!0).forEach((function(e){a()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}e.a=Object(o.a)(i.c,i.o,(function(t){return t.debug}),(function(t,e,n){var r=n.super;return e?(void 0===r&&(r=e.is_super),e.impersonate&&(r=!1)):r=!1,u(u({},n),{},{config:t,user:e,super:r})}))},1589:function(t,e,n){"use strict";n.r(e);var r=n(13),a=n.n(r),o=n(134),i=(n(257),n(159)),c=n(6),u=n.n(c),s=n(3),l=n(21),f=n(22),d=n(36),p=n(42),m=Object(s.c)("data/logs/",["reset","update"],Object(p.b)({baseURL:"/pomodoros",anonimous:!1})),v={data:{},meta:{},sort:[],wait:!1},g=Object(s.e)(v,Object(d.d)(m,v)),b=n(30),h=n.n(b),y=n(18),O=Object(s.c)("data/rating/",["reset","update"],Object(p.b)({baseURL:"/rating",anonimous:!0}));function j(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return w(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?w(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){c=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}function w(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}var x={data:{},meta:{},sort:[],wait:!1},k=function(t){var e=t.duration%60,n=Math.floor(t.duration/60);return t.time="".concat(n>9&&n||"0"+n,":").concat(e>9&&e||"0"+e),t.created=h()(t.user.created),t},S=Object(d.d)(O,x),T=S[O.process.type],_=Object(s.e)(x,S,u()(u()({},l.a.init.type,(function(t){var e,n=j(Object(y.d)(t));try{for(n.s();!(e=n.n()).done;){var r=e.value;k(r)}}catch(t){n.e(t)}finally{n.f()}})),O.process.type,(function(t,e){t=T(t,e);var n,r=j(e.payload);try{for(r.s();!(n=r.n()).done;){var a=n.value;k(a)}}catch(t){r.e(t)}finally{r.f()}return t}))),C=n(57),A=n.n(C),P=Object(s.c)("data/stats/",["reset","update"],Object(p.b)({baseURL:"/stats",anonimous:!1}));function D(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return E(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?E(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){c=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}function E(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}var U={data:[],wait:!1},M=function(t){return t.time=h()(t.date),t},I=Object(s.e)(U,Object(d.b)(P,U),u()(u()({},l.a.init.type,(function(t){var e,n=D(t.data);try{for(n.s();!(e=n.n()).done;){var r=e.value;M(r)}}catch(t){n.e(t)}finally{n.f()}})),P.process.type,(function(t,e){t.data=A()(e.payload).map(M)}))),L=n(122),G=n(119),z=n(24),R=n(7),N=n(11);function F(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Y(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};
1e%2?F(Object(n),!0).forEach((function(e){u()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):F(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function B(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return W(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?W(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){c=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}function W(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}var H=Object(z.a)((function(t){return t.data.stats.data}),(function(t){var e,n={},r=B(t);try{for(r.s();!(e=r.n()).done;){var a,o=e.value;n[o.category]=null!==(a=n[o.category])&&void 0!==a?a:{duration:0,value:0},n[o.category].value+=o.amount,n[o.category].duration+=o.duration}}catch(t){r.e(t)}finally{r.f()}var i,c=0,u={},s=B(Object.keys(n).sort());try{for(s.s();!(i=s.n()).done;){var l=i.value,f=n[l],d=Object(N.a)(f.duration,"m");u[l]=Y(Y({},n[l]),{},{duration:d,index:c++})}}catch(t){s.e(t)}finally{s.f()}return u})),q=Object(z.a)(R.c,R.a,R.g,H,(function(t){return t.data.logs}),(function(t){return t.data.stats}),(function(t){return t.app.stats.personal}),(function(t,e,n,r,a,o,i){var c=e.user,u=e.token,s=n.params;s=null!=s?s:{};var l=h.a.tz(t.timezone),f=s.start&&h()(Number.parseFloat(s.start)).tz(t.timezone)||l.clone().endOf("day").subtract(30,"d"),d=s.end&&h()(Number.parseFloat(s.end)).tz(t.timezone)||l.clone().endOf("day"),p=a.data[i.toRemove],m="null"==s.category?null:s.category;return Y(Y({},i),{},{categories:r,category:m,config:t,end:d,logs:a,params:s,start:f,stats:o,toRemove:p,token:u,user:c,items:Object(y.d)(a),selected:a.data[i.selected]})})),$=Object(s.c)("app/stats/personal/",["update","reset","init"],Object(p.a)(m),{read:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(e,n){var r=q(n());if(r.user){var a={created:{$ge:r.start.valueOf(),$lt:r.end.valueOf()}};return void 0!==r.category&&(a.category=r.category),e(m.read({params:{limit:50,where:a,offset:t.offset||0}})),t.page||e(P.read({params:{where:a}})),t}}}}),K=n(8),V=n(66);function J(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function X(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?J(Object(n),!0).forEach((function(e){u()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):J(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var Z={category:null,inited:!1},Q=Object(s.e)(Z,Object(s.g)($),Object(s.b)($,Z),Object(d.c)($),u()(u()({},$.edit.type,(function(t){return K.b.isDesktop&&Object(s.l)(V.a.reload()),X(X({},t),{},{selected:null,mode:null})})),$.remove.type,(function(t){return K.b.isDesktop&&Object(s.l)(V.a.reload()),X(X({},t),{},{selected:null,mode:null})}))),tt=n(56),et={personal:"personal",global:"global",friends:"friends"},nt=function(t){return t.app.stats.main},rt=Object(s.c)("app/stats/main/",["load"],{init:function(){return function(t,e){var n=nt(e()),r=Object(R.g)(e()).params;(r.f&&et[r.f]&&(n=r.f),null===n)&&(n=Object(R.o)(e())?et.personal:et.global,Object(tt.b)({params:{f:n}}));return n}},load:function(t){return function(e,n){return nt(n())!==t&&Object(tt.b)({params:{f:t},merge:!1}),s.a}}});function at(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ot(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};
1e%2?at(Object(n),!0).forEach((function(e){u()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):at(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var it=Object(s.d)(null,u()(u()(u()(u()({},rt.init.type,(function(t,e){return e.payload})),l.a.init.type,(function(t){return Object(s.l)(rt.init()),t})),f.a.login.type,(function(t){return Object(s.l)($.read()),t})),tt.a.route.type,(function(t,e){var n=e.payload;return n.params&&n.params.f?et[n.params.f]||et.personal:t}))),ct=ot(ot({},G.a),{},{app:{stats:{personal:Q,main:it}},data:{logs:g,rating:_,stats:I,todos:L.a}});n(604);n(17).tag2("stats-global",'<div class="u-flex u-flex--end u-mv4"> <toggle name="global_rating" text="{jed.gettext(\'Join the global rating\')}" disabled="{!state.user}" checked="{state.config.rating}" handle_change="{onToggleRating}" title="{!state.user && jed.gettext(\'You are not signed.\')}"></toggle> </div> <paginate store="{state.rating}" force="{true}" class="u-mv4"> <div class="u-mra o-btn-group"> <button class="c-btn u-size-xs {\'c-btn--green\': parent.state.period == \'t\'}" onclick="{parent.onChangePeriod}" data-period="t"> {jed.gettext(\'today\').toUpperCase()} </button> <button class="c-btn u-size-xs {\'c-btn--green\': parent.state.period == \'w\'}" onclick="{parent.onChangePeriod}" data-period="w"> {jed.gettext(\'week\').toUpperCase()} </button> <button class="c-btn u-size-xs {\'c-btn--green\': parent.state.period == \'m\'}" onclick="{parent.onChangePeriod}" data-period="m"> {jed.gettext(\'month\').toUpperCase()} </button> </div> <loading if="{opts.store.wait}" class="u-mra"></loading> </paginate> <div class="u-r2 u-br-blue-l u-mha" style="max-width: 50em" if="{state.userItem}"> <div class="u-flex u-flex--align-center"> <div class="u-flex u-flex1 u-flex--align-center u-relative u-p2"> <div class="u-size-xl u-gray u-absolute text-right" style="width: 3em; margin-left: -4em"> {state.userItem.rank} </div> <div class="u-mr2"> <avatar image="{state.userItem.user.picture}"></avatar> </div> <div> <a href="{env.baseURL}/user/{state.userItem.user.id}" target="_blank"> {state.userItem.user.name} </a> <div class="u-gray u-size-xs"> {state.userItem.created.format(state.config.date)} </div> </div> </div> <div class="u-center u-mr2" style="width: 6em"> {state.userItem.time} </div> <div class="u-center" style="width: 5em"> {state.userItem.number} </div> </div> </div> <div class="u-mt3"></div> <loading if="{state.rating.wait}" class="u-mv2"></loading> <table class="c-table c-table--hover u-mha" style="max-width: 50em"> <thead class="c-table__head"> <tr class="c-table__row"> <th class="c-table__cell"> {jed.gettext(\'user\')} </th> <th class="c-table__cell u-center u-nowrap" style="width: 6em"> {jed.gettext(\'time\')} (hh:mm) </th> <th class="c-table__cell u-center" style="width: 5em"> {jed.gettext(\'pomodoros\')} </th> </tr> </thead> <tbody class="c-table__body" data-test="rating"> <tr each="{item in state.items}" no-reorder class="c-table__row"> <td class="c-table__cell"> <div class="u-flex u-flex--align-center u-relative"> <div class="u-size-xl u-gray u-absolute text-right" style="width: 3em; margin-left: -4em"> {item.rank} </div> <div class="u-mr2"> <avatar image="{item.user.picture}"></avatar> </div> <div> <a if="{item.user.share}" href="{env.baseURL}/user/{item.user.id}" target="_blank"> {item.user.name} </a> <span if="{!item.user.share}"> {item.user.name} </span> <span if="{state.super}" class="u-ml2"> <a href="/user/{item.user.id}" target="_blank" class="u-blue" style="text-decoration: none"> <i class="fa fa-user"></i> </a> <impersonate user="{item.user.id}" class="u-m2"></impersonate> </span> <div class="u-gray u-size-xs"> {item.created.format(parent.state.config.date)} </div> </div> </div> </td> <td class="c-table__cell u-center"> {item.time} </td> <td class="c-table__cell u-center"> {item.number} </td> </tr> </tbody> </table> <paginate store="{state.rating}" force="{true}" class="u-mv4"> <div class="u-mra o-btn-group"></div> <loading if="{opts.store.wait}" class="u-mra"></loading> </paginate>',"","",(function(t){vt(this)}));var ut=n(109),st=n(264),lt={t:"t",w:"w",m:"m",q:"q"},ft=Object(z.a)(R.c,(function(t){return t.debug}),R.a,R.g,(function(t){return t.data.rating}),(function(t,e,n,r,a){var o=n.user,i=r.params,c=null,u=a.sort.map((function(t){return a.data[t]}));return o&&t.rating&&u.length&&u[0].user.id==o.id&&(c=u[0],u=u.slice(1)),{config:t,user:o,params:i,rating:a,userItem:c,items:u,period:lt[i.p]||lt.t,super:o&&o.is_super&&(void 0===e.super||e.super)}})),dt=Object(s.c)("app/stats/global/",["reset","update"],{read:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(e,n){var r,a=ft(n()),o=h()().tz(a.config.timezone);return"m"==a.period?r=o.startOf("month"):"q"==a.period?r=o.startOf("quarter"):"w"==a.period?r=o.startOf(a.config.dateWeek):(r=o.clone().startOf("day").add(6,"h"))>o&&(r=r.subtract(6,"h")),e(O.read({params:{limit:50,offset:t.offset||0,where:{created:{$ge:r.valueOf()}}}})),s.a}}});function pt(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var u=r&&r.prototype instanceof c?r:c,s=Object.create(u.prototype);return mt(s,"_invoke",function(n,r,a){var o,c,u,s=0,l=a||[],f=!1,d={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return o=e,c=0,u=t,d.n=n,i}};function p(n,r){for(c=n,u=r,e=0;!f&&s&&!a&&e<l.length;e++){var a,o=l[e],p=d.p,m=o[2];n>3?(a=m===r)&&(u=o[(c=o[4])?5:(c=3,3)],o[4]=o[5]=t):o[0]<=p&&((a=n<2&&p<o[1])?(c=0,d.v=r,d.n=o[1]):p<m&&(a=n<3||o[0]>r||r>m)&&(o[4]=n,o[5]=r,d.n=m,c=0))}if(a||n>1)return i;throw f=!0,r}return function(a,l,m){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,m),c=l,u=m;(e=c<2?t:u)||!f;){o||(c?c<3?(c>1&&(d.n=-1),p(c,u)):d.n=u:d.v=u);try{if(s=2,o){if(c||(a="next"),e=o[a]){if(!(e=e.call(o,u)))throw TypeError("iterator result is not an object");
1if(!e.done)return e;u=e.value,c<2&&(c=0)}else 1===c&&(e=o.return)&&e.call(o),c<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),c=1);o=t}else if((e=(f=d.n<0)?u:n.call(r,d))!==i)break}catch(e){o=t,c=1,u=e}finally{s=1}}return{value:e,done:f}}}(n,a,o),!0),s}var i={};function c(){}function u(){}function s(){}e=Object.getPrototypeOf;var l=[][r]?e(e([][r]())):(mt(e={},r,(function(){return this})),e),f=s.prototype=c.prototype=Object.create(l);function d(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,mt(t,a,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=s,mt(f,"constructor",s),mt(s,"constructor",u),u.displayName="GeneratorFunction",mt(s,a,"GeneratorFunction"),mt(f),mt(f,a,"Generator"),mt(f,r,(function(){return this})),mt(f,"toString",(function(){return"[object Generator]"})),(pt=function(){return{w:o,m:d}})()}function mt(t,e,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(t){a=0}(mt=function(t,e,n,r){function o(e,n){mt(t,e,(function(t){return this._invoke(e,n,t)}))}e?a?a(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(o("next",0),o("throw",1),o("return",2))})(t,e,n,r)}var vt=function(t){t.mixin("redux"),t.actions(dt),t.subscribe(ft),t.mixin(st.a),t.mixin(ut.a);var e=!1;t.on("route",(function(n){var r=n.params;"global"===r.f&&e!==r.p&&(e=r.p,t.actions.read())})),t.onChangePeriod=function(e){e.target.blur(),t.state.period!=e.target.dataset.period&&Object(tt.b)({params:{p:e.target.dataset.period}})},t.onPageChange=function(e){return t.actions.read({offset:e})},t.onToggleRating=a()(pt().m((function e(){return pt().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,t.configure({rating:!t.state.config.rating});case 1:t.actions.read();case 2:return e.a(2)}}),e)})))},gt=(n(712),n(953),n(1473),n(115)),bt=n(81);function ht(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return yt(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yt(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){c=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}function yt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}var Ot=Object(z.a)((function(t){return t.data.stats}),(function(t){if(!t.data)return{};var e,n,r,a;e=r=n=a=0;var o,i={},c={},u=ht(t.data);try{for(u.s();!(o=u.n()).done;){var s,l,f=o.value;
1e+=f.amount,r+=f.duration,n+=f.delay,a+=f.interruptions,i[f.time.dayOfYear()]=null!==(s=i[f.time.dayOfYear()])&&void 0!==s?s:0,i[f.time.dayOfYear()]+=f.amount,c[f.time.dayOfYear()]=null!==(l=c[f.time.dayOfYear()])&&void 0!==l?l:0,c[f.time.dayOfYear()]+=f.duration}}catch(t){u.e(t)}finally{u.f()}return{amount:e,focus:Object(bt.b)({amount:e,duration:r,delay:n,interruptions:a}),interruptions:a,mean:Math.ceil(gt.f(Object.values(i))||0),mean_dur:60*Math.ceil(gt.f(Object.values(c))||0),duration:60*r,delays:60*n}}));n(17).tag2("stats-info",'<div class="u-flex u-flex--wrap u-mv3 u-w100"> <div class="u-r2 u-bg-red u-white u-flex1 u-p3"> <div class="u-flex"> <i class="fa fa-check-circle u-size-xxl"></i> <div class="u-flex1 u-right"> <div class="u-size-xxl">{state.amount}</div> </div> </div> <div class="u-right">{sentenceCase(jed.gettext(\'pomodoros\'))}</div> </div> <div class="u-r2 u-bg-yellow u-white u-flex1 u-ml3 u-p3"> <div class="u-flex"> <i class="fa fa-clock u-size-xxl"></i> <div class="u-flex1 u-right"> <div class="u-size-xxl"> {formatDuration(state.duration)} </div> </div> </div> <div class="u-right">{jed.gettext(\'Time spent\')}</div> </div> <div class="u-r2 u-bg-green u-white u-flex1 u-ml3 u-p3"> <div class="u-flex"> <i class="fa fa-list u-size-xxl"></i> <div class="u-flex1 u-right"> <div class="u-size-xxl"> {state.mean}/{formatDuration(state.mean_dur)} </div> </div> </div> <div class="u-right">{jed.gettext(\'Median per day\')}</div> </div> <div if="{state.focus}" class="u-r2 u-bg-violet u-white u-flex1 u-ml3 u-p3"> <div class="u-flex"> <i class="fa fa-lightbulb u-size-xxl"></i> <div class="u-flex1 u-right"> <div class="u-size-xxl">{state.focus}%</div> </div> </div> <div class="u-right">{sentenceCase(jed.gettext(\'focus\'))}</div> </div> <div class="u-r2 u-bg-brown u-white u-flex1 u-ml3 u-p3"> <div class="u-flex"> <i class="fa fa-times u-size-xxl"></i> <div class="u-flex1 u-right"> <div class="u-size-xxl">{formatDuration(state.delays)}/{state.interruptions}</div> </div> </div> <div class="u-right">{sentenceCase(jed.gettext(\'delays\'))}/{sentenceCase(jed.gettext(\'interruptions\'))}</div> </div> </div>',"",'class="u-w100"',(function(t){this.mixin("redux"),this.subscribe(Ot)}));var jt=n(1034),wt=n.n(jt),xt=n(95),kt=n.n(xt),St=n(96),Tt=n.n(St),_t=n(162),Ct=n.n(_t),At=n(94),Pt=n.n(At),Dt=n(100),Et=n.n(Dt),Ut=n(1236),Mt=function(){return Tt()((function t(e,n){var r,a,o,i,c,u,s,l;kt()(this,t),this.element=gt.l(e);var f=this.element.node();this.x=null,this.y=null,this.params=n||{},this.params.click=null!==(r=this.params.click)&&void 0!==r?r:function(){},this.params.margin=null!==(a=this.params.margin)&&void 0!==a?a:{},this.params.margin.top=null!==(o=this.params.margin.top)&&void 0!==o?o:30,this.params.margin.right=null!==(i=this.params.margin.right)&&void 0!==i?i:20,this.params.margin.bottom=null!==(c=this.params.margin.bottom)&&void 0!==c?c:30,this.params.margin.left=null!==(u=this.params.margin.left)&&void 0!==u?u:40,this.params.width=null!==(s=this.params.width)&&void 0!==s?s:f&&f.getBoundingClientRect().width||400,this.params.height=null!==(l=this.params.height)&&void 0!==l?l:f&&f.getBoundingClientRect().height||100,this.margin=this.params.margin,this.height=this.params.height-this.margin.top-this.margin.bottom,this.width=this.params.width-this.margin.left-this.margin.right,this.svg=this.element.append("svg").attr("width",this.params.width).attr("height",this.params.height),this.chart=this.svg.append("g").attr("transform","translate(".concat(this.margin.left,", ").concat(this.margin.top,")")),this.tip=Object(Ut.a)().attr("class","d3-tip").html((function(t){return t.value})),this.chart.call(this.tip)}),[{key:"clean",value:function(){return this.chart.selectAll("*").remove()}}])}();function It(t,e,n){return e=Pt()(e),Ct()(t,function(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return function(){return!!t}()}()?Reflect.construct(e,n||[],Pt()(t).constructor):e.apply(t,n))}function Lt(t,e,n){return e=Pt()(e),Ct()(t,function(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return function(){return!!t}()}()?Reflect.construct(e,n||[],Pt()(t).constructor):e.apply(t,n))}var Gt=function(t){function e(t,n){var r,a,o;return kt()(this,e),(o=Lt(this,e,[t,n])).params.z=null!==(r=o.params.z)&&void 0!==r?r:gt.j(),o.params.yAxisDraw=null===(a=o.params.yAxisDraw)||void 0===a||a,o.z=o.params.z,o}return Et()(e,t),Tt()(e,[{key:"draw",value:function(t){var e,n,r,a,o,i=this,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=gt.m().keys(c.keys);c.xGetter=null!==(e=c.xGetter)&&void 0!==e?e:function(t){return t},c.yGetter=null!==(n=c.yGetter)&&void 0!==n?n:c.xGetter,c.xDomain=null!==(r=c.xDomain)&&void 0!==r?r:t.map((function(t){return c.xGetter(t)})),c.yDomain=null!==(a=c.yDomain)&&void 0!==a?a:gt.d(t,c.yGetter),c.zDomain=null!==(o=c.zDomain)&&void 0!==o?o:c.keys,this.x.domain(c.xDomain),this.y.domain(c.yDomain),this.z.domain(c.zDomain),this.y.nice(),c.xTicks&&this.xAxis.ticks(c.xTicks),this.chart.append("g").attr("class","x axis").attr("transform","translate(0,".concat(this.height,")")).call(this.xAxis),c.xTicks&&this.xGrid.ticks(c.xTicks),this.chart.append("g").attr("class","x grid").attr("transform","translate(0,".concat(this.height,")")).call(this.xGrid),c.yAxisDraw&&(c.yTicks&&this.yAxis.ticks(c.yTicks),this.chart.append("g").attr("class","y axis").call(this.yAxis)),c.yTicks&&this.yGr
1id.ticks(c.yTicks),this.chart.append("g").attr("class","y grid").call(this.yGrid);var s=u(t),l=this.chart.append("g").attr("class","bars").selectAll(".group").data(s),f=l.enter();f.append("g").attr("class",(function(t){return"group group-"+i.z(t.key)})).attr("data-key",(function(t){return t.key})).selectAll("rect").data((function(t){return t})).enter().append("rect").on("click",this.params.click).on("mouseover",this.tip.show).on("mouseout",this.tip.hide).attr("x",(function(t){return i.x(t.data.key)})).attr("width",this.x.bandwidth()).attr("y",this.height).attr("height",0).transition().duration(700).attr("y",(function(t){return i.y(t[1])})).attr("height",(function(t){return i.y(t[0])-i.y(t[1])})),l.exit().remove();var d=this.chart.select(".bars").selectAll("text").data(t);d.enter().append("text").attr("x",(function(t){return i.x(c.xGetter(t))+i.x.bandwidth()/2})).attr("y",this.height).attr("text-anchor","middle").merge(d).transition().duration(700).attr("y",(function(t){return i.y(c.yGetter(t))-6})).text((function(t){var e=c.yGetter(t);return e?i.yAxis.tickFormat()(e):""}))}}])}(function(t){function e(t,n){var r,a,o;return kt()(this,e),(o=It(this,e,[t,n])).params.x=null!==(r=o.params.x)&&void 0!==r?r:gt.h().paddingInner(.1),o.params.y=null!==(a=o.params.y)&&void 0!==a?a:gt.i(),o.x=o.params.x.rangeRound([0,o.width]),o.y=o.params.y.range([o.height,0]),o.xAxis=null!=o.params.xAxis||gt.a(o.x),o.yAxis=null!=o.params.yAxis||gt.b(o.y),o.xGrid=null!=o.params.xGrid||gt.a(o.x).tickSize(-o.height).tickFormat(""),o.yGrid=null!=o.params.yGrid||gt.b(o.y).tickSize(-o.width).tickFormat(""),o}return Et()(e,t),Tt()(e,[{key:"draw",value:function(t){var e,n,r,a,o=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i.xGetter=null!==(e=i.xGetter)&&void 0!==e?e:function(t){return t},i.yGetter=null!==(n=i.yGetter)&&void 0!==n?n:i.xGetter,i.xDomain=null!==(r=i.xDomain)&&void 0!==r?r:t.map((function(t){return i.xGetter(t)})),i.yDomain=null!==(a=i.yDomain)&&void 0!==a?a:gt.d(t,i.yGetter),this.x.domain(i.xDomain),this.y.domain(i.yDomain),this.y.nice(),i.xTicks&&this.xAxis.ticks(i.xTicks),this.chart.append("g").attr("class","x axis").attr("transform","translate(0, ".concat(this.height,")")).call(this.xAxis),i.xTicks&&this.xGrid.ticks(i.xTicks),this.chart.append("g").attr("class","x grid").attr("transform","translate(0,".concat(this.height,")")).call(this.xGrid),i.yTicks&&this.yAxis.ticks(i.yTicks),this.chart.append("g").attr("class","y axis").call(this.yAxis),i.yTicks&&this.yGrid.ticks(i.yTicks),this.chart.append("g").attr("class","y grid").call(this.yGrid);var c=this.chart.append("g").attr("class","bars").selectAll(".bar").data(t),u=c.enter();u.append("rect").attr("class","bar").attr("x",(function(t){return o.x(i.xGetter(t))})).attr("y",this.height).attr("width",this.x.bandwidth()).attr("height",0).on("mouseover",this.tip.show).on("mouseout",this.tip.hide).transition().duration(300).attr("y",(function(t){return o.y(i.yGetter(t))})).attr("height",(function(t){return o.height-o.y(i.yGetter(t))})),c.exit().remove();var s=this.chart.select(".bars").selectAll("text").data(t);s.enter().append("text").attr("x",(function(t){return o.x(i.xGetter(t))+o.x.bandwidth()/2})).attr("y",this.height).attr("text-anchor","middle").merge(s).transition().duration(300).attr("y",(function(t){return o.y(i.yGetter(t))-6})).text((function(t){var e=i.yGetter(t);return e?o.yAxis.tickFormat()(e):""})),s.exit().remove()}}])}(Mt)),zt=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"day";t=t.clone().startOf("day");for(var r=[];t<e;)r.push(t),t=t.clone().add(1,n);return r};n(1474);function Rt(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Nt(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Nt(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){c=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}function Nt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function Ft(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Yt(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};
1e%2?Ft(Object(n),!0).forEach((function(e){u()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Ft(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}n(17).tag2("stats-chart",'<div show="{period}" class="u-mt3 u-w100"> <div class="u-flex u-pv2"> <h4 if="{period == \'day\'}"> {jed.gettext(\'Activity by days\')} </h4> <h4 if="{period == \'week\'}"> {jed.gettext(\'Activity by weeks\')} </h4> <h4 if="{period == \'month\'}"> {jed.gettext(\'Activity by months\')} </h4> <div class="u-mha u-size-xs"> <span if="{mean}" class="u-brown u-mr3"> {jed.gettext(\'average\')}: {format(mean)} </span> <span if="{median}" class="u-green u-mr3"> {jed.gettext(\'median\')}: {format(median)} ({jed.gettext(period)}) </span> </div> <div class="o-btn-group u-size-xs"> <button class="c-btn {\'c-btn--green\': mode == \'time\'}" data-mode="time" onclick="{onToggleType}"> {jed.gettext(\'time\')} </button> <button class="c-btn {\'c-btn--green\': mode == \'number\'}" data-mode="number" onclick="{onToggleType}"> {jed.gettext(\'number\')} </button> </div> </div> <div id="chart" class="c-chart"></div> </div>',"",'class="u-w100"',(function(t){!function(t){t.mixin("redux"),t.actions($),t.period="day",t.mode="time",t.median=null,t.mean=null;var e=null;function n(){if(t.parent.opts.show){var e=document.querySelector("svg");e&&(e.parentNode.removeChild(e),t.chart=new Gt("#chart"),r(t.parent.state.stats.data))}}function r(e){if(t.parent.opts.show){var n;if(0==e.length)return t.update({period:null});t.chart=null!==(n=t.chart)&&void 0!==n?n:new Gt("#chart",{yAxisDraw:!1,margin:{left:20}});var r=t.parent.state.config.dateWeek,a=h.a.duration(t.parent.state.end.diff(t.parent.state.start)).asDays();if(a>93)t.period="month";else if(a>31)t.period=r;else{if(!(a>1))return t.update({period:null});t.period="day"}t.app.log("DRAW CHART",a,t.period),t.chart.clean(),t.chart.params.click=function(e){if(t.chart.tip.hide(),this.parentNode.dataset){var n=e.data.key.startOf("day");Object(tt.b)({params:Yt(Yt({},t.parent.state.query),{},{category:this.parentNode.dataset.key,start:n.valueOf(),end:n.clone().add(1,t.period).valueOf()})})}};var o=[],i=[],c=[["__total__",0],["",0]];for(var u in t.parent.state.categories)o.push(u),c.push([u,0]),i.push(t.parent.state.categories[u].index);t.app.log("CHART DEFAULTS",c),t.chart.z.range(i);var s="month"==t.period?function(t){return"".concat(t.year(),"-").concat(t.month())}:t.period==r?function(t){return"week"==r&&t.week()||t.isoWeek()}:function(t){return t.dayOfYear()},l="number"==t.mode?function(t){return t.amount}:function(t){return t.duration},f=gt.g().key((function(t){return s(t.time)})).rollup((function(t){var e,n=wt()(c),r=Rt(gt.g().key((function(t){return t.category||""})).rollup((function(t){return gt.n(t,l)})).entries(t));try{for(r.s();!(e=r.n()).done;){var a=e.value;n.__total__+=a.value,n[a.key]+=a.value}}catch(t){r.e(t)}finally{r.f()}return n})).entries(e);t.app.log("CHART GROUPS",f);var d=f.reduce((function(t,e){return t[e.key]=e.value,t}),{}),p=zt(t.parent.state.start.clone().startOf(t.period),t.parent.state.end.clone().endOf(t.period),t.period).map((function(t){var e,n=s(t);return d[n]=null!==(e=d[n])&&void 0!==e?e:wt()(c),d[n].key=t,d[n]}));t.app.log("CHART DATA",o,p),t.chart.yAxis.ticks(4).tickFormat(t.format),t.chart.xAxis.tickFormat("month"==t.period?function(t){return t.format("MMM YY")}:t.period==r?function(e){return e.clone().startOf(r).format(t.parent.state.config.date)}:function(t){return t.date()}),t.chart.yGrid.ticks(4),t.chart.draw(p,{keys:o,xGetter:function(t){return t.key},yGetter:function(t){return t.__total__},yDomain:[0,gt.e(p,(function(t){return t.__total__}))]}),t.chart.tip.html((function(e){if(this.parentNode.dataset&&e.data){var n=this.parentNode.dataset.key,r=e[1]-e[0];return"".concat(e.data.key.format(t.parent.state.config.date),": ").concat(n," ").concat(t.format(r))}})),t.chart.tip.offset([-10,0]);var m=new Set(e.map((function(t){return t.date})));t.chart.chart.append("text").text("".concat(t.jed.gettext("Work days"),": ").concat(m.size)).attr("x",t.chart.width).attr("y","-14px").attr("class","workDays").attr("text-anchor","end").attr("aligment-baseline","top"),p=p.filter((function(t){return t.__total__})),t.median=Math.ceil(gt.f(p,(function(t){return t.__total__}))),t.median&&t.chart.chart.insert("line","g.bars").attr("class","median").attr("x1",0).attr("x2",t.chart.width).attr("y1",t.chart.y(0)).attr("y2",t.chart.y(0)).transition().duration(700).attr("y1",t.chart.y(t.median)).attr("y2",t.chart.y(t.median)),t.update(
1)}}t.on("mount",(function(){window.addEventListener("resize",n),t.subscribe((function(t){return t.data.stats}),(function(t){t.read&&!t.wait&&t.data!==e&&(e=t.data,r(t.data))}))})),t.on("unmount",(function(){window.removeEventListener("resize",n)})),t.onToggleType=function(e){t.evoid(e),t.update({mode:e.target.dataset.mode}),e.target.blur(),r(t.parent.state.stats.data)},t.format=function(e){return"time"==t.mode?Object(N.a)(e,"m"):e}}(this)})),n(17).tag2("heatmap",'<div show="{active}" class="c-chart c-heatmap u-mt3" ref="chart"></div>',"","",(function(t){$t(this)}));n(1475);var Bt=n(377),Wt=n.n(Bt);function Ht(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return qt(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?qt(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){c=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}function qt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}var $t=function(t){var e=t.opts;t.mixin("redux"),t.active=!1;var n=function(t){return"".concat(t.year(),"-").concat(t.week())},r=e.start.clone().startOf("week");t.on("mount",(function(){t.subscribe((function(t){return t.data.stats.data}),(function(a){return a.length&&function(a){if(!t.active||0==a.length)return;var o,i={},c=Ht(zt(r,e.end));try{for(c.s();!(o=c.n()).done;){var u=o.value;i[u.format("YYYY-MM-DD")]={date:u,duration:0}}}catch(t){c.e(t)}finally{c.f()}var s,l=Ht(a);try{for(l.s();!(s=l.n()).done;){var f=s.value;i[f.time.format("YYYY-MM-DD")].duration+=f.duration}}catch(t){l.e(t)}finally{l.f()}var d=Object.values(i);t.chart.colors.domain([0,gt.e(d,(function(t){return t.duration}))]),t.chart.x.domain(Wt()(zt(r,e.end.clone().endOf(t.parent.state.config.dateWeek),"d").map((function(t){return n(t)}))));var p=t.chart.chart.selectAll("rect.value").data(d,(function(t){return t.date.format("YYYY-MM-DD")}));p.enter().append("rect").attr("x",(function(e){return t.chart.x(n(e.date))})).attr("y",(function(e){return t.chart.y(e.date.weekday())})).on("mouseover",t.chart.tip.show).on("mouseout",t.chart.tip.hide).on("click",(function(e){t.chart.tip.hide();var n=e.date.clone();Object(tt.b)({params:{start:n.startOf("day").valueOf(),end:n.endOf("day").valueOf()}})})).attr("height",t.chart.y.bandwidth()).attr("width",t.chart.x.bandwidth()).style("fill","#f9e7e6").transition().duration(1e3).style("fill",(function(e){return e.duration&&t.chart.colors(e.duration)||"#ebedf0"})),p.exit().remove("rect")}(a)}))})),t.on("update",(function(){var e=t.opts,r=t.opts.start,a=h.a.duration(e.end.diff(r)).asDays();t.active=a>=87,"isoweek"==t.parent.state.config.dateWeek&&(n=function(t){return"".concat(t.year(),"-").concat(t.isoWeek())})})),t.on("updated",(function(){var n;t.active&&(t.chart=null!==(n=t.chart)&&void 0!==n?n:function(){var n=new Mt(t.refs.chart,{margin:{bottom:10,left:20}});n.x=gt.h().range([0,n.width]).padding(.05),n.y=gt.h().range([0,n.height]).domain("week"==t.parent.state.config.dateWeek?[0,1,2,3,4,5,6]:[1,2,3,4,5,6,0]).padding(.05);var a=gt.k().range([0,n.width]).domain([r.toDate(),e.end.toDate()]),o=gt.c(a);return n.chart.append("g").attr("class","x axis").call(o),n.colors=gt.i().range(["#f5d8d7","#8b0000"]).domain([0,10]),n.tip.html((function(e){var n=e.date.format(t.parent.state.config.date);return"".concat(n,": ").concat(e.duration&&Object(N.a)(e.duration,"m")||"no activity")})),n}())}))};n(17).tag2("stats-item-menu",'<div onclick="{parent.parent.onRepeat}" class="c-menu__item" aria-label="{jed.gettext(\'Repeat\')}" tabindex="0"> <i class="fa fa-fw fa-redo"></i> {jed.gettext(\'Add TODO\')} </div> <div onclick="{parent.parent.onEdit}" class="c-menu__item" aria-label="{jed.gettext(\'Edit\')}" tabindex="0"> <i class="fa fa-fw fa-edit"></i> {jed.gettext(\'Edit\')} </div> <div class="c-menu__sep"></div> <confirm-action classname="c-menu__item" handle_confirm="{onRemove}"> <i class="fa-trash fa fa-fw"></i> {sentenceCase(jed.gettext(\'delete\'))} </confirm-action>',"","",(function(t){var e=this.app.store.dispatch;this.onRemove=function(){return e($.remove(t.item))}})),n(17).tag2("stats-personal",'<div if="{!state.user}" class="u-mt5 u-flex u-flex--center u-center"> <auth-login-required message="{jed.gettext(\'Please, login to view your stats\')}"></auth-login-required> </div> <div if="{state.user}"> <div class="u-flex u-flex--space-between u-flex--align-start"> <div> <span if="{categoriesList.length}" class="u-size-s u-gray2">{jed.gettext(\'Categories\')}</span> <category if="{state.category !== undefined}" selected="1" name="{state.category}" num="{state.categories[state.category] && state.categories[state.category].duration}
1" label="{jed.gettext(\'Unselect Category\')}" onclick="{onDisableCategory}"></category> <virtual if="{state.category === undefined}"> <category each="{item in categoriesList}" index="{item.index}" name="{item.category}" num="{item.duration}" label="{jed.gettext(\'Select Category\')}" onclick="{parent.onSelectCategory}"></category> </virtual> </div> <div class="c-dropdown c-nav--bar u-mla"> <button onclick="{onSelectDates}" class="c-btn {\'c-btn--active\': selectDates || selectCustom}" ref="ranges" title="{jed.gettext(\'Select Dates\')}"> <i class="fas fa-calendar fa-fw"></i> <span class="u-mh2"> {state.start.format(state.config.date)} - {state.end.format(state.config.date)} </span> <i class="fas fa-angle-down c-btn_arrow"></i> </button> <popper if="{selectDates}" el="{refs.ranges}" handle_cancel="{onHideRange}" params="{{placement: \'bottom-end\'}}" context="{evoid}"> <div each="{range, idx in parent.ranges}" onclick="{parent.parent.onRange}" class="c-menu__item u-p3 {\'c-menu__item--active\': range.active}" data-range="{idx}"> {range.name} </div> <div class="c-menu__item u-p3 u-flex" onclick="{parent.onCustom}" data-test="custom"> {sentenceCase(jed.gettext(\'custom\'))} <i class="fa fa-calendar u-mla"></i> </div> </popper> </div> </div> <stats-chart></stats-chart> <heatmap if="{!state.stats.wait}" start="{state.start}" end="{state.end}"></heatmap> <stats-info if="{!state.stats.wait}"></stats-info> <pomo-create category="{state.category}" handle_create="{onCreate}"></pomo-create> <div if="{state.items.length}" class="c-pomo u-size-xs u-bold u-gray u-mt4 u-noborder" style="min-height: 3rem"> <div class="c-pomo__cat u-upper u-pl2"> {jed.gettext(\'category\')} </div> <div class="c-pomo__desc u-upper u-pl3"> {jed.gettext(\'description\')} </div> <div class="c-pomo__tail u-pb2"> <paginate store="{state.logs}" force="{true}"> <loading if="{opts.store.wait}" class="u-mr4"></loading> </paginate> </div> </div> <pomo each="{item in state.items}" item="{item}" key="{item.tid}" selected="{state.selected && state.selected.id == item.id}" edit="{state.selected && state.mode == \'edit\' && item.id == state.selected.id}" completion="logs" handle_select="{onEdit}" handle_context="{onSelect}" handle_edit="{actions.edit}" handle_cancel="{onCancel}"> <yield to="fields"> <input class="c-input u-ml2" ref="duration" style="width: 6rem" onfocus="{onFocus}" onblur="{onBlur}" riot-value="{opts.item.duration}" placeholder="{sentenceCase(jed.gettext(\'duration\'))}" type="{\'number\'}"> </yield> <yield to="tail"> <span if="{item.interruptions}" class="u-mr2" title="{jed.gettext(\'interruptions\')}"> <i class="fas fa-phone-alt u-size-xs"></i> {item.interruptions} </span> <span if="{item.delay}" class="u-mh2" title="{jed.gettext(\'delay\')}"> <i class="fas fa-coffee u-size-xs"></i> {formatDuration(item.delay, \'m\')} </span> <span if="{item.duration}" class="u-mh2" title="{jed.gettext(\'duration\')}"> {formatDuration(item.duration, \'m\')} </span> <span class="u-mr3" title="{jed.gettext(\'finish time\')}"> {parent.Moment(item.created).format(parent.state.config.date)} {parent.Moment(item.created).format(parent.state.config.time)} </span> <button title="{jed.gettext(\'Add TODO\')}" class="c-pomo__ctrl c-btn u-mr2" onclick="{parent.onRepeat}"> <i class="fas fa-redo"></i> </button> <button onclick="{parent.onSelect}" title="{jed.gettext(\'Click to open menu\')}" data-test="item-menu" class="c-pomo__ctrl c-btn u-size-l {\'c-btn--active\': parent.state.selected && opts.item.id == parent.state.selected.id}"> <i class="fa fa-ellipsis-h"></i> </button> </yield> </pomo> <div class="c-note c-note--blue" if="{!state.items.length}"> <h4 class="u-size-l u-bold u-mb2">{jed.gettext(\'Records are empty\')}</h4> <p>{jed.gettext(\'Try to complete some pomodoros or choose a different period\')}</p> </div> <div class="u-size-xs u-flex u-mv3"> <div> <span if="{categoriesList.length}" class="u-size-s u-gray2">{jed.gettext(\'Categories\')}</span> <category each="{item in categoriesList}" index="{item.index}" label="{item.category == state.category && jed.gettext(\'Unselect
1Category\') || jed.gettext(\'Select Category\')}" name="{item.category}" num="{item.value}" onclick="{onSelectCategory}" selected="{item.category == state.category}"></category> </div> <paginate store="{state.logs}" force="{true}" class="u-mla"> <loading if="{opts.store.wait}" class="u-mr4"></loading> </paginate> </div> <p class="u-size-xs u-center" if="{state.items.length}">{jed.gettext(\'Click/tap to edit items.\')}</p> <div if="{env.isWeb}" class="u-flex u-flex--space-between u-flex--align-start u-mt4"> <button if="{state.items.length}" class="c-btn c-btn--blue" onclick="{onExport}">{jed.gettext(\'Export the records as CSV\')}</button> <form onsubmit="{onImport}"> <label class="c-btn c-btn--blue" style="font-weight: normal"> {jed.gettext(\'Import tasks from CSV\')} <input ref="csv" onchange="{onImport}" type="file" class="u-none"> </label> <div class="u-size-xs"><code>iso date,category,description[,amount,duration]</code></div> </form> </div> </div> <popper if="{state.selected && state.mode == \'ops\'}" el="{selectedTarget}" handle_cancel="{onCancel}" context="{evoid}"> <stats-item-menu item="{parent.state.selected}"></stats-item-menu> </popper> <popper if="{selectCustom}" el="{refs.ranges}" handle_cancel="{onHideRange}" params="{{placement: \'bottom-end\'}}" close="{true}"> <range start="{parent.state.start}" end="{parent.state.end}" min="{new Date(parent.ranges[9].start)}" handle_select="{parent.onSelectCustom}"></range> </popper>',"","",(function(t){ae(this)}));var Kt=n(14),Vt=n(31),Jt=n(15),Xt=n(376),Zt=n(348);n(114);function Qt(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var u=r&&r.prototype instanceof c?r:c,s=Object.create(u.prototype);return te(s,"_invoke",function(n,r,a){var o,c,u,s=0,l=a||[],f=!1,d={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return o=e,c=0,u=t,d.n=n,i}};function p(n,r){for(c=n,u=r,e=0;!f&&s&&!a&&e<l.length;e++){var a,o=l[e],p=d.p,m=o[2];n>3?(a=m===r)&&(u=o[(c=o[4])?5:(c=3,3)],o[4]=o[5]=t):o[0]<=p&&((a=n<2&&p<o[1])?(c=0,d.v=r,d.n=o[1]):p<m&&(a=n<3||o[0]>r||r>m)&&(o[4]=n,o[5]=r,d.n=m,c=0))}if(a||n>1)return i;throw f=!0,r}return function(a,l,m){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,m),c=l,u=m;(e=c<2?t:u)||!f;){o||(c?c<3?(c>1&&(d.n=-1),p(c,u)):d.n=u:d.v=u);try{if(s=2,o){if(c||(a="next"),e=o[a]){if(!(e=e.call(o,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,c<2&&(c=0)}else 1===c&&(e=o.return)&&e.call(o),c<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),c=1);o=t}else if((e=(f=d.n<0)?u:n.call(r,d))!==i)break}catch(e){o=t,c=1,u=e}finally{s=1}}return{value:e,done:f}}}(n,a,o),!0),s}var i={};function c(){}function u(){}function s(){}e=Object.getPrototypeOf;var l=[][r]?e(e([][r]())):(te(e={},r,(function(){return this})),e),f=s.prototype=c.prototype=Object.create(l);function d(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,te(t,a,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=s,te(f,"constructor",s),te(s,"constructor",u),u.displayName="GeneratorFunction",te(s,a,"GeneratorFunction"),te(f),te(f,a,"Generator"),te(f,r,(function(){return this})),te(f,"toString",(function(){return"[object Generator]"})),(Qt=function(){return{w:o,m:d}})()}function te(t,e,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(t){a=0}(te=function(t,e,n,r){function o(e,n){te(t,e,(function(t){return this._invoke(e,n,t)}))}e?a?a(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(o("next",0),o("throw",1),o("return",2))})(t,e,n,r)}function ee(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return ne(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ne(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){c=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}function ne(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function re(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}var ae=function(t){var e={};t.mixin("redux"),t.actions($),t.subscribe(q),t.mixin(Zt.a),t.mixin(st.a),t.selectDates=!1,t.selectCustom=!1,t.categoriesList=[],t.Moment=h.a,t.on("mount",(function(){return t.updateRanges()})),t.on("update",(function(){t.categoriesList=Object.keys(t.state.categories).map((function(e){return function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};
1e%2?re(Object(n),!0).forEach((function(e){u()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):re(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}({category:e},t.state.categories[e])})),t.updateRanges()})),t.on("route",(function(n){var r=n.params;"personal"===r.f&&(e&&e.category==r.category&&e.start==r.start&&e.end==r.end||(e=r,t.actions.read()))})),t.onRange=function(e){t.evoid(e);var n=t.ranges[e.item.idx];n&&(t.onHideRange(),t.navigate({params:{start:n.start,end:n.end}}))},t.onSelectCustom=function(e,n){t.onHideRange(),t.navigate({params:{start:e.valueOf(),end:n.valueOf()}})},t.onSelectCategory=function(e){var n=e.item.item.category;if(n==t.state.category)return t.onDisableCategory(e);t.navigate({params:{category:n}})},t.onDisableCategory=function(){return t.navigate({params:{category:void 0}})},t.onRepeat=function(e){var n;t.evoid(e);var r=t.state.selected||(null===(n=e.item)||void 0===n?void 0:n.item);r={category:r.category,description:r.description},t.dispatch(Vt.a.create(r)),t.dispatch(Object(Jt.b)(t.jed.gettext("TODO list is updated"))),t.onCancel(e)},t.onPageChange=function(e){return t.actions.read({offset:e})},t.onExport=function(){var e={created:{$ge:t.state.start.valueOf(),$lt:t.state.end.valueOf()}};t.state.category&&(e.category=t.state.category);var n=Object(Xt.c)({where:JSON.stringify(e),auth:"Bearer ".concat(t.state.token)});window.location="/api/v1/pomodoros/csv?".concat(n)},t.onImport=a()(Qt().m((function e(){var n,r,a,o,i,c;return Qt().w((function(e){for(;;)switch(e.p=e.n){case 0:if(t.refs.csv.files){e.n=1;break}return e.a(2);case 1:if(!t.importing){e.n=2;break}return e.a(2);case 2:t.importing=!0,n=new FormData,r=0,a=ee(t.refs.csv.files);try{for(a.s();!(o=a.n()).done;)i=o.value,n.append("file"+r++,i)}catch(t){a.e(t)}finally{a.f()}return e.p=3,e.n=4,Kt.a.post("/pomodoros/import",n,{headers:{"Content-Type":"multipart/form-data"}});case 4:c=e.v,t.dispatch(Object(Jt.b)(t.jed._("%1$s tasks were imported").fetch(c.data.created))),t.actions.read(),e.n=6;break;case 5:e.p=5,e.v,t.dispatch(Object(Jt.b)(t.jed.gettext("Import was failed. Check your CSV and try again.")));case 6:t.importing=!1;case 7:return e.a(2)}}),e,null,[[3,5]])}))),t.updateRanges=function(){var e=h()().tz(t.state.config.timezone);t.ranges=[{name:t.sentenceCase(t.jed.gettext("today")),start:e.clone().startOf("day").valueOf(),end:e.clone().endOf("day").valueOf()},{name:t.jed.gettext("Yesterday"),start:e.clone().startOf("day").subtract(1,"d").valueOf(),end:e.clone().endOf("day").subtract(1,"d").valueOf()},{name:t.jed.gettext("This Week"),start:e.clone().startOf(t.state.config.dateWeek).valueOf(),end:e.clone().endOf(t.state.config.dateWeek).valueOf()},{name:t.jed.gettext("Last Week"),start:e.clone().subtract(1,"w").startOf(t.state.config.dateWeek).valueOf(),end:e.clone().subtract(1,"w").endOf(t.state.config.dateWeek).valueOf()},{name:t.jed.gettext("This Month"),start:e.clone().startOf("month").valueOf(),end:e.clone().endOf("month").valueOf()},{name:t.jed.gettext("Last Month"),start:e.clone().subtract(1,"M").startOf("month").valueOf(),end:e.clone().subtract(1,"M").endOf("month").valueOf()},{name:t.jed.gettext("This Quarter"),start:e.clone().startOf("quarter").valueOf(),end:e.valueOf()},{name:t.jed.gettext("Last Quarter"),start:e.clone().subtract(1,"Q").startOf("quarter").valueOf(),end:e.clone().subtract(1,"Q").endOf("quarter").valueOf()},{name:t.jed.gettext("This Year"),start:e.clone().startOf("year").valueOf(),end:e.valueOf()},{name:t.jed.gettext("Last 365 days"),start:e.clone().subtract(365,"d").startOf("day").valueOf(),end:e.valueOf()}];var n,r=t.state.start.valueOf(),a=t.state.end.valueOf(),o=ee(t.ranges);try{for(o.s();!(n=o.n()).done;){var i=n.value;i.start==r&&i.end==a&&(i.active=!0)}}catch(t){o.e(t)}finally{o.f()}},t.onSelectDates=function(){return t.update({selectDates:!0,selectCustome:!1})},t.onCustom=function(){return t.update({selectCustom:!0,selectDates:!1})},t.onHideRange=function(){return t.update({selectDates:!1,selectCustom:!1})}};function oe(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var u=r&&r.prototype instanceof c?r:c,s=Object.create(u.prototype);return ie(s,"_invoke",function(n,r,a){var o,c,u,s=0,l=a||[],f=!1,d={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return o=e,c=0,u=t,d.n=n,i}};function p(n,r){for(c=n,u=r,e=0;!f&&s&&!a&&e<l.length;e++){var a,o=l[e],p=d.p,m=o[2];n>3?(a=m===r)&&(u=o[(c=o[4])?5:(c=3,3)],o[4]=o[5]=t):o[0]<=p&&((a=n<2&&p<o[1])?(c=0,d.v=r,d.n=o[1]):p<m&&(a=n<3||o[0]>r||r>m)&&(o[4]=n,o[5]=r,d.n=m,c=0))}if(a||n>1)return i;throw f=!0,r}return function(a,l,m){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,m),c=l,u=m;(e=c<2?t:u)||!f;){o||(c?c<3?(c>1&&(d.n=-1),p(c,u)):d.n=u:d.v=u);try{if(s=2,o){if(c||(a="next"),e=o[a]){if(!(e=e.call(o,u)))throw TypeError("iterator result is not an object");
1if(!e.done)return e;u=e.value,c<2&&(c=0)}else 1===c&&(e=o.return)&&e.call(o),c<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),c=1);o=t}else if((e=(f=d.n<0)?u:n.call(r,d))!==i)break}catch(e){o=t,c=1,u=e}finally{s=1}}return{value:e,done:f}}}(n,a,o),!0),s}var i={};function c(){}function u(){}function s(){}e=Object.getPrototypeOf;var l=[][r]?e(e([][r]())):(ie(e={},r,(function(){return this})),e),f=s.prototype=c.prototype=Object.create(l);function d(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,ie(t,a,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=s,ie(f,"constructor",s),ie(s,"constructor",u),u.displayName="GeneratorFunction",ie(s,a,"GeneratorFunction"),ie(f),ie(f,a,"Generator"),ie(f,r,(function(){return this})),ie(f,"toString",(function(){return"[object Generator]"})),(oe=function(){return{w:o,m:d}})()}function ie(t,e,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(t){a=0}(ie=function(t,e,n,r){function o(e,n){ie(t,e,(function(t){return this._invoke(e,n,t)}))}e?a?a(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(o("next",0),o("throw",1),o("return",2))})(t,e,n,r)}function ce(){return(ce=a()(oe().m((function t(){var e;return oe().w((function(t){for(;;)switch(t.n){case 0:return e=new o.a,t.n=1,e.start(ct);case 1:Object(i.a)(e);case 2:return t.a(2)}}),t)})))).apply(this,arguments)}n(17).tag2("stats",'<div class="c-nav u-mv3"> <div class="c-nav_item u-flex1 {\'c-nav_active\': this.state == \'personal\'}" onclick="{onFilter}" data-filter="personal"> <i class="fa fa-user fa-fw"></i> {startCase(jed.gettext(\'personal\'))} </div> <div class="c-nav_item u-flex1 {\'c-nav_active\': this.state == \'global\'}" onclick="{onFilter}" data-filter="global"> <i class="fa fa-users fa-fw"></i> {startCase(jed.gettext(\'global\'))} </div> </div> <stats-global show="{this.state == \'global\'}"></stats-global> <stats-personal show="{this.state == \'personal\'}"></stats-personal>',"","",(function(t){var e=this;this.mixin("redux"),this.subscribe(nt),this.actions(rt),this.onFilter=function(t){return e.actions.load(t.currentTarget.dataset.filter)}})),function(){ce.apply(this,arguments)}()},159:function(t,e,n){"use strict";var r=n(237),a=n.n(r),o=n(17),i=n.n(o),c=n(55),u=n.n(c),s=n(8),l=n(11),f=n(26),d=void 0;e.a=function(t){i.a.mixin({app:t,env:s.b,formatDuration:l.a,jed:l.c,sentenceCase:f.d,startCase:u.a,evoid:function(t){t&&(t.preventDefault(),t.stopPropagation())}}),i.a.mixin("redux",a()(t.store)),i.a.mixin("debug",{init:function(){var e=0;d.on("updated",(function(){t.log("tag ".concat(d.__.tagName," rendered: ").concat(++e))}))}}),i.a.mount("*")}},18:function(t,e,n){"use strict";n.d(e,"a",(function(){return p})),n.d(e,"d",(function(){return m})),n.d(e,"c",(function(){return v})),n.d(e,"e",(function(){return g})),n.d(e,"b",(function(){return b}));var r=n(58),a=n.n(r),o=n(32),i=n.n(o),c=n(93),u=n.n(c),s=n(72),l=n.n(s),f=n(70),d=n(3);function p(t){if(u()(t)){var e=Object.fromEntries(Object.entries(t).map((function(t){var e=i()(t,2);return[e[0],p(e[1])]})));t=Object(f.b)(e)}return t}var m=function(t){return t.sort.map((function(e){return t.data[e]}))},v=function(t){return t.data[t.sort[0]]};function g(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object.fromEntries(Object.entries(e).map((function(e){var r=i()(e,2),o=r[0],c=r[1];return[o,a()(c)===a()(t[o])||n[o]?t[o]:c]})))}var b=l()(d.l,200)},183:function(t,e,n){t.exports=n.p+"images/[email protected]?f07a797bd5c252aaf6c2fba492071cca"},19:function(t,e,n){"use strict";n.r(e),n.d(e,"save",(function(){return T})),n.d(e,"update",(function(){return _})),n.d(e,"addCategory",(function(){return C})),n.d(e,"removeCategory",(function(){return A}));var r=n(32),a=n.n(r),o=n(6),i=n.n(o),c=n(13),u=n.n(c),s=n(3),l=n(14),f=n(15),d=n(7),p=n(11),m=n(29),v=n(20);function g(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function b(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};
1e%2?g(Object(n),!0).forEach((function(e){i()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function h(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var u=r&&r.prototype instanceof c?r:c,s=Object.create(u.prototype);return y(s,"_invoke",function(n,r,a){var o,c,u,s=0,l=a||[],f=!1,d={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return o=e,c=0,u=t,d.n=n,i}};function p(n,r){for(c=n,u=r,e=0;!f&&s&&!a&&e<l.length;e++){var a,o=l[e],p=d.p,m=o[2];n>3?(a=m===r)&&(u=o[(c=o[4])?5:(c=3,3)],o[4]=o[5]=t):o[0]<=p&&((a=n<2&&p<o[1])?(c=0,d.v=r,d.n=o[1]):p<m&&(a=n<3||o[0]>r||r>m)&&(o[4]=n,o[5]=r,d.n=m,c=0))}if(a||n>1)return i;throw f=!0,r}return function(a,l,m){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,m),c=l,u=m;(e=c<2?t:u)||!f;){o||(c?c<3?(c>1&&(d.n=-1),p(c,u)):d.n=u:d.v=u);try{if(s=2,o){if(c||(a="next"),e=o[a]){if(!(e=e.call(o,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,c<2&&(c=0)}else 1===c&&(e=o.return)&&e.call(o),c<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),c=1);o=t}else if((e=(f=d.n<0)?u:n.call(r,d))!==i)break}catch(e){o=t,c=1,u=e}finally{s=1}}return{value:e,done:f}}}(n,a,o),!0),s}var i={};function c(){}function u(){}function s(){}e=Object.getPrototypeOf;var l=[][r]?e(e([][r]())):(y(e={},r,(function(){return this})),e),f=s.prototype=c.prototype=Object.create(l);function d(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,y(t,a,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=s,y(f,"constructor",s),y(s,"constructor",u),u.displayName="GeneratorFunction",y(s,a,"GeneratorFunction"),y(f),y(f,a,"Generator"),y(f,r,(function(){return this})),y(f,"toString",(function(){return"[object Generator]"})),(h=function(){return{w:o,m:d}})()}function y(t,e,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(t){a=0}(y=function(t,e,n,r){function o(e,n){y(t,e,(function(t){return this._invoke(e,n,t)}))}e?a?a(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(o("next",0),o("throw",1),o("return",2))})(t,e,n,r)}var O,j=new Set(v.DATE_FORMATS),w=new Set(v.LOCALES.map((function(t){return t.code}))),x=new Set(v.THEMES),k=new Set(v.TIMEZONES.map((function(t){return t.value}))),S=Object(s.c)("data/config/",["reset","update"],{read:function(t){return function(){var e=u()(h().m((function e(n,r){var a;return h().w((function(e){for(;;)switch(e.p=e.n){case 0:if(!Object(d.o)(r())){e.n=5;break}return e.p=1,e.n=2,l.a.get("/cfg",{params:t});case 2:if((a=e.v).data){e.n=3;break}return e.a(2);case 3:a.data.notifications&&n(f.a.update({data:a.data.notifications})),n(S.update(a.data.config)),e.n=5;break;case 4:return e.p=4,e.v,e.a(2);case 5:return e.a(2)}}),e,null,[[1,4]])})));return function(t,n){return e.apply(this,arguments)}}()},save:function(t){return t.theme&&!x.has(t.theme)&&delete t.theme,t.date&&!j.has(t.date)&&delete t.date,t.locale&&!w.has(t.locale)&&delete t.locale,t.timezone&&!k.has(t.timezone)&&delete t.timezone,function(){var e=u()(h().m((function e(n,r){var a,o,c,u,f;return h().w((function(e){for(;;)switch(e.p=e.n){case 0:if(a=Object(m.a)(r()),!t.scheme&&(t.pomodoro||t.short||t.long||t.delay)&&(o=(t.pomodoro||a.pomodoro)/60,c=(t.short||a.short)/60,u=(t.long||a.long)/60,t.schemes=b(b({},a.schemes),{},i()({},a.scheme||"classic","".concat(o," ").concat(c," ").concat(u," ").concat(t.delay||a.delay)))),n(S.update(t)),Object(d.o)(r())){e.n=1;break}return e.a(2,s.a);case 1:return e.p=1,e.n=2,l.a.patch("/cfg",t);case 2:return f=e.v,e.a(2,f.data);case 3:return e.p=3,e.v,e.a(2,s.a)}}),e,null,[[1,3]])})));return function(t,n){return e.apply(this,arguments)}}()},applyScheme:function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=e.split(" "),o=r.splice(-1),i=r.map((function(t){return 60*t})),c=a()(i,3),u=c[0],l=c[1],d=c[2],m=p.c.gettext("Time Scheme has been changed");Object(s.l)(f.a.notify("".concat(m,": ").concat(t)));var v={delay:o,pomodoro:u,short:l,long:d,scheme:t};return n?S.save(v):S.update(v)},bindScheme:function(t,e){return{scheme:t,category:e}},applyCategory:function(t){return function(e,n){var r=Object(m.a)(n());return t===r.category?s.a:S.update({category:t})}},addCategory:function(t){return(t=null!=t?t.trim():void 0)?function(e,n){var r=Object(m.a)(n());return void 0!==r.categories[t]?s.a:S.save({categories:b(b({},r.categories),{},i()({},t,!1))})}:s.a},removeCategory:function(t){return(t=null!=t?t.trim():void 0)?function(e,n){var r=Object(m.a)(n());if(null==r.categories[t])return s.a;var a=b({},r.categories);return delete a[t],S.save({categories:a})}:s.a},renameCategory:(O=u()(h().m((function t(e,n){return h().w((function(t){for(;;)switch(t.p=t.n){case 0:if(e=e.trim(),n=n.trim()){t.n=1;break}return t.a(2,s.a);case 1:if(e!==n){t.n=2;break}return t.a(2,s.a);case 2:return t.p=2,t.n=3,l.a.post("/categories/rename",{target:n,source:e});case 3:t.n=5;break;case 4:return t.p=4,t.v,t.a(2,s.a);case 5:return t.a(2,{source:e,target:n})}}),t,null,[[2,4]])}))),function(t,e){return O.apply(this,arguments)})});e.default=S;var T=S.save,_=S.update,C=S.addCategory,A=S.removeCategory},20:function(t,e,n){"use strict";n.r(e),n.d(e,"LOCALE",(function(){return s})),n.d(e,"DATE_FORMATS",(function(){return l})),n.d(e,"DEFAULT_DATE",(function(){return f})),n.d(e,"DEFAULT_TIME",(function(){return d})),n.d(e,"LOCALES",(function(){return p})),n.d(e,"THEMES",(function(){return m})),n.d(e,"TIMEZONE",(function(){return v})),n.d(e,"TIME_FORMATS",(function(){return g})),n.d(e,"NOTIFICATIONS",(function(){return b})),n.d(e,"NOTIFY_TYPES",(function(){return h}));var r=n(30),a=n.n(r),o=n(11),i=n(108),c=n.n(i);n.d(e,"TIMEZONES",(function(){return c.a}));var u=o.c.options.locale_data.messages[""].lang,s=u,l=["MM/DD/YYYY","MM-DD-YYYY","DD/MM/YYYY","DD.MM.YYYY","YYYY.MM.DD","YYYY-MM-DD"],f="en"===u?"MM/DD/YYYY":"DD.MM.YYYY",d="en"===u?"hh:mmA":"HH:mm",p=[{
1code:"ar",name:"ï»ïº®ïºï»¯"},{code:"de",name:"Deutsch"},{code:"el",name:"Îλληνικά"},{code:"en",name:"English"},{code:"es",name:"Español"},{code:"fr",name:"Français"},{code:"id",name:"Indonesia"},{code:"it",name:"Italiano"},{code:"ja",name:"æ¥æ¬èª"},{code:"kk",name:"ÒÐ°Ð·Ð°Ò ÑÑлÑнде"},{code:"ko",name:"íêµì´"},{code:"nl",name:"Nederlands"},{code:"pl",name:"Polski"},{code:"pt",name:"Brasileiro"},{code:"ru",name:"Ð ÑÑÑкий"},{code:"tr",name:"Turkce"},{code:"uk",name:"УкÑаÑнÑÑка"},{code:"zh",name:"䏿"}],m=["light","dark","system","auto"],v=a.a.tz.guess(),g=[{value:"hh:mmA",name:"2:00PM"},{value:"HH:mm",name:"14:00"}],b={default:10,custom:20},h={pomodoro:10,break:20}},205:function(t,e,n){},206:function(t,e,n){},207:function(t,e,n){n(17).tag2("icon","<i class=\"{opts.fab && 'fab' || 'fas'} fa-{opts.fa || opts.fab} {'u-clickable': opts.onclick || opts.clickable}\" title=\"{opts.title}\" aria-hidden=\"true\"></i>","","",(function(t){}))},208:function(t,e,n){},209:function(t,e,n){},21:function(t,e,n){"use strict";var r=n(3),a=Object(r.c)("app/",["init","process","reset","update"]);e.a=a;a.init,a.process,a.reset,a.update},210:function(t,e,n){},211:function(t,e,n){n(17).tag2("confirm-action",'<div onclick="{onClick}" class="{opts.classname} {\'u-white u-bg-red\': confirmation}" tabindex="0"> <yield></yield>{confirmation && \'?\'} </div>',"","",(function(t){var e=this;this.onClick=function(n){if(!e.confirmation)return e.update({confirmation:!0});e.confirmation=!1,t.handle_confirm&&t.handle_confirm()}}))},212:function(t,e,n){t.exports=n.p+"images/logo.svg?e95d7fb77c3a515c3da1cee0393590ac"},213:function(t,e,n){t.exports=n.p+"images/[email protected]?747cff2d03831ec613ef8186bebff97b"},214:function(t,e,n){t.exports=n.p+"images/[email protected]?29390f3c5b93b39e9d08f542f06a98ca"},215:function(t,e,n){t.exports=n.p+"images/pomodoro.png?32eaf667d044726d468bbb821797b110"},216:function(t,e,n){t.exports=n.p+"images/chrome1.png?a9fb32ac1f2b761ad96602c502bf76f3"},217:function(t,e,n){t.exports=n.p+"images/chrome2.png?ff606db27edc95aafcd411e1f28c9dbe"},218:function(t,e,n){t.exports=n.p+"images/firefox1.png?9bc9b2d92925f2990c8b9dfe874c8f1c"},219:function(t,e,n){t.exports=n.p+"images/firefox2.png?7721afd0d0d8894de8c574f6a35e67ef"},22:function(t,e,n){"use strict";var r=n(13),a=n.n(r),o=n(3),i=n(14),c=n(15),u=n(52),s=n(54);function l(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var u=r&&r.prototype instanceof c?r:c,s=Object.create(u.prototype);return f(s,"_invoke",function(n,r,a){var o,c,u,s=0,l=a||[],f=!1,d={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return o=e,c=0,u=t,d.n=n,i}};function p(n,r){for(c=n,u=r,e=0;!f&&s&&!a&&e<l.length;e++){var a,o=l[e],p=d.p,m=o[2];n>3?(a=m===r)&&(u=o[(c=o[4])?5:(c=3,3)],o[4]=o[5]=t):o[0]<=p&&((a=n<2&&p<o[1])?(c=0,d.v=r,d.n=o[1]):p<m&&(a=n<3||o[0]>r||r>m)&&(o[4]=n,o[5]=r,d.n=m,c=0))}if(a||n>1)return i;throw f=!0,r}return function(a,l,m){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,m),c=l,u=m;(e=c<2?t:u)||!f;){o||(c?c<3?(c>1&&(d.n=-1),p(c,u)):d.n=u:d.v=u);try{if(s=2,o){if(c||(a="next"),e=o[a]){if(!(e=e.call(o,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,c<2&&(c=0)}else 1===c&&(e=o.return)&&e.call(o),c<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),c=1);o=t}else if((e=(f=d.n<0)?u:n.call(r,d))!==i)break}catch(e){o=t,c=1,u=e}finally{s=1}}return{value:e,done:f}}}(n,a,o),!0),s}var i={};function c(){}function u(){}function s(){}e=Object.getPrototypeOf;var d=[][r]?e(e([][r]())):(f(e={},r,(function(){return this})),e),p=s.prototype=c.prototype=Object.create(d);function m(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,f(t,a,"GeneratorFunction")),t.prototype=Object.create(p),t}return u.prototype=s,f(p,"constructor",s),f(s,"constructor",u),u.displayName="GeneratorFunction",f(s,a,"GeneratorFunction"),f(p),f(p,a,"Generator"),f(p,r,(function(){return this})),f(p,"toString",(function(){return"[object Generator]"})),(l=function(){return{w:o,m:m}}
1)()}function f(t,e,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(t){a=0}(f=function(t,e,n,r){function o(e,n){f(t,e,(function(t){return this._invoke(e,n,t)}))}e?a?a(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(o("next",0),o("throw",1),o("return",2))})(t,e,n,r)}var d=Object(o.c)("".concat(s.a,"/"),["reset","update","logout"],{login:function(t){return function(){var e=a()(l().m((function e(n,r){var a,o,c;return l().w((function(e){for(;;)switch(e.p=e.n){case 0:if(a=Object(u.a)(r()),o={},!(!a.user||a.expire<Date.now()||t&&a.user.impersonate!==t)){e.n=4;break}return t&&(o.id=t),e.p=1,e.n=2,i.a.get("/auth",{params:o});case 2:return c=e.v,e.a(2,c.data);case 3:return e.p=3,e.v,e.a(2,a);case 4:return e.a(2,a)}}),e,null,[[1,3]])})));return function(t,n){return e.apply(this,arguments)}}()}});i.a.interceptors.response.use((function(t){return t}),(function(t){return t.response&&(403===t.response.status&&"/api/v1/auth"!==t.config.url?Object(o.l)(d.login({force:!0})):t.response.status>=500&&Object(o.l)(c.a.notify("Server Error",{level:"error"}))),Promise.reject(t)})),e.a=d},220:function(t,e,n){t.exports=n.p+"images/safari.png?5606132cc80748e02519bf4124bee8a7"},221:function(t,e,n){"use strict";n(207),n(208);n(17).tag2("loading",'<div class="c-loading {opts.class}"> <i class="fas fa-spinner fa-spin fa-fw"></i> {jed.gettext(\'Loading\')} </div>',"","",(function(t){})),n(17).tag2("paginate",'<div class="u-flex u-flex--centered {opts.class}"> <yield></yield> <div if="{meta.total}" class="o-btn-group u-size-xs"> <button class="c-btn" title="{jed.gettext(\'previous page\')}" disabled="{meta.total <= meta.limit}" onclick="{onPrev}"> <i class="fa fa-chevron-left"></i> </button> <button class="c-btn" disabled="{meta.total <= meta.limit}" onclick="{onToggle}"> {startCase(jed.gettext(\'page\'))} {page}/{pageLast} </button> <button class="c-btn" title="{jed.gettext(\'next page\')}" disabled="{meta.total <= meta.limit}" onclick="{onNext}"> <i class="fa fa-chevron-right"></i> </button> </div> </div>',"","",(function(t){r(this)}));var r=function(t){var e=t.opts,n=e.change||t.parent&&t.parent.onPageChange;t.page=0,t.meta={},t.on("update",(function(){t.meta=e.store.meta,t.page=Math.floor(t.meta.offset/t.meta.limit)+1,t.pageLast=Math.ceil(t.meta.total/t.meta.limit)})),t.onPrev=function(){var e=t.meta.offset?t.meta.offset-t.meta.limit:t.meta.total-t.meta.limit;n(Math.max(0,e))},t.onNext=function(){var e=t.meta.offset<t.meta.total-t.meta.limit?t.meta.offset+t.meta.limit:0;n(Math.max(0,e))},t.onToggle=function(){var e=t.meta.offset?0:t.meta.limit*(t.pageLast-1);n(Math.max(0,e))}};n(209);n(17).tag2("modal",'<div class="c-overlay c-overlay--visible" onclick="{onClose}"></div> <div id="{name}" ref="modal" class="c-modal {\'c-modal--out\': closing}" tabindex="1" role="dialog"> <form class="c-modal__content" role="document" onsubmit="{onSubmit}"> <div class="c-modal__header"> <yield from="header"></yield> </div> <div class="c-modal__body"> <yield from="body"></yield> </div> <div class="c-modal__footer"> <yield from="footer"></yield> </div> </form> </div>',"","",(function(t){o(this)}));var a={init:function(){var t=this;this.actions=this.parent.actions,this.state=this.parent.state,this.on("update",(function(){return t.state=t.parent.state}))}},o=function(t){var e,n=t.opts,r=null!==(e=n.submit)&&void 0!==e&&e;t.closing=!1,t.box={},t.name=n.name||"modal-".concat(Math.ceil(1e6*Math.random())),t.mixin(a);var o=function(){n.close&&n.close(),document.body.classList.toggle("u-modal-open",!1)};t.on("mount",(function(){return document.addEventListener("keydown",t.onEsc)})),t.on("unmount",(function(){return document.removeEventListener("keydown",t.onEsc)})),t.on("update",(function(){(void 0===n.show||n.show)&&(t.refs.modal.focus(),document.body.classList.toggle("u-modal-open",!0))})),t.on("unmount",o),t.onEsc=function(e){(void 0===n.show||n.show)&&"Escape"==e.key&&t.onClose(e)},t.onSubmit=function(e){e.preventDefault(),r&&r(t)&&t.onClose(e)},t.onClose=function(e){t.evoid(e),t.update({closing:!0}),setTimeout((function(){o(),t.update({closing:!1})}),280)}},i=n(6),c=n.n(i),u=n(74),s=n(93),l=n.n(s),f=n(55),d=n.n(f),p=n(56),m={icons:c()({trello:"trello fab",googlecalendar:"google fab",googletasks:"google fab",microsoft:"windows fab"},null,"star"),links:c()({invoiz:function(){return"https://app.invoiz.de/todos"},googlecalendar:function(){return"https://calendar.google.com"},googletasks:function(){return"https://gmail.com"},trello:function(){return"https://trello.com"},todoist:function(t){return"https://todoist.com/showTask?id=".concat(t)},microsoft:function(){return"https://to-do.live.com"}},null,(function(){return{mode:"activities"}}))};function v(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function g(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};
1e%2?v(Object(n),!0).forEach((function(e){c()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}n(17).tag2("pomo-source",'<i if="{opts.source}" class="fa fa-fw fa-{getIcon()}" onclick="{onIcon}" title="Source: {(opts.source || startCase(jed.gettext(\'Activities\')))}"></i>',"","",(function(t){var e=this;this.getIcon=function(){return m.icons[t.source]||"cloud"},this.startCase=d.a,this.onIcon=function(n){e.evoid(n);var r=m.links[t.source];if(r){var a=r(t.eid);if(l()(a))return Object(p.b)({params:a});window.open(a,"_blank"),window.focus()}}})),n(17).tag2("pomo",'<form if="{opts.item}" onsubmit="{onSubmit}" oncontextmenu="{onContext}" onkeydown="{onKeyDown}" class="c-pomo {\'c-pomo--selected\': opts.selected, \'c-pomo--hover\': opts.handle_select && !opts.edit} {opts.class}"> <div class="c-pomo__cat" onclick="{onClick}"> <input show="{opts.edit}" onblur="{onBlur}" onfocus="{onFocus}" riot-value="{opts.item.category}" class="c-input" ref="category" placeholder="{startCase(jed.gettext(\'category\'))}"> <div if="{!opts.edit}" class="u-bold u-pl2"> {opts.item.category} </div> </div> <div class="c-pomo__desc" onclick="{onClick}" title="{jed.gettext(\'Click/tap to edit items.\')}"> <div show="{opts.edit}" class="o-input-group u-flex1" onblur="{onBlur}"> <input onblur="{onBlur}" onfocus="{onFocus}" class="c-input" ref="description" riot-value="{opts.item.description}" placeholder="{startCase(jed.gettext(\'description\'))}"> <yield from="fields"></yield> <button onclick="{onSubmit}" onfocus="{onFocus}" onblur="{onBlur}" title="{jed.gettext(\'save\')} (enter)" class="c-btn" data-test="pomo-save"> <i class="fa fa-save"></i> </button> </div> <div if="{!opts.edit}" class="u-pl2"> <markdown if="{opts.item.description}" content="{opts.item.description}"></markdown> <span if="{!opts.item.description}" class="u-gray u-italic"> {jed.gettext(\'no description\')} </span> </div> </div> <div if="{!opts.edit}" class="c-pomo__tail"> <yield from="tail"></yield> </div> </form>',"","",(function(t){b(this)}));var b=function(t){var e=t.opts;t.on("mount",(function(){var n=Object(u.a)("category",t.refs.category,{autoSelect:!0}).destroy;t.on("unmount",(function(){return n()}));var r=Object(u.a)(e.completion||"pomodoro",t.refs.description,{showOnFocus:!1,minLength:1}).destroy;t.on("unmount",(function(){return r()}))}));var n=null;t.onFocus=function(e){t.evoid(e),clearTimeout(n)},t.onBlur=function(e){t.evoid(e),n&&clearTimeout(n),n=setTimeout(t.onSubmit)},t.onKeyDown=function(t){"Escape"==t.key&&e.handle_cancel&&e.handle_cancel(t)},t.onContext=function(t){return e.edit||!e.handle_context?t:(t.item={item:e.item},e.handle_context(t))},t.onClick=function(t){if(!t.target.href&&e.handle_select)return e.handle_select(t)},t.onSubmit=function(n){t.evoid(n);var r={},a=e.item;if(e.handle_edit){for(var o=0,i=["category","description","duration"];o<i.length;o++){var c=i[o];if(t.refs[c]){var u=t.refs[c].value;a[c]!=u&&(r[c]=u)}}if(Object.keys(r).length>0)return e.handle_edit(g(g({},a),r))}return e.handle_cancel&&e.handle_cancel(n)}},h=n(72),y=n.n(h);n(17).tag2("toggle",'<div class="u-flex u-flex--align-center"> <label if="{opts.text}" for="{opts.name}" class="u-clickable u-mh2">{opts.text}</label> <input class="u-none" type="checkbox" id="{opts.name}" name="{opts.name}" ref="input" checked="{opts.checked}" disabled="{opts.disabled}" onchange="{onChange}"> <label class="c-toggle" for="{opts.name}" riot-style="order: {opts.order || 1}"></label> </div>',"","",(function(t){var e=this;t.box&&(this.on("mount",(function(){return t.box[t.name]=e.refs.input})),this.on("unmount",(function(){delete t.box[t.name]}))),this.onChange=y()((function(e){return t.handle_change&&t.handle_change(e)}))}));n(210);var O=n(34),j=n.n(O);n(17).tag2("popper",'<div oncontextmenu="{opts.context}" ref="body" class="{opts.cls || \'c-menu c-menu--popup\'}"> <i if="{opts.close && opts.handle_cancel}" onclick="{opts.handle_cancel}" class="fa fa-times c-menu__close" title="{startCase(jed.gettext(\'close\'))}"></i> <yield></yield> </div> <div if="{opts.handle_cancel}" onclick="{onCancel}" oncontextmenu="{onCancel}" class="c-overlay c-overlay--popup"></div>',"","",(function(t){x(this)}));var w=n(1645),x=function(t){var e=null;t.on("mount",(function(){var n,r,a=t.opts;if(a.el){e&&e.destroy();var o=a.params||{};o.placement=null!==(n=o.placement)&&void 0!==n?n:"bottom-start",o.modifiers=null!==(r=o.modifiers)&&void 0!==r?r:[],o.modifiers=[{name:"flip"},{name:"hide"},{name:"offset",options:{offset:o.offset||[0,4]}}].concat(j()(o.modifiers)),e=Object(w.a)(a.el,t.refs.body,o),a.el.onkeydown=function(e){"Escape"==e.key&&t.onCancel(e)}}})),t.on("unmount",(function(){e&&e.destroy(),e=null})),t.onCancel=function(e){t.evoid(e),t.opts.handle_cancel&&t.opts.handle_cancel()}},k=n(197),S=n.n(k)()({linkify:!0}),T=S.renderer.rules.link_open||function(t,e,n,r,a){return a.renderToken(t,e,n)};S.renderer.rules.link_open=function(t,e,n,r,a){return t[e].attrPush(["target","_blank"]),T(t,e,n,r,a)};var _=S;n(17).tag2("markdown","","","",(function(t){var e=this,n=null;
1this.on("mount",(function(){return e.update()})),this.on("updated",(function(){n!=t.content&&(n=t.content,e.root.innerHTML=_.renderInline(n||""))}))}));n(211),n(212),n(183),n(213),n(214);var C=n(90);function A(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return P(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?P(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){c=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}function P(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}Object(C.b)(document.querySelector("#user-menu")),Object(C.b)(document.querySelector("#locale-menu")),Object(C.b)(document.querySelector("#mobile-menu")),navigator&&"serviceWorker"in navigator&&navigator.serviceWorker.getRegistrations().then((function(t){var e,n=A(t);try{for(n.s();!(e=n.n()).done;){e.value.unregister()}}catch(t){n.e(t)}finally{n.f()}})).catch((function(t){console.log("Service Worker registration failed: ",t)}))},23:function(t,e,n){"use strict";e.a=function(t){return t.timer}},248:function(t,e,n){"use strict";var r=n(123);n(17).tag2("godmode",'<modal if="{state.user}" name="godmode" show="{state.open}" close="{onClose}" submit="{onReload}"> <yield to="header"> <h4 class="c-header">GodMode</h4> </yield> <yield to="body"> <div class="u-m3"> <div class="u-mb3 u-flex"> <label class="u-mr4" for="is_super" style="width: 16em"> See pages as SuperUser </label> <toggle name="is_super" checked="{state.super}" disabled="{state.user.impersonate}" box="{box}"></toggle> </div> <div class="u-mb3 u-flex"> <label class="u-mr4" for="debug" style="width: 16em"> Enable Debug Mode </label> <toggle name="debug" checked="{env.isDev}" box="{box}"></toggle> </div> <div class="u-mb3 u-flex"> <label class="u-mr4" for="goal" style="width: 16em"> Impersonate: </label> <div class="u-flex1"> <input ref="impersonate" class="c-input" riot-value="{state.user && state.user.impersonate}" placeholder="User ID/Email"> </div> </div> <div class="u-mb3 u-flex"> <button class="c-btn c-btn--blue u-size-s u-mr2" type="button" onclick="{parent.onDayPass}">Day Pass</button> <button class="c-btn c-btn--green u-size-s u-mr2" type="button" onclick="{parent.onDemo}">Login as Demo User</button> </div> </div> </yield> <yield to="footer"> <button class="c-btn u-mr2" onclick="{parent.onClean}">Clean</button> <button class="c-btn c-btn--blue u-ml2" onclick="{onSubmit}">Reload</button> </yield> </modal>',"","",(function(t){Object(r.a)(this)}))},249:function(t,e,n){"use strict";var r=n(13),a=n.n(r),o=n(22);function i(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var i=r&&r.prototype instanceof s?r:s,l=Object.create(i.prototype);return c(l,"_invoke",function(n,r,a){var o,i,c,s=0,l=a||[],f=!1,d={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return o=e,i=0,c=t,d.n=n,u}};function p(n,r){for(i=n,c=r,e=0;!f&&s&&!a&&e<l.length;e++){var a,o=l[e],p=d.p,m=o[2];n>3?(a=m===r)&&(c=o[(i=o[4])?5:(i=3,3)],o[4]=o[5]=t):o[0]<=p&&((a=n<2&&p<o[1])?(i=0,d.v=r,d.n=o[1]):p<m&&(a=n<3||o[0]>r||r>m)&&(o[4]=n,o[5]=r,d.n=m,i=0))}if(a||n>1)return u;throw f=!0,r}return function(a,l,m){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,m),i=l,c=m;(e=i<2?t:c)||!f;){o||(i?i<3?(i>1&&(d.n=-1),p(i,c)):d.n=c:d.v=c);try{if(s=2,o){if(i||(a="next"),e=o[a]){if(!(e=e.call(o,c)))throw TypeError("iterator result is not an object");
1if(!e.done)return e;c=e.value,i<2&&(i=0)}else 1===i&&(e=o.return)&&e.call(o),i<2&&(c=TypeError("The iterator does not provide a '"+a+"' method"),i=1);o=t}else if((e=(f=d.n<0)?c:n.call(r,d))!==u)break}catch(e){o=t,i=1,c=e}finally{s=1}}return{value:e,done:f}}}(n,a,o),!0),l}var u={};function s(){}function l(){}function f(){}e=Object.getPrototypeOf;var d=[][r]?e(e([][r]())):(c(e={},r,(function(){return this})),e),p=f.prototype=s.prototype=Object.create(d);function m(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,c(t,a,"GeneratorFunction")),t.prototype=Object.create(p),t}return l.prototype=f,c(p,"constructor",f),c(f,"constructor",l),l.displayName="GeneratorFunction",c(f,a,"GeneratorFunction"),c(p),c(p,a,"Generator"),c(p,r,(function(){return this})),c(p,"toString",(function(){return"[object Generator]"})),(i=function(){return{w:o,m:m}})()}function c(t,e,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(t){a=0}(c=function(t,e,n,r){function o(e,n){c(t,e,(function(t){return this._invoke(e,n,t)}))}e?a?a(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(o("next",0),o("throw",1),o("return",2))})(t,e,n,r)}n(17).tag2("impersonate",'<button class="c-btn u-size-xs" onclick="{onImpersonate}"> <i class="fa fa-user-secret u-yellow u-clickable"></i> </button>',"","",(function(t){var e=this;this.onImpersonate=a()(i().m((function t(){return i().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,e.app.store.dispatch(o.a.login(e.opts.user));case 1:return t.a(2)}}),t)})))}))},250:function(t,e,n){},251:function(t,e,n){},252:function(t,e,n){t.exports=n.p+"images/macappstore.svg?93ae99b832a266634c96c4d7dc4d58c6"},253:function(t,e,n){t.exports=n.p+"images/winstore.svg?fb30cba200667782aa0d3699b65ccf7d"},257:function(t,e,n){"use strict";var r=n(236),a=n.n(r),o=n(39),i=n.n(o),c=n(20),u=n(7),s=n(56),l=n(109);n(17).tag2("web-lang",'<div class="c-dropdown c-nav_item {\'c-dropdown--active\': menu}" ref="menu"> <a href="#" onclick="{onMenu}" class="c-nav_link u-nowrap"> <i class="fa fa-globe u-mr2"></i>{locale.name} <i class="fa fa-angle-down"></i> </a> </div> <popper if="{menu}" el="{refs.menu}" handle_cancel="{onClose}"> <a each="{locale in parent.LOCALES}" href="/?lang={locale.code}" class="c-nav_link c-nav_item c-nav_item--sub" onclick="{parent.parent.onSelect(locale.code)}"> {locale.name} </a> <a class="c-nav_link c-nav_item u-nowrap c-nav_item--sub" href="https://github.com/klen/pomodoro-tracker-locales" target="blank_">Add/Update Language</a> </popper>',"","",(function(t){var e=this;this.LOCALES=c.LOCALES,this.mixin("redux"),this.subscribe(u.e),this.mixin(l.a),this.menu=!1,this.locale={name:"English"},this.on("mount",(function(){var t=e.app.store.getState(),n=Object(u.c)(t),r=Object(u.g)(t);r.params.lang&&n.locale!=r.params.lang&&e.configure({locale:r.params.lang})})),this.on("update",(function(){var t=e.state||"en";e.locale=a()(e.LOCALES,(function(e){return e.code==t}))})),this.onSelect=function(t){return function(n){n.preventDefault(),e.onClose(),i.a.set("lang",t),e.configure({locale:t}),Object(s.b)({params:{lang:t}})}},this.onMenu=function(){return e.update({menu:!0})},this.onClose=function(){return e.update({menu:!1})},this.onProcess=function(){}}));var f=n(65),d=(n(123),n(13)),p=n.n(d),m=(n(250),n(14)),v=n(22),g=n(21),b=n(143),h=n.n(b),y=n(144),O=n.n(y),j=n(145);function w(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var u=r&&r.prototype instanceof c?r:c,s=Object.create(u.prototype);return x(s,"_invoke",function(n,r,a){var o,c,u,s=0,l=a||[],f=!1,d={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return o=e,c=0,u=t,d.n=n,i}};function p(n,r){for(c=n,u=r,e=0;!f&&s&&!a&&e<l.length;e++){var a,o=l[e],p=d.p,m=o[2];n>3?(a=m===r)&&(u=o[(c=o[4])?5:(c=3,3)],o[4]=o[5]=t):o[0]<=p&&((a=n<2&&p<o[1])?(c=0,d.v=r,d.n=o[1]):p<m&&(a=n<3||o[0]>r||r>m)&&(o[4]=n,o[5]=r,d.n=m,c=0))}if(a||n>1)return i;throw f=!0,r}return function(a,l,m){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,m),c=l,u=m;(e=c<2?t:u)||!f;){o||(c?c<3?(c>1&&(d.n=-1),p(c,u)):d.n=u:d.v=u);try{if(s=2,o){if(c||(a="next"),e=o[a]){if(!(e=e.call(o,u)))throw TypeError("iterator result is not an object");
1if(!e.done)return e;u=e.value,c<2&&(c=0)}else 1===c&&(e=o.return)&&e.call(o),c<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),c=1);o=t}else if((e=(f=d.n<0)?u:n.call(r,d))!==i)break}catch(e){o=t,c=1,u=e}finally{s=1}}return{value:e,done:f}}}(n,a,o),!0),s}var i={};function c(){}function u(){}function s(){}e=Object.getPrototypeOf;var l=[][r]?e(e([][r]())):(x(e={},r,(function(){return this})),e),f=s.prototype=c.prototype=Object.create(l);function d(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,x(t,a,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=s,x(f,"constructor",s),x(s,"constructor",u),u.displayName="GeneratorFunction",x(s,a,"GeneratorFunction"),x(f),x(f,a,"Generator"),x(f,r,(function(){return this})),x(f,"toString",(function(){return"[object Generator]"})),(w=function(){return{w:o,m:d}})()}function x(t,e,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(t){a=0}(x=function(t,e,n,r){function o(e,n){x(t,e,(function(t){return this._invoke(e,n,t)}))}e?a?a(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(o("next",0),o("throw",1),o("return",2))})(t,e,n,r)}n(17).tag2("web-login",'<div class="c-login u-mh3 {\'c-login--email\': email}"> <div onclick="{onLogin(\'google\')}" class="c-login_btn"> <img riot-src="{Google}" class="c-login_btn_icon"> <span class="c-login_btn_text"> {jed._(\'Sign in with %1$s\').fetch(\'Google\')} </span> </div> <div if="{env.isWeb || env.isWin}" onclick="{onLogin(\'microsoft\')}" class="c-login_btn"> <img riot-src="{Windows}" class="c-login_btn_icon"> <span class="c-login_btn_text"> {jed._(\'Sign in with %1$s\').fetch(\'Microsoft\')} </span> </div> <div each="{p in PROVIDERS}" if="{p.auth && (!env.isWeb || p.web) && (!env.isDesktop || p.desktop)}" onclick="{parent.onLogin(p.type)}" class="c-login_btn"> <i class="fab fa-{p.icon || p.type} c-login_btn_icon"></i> <span class="c-login_btn_text"> {jed._(\'Sign in with %1$s\').fetch(p.name || startCase(p.type))} </span> </div> <div class="c-login_email"> <input class="c-input" ref="email" name="email" onkeyup="{onValidate}" placeholder="Email"> <div class="c-login_box u-mt2" if="{email == 2}"> <div class="u-size-s">Password (was sent to your email):</div> <input class="c-input" ref="passcode" onkeyup="{update}"> </div> <div class="u-mt2 u-flex u-flex--start"> <button if="{email == 1}" class="c-btn c-btn--green u-size-s" onclick="{onMailStart}" disabled="{loading || !emailValidated}"> <i if="{loading}" class="fas fa-spinner fa-spin u-mr2"></i> {startCase(jed.gettext(\'send password\'))} </button> <button if="{email == 2}" class="c-btn c-btn--green u-size-s" onclick="{onMailStart}" disabled="{loading || !refs.passcode.value}"> <i if="{loading}" class="fas fa-spinner fa-spin u-mr2"></i> {startCase(jed.gettext(\'login\'))} </button> <button class="c-btn u-ml2 u-size-s" onclick="{onMail(false)}">{startCase(jed.gettext(\'cancel\'))}</button> </div> </div> <div onclick="{onMail(1)}" class="c-login_btn"> <div class="c-login_box"> <i class="fas fa-envelope c-login_btn_icon u-black"></i> <span class="c-login_btn_text"> {jed._(\'Sign in with %1$s\').fetch(\'Email\')} </span> </div> </div> <yield></yield> </div>',"","",(function(t){var e=this;this.Google=h.a,this.Windows=O.a,this.PROVIDERS=j.a,this.email=!1,this.emailValidated=!1,this.mixin("redux"),this.onValidate=function(t){return e.update({emailValidated:e.refs.email.value&&/\S+@\S+\.\S+/.test(e.refs.email.value)})},this.onLogin=function(n){return function(r){(t.onlogin||e.onWebLogin)(n)}},this.onWebLogin=function(t){new URL(window.location.href);window.location.href="/oauth/".concat(t,"?callback=#{ url.pathname }")},this.onMail=function(t){return function(n){return e.update({email:t})}},this.onMailStart=function(){var t=p()(w().m((function t(n){var r,a;return w().w((function(t){for(;;)switch(t.p=t.n){case 0:return r={email:e.refs.email.value},e.refs.passcode&&e.refs.passcode.value&&(r.passcode=e.refs.passcode.value),t.p=1,e.update({loading:!0}),t.n=2,m.a.post("/auth/email",r);case 2:if(!(a=t.v).data||!a.data.token){t.n=3;break}return e.dispatch(v.a.update(a.data)),e.dispatch(g.a.init()),t.a(2);case 3:t.n=5;break;case 4:return t.p=4,t.v,t.a(2,e.update({email:!1}));case 5:return t.p=5,e.update({loading:!1}),t.f(5);case 6:e.update({email:2,emailValidated:!1});case 7:return t.a(2)}}),t,null,[[1,4,5,6]])})));return function(e){return t.apply(this,arguments)}}()}));var k=n(24),S=Object(k.a)(u.e,u.o,(function(t,e){return{user:e,locale:t}}));n(17).tag2("web-menu",'<div class="c-dropdown c-nav_item {\'a-flash\': !state.user, \'c-dropdown--active\': menu}" ref="menu"> <a href="#" onclick="{onMenu}" class="c-nav_link u-nowrap"> <icon fa="{state.user && state.user.impersonate && \'user-secret\' || \'user-circle\'} u-mr2"></icon>{state.user && state.user.email || jed.gettext(\'Sign Up / Login\')} <i class="fa fa-angle-down"></i> </a> </div> <popper if="{menu}" el="{refs.menu}" params="{{placement: \'bottom-end\', modifiers: [{name: \'offset\', options: {offset: [-4, 4]}}]}}" handle_cancel="{onCancel}"> <virtual if="{parent.state.user}"> <a href="/settings?mode=timer" class="c-nav_link c-nav_item c-nav_item--sub"><i class="fa fa-clock fa-fw"></i> {jed.gettext(\'Timer\')}</a> <a href="/settings?mode=notify" class="c-nav_link c-nav_item c-nav_item--sub"><i class="fa fa-bell fa-fw"></i> {jed.gettext(\'Notifications\')}</a> <a href="/settings?mode=app" class="c-nav_link c-nav_item c-nav_item--sub"><i class="fa fa-window-maximize fa-fw"></i> {jed.gettext(\'Application\')}</a> <a href="/settings?mode=integrations" class="c-nav_link c-nav_item c-nav_item--sub"><i class="fa fa-cloud fa-fw"></i> {jed.gettext(\'Integrations\')}</a> <virtual if="{parent.isSuper}"> <div class="c-menu__sep"></div> <a onclick="{parent.onGodMode}" href="#" class="c-nav_link c-nav_item c-nav_item--sub"> <i class="fa fa-star fa-fw"></i>
1 Debug </a> <a href="/admin" class="c-nav_link c-nav_item c-nav_item--sub" target="_blank"> <i class="fa fa-chess-king fa-fw"></i> Admin </a> <a href="/dev/flow" class="c-nav_link c-nav_item c-nav_item--sub" target="_blank"> <i class="fa fa-heart fa-fw"></i> Flow </a> </virtual> <div class="c-menu__sep"></div> <a href="/user/{parent.state.user.id}" class="c-nav_link c-nav_item c-nav_item--sub"><i class="fa fa-user fa-fw"></i> {jed.gettext(\'Profile\')}</a> <a onclick="{parent.onLogout}" class="c-nav_link c-nav_item c-nav_item--sub"><i class="fa fa-sign-out-alt fa-fw"></i> {jed.gettext(\'Logout\')}</a> </virtual> <web-login if="{!parent.state.user}"></web-login> </popper> <godmode if="{isSuper}"></godmode>',"","",(function(t){var e=this;this.mixin("redux"),this.subscribe(S),this.menu=!1,this.isSuper=!1,this.on("mount",(function(){return e.update()})),this.on("update",(function(){e.isSuper=e.state.user&&(e.state.user.is_super||e.state.user.impersonate)})),this.onCancel=function(){return e.update({menu:!1})},this.onMenu=function(t){return e.evoid(t),e.update({menu:!0})},this.onGodMode=function(t){return e.dispatch(f.a.update({open:!0}))},this.onLogout=function(){var t=new URL(window.location.href);window.localStorage.clear(),window.location.replace("/logout?callback=".concat(t.pathname))}})),n(17).tag2("auth-login-required",'<div if="{state}"> <yield></yield> </div> <div if="{!state}" class="u-mv4"> <h4 class="u-red u-bold u-size-l u-mb2"> {jed.gettext(\'You are not signed.\')} </h4> <p class="u-size-s u-gray-3"> {opts.message || jed.gettext(\'Please, login to use the feature\')} </p> <button class="c-btn" onclick="{onShow}">{jed.gettext(\'Sign Up / Login\')}</button> </div> <modal show="{login}" close="{onHide}" name="login" if="{env.isWeb}"> <yield to="header"> <h3 class="u-size-m c-header u-mt3"> <icon fa="star u-mr3"></icon> {jed.gettext(\'Sign Up / Login\')} </h3> </yield> <yield to="body"> <web-login></web-login> </yield> <yield to="footer"> <button class="c-btn c-head u-ml3" onclick="{onClose}"> {jed.gettext(\'Close\')} </button> </yield> </modal>',"","",(function(t){var e=this;this.mixin("redux"),this.subscribe(u.o),this.login=!1,this.onShow=function(t){if(e.env.isWeb)return e.update({login:!0});e.parent.parent.trigger("auth:login")},this.onHide=function(t){return e.update({login:!1})}}));n(251),n(252),n(253),n(423);var T=n(231),_=n.n(T),C=n(129);_.a.initiate(),Object(C.d)(!1)},26:function(t,e,n){"use strict";n.d(e,"f",(function(){return o})),n.d(e,"b",(function(){return i})),n.d(e,"e",(function(){return c})),n.d(e,"a",(function(){return u})),n.d(e,"c",(function(){return s})),n.d(e,"g",(function(){return l})),n.d(e,"d",(function(){return f}));var r=n(34),a=n.n(r);function o(t){var e=Math.floor(t%6e4/1e3),n=Math.floor(t/6e4);return{minutes:n<10?"0"+n:n.toString(),seconds:e<10?"0"+e:e.toString()}}function i(t){return t>=10?t:"0".concat(t)}function c(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=Math.floor(t/60),n=Math.floor(e/60);return{seconds:t,hours:n,minutes:e-60*n}}function u(){var t={};return t.promise=new Promise((function(e){return t.resolve=e})),t}function s(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=new Date(t).setHours(e,0,0,0);return r<t&&(r+=864e5),r<(n||Date.now())}function l(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:12;return a()(Array.from({length:t}).keys()).map((function(){return Math.trunc(16*Math.random()).toString(16)})).join("")}function f(t){return t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()}},264:function(t,e,n){"use strict";var r=n(7),a=n(56);e.a={navigate:a.b,init:function(){var t=this,e=void 0;this.on("mount",(function(){t.routeUnsubscribe=Object(r.p)(t.app.store,r.g,(function(n){e!==n&&t.trigger("route",e=n)}))})),this.on("unmount",(function(){t.routeUnsubscribe()}))}}},28:function(t,e,n){"use strict";e.a=function(t){return t.data.todos}},29:function(t,e,n){"use strict";e.a=function(t){return t.config}},31:function(t,e,n){"use strict";n.d(e,"b",(function(){return k}));var r=n(6),a=n.n(r),o=n(3),i=n(55),c=n.n(i),u=(n(20),n(19)),s=(n(85),n(29)),l=n(66),f=n(15),d=n(42),p=n(7),m=n(26),v=n(18),g=n(11),b=n(81),h=n(28);function y(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];
1if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return O(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?O(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){c=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}function O(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function j(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function w(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?j(Object(n),!0).forEach((function(e){a()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):j(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var x=Object(o.c)("data/todos/",["reset","update"],Object(d.b)({baseURL:"/todo",anonimous:!1}),Object(d.c)(h.a),{create:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{alt:!1,force:!1},n=e.alt,r=e.force;return function(e,a){var o=a(),i=Object(h.a)(o),c=s.a(o);if(!t.duration){var l,f=c.schemes[c.categories[t.category]];f&&(t.duration=Number.parseFloat(f.split(" ")[0])),t.duration=null!==(l=t.duration)&&void 0!==l?l:Math.ceil(c.pomodoro/60)}if(Object(b.c)(t,c),i.sort.length>0&&!r){var d=c.tasksTop;n&&(d=!d);var p=d?0:i.sort.length-1,m=i.data[i.sort[p]];m.description==t.description&&m.category==t.category&&(m.duration+=Math.ceil(c.pomodoro/60),t=m)}t.category&&!t.id&&e(u.default.addCategory(t.category)),e(x.save(t,{alt:n}))}},clear:function(){return function(t,e){var n=Object(h.a)(e());return n.sort.length>0&&t(x.remove(n.sort.map((function(t){return n.data[t]})))),t(x.reset()),o.a}},copy:function(t,e){return x.create(w({duration:t.duration,category:t.category,description:t.description},e),{force:!0})},split:function(t){var e=Math.ceil(t.duration/2);return t.duration>e&&Object(o.l)(x.minus(t,{duration:e})),Object(o.l)(x.copy(t,{duration:e})),!0},complete:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(e,n){var r=n(),a=s.a(r),i=Object(h.a)(r),c=Object(v.d)(i);if(0===c.length)return Object(o.l)(l.a.create(t)),o.a;var u=c[0];Object(o.l)(l.a.create(w(w({},u),t)));var d=Math.ceil((a.pomodoro||1500)/60);if(t.duration&&(d=Math.max(t.duration,d)),(a.complete||u.duration>d)&&(e(x.minus(u,{duration:d})),i=Object(h.a)(n())),0===i.sort.length){if(Object(p.d)(n()).sort.length>0){var m="".concat(g.c.gettext("Great work!")," ").concat(g.c.gettext("TODO list is empty."));Object(o.l)(f.a.notify({body:m,telegram:!0,level:"warning"}))}return o.a}return e(x.toggleScheme()),o.a}},merge:function(t){return function(e,n){var r=n(),a=Object(h.a)(r),i=Object(v.d)(a),u=i[i.indexOf(t)+1]||i[0];return u?(u.description!=t.description&&(u.description.trim().endsWith(".")||(u.description+="."),u.description+=" ".concat(c()(t.description))),e(x.remove(t)),u.duration+=t.duration,e(x.save(u)),o.a):o.a}},toggleScheme:function(){return function(t,e){var n=e(),r=Object(h.a)(n),a=Object(v.c)(r);if(!a||!a.category)return o.a;var i=Object(p.j)(n);if(!i||"started"==i.state&&"pomodoro"==i.mode)return o.a;var c=Object(p.c)(n),s=c.categories[a.category];if(!s||c.scheme==s)return o.a;var l=c.schemes[s];if(!l)return o.a;t(u.default.applyScheme(s,l,!1))}},updateMeta:function(){return function(t,e){var n=e(),r=s.a(n),a=Object(v.d)(Object(h.a)(n)),o=Object(p.j)(n),i=o.series,c=Math.max(o.endtime,Date.now());"pomodoro"==o.mode&&(c-=1e3*r.pomodoro);var u,l=y(a);try{for(l.s();!(u=l.n()).done;){var f,d=u.value;d.meta=null!==(f=d.meta)&&void 0!==f?f:{},d.meta.amount=Math.max(Math.ceil(60*d.duration/r.pomodoro),1);for(var m=0;m<d.meta.amount;m++){var g=++i%r.delay;c+=1e3*r.pomodoro,d.meta.finish=c,c+=1e3*(g&&r.short||r.long)}}}catch(t){l.e(t)}finally{l.f()}}}}),k=Object(m.a)();e.a=x},348:function(t,e,n){"use strict";e.a={init:function(){this.selectedTarget=null},operation:function(t){var e=this;return function(n){var r;e.evoid(n);var a=null===(r=n.item)||void 0===r?void 0:r.item;a&&(e.state.selected&&e.onCancel(),e.selectedTarget=n.currentTarget),
1(a||e.state.selected)&&t(a||e.state.selected,n)}},onSelect:function(t){var e,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ops";this.evoid(t);var a=null===(e=t.item)||void 0===e?void 0:e.item;if(a)return this.state.mode==r&&a.tid==(null===(n=this.state.selected)||void 0===n?void 0:n.tid)?this.onCancel(t):(this.selectedTarget=t.currentTarget,"contextmenu"==t.type&&(this.selectedTarget={getBoundingClientRect:function(){return{top:t.pageY-window.scrollY,right:t.pageX,bottom:t.pageY-window.scrollY,left:t.pageX,width:0,height:0}}}),this.actions.select({mode:r,selected:a.tid}))},onCreate:function(t,e){return this.actions.create(t,e)},onEdit:function(t){var e,n;this.evoid(t);var r=(null===(e=t.item)||void 0===e?void 0:e.item)||this.state.selected;if("edit"!=this.state.mode||r&&r.tid!=(null===(n=this.state.selected)||void 0===n?void 0:n.tid)){this.actions.select({selected:r.tid,mode:"edit"});var a=(t.currentTarget||t.target).querySelector("input");(a=null!=a?a:this.root.querySelector("form.c-pomo--selected input"))&&(a.focus(),a.select())}},onCancel:function(t){if(this.evoid(t),this.selectedTarget=null,this.state.mode)return this.actions.select({mode:null})}}},36:function(t,e,n){"use strict";n.d(e,"c",(function(){return O})),n.d(e,"a",(function(){return j})),n.d(e,"b",(function(){return w})),n.d(e,"d",(function(){return x})),n.d(e,"e",(function(){return k}));var r=n(6),a=n.n(r),o=n(57),i=n.n(o),c=n(76),u=n.n(c),s=n(3),l=n(21),f=n(19),d=n(8),p=n(18),m=n(60);function v(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return g(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?g(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){c=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}function g(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function b(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function h(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?b(Object(n),!0).forEach((function(e){a()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):b(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var y=function(t){t.mode=null,t.selected=null},O=function(t){var e,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r.selected=null!==(e=r.selected)&&void 0!==e?e:null,r.mode=null!==(n=r.mode)&&void 0!==n?n:null;var o=a()({},t.select.type,(function(t,e){var n=e.payload,r=n.selected,a=n.mode;t.mode=a,t.selected=r}));return t.create&&(o[t.create]=y),t.edit&&(o[t.edit]=y),t.remove&&(o[t.remove]=y),t.itemsRemove&&(o[t.itemsRemove]=y),t.reset&&(o[t.reset]=y),o},j=function(t,e){return a()({},l.a.reset.type,(function(){return e}))},w=function(t){var e,n,r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return o.wait=null!==(e=o.wait)&&void 0!==e&&e,o.data=null!==(n=o.data)&&void 0!==n?n:null,o.read=null!==(r=o.read)&&void 0!==r?r:null,h(h(h({},Object(s.b)(t,o)),j(t,o)),{},a()(a()({},t.read.type,(function(t,e){var n=e.payload;t.read=n})),t.process.type,(function(t,e){var n=e.payload;t.data=n})))},x=function(t){var e,n,r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return o.data=null!==(e=o.data)&&void 0!==e?e:{},o.sort=null!==(n=o.sort)&&void 0!==n?n:[],o.meta=null!==(r=o.meta)&&void 0!==r?r:{},h(h({},w(t,o)),{},a()(a()(a()({},t.process.type,(function(t,e){var n=e.payload;n=null!=n?n:Object(p.d)(t);
1var r,a=t.data,o=t.sort,i=v(n.filter(Boolean));try{for(i.s();!(r=i.n()).done;){var c=r.value;a[c.tid]=c,o.includes(c.tid)||o.push(c.tid)}}catch(t){i.e(t)}finally{i.f()}})),t.erase.type,(function(t,e){var n=e.payload,r=i()(n).filter((function(t){return t&&t.tid}));if(0!=r.length){var a,o=new Map,c=v(r);try{for(c.s();!(a=c.n()).done;){var u=a.value;o.set(u.tid,!0),delete t.data[u.tid]}}catch(t){c.e(t)}finally{c.f()}t.sort=t.sort.filter((function(t){return!o.has(t)}))}})),t.updateItem.type,(function(t,e){var n=e.payload;t.data[n.tid]=h({},n)})))},k=function(t){return a()(a()({},t.process.type,(function(e,n){var r,a=n.payload,o=e.data,i=v(a.filter(Boolean));try{for(i.s();!(r=i.n()).done;){var c,l=r.value;l.category=null!==(c=l.category)&&void 0!==c?c:"",o[l.tid]=l}}catch(t){i.e(t)}finally{i.f()}var f=u()(Object.values(o),"order","desc");if(f.length>0&&f[f.length-1].order<1e-6){var p,g=m.a,b=v(f.reverse());try{for(b.s();!(p=b.n()).done;){p.value.order=g+=m.a}}catch(t){b.e(t)}finally{b.f()}d.b.isElectronRenderer||Object(s.l)(t.save(f))}e.sort=f.map((function(t){return t.tid}))})),f.default.renameCategory.type,(function(t,e){var n=e.payload,r=n.source,a=n.target;t.sort.map((function(e){return t.data[e]})).filter((function(t){return t.category==r})).forEach((function(t){t.category=a}))}))}},376:function(t,e,n){"use strict";n.d(e,"c",(function(){return s})),n.d(e,"b",(function(){return l})),n.d(e,"a",(function(){return f}));var r,a,o=n(32),i=n.n(o);var c=null===(r=globalThis.document)||void 0===r?void 0:r.querySelector("#fav-svg"),u=null===(a=globalThis.document)||void 0===a?void 0:a.querySelector("#fav-png"),s=function(t){return Object.entries(t).filter((function(t){return void 0!==t[1]})).map((function(t){var e=i()(t,2),n=e[0],r=e[1];return"".concat(encodeURIComponent(n),"=").concat(encodeURIComponent(r))})).join("&")},l=function(t){var e=document.createElement("textarea");e.value=t,e.setAttribute("readonly",""),e.style.position="absolute",e.style.left="-9999px",document.body.append(e);var n=document.getSelection().rangeCount>0&&document.getSelection().getRangeAt(0);e.select(),document.execCommand("copy"),e.remove(),n&&(document.getSelection().removeAllRanges(),document.getSelection().addRange(n))},f=function(t){u&&(u.href=t),c&&(c.href=t,c.type="image/png")}},41:function(t,e,n){"use strict";var r=n(3),a=n(55),o=n.n(a),i=n(14),c=n(7),u=n(8),s=n(11),l=n(15),f=n(18),d=n(23),p=function(t){if(t&&t.endtime){var e=Date.now();if(t.endtime>e)return t;if(!(t.endtime+36e5<=e))return"paused"==t.state?t:{series:t.series}}},m=Object(r.c)("timer/",["plus","reset","resetSeries","save"],{init:function(){return function(t,e){var n=Object(d.a)(e());if(n.inited)return r.a;t(m.read());var a=e(),o=Object(c.c)(a);return n=Object(d.a)(a),{delay_limit:u.d?4e3:6e4,remains:"stopped"!==n.state&&n.remains?n.remains:1e3*o[n.mode]}}},read:function(){return function(t){return i.a.defaults.headers.common.Authorization&&i.a.get("/timer").then((function(e){return t(m.update(e.data))})),Date.now()}},update:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{force:!1},n=e.force;return function(e,a){if(!n){if(!(t=p(t)))return r.a;var o=Object(d.a)(a());if(!o||t.endtime<=o.endtime)return r.a}return t}},start:function(){return function(t,e){var n=e(),a=Object(d.a)(n);if("started"===a.state)return r.a;var o=Object(c.c)(n);return{mode:a.mode,pomodoro:o.pomodoro,short:o.short,long:o.long}}},pause:function(){},resume:function(){return function(t,e){var n=e(),a=Object(d.a)(n);return"paused"!==a.state?r.a:{mode:a.mode}}},stop:function(){return function(t,e){var n=e(),a=Object(d.a)(n);return"stopped"===a.state?r.a:1e3*Object(c.c)(n)[a.mode]}},next:function(){return function(t,e){var n=e(),r=Object(c.c)(n);return{delay:r.delay,long:r.long,pomodoro:r.pomodoro,short:r.short}}},skip:function(){return function(t,e){t(m.next());var n=e(),a=Object(c.c)(n);if(!a.autoStartPomodoro)return r.a;if(a.autoStartIfTodo&&0===Object(c.n)(n).sort.length)return r.a;return t(m.start()),r.a}},tick:function(){return function(t,e){t({type:"TICK",meta:{hidden:!0}});var n=e(),a=Object(d.a)(n);
1return"started"!==a.state||(a.remains<1e3&&t(m.done()),Object(c.c)(n).remains&&a.remains>=6e4&&a.remains<61e3&&t(l.a.notify({body:s.c.gettext("One minute left"),icon:"pomodoro"===a.mode?"pomodoro":"break",telegram:!0,title:o()("pomodoro"===a.mode?s.c.gettext("pomodoro"):s.c.gettext("break"))}))),r.a}},done:function(){return function(t,e){var n=e(),r=Object(c.c)(n),a=Object(d.a)(n),o=a.duration||1e3*r[n.mode];a.remains>1e3&&(o-=a.remains);var i={duration:o=Math.ceil(o/6e4),interruptions:a.interruptions,delay:a.delays,started:a.started,mode:a.mode};if(t(m.next()),t("pomodoro"===(a=Object(d.a)(e())).mode?l.a.notifyBreakOver({nosound:!!r.playAlarmSound}):l.a.notifyPomodoroOver(a.mode,{nosound:!!r.playAlarmSound})),"pomodoro"===a.mode){if(r.autoStartPomodoro){var u=Object(c.n)(e()).sort;(!r.autoStartIfTodo||u.length>0)&&t(m.start())}}else r.autoStartBreak&&t(m.start());return i}},prolong:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e4;return function(e){return e(m.plus(t)),Object(f.b)(m.save()),r.a}},trackInterruption:function(){return function(t,e){var n=Object(d.a)(e()),r=s.c.gettext("Interruption tracked")+" - ".concat(n.interruptions+1);t(l.a.notify(r,{id:"interruptions"}))}}});m.init,m.read,m.update,m.start,m.resume,m.stop,m.next,m.skip,m.tick,m.done,m.prolong,m.trackInterruption,e.a=m},42:function(t,e,n){"use strict";n.d(e,"a",(function(){return k})),n.d(e,"b",(function(){return S})),n.d(e,"c",(function(){return T}));var r=n(6),a=n.n(r),o=n(13),i=n.n(o),c=n(57),u=n.n(c),s=n(76),l=n.n(s),f=n(3),d=n(7),p=n(14),m=n(18),v=n(26),g=n(60);function b(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function h(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?b(Object(n),!0).forEach((function(e){a()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):b(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function y(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return O(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?O(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){c=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}function O(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function j(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var u=r&&r.prototype instanceof c?r:c,s=Object.create(u.prototype);return w(s,"_invoke",function(n,r,a){var o,c,u,s=0,l=a||[],f=!1,d={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return o=e,c=0,u=t,d.n=n,i}};function p(n,r){for(c=n,u=r,e=0;!f&&s&&!a&&e<l.length;e++){var a,o=l[e],p=d.p,m=o[2];n>3?(a=m===r)&&(u=o[(c=o[4])?5:(c=3,3)],o[4]=o[5]=t):o[0]<=p&&((a=n<2&&p<o[1])?(c=0,d.v=r,d.n=o[1]):p<m&&(a=n<3||o[0]>r||r>m)&&(o[4]=n,o[5]=r,d.n=m,c=0))}if(a||n>1)return i;throw f=!0,r}return function(a,l,m){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,m),c=l,u=m;(e=c<2?t:u)||!f;){o||(c?c<3?(c>1&&(d.n=-1),p(c,u)):d.n=u:d.v=u);try{if(s=2,o){if(c||(a="next"),e=o[a]){if(!(e=e.call(o,u)))throw TypeError("iterator result is not an object");
1if(!e.done)return e;u=e.value,c<2&&(c=0)}else 1===c&&(e=o.return)&&e.call(o),c<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),c=1);o=t}else if((e=(f=d.n<0)?u:n.call(r,d))!==i)break}catch(e){o=t,c=1,u=e}finally{s=1}}return{value:e,done:f}}}(n,a,o),!0),s}var i={};function c(){}function u(){}function s(){}e=Object.getPrototypeOf;var l=[][r]?e(e([][r]())):(w(e={},r,(function(){return this})),e),f=s.prototype=c.prototype=Object.create(l);function d(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,w(t,a,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=s,w(f,"constructor",s),w(s,"constructor",u),u.displayName="GeneratorFunction",w(s,a,"GeneratorFunction"),w(f),w(f,a,"Generator"),w(f,r,(function(){return this})),w(f,"toString",(function(){return"[object Generator]"})),(j=function(){return{w:o,m:d}})()}function w(t,e,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(t){a=0}(w=function(t,e,n,r){function o(e,n){w(t,e,(function(t){return this._invoke(e,n,t)}))}e?a?a(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(o("next",0),o("throw",1),o("return",2))})(t,e,n,r)}var x=function(){var t=i()(j().m((function t(e,n,r){var a,o,i=arguments;return j().w((function(t){for(;;)switch(t.p=t.n){case 0:return a=!(i.length>3&&void 0!==i[3])||i[3],t.p=1,r&&n(r({wait:!0})),t.n=2,Object(p.a)(e);case 2:return t.a(2,t.v);case 3:if(t.p=3,o=t.v,a){t.n=4;break}throw o;case 4:return t.p=4,r&&n(r({wait:!1})),t.f(4);case 5:return t.a(2)}}),t,null,[[1,3,4,5]])})));return function(e,n,r){return t.apply(this,arguments)}}(),k=function(t){var e=n(19).addCategory;return{select:f.f,create:t.create,remove:t.remove,save:t.save,sort:t.sort,edit:function(n){return n?function(r){return n.category&&r(e(n.category)),r(t.save(n)),n}:f.a},reset:function(){return function(e){return e(t.reset()),!0}}}},S=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{baseURL:"",anonimous:!1},e=t.baseURL,n=t.anonimous;return{update:f.f,updateItem:f.f,erase:f.f,process:function(t){var e,n=y(t=u()(t));try{for(n.s();!(e=n.n()).done;){var r,a=e.value;a&&(a.tid=null!==(r=a.tid)&&void 0!==r?r:a.id||Object(v.g)())}}catch(t){n.e(t)}finally{n.f()}return t},read:function(){var t=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(){var a=i()(j().m((function a(o,i){var c,u,s;return j().w((function(a){for(;;)switch(a.p=a.n){case 0:if(n){a.n=1;break}if(Object(d.o)(i())){a.n=1;break}return a.a(2,Date.now());case 1:return r=h(h({},r),{},{url:e,method:"get"}),a.p=2,a.n=3,x(r,o,t.update);case 3:if(c=a.v){a.n=4;break}return a.a(2,f.a);case 4:a.n=6;break;case 5:return a.p=5,a.v,a.a(2,f.a);case 6:return o(t.reset()),(u=c.headers)&&(s={},u["x-total"]&&(s.total=Number(u["x-total"])),u["x-offset"]&&(s.offset=Number(u["x-offset"])),u["x-limit"]&&(s.limit=Number(u["x-limit"])),u["x-page"]&&(s.page=Number(u["x-page"])),u["x-page-last"]&&(s.pageLast=Number(u["x-page-last"])),o(t.update({meta:s}))),o(t.process(c.data)),a.a(2,Date.now())}}),a,null,[[2,5]])})));return function(t,e){return a.apply(this,arguments)}}()},save:function(t){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(){var a=i()(j().m((function a(o,i){var c,s,l,f,p,m;return j().w((function(a){for(;;)switch(a.p=a.n){case 0:if(t){a.n=1;break}return a.a(2,null);case 1:if(t=u()(t),o(n.process(t,r)),!Object(d.o)(i())){a.n=5;break}c=[],s=y(t);try{for(s.s();!(l=s.n()).done;)f=l.value,p={data:f,method:r.method||"post",url:"".concat(e)},f.id&&(p=h(h({},p),{},{method:"put",url:"".concat(e,"/").concat(f.id)})),c.push(x(p,o))}catch(t){s.e(t)}finally{s.f()}return a.p=2,a.n=3,Promise.all(c);case 3:m=a.v,t=m.map((function(e,n){return h(h({},t[n]),e.data)})),o(n.process(t,r)),a.n=5;break;case 4:a.p=4,a.v;case 5:return a.a(2,t)}}),a,null,[[2,4]])})));return function(t,e){return a.apply(this,arguments)}}()},remove:function(t){var r=this;return function(a,o){t&&(t=u()(t),(Object(d.o)(o())||n)&&x({url:e,method:"delete",data:t.map((function(t){return t.id}))}),a(r.erase(t)),a({type:r.remove.type}));return f.a}}}},T=function(t){return{process:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(r,a){var o=a(),i=Object(d.c)(o),c=t(o),s=Object(m.d)(c),l=i.tasksTop;n.alt&&(l=!l);var f,p=l?s[0]:s[s.length-1],b=y(e=u()(e));try{for(b.s();!(f=b.n()).done;){var h,O=f.value;O&&(O.tid=null!==(h=O.tid)&&void 0!==h?h:O.id||Object(v.g)(),O.order||(O.order=1e4,p&&p.order&&(O.order=l?p.order+g.a:p.order-p.order/4),p=O))}}catch(t){b.e(t)}finally{b.f()}return e}},sort:function(e,n,r){var a=this;return function(o,i){var c=(r=null!=r?r:Object(m.d)(t(i())))[e];if(!c)return f.a;var u,s=r[n];if(!s)return f.a;if(0===n)c.order=Math.floor(s.order+g.a);else if(n===r.length-1)c.order=s.order-s.order/4;else if(e<n){if(!(u=r[n+1]))return f.a;c.order=s.order+(u.order-s.order)/2}else{if(!(u=r[n-1]))return f.a;c.order=s.order-(s.order-u.order)/2}return a.save(c)}},plus:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t)return f.a;var r=n.duration,a=n.multiply;return function(n,o){return r=r||Object(d.b)(o())/60,a&&(r*=4),t=h(h({},t),{},{duration:t.duration+r}),n(e.save(t)),n(e.updateItem(t)),f.a}},minus:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t)return f.a;var r=n.duration,a=n.multiply;return function(n,o){return r=r||Object(d.b)(o())/60,a&&(r*=4),(t=h(h({},t),{},{duration:t.duration-r})).duration<=0?e.remove(t):(n(e.save(t)),n(e.updateItem(t)),f.a)}},done:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t)return f.a;var r=n.complete;return function(n,a){var o=a(),i=r?t.duration:Object(d.b)(o)/60;
1if(n(e.minus(t,{duration:i})),!r){var c=Object(d.j)(o);if("pomodoro"===c.mode&&"started"===c.state){i=Math.min(i,Math.ceil((c.duration-c.remains)/6e4));var u=Object(d.d)(a());if(u.sort.length>0){var s=l()(Object.values(u.data),"created","desc")[0];s&&(i=Math.min(i,Math.ceil((Date.now()-s.created)/6e4)))}}}return n({type:e.done.type,payload:{item:t,duration:i}}),f.a}}}}},51:function(t,e,n){"use strict";e.a=function(t){return t.data.activities}},52:function(t,e,n){"use strict";var r=n(54);e.a=function(t){return t[r.a]}},53:function(t,e,n){"use strict";e.a=function(t){return t.data.history}},54:function(t,e,n){"use strict";e.a="auth"},56:function(t,e,n){"use strict";n.d(e,"a",(function(){return f})),n.d(e,"b",(function(){return d})),n.d(e,"c",(function(){return m}));var r=n(6),a=n.n(r),o=n(32),i=n.n(o),c=n(152),u=n(3),s=function(t){return Object.fromEntries(new URLSearchParams(t).entries())},l=Object(c.a)();l.listen((function(t){var e=t.location,n=e.pathname,r=e.search;Object(u.l)(f.route({pathname:n,search:r,params:s(r)}))}));var f=Object(u.c)("router/",["route"]),d=function(t){var e=t.pathname,n=t.params,r=t.merge;e=null!=e?e:l.location.pathname,r=null==r||r,n&&(r&&(n=Object.assign(s(l.location.search),n)),n=Object.fromEntries(Object.entries(n).filter((function(t){var e=i()(t,2);e[0];return void 0!==e[1]}))),e="".concat(e,"?").concat(new URLSearchParams(n).toString())),l.push(e)},p={pathname:l.location.pathname,search:l.location.search,params:s(l.location.search)},m=Object(u.e)(p,a()({},f.route.type,(function(t,e){var n=e.payload,r=n.pathname,a=n.search,o=n.params;r!=t.pathname&&(t.pathname=r),a!=t.search&&(t.search=a,t.params=o)})))},59:function(t,e,n){"use strict";e.a=function(t){return t.notify}},60:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var r=1e4},604:function(t,e,n){n(17).tag2("avatar",'<div class="u-r2 u-cover u-mb2" riot-style="background-image: url({opts.image}), url(\'/static/images/user.png\');width: {size};height: {size}"> </div>',"","",(function(t){var e=this;this.size=t.size||"50px",this.on("update",(function(){e.size=t.size||"50px"}))}))},64:function(t,e,n){"use strict";(function(t){var r=n(13),a=n.n(r);function o(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function c(n,r,a,o){var c=r&&r.prototype instanceof s?r:s,l=Object.create(c.prototype);return i(l,"_invoke",function(n,r,a){var o,i,c,s=0,l=a||[],f=!1,d={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return o=e,i=0,c=t,d.n=n,u}};function p(n,r){for(i=n,c=r,e=0;!f&&s&&!a&&e<l.length;e++){var a,o=l[e],p=d.p,m=o[2];n>3?(a=m===r)&&(c=o[(i=o[4])?5:(i=3,3)],o[4]=o[5]=t):o[0]<=p&&((a=n<2&&p<o[1])?(i=0,d.v=r,d.n=o[1]):p<m&&(a=n<3||o[0]>r||r>m)&&(o[4]=n,o[5]=r,d.n=m,i=0))}if(a||n>1)return u;throw f=!0,r}return function(a,l,m){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,m),i=l,c=m;(e=i<2?t:c)||!f;){o||(i?i<3?(i>1&&(d.n=-1),p(i,c)):d.n=c:d.v=c);try{if(s=2,o){if(i||(a="next"),e=o[a]){if(!(e=e.call(o,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,i<2&&(i=0)}else 1===i&&(e=o.return)&&e.call(o),i<2&&(c=TypeError("The iterator does not provide a '"+a+"' method"),i=1);o=t}else if((e=(f=d.n<0)?c:n.call(r,d))!==u)break}catch(e){o=t,i=1,c=e}finally{s=1}}return{value:e,done:f}}}(n,a,o),!0),l}var u={};function s(){}function l(){}function f(){}e=Object.getPrototypeOf;var d=[][r]?e(e([][r]())):(i(e={},r,(function(){return this})),e),p=f.prototype=s.prototype=Object.create(d);function m(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,i(t,a,"GeneratorFunction")),t.prototype=Object.create(p),t}return l.prototype=f,i(p,"constructor",f),i(f,"constructor",l),l.displayName="GeneratorFunction",i(f,a,"GeneratorFunction"),i(p),i(p,a,"Generator"),i(p,r,(function(){return this})),i(p,"toString",(function(){return"[object Generator]"})),(o=function(){return{w:c,m:m}})()}function i(t,e,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(t){a=0}(i=function(t,e,n,r){function o(e,n){i(t,e,(function(t){return this._invoke(e,n,t)}))}e?a?a(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(o("next",0),o("throw",1),o("return",2))})(t,e,n,r)}var c,u=t.Notification||t.mozNotification||t.webkitNotification;e.a={Notification:u,permission:null==u?void 0:u.permission,supported:!(null==u||!u),requestPermission:(c=a()(o().m((function t(){return o().w((function(t){for(;;)switch(t.n){case 0:if(!u){t.n=2;break}return t.n=1,u.requestPermission();case 1:return t.a(2,t.v);case 2:return t.a(2,"denied")}}),t)}))),function(){return c.apply(this,arguments)})}}).call(this,n(77))},65:function(t,e,n){"use strict";var r=n(3);e.a=Object(r.c)("debug/",["update","reset"])},66:function(t,e,n){"use strict";n.d(e,"b",(function(){return m}));var r=n(30),a=n.n(r),o=n(3),i=n(7),c=n(42),u=n(26),s=n(18),l=n(11),f=n(15),d=n(53),p=Object(o.c)("data/history/",["reset","update","slice"],Object(c.b)({baseURL:"/pomodoros",anonimous:!1}),{create:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(e,n){var r=Object(i.c)(n()),a=Object(i.j)(n());t.duration||(t.duration=r.pomodoro,!t.suspicious&&a.mode&&("pomodoro"==a.mode&&a.started?t.duration=Math.ceil((Date.now()-a.started)/6e4):a.stopped&&(t.duration=Math.ceil((Date.now()-a.stopped)/6e4))));var c=Object(d.a)(n());if(!t.suspicious||0===c.sort.length){var u=c.data[c.sort[0]];u&&u.created&&(t.duration=Math.min(t.duration,Math.ceil((Date.now()-u.created)/6e4)))}return t.duration=Math.max(1,t.duration),t.delay=Math.max((t.delay||0)/6e4,0),0===c.sort.length&&(t.delay=0),r.goal&&c.sort.length+1==r.goal&&e(f.a.notify({body:"".concat(l.c.gettext("Congratulations!")," ").concat(l.c.gettext("Daily Goal Completed.")),telegram:!0,level:"warning"})),e(p.save({category:t.category||r.category,created:Date.now(),delay:Math.floor(Math.min(t.duration,t.delay)),description:t.description,duration:t.duration,interruptions:t.interruptions,source:t.source,source_id:t.source_id,started:t.started,suspicious:t.suspicious})),Object(i.o)(n())||e(p.slice(20)),o.a}},reload:function(t){return function(e,n){var r=n(),o=Object(d.a)(r),c=Object(s.d)(o),u=a()(t),l=Object(i.c)(r),f=u.clone().tz(l.timezone).set({hour:5,minute:0,second:0,millisecond:0});f>=u&&(f=f.subtract(1,"d").add(1,"s"));var m=c.filter((function(t){return t.created<f}));return m.length>0&&e(p.erase(m)),Object(i.o)(r)&&e(p.read({params:{where:{created:{$ge:f.valueOf()}}}})),Date.now()}}}),m=Object(u.a)();e.a=p},7:function(t,e,n){"use strict";n.d(e,"p",(function(){return d})),n.d(e,"g",(function(){return p})),n.d(e,"m",(function(){return m})),n.d(e,"b",(function(){return v})),n.d(e,"e",(function(){return g})),n.d(e,"i",(function(){return b})),n.d(e,"l",(function(){return h})),n.d(e,"k",(function(){return y}
1)),n.d(e,"h",(function(){return O})),n.d(e,"o",(function(){return j}));var r=n(24),a=n(52),o=n(29),i=n(23),c=n(28);n(51);n.d(e,"a",(function(){return a.a})),n.d(e,"c",(function(){return o.a}));var u=n(53);n.d(e,"d",(function(){return u.a}));var s=n(59);n.d(e,"f",(function(){return s.a})),n.d(e,"j",(function(){return i.a})),n.d(e,"n",(function(){return c.a}));n(101);function l(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return f(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?f(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){c=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}function f(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}var d=function(t,e,n){var a=Object(r.a)(e,n);return t.subscribe((function(){return a(t.getState())}))},p=function(t){var e;return null!==(e=t.route)&&void 0!==e?e:{params:{}}},m=Object(r.a)(p,c.a,(function(t,e){var n,r,a=(null!==(n=t.params)&&void 0!==n?n:{}).category,o=l(e.sort);try{for(o.s();!(r=o.n()).done;){var i=r.value,c=e.data[i];if(void 0===a||c.category===a)return c}}catch(t){o.e(t)}finally{o.f()}})),v=Object(r.a)(o.a,(function(t){return Math.max(Math.ceil(t.pomodoro||1500),1)})),g=Object(r.a)(o.a,(function(t){return t.locale})),b=Object(r.a)(i.a,(function(t){return t.mode})),h=Object(r.a)(i.a,(function(t){return t.state})),y=Object(r.a)(i.a,(function(t){return t.series})),O=Object(r.a)(i.a,(function(t){return t.endtime})),j=(Object(r.a)(i.a,(function(t){var e=t.remains;return Math.ceil((e||0)/6e4)})),Object(r.a)(a.a,(function(t){return t.user})))},712:function(t,e,n){"use strict";var r=n(74),a=n(55),o=n.n(a);n(17).tag2("pomo-create",'<form class="c-pomo u-noborder" onsubmit="{onSubmit}" onkeydown="{onFormEsc}
1"> <div class="c-pomo__cat" title="{startCase(jed.gettext(\'category\')) + \' <Enter>\'}"> <input class="c-input" placeholder="{startCase(jed.gettext(\'category\'))}" data-test="pomo-category" ref="category" aria-label="{jed.gettext(\'category\')}" riot-value="{opts.category}"> </div> <div class="c-pomo__desc"> <div class="o-input-group u-flex1"> <input class="c-input" placeholder="{jed.gettext(\'Short description\')}" data-test="pomo-description" ref="description" title="{jed.gettext(\'Short description\')} - [#category] description [::amount]"> <button class="c-btn c-pomo__ctrl" title="{jed.gettext(\'Add\') + \' <Enter>\'}" data-test="pomo-append" type="submit" onclick="{onSubmit}"> <i class="fas fa-plus"></i> </button> </div> <yield></yield> </div> </form>',"","",(function(t){var e=this;this.startCase=o.a,this.on("mount",(function(){var t=Object(r.a)("category",e.refs.category,{autoSelect:!0}),n=Object(r.a)("activities",e.refs.description,{showOnFocus:!1,minLength:1});e.on("unmount",(function(){t.destroy(),n.destroy()}))})),this.on("focus",(function(){return e.refs.category.focus()})),this.onSubmit=function(n){e.evoid(n),t.handle_create&&t.handle_create({category:e.refs.category.value,description:e.refs.description.value},{alt:n.shiftKey}),e.refs.description.value=""},this.onFormEsc=function(t){if("Escape"!=t.key)return t;e.evoid(t),e.refs.category.value=e.refs.description.value="",t.target.blur()}}))},74:function(t,e,n){"use strict";n.d(e,"b",(function(){return O})),n.d(e,"a",(function(){return j}));var r=n(6),a=n.n(r),o=n(34),i=n.n(o);function c(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return u(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){c=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}var s=function(t){var e,n,r=document,a=t.container||r.createElement("div"),o=a.style,i=navigator.userAgent,u=~i.indexOf("Firefox")&&~i.indexOf("Mobile"),s=t.debounceWaitMs||0,l=t.preventSubmit||!1,f=t.disableAutoSelect||!1,d=u?"input":"keyup",p=[],m="",v=2,g=t.showOnFocus,b=0;if(void 0!==t.minLength&&(v=t.minLength),!t.input)throw new Error("input undefined");var h=t.input;function y(){n&&window.clearTimeout(n)}function O(){return!!a.parentNode}function j(){b++,p=[],m="",e=void 0,a.parentNode&&a.remove()}function w(){for(;a.firstChild;)a.firstChild.remove();var n=function(t,e){var n=r.createElement("div");return n.textContent=t.label||"",n};t.render&&(n=t.render);var i=function(t,e){var n=r.createElement("div");return n.textContent=t,n};t.renderGroup&&(i=t.renderGroup);var u,s=r.createDocumentFragment(),l="#9?$",f=c(p);try{var d,v,g=function(){var r=u.value;r.group&&r.group!==l&&(l=r.group,(d=i(r.group,m))&&(d.className+=" group",s.append(d))),(v=n(r,m))&&(v.addEventListener("click",(function(e){t.onSelect(r,h),j(),e.preventDefault(),e.stopPropagation()})),r===e&&(v.className+=" selected"),s.append(v))};for(f.s();!(u=f.n()).done;)g()}catch(t){f.e(t)}finally{f.f()}if(a.append(s),0===p.length){if(!t.emptyMsg)return void j();var b=r.createElement("div");b.className="empty",b.textContent=t.emptyMsg,a.append(b)}a.parentNode||r.body.append(a),function(){if(O()){o.height="auto",o.width=h.offsetWidth+"px";var e,n=0;i(),i(),t.customize&&e&&t.customize(h,e,a,n)}function i(){var t=r.documentElement,a=t.clientTop||r.body.clientTop||0,i=t.clientLeft||r.body.clientLeft||0,c=window.pageYOffset||t.scrollTop,u=window.pageXOffset||t.scrollLeft,s=(e=h.getBoundingClientRect()).top+h.offsetHeight+c-a,l=e.left+u-i;o.top=s+"px",o.left=l+"px",(n=window.innerHeight-(e.top+h.offsetHeight))<0&&(n=0),o.top=s+"px",o.bottom="",o.left=l+"px",o.maxHeight=n+"px"}}(),function(){var t=a.querySelectorAll(".selected");if(t.length>0){var e=t[0],n=e.previousElementSibling;if(n&&n.className.includes("group")&&!n.previousElementSibling&&(e=n),e.offsetTop<a.scrollTop)a.scrollTop=e.offsetTop;else{var r=e.offsetTop+e.offsetHeight,o=a.scrollTop+a.offsetHeight;r>o&&(a.scrollTop+=r-o)}}}()}function x(){O()&&w()}function k(){x()}function S(t){t.target!==a?x():t.preventDefault()}function T(e){for(var n=e.which||e.keyCode||0,r=0,a=t.keysToIgnore||[38,13,27,39,37,16,17,18,20,91,9];r<a.length;r++){if(n===a[r])return}n>=112&&n<=123&&!t.keysToIgnore||40===n&&O()||A(0)}function _(n){var r=n.which||n.keyCode||0;if(38===r||40===r||27===r){var a=O();if(27===r)j();else{if(!a||0===p.length)return;38===r?function(){if(0===p.length)e=void 0;else if(e===p[0])e=p[p.length-1];else for(var t=p.length-1;t>0;t--)if(e===p[t]||1===t){e=p[t-1];break}}():function(){if(0===p.length&&(e=void 0),e&&e!==p[p.length-1]){for(var t=0;t<p.length-1;t++)if(e===p[t]){e=p[t+1];break}}else e=p[0]}(),w()}return n.preventDefault(),void(a&&n.stopPropagation())}13===r&&(e&&(t.onSelect(e,h),j()),l&&n.preventDefault())}function C(){g&&A(1)}function A(r){var a=++b,o=h.value,i=h.selectionStart||0;o.length>=v||1===r?(y(),n=window.setTimeout((function(){t.fetch(o,(function(t){b===a&&t&&(m=o,e=0===(p=t).length||f?void 0:p[0],w())}),r,i)}),0===r?s:0)):j()}function P(){setTimeout((function(){r.activeElement!==h&&j()}),200)}return a.className="autocomplete "+(t.className||""),o.position="absolute",a.addEventListener("mousedown",(function(t){t.stopPropagation(),t.preventDefault()})),a.addEventListener("focus",(function(){return h.focus()})),h.addEventListener("keydown",_),h.addEventListener(d,T),h.addEventListener("blur",P),h.addEventListener("focus",C),window.addEventListener("resize",k),r.addEventListener("scroll",S,!0),{destroy:function(){h.removeEventListener("focus",C),h.removeEventListener("keydown",_),h.removeEventListener(d,T),h.removeEventListener("blur",P),window.removeEventListener("resize",k),r.removeEventListener("scroll",S,!0),y(),j()}}},l=n(83),f=n.n(l),d=n(110),p=n.n(d),m=n(51),v=n(29),g=n(53),b=n(28);n(205);function h(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}var y={},O=function(t){y.category=function(e,n){e=e.toLowerCase();var r=Object(v.a)(t.getState());if(!r)return n([]);var a=Object.keys(r.categories).filter((function(t){return t.toLowerCase().startsWith(e)})).map((function(t){return{label:t,value:t}}));return n(f()(a.slice(0,10),"value"))},y.activities=function(e,n){e=e.toLowerCase();var r=t.getState(),a=p()([].concat(i()(w(e,Object(g.a)(r))),i()(w(e,Object(m.a)(r)))),"value");return n(f()(a.slice(0,10),(function(t){return t.value})))},y.pomodoro=function(e,n){e=e.toLowerCase();var r=t.getState(),a=p()([].concat(i()(w(e,Object(m.a)(r))),i()(w(e,Object(b.a)(r))),i()(w(e,Object(g.a)(r)))),"value");return n(f()(a.slice(0,10),(function(t){return t.value})))},y.logs=function(e,n){var r=t.getState(),a=p()(w(e.toLowerCase(),function(t){return t.data.logs}(r)),"value");return n(f()(a.slice(0,10),(function(t){return t.value})))}},j=function(t,e,n){var r=y[t];return r?s(function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};
1e%2?h(Object(n),!0).forEach((function(e){a()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}({input:e,fetch:r,minLength:0,showOnFocus:!0,onSelect:function(t){var n=t.value;e.value=n,e.focus()}},n)):{destroy:function(){}}},w=function(t,e){return e.sort.length>0?Object.values(e.data).filter((function(e){var n,r=null===(n=e.description)||void 0===n?void 0:n.toLowerCase();return r&&r.startsWith(t)&&t.length<=r.length})).map((function(t){return{label:t.description,value:t.description}})):[]}},75:function(t,e,n){"use strict";var r=n(6),a=n.n(r),o=n(13),i=n.n(o),c=n(128),u=n.n(c),s=n(3),l=n(14),f=n(15),d=n(88),p=n(42),m=n(7),v=n(19),g=n(18),b=n(11),h=n(81),y=n(51),O=n(106);function j(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return w(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?w(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){c=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}function w(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function x(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var u=r&&r.prototype instanceof c?r:c,s=Object.create(u.prototype);return k(s,"_invoke",function(n,r,a){var o,c,u,s=0,l=a||[],f=!1,d={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return o=e,c=0,u=t,d.n=n,i}};function p(n,r){for(c=n,u=r,e=0;!f&&s&&!a&&e<l.length;e++){var a,o=l[e],p=d.p,m=o[2];n>3?(a=m===r)&&(u=o[(c=o[4])?5:(c=3,3)],o[4]=o[5]=t):o[0]<=p&&((a=n<2&&p<o[1])?(c=0,d.v=r,d.n=o[1]):p<m&&(a=n<3||o[0]>r||r>m)&&(o[4]=n,o[5]=r,d.n=m,c=0))}if(a||n>1)return i;throw f=!0,r}return function(a,l,m){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,m),c=l,u=m;(e=c<2?t:u)||!f;){o||(c?c<3?(c>1&&(d.n=-1),p(c,u)):d.n=u:d.v=u);try{if(s=2,o){if(c||(a="next"),e=o[a]){if(!(e=e.call(o,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,c<2&&(c=0)}else 1===c&&(e=o.return)&&e.call(o),c<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),c=1);o=t}else if((e=(f=d.n<0)?u:n.call(r,d))!==i)break}catch(e){o=t,c=1,u=e}finally{s=1}}return{value:e,done:f}}}(n,a,o),!0),s}var i={};function c(){}function u(){}function s(){}e=Object.getPrototypeOf;var l=[][r]?e(e([][r]())):(k(e={},r,(function(){return this})),e),f=s.prototype=c.prototype=Object.create(l);function d(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,k(t,a,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=s,k(f,"constructor",s),k(s,"constructor",u),u.displayName="GeneratorFunction",k(s,a,"GeneratorFunction"),k(f),k(f,a,"Generator"),k(f,r,(function(){return this})),k(f,"toString",(function(){return"[object Generator]"})),(x=function(){return{w:o,m:d}})()}function k(t,e,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(t){a=0}(k=function(t,e,n,r){function o(e,n){k(t,e,(function(t){return this._invoke(e,n,t)}))}e?a?a(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(o("next",0),o("throw",1),o("return",2))})(t,e,n,r)}function S(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function T(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};
1e%2?S(Object(n),!0).forEach((function(e){a()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):S(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var _=Object(p.c)(y.a),C=_.process,A=Object(s.c)("data/activities/",["reset","update"],Object(p.b)({baseURL:"/activities",anonimous:!1}),_,{process:function(t){return function(e,n){return t=t||Object(g.d)(Object(y.a)(n())),C(t)(e,n)}},create:function(t){return function(e,n){var r=Object(m.c)(n());return Object(h.c)(t,r),t.id||e(v.default.addCategory(t.category)),A.save(t)}},move:function(t,e){return function(){var n=i()(x().m((function n(r){var a;return x().w((function(n){for(;;)switch(n.n){case 0:if(void 0!==e.favorite){n.n=1;break}return n.a(2,s.a);case 1:if(!l.a.defaults.headers.common.Authorization){n.n=3;break}return n.n=2,l.a.post("/activities/".concat(t.id,"/move"),e);case 2:a=n.v,t=T(T({},t),a.data),n.n=4;break;case 3:t=T(T({},t),e);case 4:return e.favorite?(r(A.process(t)),r(d.a.erase(t))):(r(d.a.process(t)),r(A.erase(t))),n.a(2,s.a)}}),n)})));return function(t){return n.apply(this,arguments)}}()},movePeriod:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function(){var r=i()(x().m((function r(a,o){var i;return x().w((function(r){for(;;)switch(r.n){case 0:return i=Object(m.c)(o()),r.n=1,a(A.move(t,T(T({},n),{},{due:Object(O.b)(e,i.dateWeek)})));case 1:return r.a(2,s.a)}}),r)})));return function(t,e){return r.apply(this,arguments)}}()},copyPeriod:function(t,e){return function(n,r){var a=Object(m.c)(r());n(A.create({category:t.category,description:t.description,due:Object(O.b)(e,a.dateWeek)})),n(f.a.notify(b.c.gettext("Activities list is updated")))}},export:function(){return function(t,e){var n=e(),r=u()().startOf("day").toDate(),a=u()().endOf("day").add(1,"m").toDate(),o=Object(g.d)(Object(y.a)(n)).filter((function(t){return t.source||t.due&&t.due<a.valueOf()||t.rrule&&t.rruleParsed&&t.rruleParsed.after(r)<a}));if(0!==o.length&&0!==(o=P(d.b(n),o)).length&&0!==(o=P(Object(m.d)(n),o)).length){Object(m.c)(n).tasksTop&&o.reverse(),t(d.a.save(o.filter((function(t){return!t.due})).map((function(t){return T(T({},t),{},{id:null,order:null})}))));var i,c=j(o.filter((function(t){return t.due})));try{for(c.s();!(i=c.n()).done;){var s=i.value;t(A.move(s,{favorite:!1}))}}catch(t){c.e(t)}finally{c.f()}t(f.a.notify(b.c._("%1$s tasks were imported").fetch(o.length)))}}}});function P(t,e){if(0===Object(g.d)(t).length)return e;var n=Object.fromEntries(Object(g.d)(t).filter((function(t){return t.source_id})).map((function(t){return[t.source_id,t.source]})));return e.filter((function(t){return!t.source_id||void 0===n[t.source_id]||n[t.source_id]!==t.source}))}e.a=A},8:function(t,e,n){"use strict";(function(t,r){var a;n.d(e,"a",(function(){return u})),n.d(e,"d",(function(){return s})),n.d(e,"e",(function(){return f})),n.d(e,"f",(function(){return p})),n.d(e,"g",(function(){return v})),n.d(e,"c",(function(){return b}));var o=(t.platform||"").valueOf(),i=globalThis.navigator||{};if(!o)if(i.userAgentData)o=i.userAgentData.platform;else if(i.userAgent){var c=globalThis.navigator.userAgent;o=c.includes("Win")?"win":c.includes("Mac")?"darwin":c.includes("X11")?"unix":c.includes("Linux")?"linux":"unknown"}var u="https://pomodoro-tracker.com",s=t.env.DEBUG||void 0!==globalThis.__DEV__;if(t.argv&&t.argv.includes("--debug")&&(s=!0),r.localStorage){var l=JSON.parse(localStorage.getItem("debug"));s=l&&void 0!==l.debug?l.debug:s}var f=!(null===(a=t.versions)||void 0===a||!a.electron),d="browser"===t.type,p="renderer"===t.type,m="darwin"===o,v="ReactNative"===i.product,g=!!t.env.TESTING,b=!!globalThis.Cypress,h=!!t.env.JEST_WORKER_ID,y=o&&o.startsWith("win"),O=m?"â":"Ctrl",j=m?"â¥":"Alt";e.b={altKey:j,baseURL:u,cmdKey:O,isDesktop:!1,isDev:s,isElectron:f,isElectronMain:d,isElectronRenderer:p,isMac:m,isMain:!0,isTesting:g,isCypress:b,isJest:h,isWeb:!0,isWin:y,version:"latest"}}).call(this,n(230),n(77))},80:function(t,e,n){"use strict";n(317),n(318);var r=n(157),a=n.n(r);n.d(e,"a",(function(){return a.a}))},81:function(t,e,n){"use strict";n.d(e,"b",(function(){return d})),n.d(e,"a",(function(){return p})),n.d(e,"c",(function(){return g}));var r=n(58),a=n.n(r),o=n(100),i=n.n(o),c=n(186),u=n.n(c),s=n(132),l=n.n(s);function f(){f=function(t,e){return new n(t,void 0,e)};var t=RegExp.prototype,e=new WeakMap;function n(t,r,a){var o=RegExp(t,r);return e.set(o,a||e.get(t)),u()(o,n.prototype)}function r(t,n){var r=e.get(n);return Object.keys(r).reduce((function(e,n){var a=r[n];if("number"==typeof a)e[n]=t[a];else{for(var o=0;void 0===t[a[o]]&&o+1<a.length;)o++;e[n]=t[a[o]]}return e}),Object.create(null))}return i()(n,RegExp),n.prototype.exec=function(e){var n=t.exec.call(this,e);if(n){n.groups=r(n,this);var a=n.indices;a&&(a.groups=r(a,this))}return n},n.prototype[Symbol.replace]=function(n,o){if("string"==typeof o){var i=e.get(this);return t[Symbol.replace].call(this,n,o.replace(/\$<([^>]+)(>|$)/g,(function(t,e,n){if(""===n)return t;var r=i[e];return Array.isArray(r)?"$"+r.join("$"):"number"==typeof r?"$"+r:""})))}if("function"==typeof o){var c=this;return t[Symbol.replace].call(this,n,(function(){var t=arguments;
1return"object"!=a()(t[t.length-1])&&(t=[].slice.call(t)).push(r(t,c)),o.apply(this,t)}))}return t[Symbol.replace].call(this,n,o)},f.apply(this,arguments)}function d(t){var e=t.duration,n=t.delay,r=t.amount,a=t.interruptions;n=n>e?e:n;var o=e&&1-n/e/2||.5;return r&&a&&(o=Math.pow(Math.min(o,.99),1/(r/(r+a)))),Math.min(Math.max(Math.round(100*o),0),100)}function p(t,e,n){var r=e.pomodoro,a=e.short,o=e.long,i=e.delay,c=n||{},u=c.endtime,s=c.mode,l=c.series,f=u||Date.now(),d=t-1;if("pomodoro"==s&&(t-=1),f+=r*t*1e3,d>0){var p=Math.floor((t+(l||0))/i);f+=p*o*1e3,f+=(d-p)*a*1e3}return f}var m=f(/^\s*(.+?)?\s*(?:(~|::)(\d+))$/m,{desc:1,amount:3}),v=f(/^\s*#(\w+)\s*(.+?)?$/m,{category:1,desc:2});function g(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=Math.ceil((n.pomodoro||1500)/60);return t.description&&((e=t.description.match(m))&&(t.description=e.groups.desc,t.duration=Math.min(300,Number(e.groups.amount)*r)),(e=t.description.match(v))&&(t.description=e.groups.desc,t.category=e.groups.category),t.description=l()(t.description||"",{length:255,omission:""})),t.duration=t.duration||r,t.category=l()(t.category||"",{length:255,omission:""}),t}},85:function(t,e,n){"use strict";var r=n(6),a=n.n(r),o=n(32),i=n.n(o),c=n(3),u=n(21),s=n(22),l=n(8),f=n(36),d=n(18),p=n(19),m=n(20),v={clear:!0,categories:{work:!1,personal:!1},schemes:{classic:"25 5 15 4",work:"50 10 20 2",personal:"30 2 25 4"},pomodoro:1500,short:300,long:900,delay:4,autoStartBreak:!0,autoStartPomodoro:!1,autoStartIfTodo:!1,locale:m.LOCALE,time:m.DEFAULT_TIME,timezone:m.TIMEZONE,date:m.DEFAULT_DATE,theme:"system",goal:null,tasksTop:!0,complete:!0,rating:!0,report_daily:!1,report_weekly:!1,alerts:!1,playAlarmSound:"bell",playTickTockSound:!1,playTickTockSoundWhileBreaks:!1,notify:!0,remains:!1,notify_duration:3e3,notify_telegram:!1,volume:.4,notifications:m.NOTIFICATIONS.default,report_telegram:!1,report_time:8},g=Object(c.e)(v,Object(c.b)(p.default,v),Object(f.a)(p.default,v),a()(a()(a()({},p.default.update.type,(function(t,e){var n=e.payload;if(n){for(var r=0,a=Object.entries(n);r<a.length;r++){var o=i()(a[r],2),c=o[0],u=o[1];t[c]=u}return n.volume&&(t.volume=Math.round(100*Number.parseFloat(n.volume))/100),n.date&&(t.dateShort=n.date.replace(/[./-]?Y{4}[./-]?/,""),t.dateWeek=t.dateShort.startsWith("MM")?"week":"isoweek"),t}})),p.default.renameCategory.type,(function(t,e){var n=e.payload,r=n.source,a=n.target;t.categories[a]=t.categories[r]||!1,delete t.categories[r]})),p.default.bindScheme.type,(function(t,e){var n=e.payload,r=n.scheme,a=n.category;null!=t.categories[a]&&(t.categories[a]=r)})),!l.b.isElectronRenderer&&a()(a()({},s.a.login.type,(function(){Object(c.l)(p.default.read())})),u.a.init.type,(function(t){return(t=Object(d.e)(t,v,{playAlarmSound:!0,playTickTockSound:!0,playTickTockSoundWhileBreaks:!0,authorized:!0})).categories=Object.fromEntries(Object.entries(t.categories).map((function(e){var n=i()(e,2),r=n[0],a=n[1];return[r,t.schemes[a]||!1]}))),null==t?v:t})));e.a=Object(c.i)({key:"config"},g)},88:function(t,e,n){"use strict";var r=n(31);n.d(e,"a",(function(){return r.a}));n(122);var a=n(28);n.d(e,"b",(function(){return a.a}))},90:function(t,e,n){"use strict";n.d(e,"b",(function(){return f})),n.d(e,"a",(function(){return d}));var r=n(32),a=n.n(r),o=n(82),i=n.n(o);function c(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return u(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){c=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}var s={};function l(t){t.preventDefault(),t.stopPropagation();var e=document.querySelector(this.dataset.target);e&&(e.classList.toggle(this.dataset.class),this.setAttribute("aria-expanded",e.classList.contains(this.dataset.class)))}addEventListener("DOMContentLoaded",(function(){document.addEventListener("click",(function(){for(var t in s){var e=s[t],n=document.querySelector(t);n&&n.classList.remove(e)}}))}));var f=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(i()(t)&&(t=document.querySelector(t)),t){var n=document.querySelector(t.dataset.target);if(n){if(!e)return delete s[t.dataset.target],t.removeEventListener("click",l);s[t.dataset.target]=t.dataset.class,t.addEventListener("click",l)}}},d=function(t){var e,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(i()(t)&&(t=document.querySelector(t)),t){var o=t.querySelectorAll(".slideshow_slide");if(0!==o.length){var u=t.querySelectorAll(".slideshow_dots_dot"),s=0,l=0,f=o.length,d=function(t){var e;t<0&&(t=f+t),s=t%f;var n,r=c(o);try{for(r.s();!(n=r.n()).done;){n.value.classList.toggle("slideshow_slide--active",!1)}}catch(t){r.e(t)}finally{r.f()}o[s].classList.toggle("slideshow_slide--active",!0);var a,i=c(u);try{for(i.s();!(a=i.n()).done;){a.value.classList.toggle("slideshow_dots_dot--active",!1)}}catch(t){i.e(t)}finally{i.f()}null===(e=u[s])||void 0===e||e.classList.toggle("slideshow_dots_dot--active",!0)};d(s);var p,m=c(u.entries());try{var v=function(){var t=a()(p.value,2),e=t[0];t[1].addEventListener("click",(function(){clearInterval(l),d(e)}))};for(m.s();!(p=m.n()).done;)v()}catch(t){m.e(t)}finally{m.f()}if(null===(e=t.querySelector(".slideshow_prev"))||void 0===e||e.addEventListener("click",(function(){clearInterval(l),d(s-1)})),null===(n=t.querySelector(".slideshow_next"))||void 0===n||n.addEventListener("click",(function(){clearInterval(l),d(s+1)})),r.interval){var g=0;l=setInterval((function(){d(s+1),(g+=1)>=f&&clearInterval(l)}),r.interval)}}}}},953:function(t,e,n){"use strict";n(954),n(955)},954:function(t,e,n){n(17).tag2("category",'<button class="c-btn c-btn--cat c-btn--cat--{opts.index || 0} {\'c-btn--active\': opts.selected}" disabled="{opts.disabled}" title="{opts.label}" riot-style="{opts.cat_style}"> {opts.name || \'â\'}<span if="{opts.num}"> · {opts.num}</span> </button>',"","",(function(t){}))},955:function(t,e,n){},98:function(t,e,n){"use strict";var r=n(6),a=n.n(r),o=n(3),i=n(8),c=n(14),u=n(21),s=n(15),l=n(36),f=n(22),d=n(54);function p(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function m(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};
1e%2?p(Object(n),!0).forEach((function(e){a()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var v={expire:null,token:null,user:null},g=function(t){if(t)return c.a.defaults.headers.common.Authorization="Bearer ".concat(t);delete c.a.defaults.headers.common.Authorization},b=Object(o.e)(v,Object(o.b)(f.a,v),Object(l.a)(f.a,v),a()(a()(a()(a()({},u.a.init.type,(function(t){g(t.token)})),f.a.login.type,(function(t,e){var n=e.payload,r=t.token;return(t=m(m({},t),n)).token?g(t.token):r&&Object(o.l)(s.a.notify("Session is expired. Please relogin")),t})),f.a.update.type,(function(t,e){var n=e.payload;return t=m(m({},t),n),g(t.token),t})),f.a.logout.type,(function(){return g(null),v})),(!i.e||i.f)&&a()(a()({},u.a.init.type,(function(t){g(t.token),i.g||Object(o.l)(f.a.login())})),u.a.process.type,(function(t){t.token&&t.expire<=Date.now()+864e5&&Object(o.l)(f.a.login({force:!0}))})));e.a=Object(o.i)({key:d.a,deserialize:function(t){var e=JSON.parse(t);return e.expire&&e.expire>Date.now()+6e4?e:void 0}},b)}});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.