@@ -1,10834 +0,0 @@
4−function F(arity, fun, wrapper) {
11− return F(2, fun, function(a) { return function(b) { return fun(a,b); }; })
14− return F(3, fun, function(a) {
15− return function(b) { return function(c) { return fun(a, b, c); }; };
19− return F(4, fun, function(a) { return function(b) { return function(c) {
20− return function(d) { return fun(a, b, c, d); }; }; };
24− return F(5, fun, function(a) { return function(b) { return function(c) {
25− return function(d) { return function(e) { return fun(a, b, c, d, e); }; }; }; };
29− return F(6, fun, function(a) { return function(b) { return function(c) {
30− return function(d) { return function(e) { return function(f) {
31− return fun(a, b, c, d, e, f); }; }; }; }; };
35− return F(7, fun, function(a) { return function(b) { return function(c) {
36− return function(d) { return function(e) { return function(f) {
37− return function(g) { return fun(a, b, c, d, e, f, g); }; }; }; }; }; };
41− return F(8, fun, function(a) { return function(b) { return function(c) {
42− return function(d) { return function(e) { return function(f) {
43− return function(g) { return function(h) {
44− return fun(a, b, c, d, e, f, g, h); }; }; }; }; }; }; };
48− return F(9, fun, function(a) { return function(b) { return function(c) {
49− return function(d) { return function(e) { return function(f) {
50− return function(g) { return function(h) { return function(i) {
51− return fun(a, b, c, d, e, f, g, h, i); }; }; }; }; }; }; }; };
55−function A2(fun, a, b) {
56− return fun.a === 2 ? fun.f(a, b) : fun(a)(b);
58−function A3(fun, a, b, c) {
59− return fun.a === 3 ? fun.f(a, b, c) : fun(a)(b)(c);
61−function A4(fun, a, b, c, d) {
62− return fun.a === 4 ? fun.f(a, b, c, d) : fun(a)(b)(c)(d);
64−function A5(fun, a, b, c, d, e) {
65− return fun.a === 5 ? fun.f(a, b, c, d, e) : fun(a)(b)(c)(d)(e);
67−function A6(fun, a, b, c, d, e, f) {
68− return fun.a === 6 ? fun.f(a, b, c, d, e, f) : fun(a)(b)(c)(d)(e)(f);
70−function A7(fun, a, b, c, d, e, f, g) {
71− return fun.a === 7 ? fun.f(a, b, c, d, e, f, g) : fun(a)(b)(c)(d)(e)(f)(g);
73−function A8(fun, a, b, c, d, e, f, g, h) {
74− return fun.a === 8 ? fun.f(a, b, c, d, e, f, g, h) : fun(a)(b)(c)(d)(e)(f)(g)(h);
76−function A9(fun, a, b, c, d, e, f, g, h, i) {
77− return fun.a === 9 ? fun.f(a, b, c, d, e, f, g, h, i) : fun(a)(b)(c)(d)(e)(f)(g)(h)(i);
80−console.warn('Compiled in DEBUG mode. Follow the advice at https://elm-lang.org/0.19.1/optimize for better performance and smaller assets.');
83−var _List_Nil_UNUSED = { $: 0 };
84−var _List_Nil = { $: '[]' };
86−function _List_Cons_UNUSED(hd, tl) { return { $: 1, a: hd, b: tl }; }
87−function _List_Cons(hd, tl) { return { $: '::', a: hd, b: tl }; }
90−var _List_cons = F2(_List_Cons);
92−function _List_fromArray(arr)
95− for (var i = arr.length; i--; )
97− out = _List_Cons(arr[i], out);
102−function _List_toArray(xs)
104− for (var out = []; xs.b; xs = xs.b) // WHILE_CONS
111−var _List_map2 = F3(function(f, xs, ys)
113− for (var arr = []; xs.b && ys.b; xs = xs.b, ys = ys.b) // WHILE_CONSES
115− arr.push(A2(f, xs.a, ys.a));
117− return _List_fromArray(arr);
120−var _List_map3 = F4(function(f, xs, ys, zs)
122− for (var arr = []; xs.b && ys.b && zs.b; xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES
124− arr.push(A3(f, xs.a, ys.a, zs.a));
126− return _List_fromArray(arr);
129−var _List_map4 = F5(function(f, ws, xs, ys, zs)
131− for (var arr = []; ws.b && xs.b && ys.b && zs.b; ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES
133− arr.push(A4(f, ws.a, xs.a, ys.a, zs.a));
135− return _List_fromArray(arr);
138−var _List_map5 = F6(function(f, vs, ws, xs, ys, zs)
140− for (var arr = []; vs.b && ws.b && xs.b && ys.b && zs.b; vs = vs.b, ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES
142− arr.push(A5(f, vs.a, ws.a, xs.a, ys.a, zs.a));
144− return _List_fromArray(arr);
147−var _List_sortBy = F2(function(f, xs)
149− return _List_fromArray(_List_toArray(xs).sort(function(a, b) {
150− return _Utils_cmp(f(a), f(b));
154−var _List_sortWith = F2(function(f, xs)
156− return _List_fromArray(_List_toArray(xs).sort(function(a, b) {
157− var ord = A2(f, a, b);
158− return ord === $elm$core$Basics$EQ ? 0 : ord === $elm$core$Basics$LT ? -1 : 1;
164−var _JsArray_empty = [];
166−function _JsArray_singleton(value)
171−function _JsArray_length(array)
173− return array.length;
176−var _JsArray_initialize = F3(function(size, offset, func)
178− var result = new Array(size);
180− for (var i = 0; i < size; i++)
182− result[i] = func(offset + i);
188−var _JsArray_initializeFromList = F2(function (max, ls)
190− var result = new Array(max);
192− for (var i = 0; i < max && ls.b; i++)
199− return _Utils_Tuple2(result, ls);
202−var _JsArray_unsafeGet = F2(function(index, array)
204− return array[index];
207−var _JsArray_unsafeSet = F3(function(index, value, array)
209− var length = array.length;
210− var result = new Array(length);
212− for (var i = 0; i < length; i++)
214− result[i] = array[i];
217− result[index] = value;
221−var _JsArray_push = F2(function(value, array)
223− var length = array.length;
224− var result = new Array(length + 1);
226− for (var i = 0; i < length; i++)
228− result[i] = array[i];
231− result[length] = value;
235−var _JsArray_foldl = F3(function(func, acc, array)
237− var length = array.length;
239− for (var i = 0; i < length; i++)
241− acc = A2(func, array[i], acc);
247−var _JsArray_foldr = F3(function(func, acc, array)
249− for (var i = array.length - 1; i >= 0; i--)
251− acc = A2(func, array[i], acc);
257−var _JsArray_map = F2(function(func, array)
259− var length = array.length;
260− var result = new Array(length);
262− for (var i = 0; i < length; i++)
264− result[i] = func(array[i]);
270−var _JsArray_indexedMap = F3(function(func, offset, array)
272− var length = array.length;
273− var result = new Array(length);
275− for (var i = 0; i < length; i++)
277− result[i] = A2(func, offset + i, array[i]);
283−var _JsArray_slice = F3(function(from, to, array)
285− return array.slice(from, to);
288−var _JsArray_appendN = F3(function(n, dest, source)
290− var destLen = dest.length;
291− var itemsToCopy = n - destLen;
293− if (itemsToCopy > source.length)
295− itemsToCopy = source.length;
298− var size = destLen + itemsToCopy;
299− var result = new Array(size);
301− for (var i = 0; i < destLen; i++)
303− result[i] = dest[i];
306− for (var i = 0; i < itemsToCopy; i++)
308− result[i + destLen] = source[i];
318−var _Debug_log_UNUSED = F2(function(tag, value)
323−var _Debug_log = F2(function(tag, value)
325− console.log(tag + ': ' + _Debug_toString(value));
332−function _Debug_todo(moduleName, region)
334− return function(message) {
335− _Debug_crash(8, moduleName, region, message);
339−function _Debug_todoCase(moduleName, region, value)
341− return function(message) {
342− _Debug_crash(9, moduleName, region, value, message);
349−function _Debug_toString_UNUSED(value)
351− return '<internals>';
354−function _Debug_toString(value)
356− return _Debug_toAnsiString(false, value);
359−function _Debug_toAnsiString(ansi, value)
361− if (typeof value === 'function')
363− return _Debug_internalColor(ansi, '<function>');
366− if (typeof value === 'boolean')
368− return _Debug_ctorColor(ansi, value ? 'True' : 'False');
371− if (typeof value === 'number')
373− return _Debug_numberColor(ansi, value + '');
376− if (value instanceof String)
378− return _Debug_charColor(ansi, "'" + _Debug_addSlashes(value, true) + "'");
381− if (typeof value === 'string')
383− return _Debug_stringColor(ansi, '"' + _Debug_addSlashes(value, false) + '"');
386− if (typeof value === 'object' && '$' in value)
390− if (typeof tag === 'number')
392− return _Debug_internalColor(ansi, '<internals>');
398− for (var k in value)
400− if (k === '$') continue;
401− output.push(_Debug_toAnsiString(ansi, value[k]));
403− return '(' + output.join(',') + ')';
406− if (tag === 'Set_elm_builtin')
408− return _Debug_ctorColor(ansi, 'Set')
409− + _Debug_fadeColor(ansi, '.fromList') + ' '
410− + _Debug_toAnsiString(ansi, $elm$core$Set$toList(value));
413− if (tag === 'RBNode_elm_builtin' || tag === 'RBEmpty_elm_builtin')
415− return _Debug_ctorColor(ansi, 'Dict')
416− + _Debug_fadeColor(ansi, '.fromList') + ' '
417− + _Debug_toAnsiString(ansi, $elm$core$Dict$toList(value));
420− if (tag === 'Array_elm_builtin')
422− return _Debug_ctorColor(ansi, 'Array')
423− + _Debug_fadeColor(ansi, '.fromList') + ' '
424− + _Debug_toAnsiString(ansi, $elm$core$Array$toList(value));
427− if (tag === '::' || tag === '[]')
431− value.b && (output += _Debug_toAnsiString(ansi, value.a), value = value.b)
433− for (; value.b; value = value.b) // WHILE_CONS
435− output += ',' + _Debug_toAnsiString(ansi, value.a);
437− return output + ']';
441− for (var i in value)
443− if (i === '$') continue;
444− var str = _Debug_toAnsiString(ansi, value[i]);
446− var parenless = c0 === '{' || c0 === '(' || c0 === '[' || c0 === '<' || c0 === '"' || str.indexOf(' ') < 0;
447− output += ' ' + (parenless ? str : '(' + str + ')');
449− return _Debug_ctorColor(ansi, tag) + output;
452− if (typeof DataView === 'function' && value instanceof DataView)
454− return _Debug_stringColor(ansi, '<' + value.byteLength + ' bytes>');
457− if (typeof File !== 'undefined' && value instanceof File)
459− return _Debug_internalColor(ansi, '<' + value.name + '>');
462− if (typeof value === 'object')
465− for (var key in value)
467− var field = key[0] === '_' ? key.slice(1) : key;
468− output.push(_Debug_fadeColor(ansi, field) + ' = ' + _Debug_toAnsiString(ansi, value[key]));
470− if (output.length === 0)
474− return '{ ' + output.join(', ') + ' }';
477− return _Debug_internalColor(ansi, '<internals>');
480−function _Debug_addSlashes(str, isChar)
483− .replace(/\\/g, '\\\\')
484− .replace(/\n/g, '\\n')
485− .replace(/\t/g, '\\t')
486− .replace(/\r/g, '\\r')
487− .replace(/\v/g, '\\v')
488− .replace(/\0/g, '\\0');
492− return s.replace(/\'/g, '\\\'');
496− return s.replace(/\"/g, '\\"');
500−function _Debug_ctorColor(ansi, string)
502− return ansi ? '\x1b[96m' + string + '\x1b[0m' : string;
505−function _Debug_numberColor(ansi, string)
507− return ansi ? '\x1b[95m' + string + '\x1b[0m' : string;
510−function _Debug_stringColor(ansi, string)
512− return ansi ? '\x1b[93m' + string + '\x1b[0m' : string;
515−function _Debug_charColor(ansi, string)
517− return ansi ? '\x1b[92m' + string + '\x1b[0m' : string;
520−function _Debug_fadeColor(ansi, string)
522− return ansi ? '\x1b[37m' + string + '\x1b[0m' : string;
525−function _Debug_internalColor(ansi, string)
527− return ansi ? '\x1b[36m' + string + '\x1b[0m' : string;
530−function _Debug_toHexDigit(n)
532− return String.fromCharCode(n < 10 ? 48 + n : 55 + n);
539−function _Debug_crash_UNUSED(identifier)
541− throw new Error('https://github.com/elm/core/blob/1.0.0/hints/' + identifier + '.md');
545−function _Debug_crash(identifier, fact1, fact2, fact3, fact4)
550− throw new Error('What node should I take over? In JavaScript I need something like:\n\n Elm.Main.init({\n node: document.getElementById("elm-node")\n })\n\nYou need to do this with any Browser.sandbox or Browser.element program.');
553− throw new Error('Browser.application programs cannot handle URLs like this:\n\n ' + document.location.href + '\n\nWhat is the root? The root of your file system? Try looking at this program with `elm reactor` or some other server.');
556− var jsonErrorString = fact1;
557− throw new Error('Problem with the flags given to your Elm program on initialization.\n\n' + jsonErrorString);
560− var portName = fact1;
561− throw new Error('There can only be one port named `' + portName + '`, but your program has multiple.');
564− var portName = fact1;
565− var problem = fact2;
566− throw new Error('Trying to send an unexpected type of value through port `' + portName + '`:\n' + problem);
569− throw new Error('Trying to use `(==)` on functions.\nThere is no way to know if functions are "the same" in the Elm sense.\nRead more about this at https://package.elm-lang.org/packages/elm/core/latest/Basics#== which describes why it is this way and what the better version will look like.');
572− var moduleName = fact1;
573− throw new Error('Your page is loading multiple Elm scripts with a module named ' + moduleName + '. Maybe a duplicate script is getting loaded accidentally? If not, rename one of them so I know which is which!');
576− var moduleName = fact1;
578− var message = fact3;
579− throw new Error('TODO in module `' + moduleName + '` ' + _Debug_regionToString(region) + '\n\n' + message);
582− var moduleName = fact1;
585− var message = fact4;
587− 'TODO in module `' + moduleName + '` from the `case` expression '
588− + _Debug_regionToString(region) + '\n\nIt received the following value:\n\n '
589− + _Debug_toString(value).replace('\n', '\n ')
590− + '\n\nBut the branch that handles it says:\n\n ' + message.replace('\n', '\n ')
594− throw new Error('Bug in https://github.com/elm/virtual-dom/issues');
597− throw new Error('Cannot perform mod 0. Division by zero error.');
601−function _Debug_regionToString(region)
603− if (region.start.line === region.end.line)
605− return 'on line ' + region.start.line;
607− return 'on lines ' + region.start.line + ' through ' + region.end.line;
614−function _Utils_eq(x, y)
617− var pair, stack = [], isEqual = _Utils_eqHelp(x, y, 0, stack);
618− isEqual && (pair = stack.pop());
619− isEqual = _Utils_eqHelp(pair.a, pair.b, 0, stack)
626−function _Utils_eqHelp(x, y, depth, stack)
633− if (typeof x !== 'object' || x === null || y === null)
635− typeof x === 'function' && _Debug_crash(5);
641− stack.push(_Utils_Tuple2(x,y));
646− if (x.$ === 'Set_elm_builtin')
648− x = $elm$core$Set$toList(x);
649− y = $elm$core$Set$toList(y);
651− if (x.$ === 'RBNode_elm_builtin' || x.$ === 'RBEmpty_elm_builtin')
653− x = $elm$core$Dict$toList(x);
654− y = $elm$core$Dict$toList(y);
661− x = $elm$core$Dict$toList(x);
662− y = $elm$core$Dict$toList(y);
668− if (!_Utils_eqHelp(x[key], y[key], depth + 1, stack))
676−var _Utils_equal = F2(_Utils_eq);
677−var _Utils_notEqual = F2(function(a, b) { return !_Utils_eq(a,b); });
683−// Code in Generate/JavaScript.hs, Basics.js, and List.js depends on
684−// the particular integer values assigned to LT, EQ, and GT.
686−function _Utils_cmp(x, y, ord)
688− if (typeof x !== 'object')
690− return x === y ? /*EQ*/ 0 : x < y ? /*LT*/ -1 : /*GT*/ 1;
694− if (x instanceof String)
696− var a = x.valueOf();
697− var b = y.valueOf();
698− return a === b ? 0 : a < b ? -1 : 1;
703− if (typeof x.$ === 'undefined')
709− return (ord = _Utils_cmp(x.a, y.a))
711− : (ord = _Utils_cmp(x.b, y.b))
713− : _Utils_cmp(x.c, y.c);
716− // traverse conses until end of a list or a mismatch
717− for (; x.b && y.b && !(ord = _Utils_cmp(x.a, y.a)); x = x.b, y = y.b) {} // WHILE_CONSES
718− return ord || (x.b ? /*GT*/ 1 : y.b ? /*LT*/ -1 : /*EQ*/ 0);
721−var _Utils_lt = F2(function(a, b) { return _Utils_cmp(a, b) < 0; });
722−var _Utils_le = F2(function(a, b) { return _Utils_cmp(a, b) < 1; });
723−var _Utils_gt = F2(function(a, b) { return _Utils_cmp(a, b) > 0; });
724−var _Utils_ge = F2(function(a, b) { return _Utils_cmp(a, b) >= 0; });
726−var _Utils_compare = F2(function(x, y)
728− var n = _Utils_cmp(x, y);
729− return n < 0 ? $elm$core$Basics$LT : n ? $elm$core$Basics$GT : $elm$core$Basics$EQ;
735−var _Utils_Tuple0_UNUSED = 0;
736−var _Utils_Tuple0 = { $: '#0' };
738−function _Utils_Tuple2_UNUSED(a, b) { return { a: a, b: b }; }
739−function _Utils_Tuple2(a, b) { return { $: '#2', a: a, b: b }; }
741−function _Utils_Tuple3_UNUSED(a, b, c) { return { a: a, b: b, c: c }; }
742−function _Utils_Tuple3(a, b, c) { return { $: '#3', a: a, b: b, c: c }; }
744−function _Utils_chr_UNUSED(c) { return c; }
745−function _Utils_chr(c) { return new String(c); }
750−function _Utils_update(oldRecord, updatedFields)
754− for (var key in oldRecord)
756− newRecord[key] = oldRecord[key];
759− for (var key in updatedFields)
761− newRecord[key] = updatedFields[key];
770−var _Utils_append = F2(_Utils_ap);
772−function _Utils_ap(xs, ys)
775− if (typeof xs === 'string')
785− var root = _List_Cons(xs.a, ys);
787− for (var curr = root; xs.b; xs = xs.b) // WHILE_CONS
789− curr = curr.b = _List_Cons(xs.a, ys);
798−var _Basics_add = F2(function(a, b) { return a + b; });
799−var _Basics_sub = F2(function(a, b) { return a - b; });
800−var _Basics_mul = F2(function(a, b) { return a * b; });
801−var _Basics_fdiv = F2(function(a, b) { return a / b; });
802−var _Basics_idiv = F2(function(a, b) { return (a / b) | 0; });
803−var _Basics_pow = F2(Math.pow);
805−var _Basics_remainderBy = F2(function(b, a) { return a % b; });
807−// https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/divmodnote-letter.pdf
808−var _Basics_modBy = F2(function(modulus, x)
810− var answer = x % modulus;
811− return modulus === 0
814− ((answer > 0 && modulus < 0) || (answer < 0 && modulus > 0))
822−var _Basics_pi = Math.PI;
823−var _Basics_e = Math.E;
824−var _Basics_cos = Math.cos;
825−var _Basics_sin = Math.sin;
826−var _Basics_tan = Math.tan;
827−var _Basics_acos = Math.acos;
828−var _Basics_asin = Math.asin;
829−var _Basics_atan = Math.atan;
830−var _Basics_atan2 = F2(Math.atan2);
835−function _Basics_toFloat(x) { return x; }
836−function _Basics_truncate(n) { return n | 0; }
837−function _Basics_isInfinite(n) { return n === Infinity || n === -Infinity; }
839−var _Basics_ceiling = Math.ceil;
840−var _Basics_floor = Math.floor;
841−var _Basics_round = Math.round;
842−var _Basics_sqrt = Math.sqrt;
843−var _Basics_log = Math.log;
844−var _Basics_isNaN = isNaN;
849−function _Basics_not(bool) { return !bool; }
850−var _Basics_and = F2(function(a, b) { return a && b; });
851−var _Basics_or = F2(function(a, b) { return a || b; });
852−var _Basics_xor = F2(function(a, b) { return a !== b; });
856−var _String_cons = F2(function(chr, str)
861−function _String_uncons(string)
863− var word = string.charCodeAt(0);
865− ? $elm$core$Maybe$Just(
866− 0xD800 <= word && word <= 0xDBFF
867− ? _Utils_Tuple2(_Utils_chr(string[0] + string[1]), string.slice(2))
868− : _Utils_Tuple2(_Utils_chr(string[0]), string.slice(1))
870− : $elm$core$Maybe$Nothing;
873−var _String_append = F2(function(a, b)
878−function _String_length(str)
883−var _String_map = F2(function(func, string)
885− var len = string.length;
886− var array = new Array(len);
890− var word = string.charCodeAt(i);
891− if (0xD800 <= word && word <= 0xDBFF)
893− array[i] = func(_Utils_chr(string[i] + string[i+1]));
897− array[i] = func(_Utils_chr(string[i]));
900− return array.join('');
903−var _String_filter = F2(function(isGood, str)
906− var len = str.length;
911− var word = str.charCodeAt(i);
913− if (0xD800 <= word && word <= 0xDBFF)
919− if (isGood(_Utils_chr(char)))
924− return arr.join('');
927−function _String_reverse(str)
929− var len = str.length;
930− var arr = new Array(len);
934− var word = str.charCodeAt(i);
935− if (0xD800 <= word && word <= 0xDBFF)
937− arr[len - i] = str[i + 1];
939− arr[len - i] = str[i - 1];
944− arr[len - i] = str[i];
948− return arr.join('');
951−var _String_foldl = F3(function(func, state, string)
953− var len = string.length;
957− var char = string[i];
958− var word = string.charCodeAt(i);
960− if (0xD800 <= word && word <= 0xDBFF)
965− state = A2(func, _Utils_chr(char), state);
970−var _String_foldr = F3(function(func, state, string)
972− var i = string.length;
975− var char = string[i];
976− var word = string.charCodeAt(i);
977− if (0xDC00 <= word && word <= 0xDFFF)
980− char = string[i] + char;
982− state = A2(func, _Utils_chr(char), state);
987−var _String_split = F2(function(sep, str)
989− return str.split(sep);
992−var _String_join = F2(function(sep, strs)
994− return strs.join(sep);
997−var _String_slice = F3(function(start, end, str) {
998− return str.slice(start, end);
1001−function _String_trim(str)
1006−function _String_trimLeft(str)
1008− return str.replace(/^\s+/, '');
1011−function _String_trimRight(str)
1013− return str.replace(/\s+$/, '');
1016−function _String_words(str)
1018− return _List_fromArray(str.trim().split(/\s+/g));
1021−function _String_lines(str)
1023− return _List_fromArray(str.split(/\r\n|\r|\n/g));
1026−function _String_toUpper(str)
1028− return str.toUpperCase();
1031−function _String_toLower(str)
1033− return str.toLowerCase();
1036−var _String_any = F2(function(isGood, string)
1038− var i = string.length;
1041− var char = string[i];
1042− var word = string.charCodeAt(i);
1043− if (0xDC00 <= word && word <= 0xDFFF)
1046− char = string[i] + char;
1048− if (isGood(_Utils_chr(char)))
1056−var _String_all = F2(function(isGood, string)
1058− var i = string.length;
1061− var char = string[i];
1062− var word = string.charCodeAt(i);
1063− if (0xDC00 <= word && word <= 0xDFFF)
1066− char = string[i] + char;
1068− if (!isGood(_Utils_chr(char)))
1076−var _String_contains = F2(function(sub, str)
1078− return str.indexOf(sub) > -1;
1081−var _String_startsWith = F2(function(sub, str)
1083− return str.indexOf(sub) === 0;
1086−var _String_endsWith = F2(function(sub, str)
1088− return str.length >= sub.length &&
1089− str.lastIndexOf(sub) === str.length - sub.length;
1092−var _String_indexes = F2(function(sub, str)
1094− var subLen = sub.length;
1104− while ((i = str.indexOf(sub, i)) > -1)
1110− return _List_fromArray(is);
1116−function _String_fromNumber(number)
1118− return number + '';
1124−function _String_toInt(str)
1127− var code0 = str.charCodeAt(0);
1128− var start = code0 == 0x2B /* + */ || code0 == 0x2D /* - */ ? 1 : 0;
1130− for (var i = start; i < str.length; ++i)
1132− var code = str.charCodeAt(i);
1133− if (code < 0x30 || 0x39 < code)
1135− return $elm$core$Maybe$Nothing;
1137− total = 10 * total + code - 0x30;
1141− ? $elm$core$Maybe$Nothing
1142− : $elm$core$Maybe$Just(code0 == 0x2D ? -total : total);
1146−// FLOAT CONVERSIONS
1148−function _String_toFloat(s)
1150− // check if it is a hex, octal, or binary number
1151− if (s.length === 0 || /[\sxbo]/.test(s))
1153− return $elm$core$Maybe$Nothing;
1156− // faster isNaN check
1157− return n === n ? $elm$core$Maybe$Just(n) : $elm$core$Maybe$Nothing;
1160−function _String_fromList(chars)
1162− return _List_toArray(chars).join('');
1168−function _Char_toCode(char)
1170− var code = char.charCodeAt(0);
1171− if (0xD800 <= code && code <= 0xDBFF)
1173− return (code - 0xD800) * 0x400 + char.charCodeAt(1) - 0xDC00 + 0x10000
1178−function _Char_fromCode(code)
1181− (code < 0 || 0x10FFFF < code)
1185− ? String.fromCharCode(code)
1188− String.fromCharCode(Math.floor(code / 0x400) + 0xD800, code % 0x400 + 0xDC00)
1193−function _Char_toUpper(char)
1195− return _Utils_chr(char.toUpperCase());
1198−function _Char_toLower(char)
1200− return _Utils_chr(char.toLowerCase());
1203−function _Char_toLocaleUpper(char)
1205− return _Utils_chr(char.toLocaleUpperCase());
1208−function _Char_toLocaleLower(char)
1210− return _Utils_chr(char.toLocaleLowerCase());
1216−function _Json_errorToString(error)
1218− return $elm$json$Json$Decode$errorToString(error);
1225−function _Json_succeed(msg)
1233−function _Json_fail(msg)
1241−function _Json_decodePrim(decoder)
1243− return { $: 2, b: decoder };
1246−var _Json_decodeInt = _Json_decodePrim(function(value) {
1247− return (typeof value !== 'number')
1248− ? _Json_expecting('an INT', value)
1250− (-2147483647 < value && value < 2147483647 && (value | 0) === value)
1251− ? $elm$core$Result$Ok(value)
1253− (isFinite(value) && !(value % 1))
1254− ? $elm$core$Result$Ok(value)
1255− : _Json_expecting('an INT', value);
1258−var _Json_decodeBool = _Json_decodePrim(function(value) {
1259− return (typeof value === 'boolean')
1260− ? $elm$core$Result$Ok(value)
1261− : _Json_expecting('a BOOL', value);
1264−var _Json_decodeFloat = _Json_decodePrim(function(value) {
1265− return (typeof value === 'number')
1266− ? $elm$core$Result$Ok(value)
1267− : _Json_expecting('a FLOAT', value);
1270−var _Json_decodeValue = _Json_decodePrim(function(value) {
1271− return $elm$core$Result$Ok(_Json_wrap(value));
1274−var _Json_decodeString = _Json_decodePrim(function(value) {
1275− return (typeof value === 'string')
1276− ? $elm$core$Result$Ok(value)
1277− : (value instanceof String)
1278− ? $elm$core$Result$Ok(value + '')
1279− : _Json_expecting('a STRING', value);
1282−function _Json_decodeList(decoder) { return { $: 3, b: decoder }; }
1283−function _Json_decodeArray(decoder) { return { $: 4, b: decoder }; }
1285−function _Json_decodeNull(value) { return { $: 5, c: value }; }
1287−var _Json_decodeField = F2(function(field, decoder)
1296−var _Json_decodeIndex = F2(function(index, decoder)
1305−function _Json_decodeKeyValuePairs(decoder)
1313−function _Json_mapMany(f, decoders)
1322−var _Json_andThen = F2(function(callback, decoder)
1331−function _Json_oneOf(decoders)
1342−var _Json_map1 = F2(function(f, d1)
1344− return _Json_mapMany(f, [d1]);
1347−var _Json_map2 = F3(function(f, d1, d2)
1349− return _Json_mapMany(f, [d1, d2]);
1352−var _Json_map3 = F4(function(f, d1, d2, d3)
1354− return _Json_mapMany(f, [d1, d2, d3]);
1357−var _Json_map4 = F5(function(f, d1, d2, d3, d4)
1359− return _Json_mapMany(f, [d1, d2, d3, d4]);
1362−var _Json_map5 = F6(function(f, d1, d2, d3, d4, d5)
1364− return _Json_mapMany(f, [d1, d2, d3, d4, d5]);
1367−var _Json_map6 = F7(function(f, d1, d2, d3, d4, d5, d6)
1369− return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6]);
1372−var _Json_map7 = F8(function(f, d1, d2, d3, d4, d5, d6, d7)
1374− return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7]);
1377−var _Json_map8 = F9(function(f, d1, d2, d3, d4, d5, d6, d7, d8)
1379− return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7, d8]);
1385−var _Json_runOnString = F2(function(decoder, string)
1389− var value = JSON.parse(string);
1390− return _Json_runHelp(decoder, value);
1394− return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'This is not valid JSON! ' + e.message, _Json_wrap(string)));
1398−var _Json_run = F2(function(decoder, value)
1400− return _Json_runHelp(decoder, _Json_unwrap(value));
1403−function _Json_runHelp(decoder, value)
1408− return decoder.b(value);
1411− return (value === null)
1412− ? $elm$core$Result$Ok(decoder.c)
1413− : _Json_expecting('null', value);
1416− if (!_Json_isArray(value))
1418− return _Json_expecting('a LIST', value);
1420− return _Json_runArrayDecoder(decoder.b, value, _List_fromArray);
1423− if (!_Json_isArray(value))
1425− return _Json_expecting('an ARRAY', value);
1427− return _Json_runArrayDecoder(decoder.b, value, _Json_toElmArray);
1430− var field = decoder.d;
1431− if (typeof value !== 'object' || value === null || !(field in value))
1433− return _Json_expecting('an OBJECT with a field named `' + field + '`', value);
1435− var result = _Json_runHelp(decoder.b, value[field]);
1436− return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, field, result.a));
1439− var index = decoder.e;
1440− if (!_Json_isArray(value))
1442− return _Json_expecting('an ARRAY', value);
1444− if (index >= value.length)
1446− return _Json_expecting('a LONGER array. Need index ' + index + ' but only see ' + value.length + ' entries', value);
1448− var result = _Json_runHelp(decoder.b, value[index]);
1449− return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, index, result.a));
1452− if (typeof value !== 'object' || value === null || _Json_isArray(value))
1454− return _Json_expecting('an OBJECT', value);
1457− var keyValuePairs = _List_Nil;
1458− // TODO test perf of Object.keys and switch when support is good enough
1459− for (var key in value)
1461− if (value.hasOwnProperty(key))
1463− var result = _Json_runHelp(decoder.b, value[key]);
1464− if (!$elm$core$Result$isOk(result))
1466− return $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, key, result.a));
1468− keyValuePairs = _List_Cons(_Utils_Tuple2(key, result.a), keyValuePairs);
1471− return $elm$core$Result$Ok($elm$core$List$reverse(keyValuePairs));
1474− var answer = decoder.f;
1475− var decoders = decoder.g;
1476− for (var i = 0; i < decoders.length; i++)
1478− var result = _Json_runHelp(decoders[i], value);
1479− if (!$elm$core$Result$isOk(result))
1483− answer = answer(result.a);
1485− return $elm$core$Result$Ok(answer);
1488− var result = _Json_runHelp(decoder.b, value);
1489− return (!$elm$core$Result$isOk(result))
1491− : _Json_runHelp(decoder.h(result.a), value);
1494− var errors = _List_Nil;
1495− for (var temp = decoder.g; temp.b; temp = temp.b) // WHILE_CONS
1497− var result = _Json_runHelp(temp.a, value);
1498− if ($elm$core$Result$isOk(result))
1502− errors = _List_Cons(result.a, errors);
1504− return $elm$core$Result$Err($elm$json$Json$Decode$OneOf($elm$core$List$reverse(errors)));
1507− return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, decoder.a, _Json_wrap(value)));
1510− return $elm$core$Result$Ok(decoder.a);
1514−function _Json_runArrayDecoder(decoder, value, toElmValue)
1516− var len = value.length;
1517− var array = new Array(len);
1518− for (var i = 0; i < len; i++)
1520− var result = _Json_runHelp(decoder, value[i]);
1521− if (!$elm$core$Result$isOk(result))
1523− return $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, i, result.a));
1525− array[i] = result.a;
1527− return $elm$core$Result$Ok(toElmValue(array));
1530−function _Json_isArray(value)
1532− return Array.isArray(value) || (typeof FileList !== 'undefined' && value instanceof FileList);
1535−function _Json_toElmArray(array)
1537− return A2($elm$core$Array$initialize, array.length, function(i) { return array[i]; });
1540−function _Json_expecting(type, value)
1542− return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'Expecting ' + type, _Json_wrap(value)));
1548−function _Json_equality(x, y)
1564− return x.a === y.a;
1567− return x.b === y.b;
1570− return x.c === y.c;
1575− return _Json_equality(x.b, y.b);
1578− return x.d === y.d && _Json_equality(x.b, y.b);
1581− return x.e === y.e && _Json_equality(x.b, y.b);
1584− return x.f === y.f && _Json_listEquality(x.g, y.g);
1587− return x.h === y.h && _Json_equality(x.b, y.b);
1590− return _Json_listEquality(x.g, y.g);
1594−function _Json_listEquality(aDecoders, bDecoders)
1596− var len = aDecoders.length;
1597− if (len !== bDecoders.length)
1601− for (var i = 0; i < len; i++)
1603− if (!_Json_equality(aDecoders[i], bDecoders[i]))
1614−var _Json_encode = F2(function(indentLevel, value)
1616− return JSON.stringify(_Json_unwrap(value), null, indentLevel) + '';
1619−function _Json_wrap(value) { return { $: 0, a: value }; }
1620−function _Json_unwrap(value) { return value.a; }
1622−function _Json_wrap_UNUSED(value) { return value; }
1623−function _Json_unwrap_UNUSED(value) { return value; }
1625−function _Json_emptyArray() { return []; }
1626−function _Json_emptyObject() { return {}; }
1628−var _Json_addField = F3(function(key, value, object)
1630− object[key] = _Json_unwrap(value);
1634−function _Json_addEntry(func)
1636− return F2(function(entry, array)
1638− array.push(_Json_unwrap(func(entry)));
1643−var _Json_encodeNull = _Json_wrap(null);
1649−function _Scheduler_succeed(value)
1657−function _Scheduler_fail(error)
1665−function _Scheduler_binding(callback)
1674−var _Scheduler_andThen = F2(function(callback, task)
1683−var _Scheduler_onError = F2(function(callback, task)
1692−function _Scheduler_receive(callback)
1703−var _Scheduler_guid = 0;
1705−function _Scheduler_rawSpawn(task)
1709− e: _Scheduler_guid++,
1715− _Scheduler_enqueue(proc);
1720−function _Scheduler_spawn(task)
1722− return _Scheduler_binding(function(callback) {
1723− callback(_Scheduler_succeed(_Scheduler_rawSpawn(task)));
1727−function _Scheduler_rawSend(proc, msg)
1730− _Scheduler_enqueue(proc);
1733−var _Scheduler_send = F2(function(proc, msg)
1735− return _Scheduler_binding(function(callback) {
1736− _Scheduler_rawSend(proc, msg);
1737− callback(_Scheduler_succeed(_Utils_Tuple0));
1741−function _Scheduler_kill(proc)
1743− return _Scheduler_binding(function(callback) {
1745− if (task.$ === 2 && task.c)
1752− callback(_Scheduler_succeed(_Utils_Tuple0));
1759−type alias Process =
1763− , stack : null | { $: SUCCEED | FAIL, a: callback, b: stack }
1770−var _Scheduler_working = false;
1771−var _Scheduler_queue = [];
1774−function _Scheduler_enqueue(proc)
1776− _Scheduler_queue.push(proc);
1777− if (_Scheduler_working)
1781− _Scheduler_working = true;
1782− while (proc = _Scheduler_queue.shift())
1784− _Scheduler_step(proc);
1786− _Scheduler_working = false;
1790−function _Scheduler_step(proc)
1794− var rootTag = proc.f.$;
1795− if (rootTag === 0 || rootTag === 1)
1797− while (proc.g && proc.g.$ !== rootTag)
1805− proc.f = proc.g.b(proc.f.a);
1808− else if (rootTag === 2)
1810− proc.f.c = proc.f.b(function(newRoot) {
1812− _Scheduler_enqueue(proc);
1816− else if (rootTag === 5)
1818− if (proc.h.length === 0)
1822− proc.f = proc.f.b(proc.h.shift());
1824− else // if (rootTag === 3 || rootTag === 4)
1827− $: rootTag === 3 ? 0 : 1,
1838−function _Process_sleep(time)
1840− return _Scheduler_binding(function(callback) {
1841− var id = setTimeout(function() {
1842− callback(_Scheduler_succeed(_Utils_Tuple0));
1845− return function() { clearTimeout(id); };
1855−var _Platform_worker = F4(function(impl, flagDecoder, debugMetadata, args)
1857− return _Platform_initialize(
1862− impl.subscriptions,
1863− function() { return function() {} }
1869−// INITIALIZE A PROGRAM
1872−function _Platform_initialize(flagDecoder, args, init, update, subscriptions, stepperBuilder)
1874− var result = A2(_Json_run, flagDecoder, _Json_wrap(args ? args['flags'] : undefined));
1875− $elm$core$Result$isOk(result) || _Debug_crash(2 /**/, _Json_errorToString(result.a) /**/);
1877− var initPair = init(result.a);
1878− var model = initPair.a;
1879− var stepper = stepperBuilder(sendToApp, model);
1880− var ports = _Platform_setupEffects(managers, sendToApp);
1882− function sendToApp(msg, viewMetadata)
1884− var pair = A2(update, msg, model);
1885− stepper(model = pair.a, viewMetadata);
1886− _Platform_enqueueEffects(managers, pair.b, subscriptions(model));
1889− _Platform_enqueueEffects(managers, initPair.b, subscriptions(model));
1891− return ports ? { ports: ports } : {};
1898−// This is used by code in elm/browser and elm/http
1899−// to register any HTTP requests that are triggered by init.
1903−var _Platform_preload;
1906−function _Platform_registerPreload(url)
1908− _Platform_preload.add(url);
1916−var _Platform_effectManagers = {};
1919−function _Platform_setupEffects(managers, sendToApp)
1923− // setup all necessary effect managers
1924− for (var key in _Platform_effectManagers)
1926− var manager = _Platform_effectManagers[key];
1930− ports = ports || {};
1931− ports[key] = manager.a(key, sendToApp);
1934− managers[key] = _Platform_instantiateManager(manager, sendToApp);
1941−function _Platform_createManager(init, onEffects, onSelfMsg, cmdMap, subMap)
1953−function _Platform_instantiateManager(info, sendToApp)
1960− var onEffects = info.c;
1961− var onSelfMsg = info.d;
1962− var cmdMap = info.e;
1963− var subMap = info.f;
1965− function loop(state)
1967− return A2(_Scheduler_andThen, loop, _Scheduler_receive(function(msg)
1973− return A3(onSelfMsg, router, value, state);
1976− return cmdMap && subMap
1977− ? A4(onEffects, router, value.i, value.j, state)
1978− : A3(onEffects, router, cmdMap ? value.i : value.j, state);
1982− return router.h = _Scheduler_rawSpawn(A2(_Scheduler_andThen, loop, info.b));
1990−var _Platform_sendToApp = F2(function(router, msg)
1992− return _Scheduler_binding(function(callback)
1995− callback(_Scheduler_succeed(_Utils_Tuple0));
2000−var _Platform_sendToSelf = F2(function(router, msg)
2002− return A2(_Scheduler_send, router.h, {
2013−function _Platform_leaf(home)
2015− return function(value)
2026−function _Platform_batch(list)
2035−var _Platform_map = F2(function(tagger, bag)
2046−// PIPE BAGS INTO EFFECT MANAGERS
2048−// Effects must be queued!
2050−// Say your init contains a synchronous command, like Time.now or Time.here
2052−// - This will produce a batch of effects (FX_1)
2053−// - The synchronous task triggers the subsequent `update` call
2054−// - This will produce a batch of effects (FX_2)
2056−// If we just start dispatching FX_2, subscriptions from FX_2 can be processed
2057−// before subscriptions from FX_1. No good! Earlier versions of this code had
2058−// this problem, leading to these reports:
2060−// https://github.com/elm/core/issues/980
2061−// https://github.com/elm/core/pull/981
2062−// https://github.com/elm/compiler/issues/1776
2064−// The queue is necessary to avoid ordering issues for synchronous commands.
2067−// Why use true/false here? Why not just check the length of the queue?
2068−// The goal is to detect "are we currently dispatching effects?" If we
2069−// are, we need to bail and let the ongoing while loop handle things.
2071−// Now say the queue has 1 element. When we dequeue the final element,
2072−// the queue will be empty, but we are still actively dispatching effects.
2073−// So you could get queue jumping in a really tricky category of cases.
2075−var _Platform_effectsQueue = [];
2076−var _Platform_effectsActive = false;
2079−function _Platform_enqueueEffects(managers, cmdBag, subBag)
2081− _Platform_effectsQueue.push({ p: managers, q: cmdBag, r: subBag });
2083− if (_Platform_effectsActive) return;
2085− _Platform_effectsActive = true;
2086− for (var fx; fx = _Platform_effectsQueue.shift(); )
2088− _Platform_dispatchEffects(fx.p, fx.q, fx.r);
2090− _Platform_effectsActive = false;
2094−function _Platform_dispatchEffects(managers, cmdBag, subBag)
2096− var effectsDict = {};
2097− _Platform_gatherEffects(true, cmdBag, effectsDict, null);
2098− _Platform_gatherEffects(false, subBag, effectsDict, null);
2100− for (var home in managers)
2102− _Scheduler_rawSend(managers[home], {
2104− a: effectsDict[home] || { i: _List_Nil, j: _List_Nil }
2110−function _Platform_gatherEffects(isCmd, bag, effectsDict, taggers)
2116− var effect = _Platform_toEffect(isCmd, home, taggers, bag.l);
2117− effectsDict[home] = _Platform_insert(isCmd, effect, effectsDict[home]);
2121− for (var list = bag.m; list.b; list = list.b) // WHILE_CONS
2123− _Platform_gatherEffects(isCmd, list.a, effectsDict, taggers);
2128− _Platform_gatherEffects(isCmd, bag.o, effectsDict, {
2137−function _Platform_toEffect(isCmd, home, taggers, value)
2139− function applyTaggers(x)
2141− for (var temp = taggers; temp; temp = temp.t)
2149− ? _Platform_effectManagers[home].e
2150− : _Platform_effectManagers[home].f;
2152− return A2(map, applyTaggers, value)
2156−function _Platform_insert(isCmd, newEffect, effects)
2158− effects = effects || { i: _List_Nil, j: _List_Nil };
2161− ? (effects.i = _List_Cons(newEffect, effects.i))
2162− : (effects.j = _List_Cons(newEffect, effects.j));
2172−function _Platform_checkPortName(name)
2174− if (_Platform_effectManagers[name])
2176− _Debug_crash(3, name)
2185−function _Platform_outgoingPort(name, converter)
2187− _Platform_checkPortName(name);
2188− _Platform_effectManagers[name] = {
2189− e: _Platform_outgoingPortMap,
2191− a: _Platform_setupOutgoingPort
2193− return _Platform_leaf(name);
2197−var _Platform_outgoingPortMap = F2(function(tagger, value) { return value; });
2200−function _Platform_setupOutgoingPort(name)
2203− var converter = _Platform_effectManagers[name].u;
2207− var init = _Process_sleep(0);
2209− _Platform_effectManagers[name].b = init;
2210− _Platform_effectManagers[name].c = F3(function(router, cmdList, state)
2212− for ( ; cmdList.b; cmdList = cmdList.b) // WHILE_CONS
2214− // grab a separate reference to subs in case unsubscribe is called
2215− var currentSubs = subs;
2216− var value = _Json_unwrap(converter(cmdList.a));
2217− for (var i = 0; i < currentSubs.length; i++)
2219− currentSubs[i](value);
2227− function subscribe(callback)
2229− subs.push(callback);
2232− function unsubscribe(callback)
2234− // copy subs into a new array in case unsubscribe is called within a
2235− // subscribed callback
2236− subs = subs.slice();
2237− var index = subs.indexOf(callback);
2240− subs.splice(index, 1);
2245− subscribe: subscribe,
2246− unsubscribe: unsubscribe
2255−function _Platform_incomingPort(name, converter)
2257− _Platform_checkPortName(name);
2258− _Platform_effectManagers[name] = {
2259− f: _Platform_incomingPortMap,
2261− a: _Platform_setupIncomingPort
2263− return _Platform_leaf(name);
2267−var _Platform_incomingPortMap = F2(function(tagger, finalTagger)
2269− return function(value)
2271− return tagger(finalTagger(value));
2276−function _Platform_setupIncomingPort(name, sendToApp)
2278− var subs = _List_Nil;
2279− var converter = _Platform_effectManagers[name].u;
2283− var init = _Scheduler_succeed(null);
2285− _Platform_effectManagers[name].b = init;
2286− _Platform_effectManagers[name].c = F3(function(router, subList, state)
2294− function send(incomingValue)
2296− var result = A2(_Json_run, converter, _Json_wrap(incomingValue));
2298− $elm$core$Result$isOk(result) || _Debug_crash(4, name, result.a);
2300− var value = result.a;
2301− for (var temp = subs; temp.b; temp = temp.b) // WHILE_CONS
2303− sendToApp(temp.a(value));
2307− return { send: send };
2312−// EXPORT ELM MODULES
2314−// Have DEBUG and PROD versions so that we can (1) give nicer errors in
2315−// debug mode and (2) not pay for the bits needed for that in prod mode.
2319−function _Platform_export_UNUSED(exports)
2322− ? _Platform_mergeExportsProd(scope['Elm'], exports)
2323− : scope['Elm'] = exports;
2327−function _Platform_mergeExportsProd(obj, exports)
2329− for (var name in exports)
2334− : _Platform_mergeExportsProd(obj[name], exports[name])
2335− : (obj[name] = exports[name]);
2340−function _Platform_export(exports)
2343− ? _Platform_mergeExportsDebug('Elm', scope['Elm'], exports)
2344− : scope['Elm'] = exports;
2348−function _Platform_mergeExportsDebug(moduleName, obj, exports)
2350− for (var name in exports)
2354− ? _Debug_crash(6, moduleName)
2355− : _Platform_mergeExportsDebug(moduleName + '.' + name, obj[name], exports[name])
2356− : (obj[name] = exports[name]);
2366−var _VirtualDom_divertHrefToApp;
2368−var _VirtualDom_doc = typeof document !== 'undefined' ? document : {};
2371−function _VirtualDom_appendChild(parent, child)
2373− parent.appendChild(child);
2376−var _VirtualDom_init = F4(function(virtualNode, flagDecoder, debugMetadata, args)
2378− // NOTE: this function needs _Platform_export available to work
2381− var node = args['node'];
2384− var node = args && args['node'] ? args['node'] : _Debug_crash(0);
2387− node.parentNode.replaceChild(
2388− _VirtualDom_render(virtualNode, function() {}),
2400−function _VirtualDom_text(string)
2413−var _VirtualDom_nodeNS = F2(function(namespace, tag)
2415− return F2(function(factList, kidList)
2417− for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS
2419− var kid = kidList.a;
2420− descendantsCount += (kid.b || 0);
2423− descendantsCount += kids.length;
2428− d: _VirtualDom_organizeFacts(factList),
2431− b: descendantsCount
2437−var _VirtualDom_node = _VirtualDom_nodeNS(undefined);
2444−var _VirtualDom_keyedNodeNS = F2(function(namespace, tag)
2446− return F2(function(factList, kidList)
2448− for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS
2450− var kid = kidList.a;
2451− descendantsCount += (kid.b.b || 0);
2454− descendantsCount += kids.length;
2459− d: _VirtualDom_organizeFacts(factList),
2462− b: descendantsCount
2468−var _VirtualDom_keyedNode = _VirtualDom_keyedNodeNS(undefined);
2475−function _VirtualDom_custom(factList, model, render, diff)
2479− d: _VirtualDom_organizeFacts(factList),
2491−var _VirtualDom_map = F2(function(tagger, node)
2497− b: 1 + (node.b || 0)
2506−function _VirtualDom_thunk(refs, thunk)
2516−var _VirtualDom_lazy = F2(function(func, a)
2518− return _VirtualDom_thunk([func, a], function() {
2523−var _VirtualDom_lazy2 = F3(function(func, a, b)
2525− return _VirtualDom_thunk([func, a, b], function() {
2526− return A2(func, a, b);
2530−var _VirtualDom_lazy3 = F4(function(func, a, b, c)
2532− return _VirtualDom_thunk([func, a, b, c], function() {
2533− return A3(func, a, b, c);
2537−var _VirtualDom_lazy4 = F5(function(func, a, b, c, d)
2539− return _VirtualDom_thunk([func, a, b, c, d], function() {
2540− return A4(func, a, b, c, d);
2544−var _VirtualDom_lazy5 = F6(function(func, a, b, c, d, e)
2546− return _VirtualDom_thunk([func, a, b, c, d, e], function() {
2547− return A5(func, a, b, c, d, e);
2551−var _VirtualDom_lazy6 = F7(function(func, a, b, c, d, e, f)
2553− return _VirtualDom_thunk([func, a, b, c, d, e, f], function() {
2554− return A6(func, a, b, c, d, e, f);
2558−var _VirtualDom_lazy7 = F8(function(func, a, b, c, d, e, f, g)
2560− return _VirtualDom_thunk([func, a, b, c, d, e, f, g], function() {
2561− return A7(func, a, b, c, d, e, f, g);
2565−var _VirtualDom_lazy8 = F9(function(func, a, b, c, d, e, f, g, h)
2567− return _VirtualDom_thunk([func, a, b, c, d, e, f, g, h], function() {
2568− return A8(func, a, b, c, d, e, f, g, h);
2577−var _VirtualDom_on = F2(function(key, handler)
2585−var _VirtualDom_style = F2(function(key, value)
2593−var _VirtualDom_property = F2(function(key, value)
2601−var _VirtualDom_attribute = F2(function(key, value)
2609−var _VirtualDom_attributeNS = F3(function(namespace, key, value)
2614− o: { f: namespace, o: value }
2620−// XSS ATTACK VECTOR CHECKS
2622−// For some reason, tabs can appear in href protocols and it still works.
2623−// So '\tjava\tSCRIPT:alert("!!!")' and 'javascript:alert("!!!")' are the same
2624−// in practice. That is why _VirtualDom_RE_js and _VirtualDom_RE_js_html look
2627−// Pulling the regular expressions out to the top level gives a slight speed
2628−// boost in small benchmarks (4-10%) but hoisting values to reduce allocation
2629−// can be unpredictable in large programs where JIT may have a harder time with
2630−// functions are not fully self-contained. The benefit is more that the js and
2631−// js_html ones are so weird that I prefer to see them near each other.
2634−var _VirtualDom_RE_script = /^script$/i;
2635−var _VirtualDom_RE_on_formAction = /^(on|formAction$)/i;
2636−var _VirtualDom_RE_js = /^\s*j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:/i;
2637−var _VirtualDom_RE_js_html = /^\s*(j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:|d\s*a\s*t\s*a\s*:\s*t\s*e\s*x\s*t\s*\/\s*h\s*t\s*m\s*l\s*(,|;))/i;
2640−function _VirtualDom_noScript(tag)
2642− return _VirtualDom_RE_script.test(tag) ? 'p' : tag;
2645−function _VirtualDom_noOnOrFormAction(key)
2647− return _VirtualDom_RE_on_formAction.test(key) ? 'data-' + key : key;
2650−function _VirtualDom_noInnerHtmlOrFormAction(key)
2652− return key == 'innerHTML' || key == 'formAction' ? 'data-' + key : key;
2655−function _VirtualDom_noJavaScriptUri(value)
2657− return _VirtualDom_RE_js.test(value)
2658− ? /**_UNUSED/''//*//**/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/
2662−function _VirtualDom_noJavaScriptOrHtmlUri(value)
2664− return _VirtualDom_RE_js_html.test(value)
2665− ? /**_UNUSED/''//*//**/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/
2669−function _VirtualDom_noJavaScriptOrHtmlJson(value)
2671− return (typeof _Json_unwrap(value) === 'string' && _VirtualDom_RE_js_html.test(_Json_unwrap(value)))
2673− /**_UNUSED/''//*//**/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/
2682−var _VirtualDom_mapAttribute = F2(function(func, attr)
2684− return (attr.$ === 'a0')
2685− ? A2(_VirtualDom_on, attr.n, _VirtualDom_mapHandler(func, attr.o))
2689−function _VirtualDom_mapHandler(func, handler)
2691− var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler);
2694− // 1 = MayStopPropagation
2695− // 2 = MayPreventDefault
2702− ? A2($elm$json$Json$Decode$map, func, handler.a)
2704− A3($elm$json$Json$Decode$map2,
2706− ? _VirtualDom_mapEventTuple
2707− : _VirtualDom_mapEventRecord,
2708− $elm$json$Json$Decode$succeed(func),
2714−var _VirtualDom_mapEventTuple = F2(function(func, tuple)
2716− return _Utils_Tuple2(func(tuple.a), tuple.b);
2719−var _VirtualDom_mapEventRecord = F2(function(func, record)
2722− message: func(record.message),
2723− stopPropagation: record.stopPropagation,
2724− preventDefault: record.preventDefault
2733−function _VirtualDom_organizeFacts(factList)
2735− for (var facts = {}; factList.b; factList = factList.b) // WHILE_CONS
2737− var entry = factList.a;
2741− var value = entry.o;
2745− (key === 'className')
2746− ? _VirtualDom_addClass(facts, key, _Json_unwrap(value))
2747− : facts[key] = _Json_unwrap(value);
2752− var subFacts = facts[tag] || (facts[tag] = {});
2753− (tag === 'a3' && key === 'class')
2754− ? _VirtualDom_addClass(subFacts, key, value)
2755− : subFacts[key] = value;
2761−function _VirtualDom_addClass(object, key, newClass)
2763− var classes = object[key];
2764− object[key] = classes ? classes + ' ' + newClass : newClass;
2772−function _VirtualDom_render(vNode, eventNode)
2778− return _VirtualDom_render(vNode.k || (vNode.k = vNode.m()), eventNode);
2783− return _VirtualDom_doc.createTextNode(vNode.a);
2788− var subNode = vNode.k;
2789− var tagger = vNode.j;
2791− while (subNode.$ === 4)
2793− typeof tagger !== 'object'
2794− ? tagger = [tagger, subNode.j]
2795− : tagger.push(subNode.j);
2797− subNode = subNode.k;
2800− var subEventRoot = { j: tagger, p: eventNode };
2801− var domNode = _VirtualDom_render(subNode, subEventRoot);
2802− domNode.elm_event_node_ref = subEventRoot;
2808− var domNode = vNode.h(vNode.g);
2809− _VirtualDom_applyFacts(domNode, eventNode, vNode.d);
2813− // at this point `tag` must be 1 or 2
2815− var domNode = vNode.f
2816− ? _VirtualDom_doc.createElementNS(vNode.f, vNode.c)
2817− : _VirtualDom_doc.createElement(vNode.c);
2819− if (_VirtualDom_divertHrefToApp && vNode.c == 'a')
2821− domNode.addEventListener('click', _VirtualDom_divertHrefToApp(domNode));
2824− _VirtualDom_applyFacts(domNode, eventNode, vNode.d);
2826− for (var kids = vNode.e, i = 0; i < kids.length; i++)
2828− _VirtualDom_appendChild(domNode, _VirtualDom_render(tag === 1 ? kids[i] : kids[i].b, eventNode));
2839−function _VirtualDom_applyFacts(domNode, eventNode, facts)
2841− for (var key in facts)
2843− var value = facts[key];
2846− ? _VirtualDom_applyStyles(domNode, value)
2849− ? _VirtualDom_applyEvents(domNode, eventNode, value)
2852− ? _VirtualDom_applyAttrs(domNode, value)
2855− ? _VirtualDom_applyAttrsNS(domNode, value)
2857− ((key !== 'value' && key !== 'checked') || domNode[key] !== value) && (domNode[key] = value);
2866−function _VirtualDom_applyStyles(domNode, styles)
2868− var domNodeStyle = domNode.style;
2870− for (var key in styles)
2872− domNodeStyle[key] = styles[key];
2881−function _VirtualDom_applyAttrs(domNode, attrs)
2883− for (var key in attrs)
2885− var value = attrs[key];
2886− typeof value !== 'undefined'
2887− ? domNode.setAttribute(key, value)
2888− : domNode.removeAttribute(key);
2894−// APPLY NAMESPACED ATTRS
2897−function _VirtualDom_applyAttrsNS(domNode, nsAttrs)
2899− for (var key in nsAttrs)
2901− var pair = nsAttrs[key];
2902− var namespace = pair.f;
2903− var value = pair.o;
2905− typeof value !== 'undefined'
2906− ? domNode.setAttributeNS(namespace, key, value)
2907− : domNode.removeAttributeNS(namespace, key);
2916−function _VirtualDom_applyEvents(domNode, eventNode, events)
2918− var allCallbacks = domNode.elmFs || (domNode.elmFs = {});
2920− for (var key in events)
2922− var newHandler = events[key];
2923− var oldCallback = allCallbacks[key];
2927− domNode.removeEventListener(key, oldCallback);
2928− allCallbacks[key] = undefined;
2934− var oldHandler = oldCallback.q;
2935− if (oldHandler.$ === newHandler.$)
2937− oldCallback.q = newHandler;
2940− domNode.removeEventListener(key, oldCallback);
2943− oldCallback = _VirtualDom_makeCallback(eventNode, newHandler);
2944− domNode.addEventListener(key, oldCallback,
2945− _VirtualDom_passiveSupported
2946− && { passive: $elm$virtual_dom$VirtualDom$toHandlerInt(newHandler) < 2 }
2948− allCallbacks[key] = oldCallback;
2957−var _VirtualDom_passiveSupported;
2961− window.addEventListener('t', null, Object.defineProperty({}, 'passive', {
2962− get: function() { _VirtualDom_passiveSupported = true; }
2972−function _VirtualDom_makeCallback(eventNode, initialHandler)
2974− function callback(event)
2976− var handler = callback.q;
2977− var result = _Json_runHelp(handler.a, event);
2979− if (!$elm$core$Result$isOk(result))
2984− var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler);
2987− // 1 = MayStopPropagation
2988− // 2 = MayPreventDefault
2991− var value = result.a;
2992− var message = !tag ? value : tag < 3 ? value.a : value.message;
2993− var stopPropagation = tag == 1 ? value.b : tag == 3 && value.stopPropagation;
2994− var currentEventNode = (
2995− stopPropagation && event.stopPropagation(),
2996− (tag == 2 ? value.b : tag == 3 && value.preventDefault) && event.preventDefault(),
3001− while (tagger = currentEventNode.j)
3003− if (typeof tagger == 'function')
3005− message = tagger(message);
3009− for (var i = tagger.length; i--; )
3011− message = tagger[i](message);
3014− currentEventNode = currentEventNode.p;
3016− currentEventNode(message, stopPropagation); // stopPropagation implies isSync
3019− callback.q = initialHandler;
3024−function _VirtualDom_equalEvents(x, y)
3026− return x.$ == y.$ && _Json_equality(x.a, y.a);
3034−// TODO: Should we do patches like in iOS?
3038−// | Batch (List Patch)
3041−// How could it not be better?
3043−function _VirtualDom_diff(x, y)
3046− _VirtualDom_diffHelp(x, y, patches, 0);
3051−function _VirtualDom_pushPatch(patches, type, index, data)
3060− patches.push(patch);
3065−function _VirtualDom_diffHelp(x, y, patches, index)
3075− // Bail if you run into different types of nodes. Implies that the
3076− // structure has changed significantly and it's not worth a diff.
3077− if (xType !== yType)
3079− if (xType === 1 && yType === 2)
3081− y = _VirtualDom_dekey(y);
3086− _VirtualDom_pushPatch(patches, 0, index, y);
3091− // Now we know that both nodes are the same $.
3097− var i = xRefs.length;
3098− var same = i === yRefs.length;
3099− while (same && i--)
3101− same = xRefs[i] === yRefs[i];
3109− var subPatches = [];
3110− _VirtualDom_diffHelp(x.k, y.k, subPatches, 0);
3111− subPatches.length > 0 && _VirtualDom_pushPatch(patches, 1, index, subPatches);
3115− // gather nested taggers
3116− var xTaggers = x.j;
3117− var yTaggers = y.j;
3118− var nesting = false;
3120− var xSubNode = x.k;
3121− while (xSubNode.$ === 4)
3125− typeof xTaggers !== 'object'
3126− ? xTaggers = [xTaggers, xSubNode.j]
3127− : xTaggers.push(xSubNode.j);
3129− xSubNode = xSubNode.k;
3132− var ySubNode = y.k;
3133− while (ySubNode.$ === 4)
3137− typeof yTaggers !== 'object'
3138− ? yTaggers = [yTaggers, ySubNode.j]
3139− : yTaggers.push(ySubNode.j);
3141− ySubNode = ySubNode.k;
3144− // Just bail if different numbers of taggers. This implies the
3145− // structure of the virtual DOM has changed.
3146− if (nesting && xTaggers.length !== yTaggers.length)
3148− _VirtualDom_pushPatch(patches, 0, index, y);
3152− // check if taggers are "the same"
3153− if (nesting ? !_VirtualDom_pairwiseRefEqual(xTaggers, yTaggers) : xTaggers !== yTaggers)
3155− _VirtualDom_pushPatch(patches, 2, index, yTaggers);
3158− // diff everything below the taggers
3159− _VirtualDom_diffHelp(xSubNode, ySubNode, patches, index + 1);
3165− _VirtualDom_pushPatch(patches, 3, index, y.a);
3170− _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKids);
3174− _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKeyedKids);
3180− _VirtualDom_pushPatch(patches, 0, index, y);
3184− var factsDiff = _VirtualDom_diffFacts(x.d, y.d);
3185− factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff);
3187− var patch = y.i(x.g, y.g);
3188− patch && _VirtualDom_pushPatch(patches, 5, index, patch);
3194−// assumes the incoming arrays are the same length
3195−function _VirtualDom_pairwiseRefEqual(as, bs)
3197− for (var i = 0; i < as.length; i++)
3199− if (as[i] !== bs[i])
3208−function _VirtualDom_diffNodes(x, y, patches, index, diffKids)
3210− // Bail if obvious indicators have changed. Implies more serious
3211− // structural changes such that it's not worth it to diff.
3212− if (x.c !== y.c || x.f !== y.f)
3214− _VirtualDom_pushPatch(patches, 0, index, y);
3218− var factsDiff = _VirtualDom_diffFacts(x.d, y.d);
3219− factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff);
3221− diffKids(x, y, patches, index);
3229−// TODO Instead of creating a new diff object, it's possible to just test if
3230−// there *is* a diff. During the actual patch, do the diff again and make the
3231−// modifications directly. This way, there's no new allocations. Worth it?
3232−function _VirtualDom_diffFacts(x, y, category)
3236− // look for changes and removals
3237− for (var xKey in x)
3239− if (xKey === 'a1' || xKey === 'a0' || xKey === 'a3' || xKey === 'a4')
3241− var subDiff = _VirtualDom_diffFacts(x[xKey], y[xKey] || {}, xKey);
3245− diff[xKey] = subDiff;
3250− // remove if not in the new facts
3256− ? (typeof x[xKey] === 'string' ? '' : null)
3258− (category === 'a1')
3261− (category === 'a0' || category === 'a3')
3264− { f: x[xKey].f, o: undefined };
3269− var xValue = x[xKey];
3270− var yValue = y[xKey];
3272− // reference equal, so don't worry about it
3273− if (xValue === yValue && xKey !== 'value' && xKey !== 'checked'
3274− || category === 'a0' && _VirtualDom_equalEvents(xValue, yValue))
3280− diff[xKey] = yValue;
3284− for (var yKey in y)
3289− diff[yKey] = y[yKey];
3301−function _VirtualDom_diffKids(xParent, yParent, patches, index)
3303− var xKids = xParent.e;
3304− var yKids = yParent.e;
3306− var xLen = xKids.length;
3307− var yLen = yKids.length;
3309− // FIGURE OUT IF THERE ARE INSERTS OR REMOVALS
3313− _VirtualDom_pushPatch(patches, 6, index, {
3318− else if (xLen < yLen)
3320− _VirtualDom_pushPatch(patches, 7, index, {
3326− // PAIRWISE DIFF EVERYTHING ELSE
3328− for (var minLen = xLen < yLen ? xLen : yLen, i = 0; i < minLen; i++)
3330− var xKid = xKids[i];
3331− _VirtualDom_diffHelp(xKid, yKids[i], patches, ++index);
3332− index += xKid.b || 0;
3341−function _VirtualDom_diffKeyedKids(xParent, yParent, patches, rootIndex)
3343− var localPatches = [];
3345− var changes = {}; // Dict String Entry
3346− var inserts = []; // Array { index : Int, entry : Entry }
3347− // type Entry = { tag : String, vnode : VNode, index : Int, data : _ }
3349− var xKids = xParent.e;
3350− var yKids = yParent.e;
3351− var xLen = xKids.length;
3352− var yLen = yKids.length;
3356− var index = rootIndex;
3358− while (xIndex < xLen && yIndex < yLen)
3360− var x = xKids[xIndex];
3361− var y = yKids[yIndex];
3368− var newMatch = undefined;
3369− var oldMatch = undefined;
3371− // check if keys match
3376− _VirtualDom_diffHelp(xNode, yNode, localPatches, index);
3377− index += xNode.b || 0;
3384− // look ahead 1 to detect insertions and removals.
3386− var xNext = xKids[xIndex + 1];
3387− var yNext = yKids[yIndex + 1];
3391− var xNextKey = xNext.a;
3392− var xNextNode = xNext.b;
3393− oldMatch = yKey === xNextKey;
3398− var yNextKey = yNext.a;
3399− var yNextNode = yNext.b;
3400− newMatch = xKey === yNextKey;
3405− if (newMatch && oldMatch)
3408− _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index);
3409− _VirtualDom_insertNode(changes, localPatches, xKey, yNode, yIndex, inserts);
3410− index += xNode.b || 0;
3413− _VirtualDom_removeNode(changes, localPatches, xKey, xNextNode, index);
3414− index += xNextNode.b || 0;
3425− _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts);
3426− _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index);
3427− index += xNode.b || 0;
3438− _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index);
3439− index += xNode.b || 0;
3442− _VirtualDom_diffHelp(xNextNode, yNode, localPatches, index);
3443− index += xNextNode.b || 0;
3450− // remove x, insert y
3451− if (xNext && xNextKey === yNextKey)
3454− _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index);
3455− _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts);
3456− index += xNode.b || 0;
3459− _VirtualDom_diffHelp(xNextNode, yNextNode, localPatches, index);
3460− index += xNextNode.b || 0;
3470− // eat up any remaining nodes with removeNode and insertNode
3472− while (xIndex < xLen)
3475− var x = xKids[xIndex];
3477− _VirtualDom_removeNode(changes, localPatches, x.a, xNode, index);
3478− index += xNode.b || 0;
3482− while (yIndex < yLen)
3484− var endInserts = endInserts || [];
3485− var y = yKids[yIndex];
3486− _VirtualDom_insertNode(changes, localPatches, y.a, y.b, undefined, endInserts);
3490− if (localPatches.length > 0 || inserts.length > 0 || endInserts)
3492− _VirtualDom_pushPatch(patches, 8, rootIndex, {
3502−// CHANGES FROM KEYED DIFF
3505−var _VirtualDom_POSTFIX = '_elmW6BL';
3508−function _VirtualDom_insertNode(changes, localPatches, key, vnode, yIndex, inserts)
3510− var entry = changes[key];
3512− // never seen this key before
3522− inserts.push({ r: yIndex, A: entry });
3523− changes[key] = entry;
3528− // this key was removed earlier, a match!
3531− inserts.push({ r: yIndex, A: entry });
3534− var subPatches = [];
3535− _VirtualDom_diffHelp(entry.z, vnode, subPatches, entry.r);
3545− // this key has already been inserted or moved, a duplicate!
3546− _VirtualDom_insertNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, yIndex, inserts);
3550−function _VirtualDom_removeNode(changes, localPatches, key, vnode, index)
3552− var entry = changes[key];
3554− // never seen this key before
3557− var patch = _VirtualDom_pushPatch(localPatches, 9, index, undefined);
3569− // this key was inserted earlier, a match!
3573− var subPatches = [];
3574− _VirtualDom_diffHelp(vnode, entry.z, subPatches, index);
3576− _VirtualDom_pushPatch(localPatches, 9, index, {
3584− // this key has already been removed or moved, a duplicate!
3585− _VirtualDom_removeNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, index);
3592−// Each DOM node has an "index" assigned in order of traversal. It is important
3593−// to minimize our crawl over the actual DOM, so these indexes (along with the
3594−// descendantsCount of virtual nodes) let us skip touching entire subtrees of
3595−// the DOM if we know there are no patches there.
3598−function _VirtualDom_addDomNodes(domNode, vNode, patches, eventNode)
3600− _VirtualDom_addDomNodesHelp(domNode, vNode, patches, 0, 0, vNode.b, eventNode);
3604−// assumes `patches` is non-empty and indexes increase monotonically.
3605−function _VirtualDom_addDomNodesHelp(domNode, vNode, patches, i, low, high, eventNode)
3607− var patch = patches[i];
3608− var index = patch.r;
3610− while (index === low)
3612− var patchType = patch.$;
3614− if (patchType === 1)
3616− _VirtualDom_addDomNodes(domNode, vNode.k, patch.s, eventNode);
3618− else if (patchType === 8)
3621− patch.u = eventNode;
3623− var subPatches = patch.s.w;
3624− if (subPatches.length > 0)
3626− _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode);
3629− else if (patchType === 9)
3632− patch.u = eventNode;
3634− var data = patch.s;
3637− data.A.s = domNode;
3638− var subPatches = data.w;
3639− if (subPatches.length > 0)
3641− _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode);
3648− patch.u = eventNode;
3653− if (!(patch = patches[i]) || (index = patch.r) > high)
3663− var subNode = vNode.k;
3665− while (subNode.$ === 4)
3667− subNode = subNode.k;
3670− return _VirtualDom_addDomNodesHelp(domNode, subNode, patches, i, low + 1, high, domNode.elm_event_node_ref);
3673− // tag must be 1 or 2 at this point
3675− var vKids = vNode.e;
3676− var childNodes = domNode.childNodes;
3677− for (var j = 0; j < vKids.length; j++)
3680− var vKid = tag === 1 ? vKids[j] : vKids[j].b;
3681− var nextLow = low + (vKid.b || 0);
3682− if (low <= index && index <= nextLow)
3684− i = _VirtualDom_addDomNodesHelp(childNodes[j], vKid, patches, i, low, nextLow, eventNode);
3685− if (!(patch = patches[i]) || (index = patch.r) > high)
3700−function _VirtualDom_applyPatches(rootDomNode, oldVirtualNode, patches, eventNode)
3702− if (patches.length === 0)
3704− return rootDomNode;
3707− _VirtualDom_addDomNodes(rootDomNode, oldVirtualNode, patches, eventNode);
3708− return _VirtualDom_applyPatchesHelp(rootDomNode, patches);
3711−function _VirtualDom_applyPatchesHelp(rootDomNode, patches)
3713− for (var i = 0; i < patches.length; i++)
3715− var patch = patches[i];
3716− var localDomNode = patch.t
3717− var newNode = _VirtualDom_applyPatch(localDomNode, patch);
3718− if (localDomNode === rootDomNode)
3720− rootDomNode = newNode;
3723− return rootDomNode;
3726−function _VirtualDom_applyPatch(domNode, patch)
3731− return _VirtualDom_applyPatchRedraw(domNode, patch.s, patch.u);
3734− _VirtualDom_applyFacts(domNode, patch.u, patch.s);
3738− domNode.replaceData(0, domNode.length, patch.s);
3742− return _VirtualDom_applyPatchesHelp(domNode, patch.s);
3745− if (domNode.elm_event_node_ref)
3747− domNode.elm_event_node_ref.j = patch.s;
3751− domNode.elm_event_node_ref = { j: patch.s, p: patch.u };
3756− var data = patch.s;
3757− for (var i = 0; i < data.i; i++)
3759− domNode.removeChild(domNode.childNodes[data.v]);
3764− var data = patch.s;
3767− var theEnd = domNode.childNodes[i];
3768− for (; i < kids.length; i++)
3770− domNode.insertBefore(_VirtualDom_render(kids[i], patch.u), theEnd);
3775− var data = patch.s;
3778− domNode.parentNode.removeChild(domNode);
3781− var entry = data.A;
3782− if (typeof entry.r !== 'undefined')
3784− domNode.parentNode.removeChild(domNode);
3786− entry.s = _VirtualDom_applyPatchesHelp(domNode, data.w);
3790− return _VirtualDom_applyPatchReorder(domNode, patch);
3793− return patch.s(domNode);
3796− _Debug_crash(10); // 'Ran into an unknown patch!'
3801−function _VirtualDom_applyPatchRedraw(domNode, vNode, eventNode)
3803− var parentNode = domNode.parentNode;
3804− var newNode = _VirtualDom_render(vNode, eventNode);
3806− if (!newNode.elm_event_node_ref)
3808− newNode.elm_event_node_ref = domNode.elm_event_node_ref;
3811− if (parentNode && newNode !== domNode)
3813− parentNode.replaceChild(newNode, domNode);
3819−function _VirtualDom_applyPatchReorder(domNode, patch)
3821− var data = patch.s;
3823− // remove end inserts
3824− var frag = _VirtualDom_applyPatchReorderEndInsertsHelp(data.y, patch);
3827− domNode = _VirtualDom_applyPatchesHelp(domNode, data.w);
3830− var inserts = data.x;
3831− for (var i = 0; i < inserts.length; i++)
3833− var insert = inserts[i];
3834− var entry = insert.A;
3835− var node = entry.c === 2
3837− : _VirtualDom_render(entry.z, patch.u);
3838− domNode.insertBefore(node, domNode.childNodes[insert.r]);
3844− _VirtualDom_appendChild(domNode, frag);
3851−function _VirtualDom_applyPatchReorderEndInsertsHelp(endInserts, patch)
3858− var frag = _VirtualDom_doc.createDocumentFragment();
3859− for (var i = 0; i < endInserts.length; i++)
3861− var insert = endInserts[i];
3862− var entry = insert.A;
3863− _VirtualDom_appendChild(frag, entry.c === 2
3865− : _VirtualDom_render(entry.z, patch.u)
3872−function _VirtualDom_virtualize(node)
3876− if (node.nodeType === 3)
3878− return _VirtualDom_text(node.textContent);
3884− if (node.nodeType !== 1)
3886− return _VirtualDom_text('');
3892− var attrList = _List_Nil;
3893− var attrs = node.attributes;
3894− for (var i = attrs.length; i--; )
3896− var attr = attrs[i];
3897− var name = attr.name;
3898− var value = attr.value;
3899− attrList = _List_Cons( A2(_VirtualDom_attribute, name, value), attrList );
3902− var tag = node.tagName.toLowerCase();
3903− var kidList = _List_Nil;
3904− var kids = node.childNodes;
3906− for (var i = kids.length; i--; )
3908− kidList = _List_Cons(_VirtualDom_virtualize(kids[i]), kidList);
3910− return A3(_VirtualDom_node, tag, attrList, kidList);
3913−function _VirtualDom_dekey(keyedNode)
3915− var keyedKids = keyedNode.e;
3916− var len = keyedKids.length;
3917− var kids = new Array(len);
3918− for (var i = 0; i < len; i++)
3920− kids[i] = keyedKids[i].b;
3935−var _Bitwise_and = F2(function(a, b)
3940−var _Bitwise_or = F2(function(a, b)
3945−var _Bitwise_xor = F2(function(a, b)
3950−function _Bitwise_complement(a)
3955−var _Bitwise_shiftLeftBy = F2(function(offset, a)
3957− return a << offset;
3960−var _Bitwise_shiftRightBy = F2(function(offset, a)
3962− return a >> offset;
3965−var _Bitwise_shiftRightZfBy = F2(function(offset, a)
3967− return a >>> offset;
3976−function _Debugger_unsafeCoerce(value)
3986−var _Debugger_element = F4(function(impl, flagDecoder, debugMetadata, args)
3988− return _Platform_initialize(
3991− A3($elm$browser$Debugger$Main$wrapInit, _Json_wrap(debugMetadata), _Debugger_popout(), impl.init),
3992− $elm$browser$Debugger$Main$wrapUpdate(impl.update),
3993− $elm$browser$Debugger$Main$wrapSubs(impl.subscriptions),
3994− function(sendToApp, initialModel)
3996− var view = impl.view;
3997− var title = _VirtualDom_doc.title;
3998− var domNode = args && args['node'] ? args['node'] : _Debug_crash(0);
3999− var currNode = _VirtualDom_virtualize(domNode);
4000− var currBlocker = $elm$browser$Debugger$Main$toBlockerType(initialModel);
4003− var cornerNode = _VirtualDom_doc.createElement('div');
4004− domNode.parentNode.insertBefore(cornerNode, domNode.nextSibling);
4005− var cornerCurr = _VirtualDom_virtualize(cornerNode);
4007− initialModel.popout.a = sendToApp;
4009− return _Browser_makeAnimator(initialModel, function(model)
4011− var nextNode = A2(_VirtualDom_map, $elm$browser$Debugger$Main$UserMsg, view($elm$browser$Debugger$Main$getUserModel(model)));
4012− var patches = _VirtualDom_diff(currNode, nextNode);
4013− domNode = _VirtualDom_applyPatches(domNode, currNode, patches, sendToApp);
4014− currNode = nextNode;
4018− var nextBlocker = $elm$browser$Debugger$Main$toBlockerType(model);
4019− _Debugger_updateBlocker(currBlocker, nextBlocker);
4020− currBlocker = nextBlocker;
4024− var cornerNext = $elm$browser$Debugger$Main$cornerView(model);
4025− var cornerPatches = _VirtualDom_diff(cornerCurr, cornerNext);
4026− cornerNode = _VirtualDom_applyPatches(cornerNode, cornerCurr, cornerPatches, sendToApp);
4027− cornerCurr = cornerNext;
4029− if (!model.popout.b)
4031− currPopout = undefined;
4037− _VirtualDom_doc = model.popout.b; // SWITCH TO POPOUT DOC
4038− currPopout || (currPopout = _VirtualDom_virtualize(model.popout.b));
4039− var nextPopout = $elm$browser$Debugger$Main$popoutView(model);
4040− var popoutPatches = _VirtualDom_diff(currPopout, nextPopout);
4041− _VirtualDom_applyPatches(model.popout.b.body, currPopout, popoutPatches, sendToApp);
4042− currPopout = nextPopout;
4043− _VirtualDom_doc = document; // SWITCH BACK TO NORMAL DOC
4050−var _Debugger_document = F4(function(impl, flagDecoder, debugMetadata, args)
4052− return _Platform_initialize(
4055− A3($elm$browser$Debugger$Main$wrapInit, _Json_wrap(debugMetadata), _Debugger_popout(), impl.init),
4056− $elm$browser$Debugger$Main$wrapUpdate(impl.update),
4057− $elm$browser$Debugger$Main$wrapSubs(impl.subscriptions),
4058− function(sendToApp, initialModel)
4060− var divertHrefToApp = impl.setup && impl.setup(function(x) { return sendToApp($elm$browser$Debugger$Main$UserMsg(x)); });
4061− var view = impl.view;
4062− var title = _VirtualDom_doc.title;
4063− var bodyNode = _VirtualDom_doc.body;
4064− var currNode = _VirtualDom_virtualize(bodyNode);
4065− var currBlocker = $elm$browser$Debugger$Main$toBlockerType(initialModel);
4068− initialModel.popout.a = sendToApp;
4070− return _Browser_makeAnimator(initialModel, function(model)
4072− _VirtualDom_divertHrefToApp = divertHrefToApp;
4073− var doc = view($elm$browser$Debugger$Main$getUserModel(model));
4074− var nextNode = _VirtualDom_node('body')(_List_Nil)(
4076− A2($elm$core$List$map, _VirtualDom_map($elm$browser$Debugger$Main$UserMsg), doc.body),
4077− _List_Cons($elm$browser$Debugger$Main$cornerView(model), _List_Nil)
4080− var patches = _VirtualDom_diff(currNode, nextNode);
4081− bodyNode = _VirtualDom_applyPatches(bodyNode, currNode, patches, sendToApp);
4082− currNode = nextNode;
4083− _VirtualDom_divertHrefToApp = 0;
4084− (title !== doc.title) && (_VirtualDom_doc.title = title = doc.title);
4088− var nextBlocker = $elm$browser$Debugger$Main$toBlockerType(model);
4089− _Debugger_updateBlocker(currBlocker, nextBlocker);
4090− currBlocker = nextBlocker;
4094− if (!model.popout.b) { currPopout = undefined; return; }
4096− _VirtualDom_doc = model.popout.b; // SWITCH TO POPOUT DOC
4097− currPopout || (currPopout = _VirtualDom_virtualize(model.popout.b));
4098− var nextPopout = $elm$browser$Debugger$Main$popoutView(model);
4099− var popoutPatches = _VirtualDom_diff(currPopout, nextPopout);
4100− _VirtualDom_applyPatches(model.popout.b.body, currPopout, popoutPatches, sendToApp);
4101− currPopout = nextPopout;
4102− _VirtualDom_doc = document; // SWITCH BACK TO NORMAL DOC
4109−function _Debugger_popout()
4117−function _Debugger_isOpen(popout)
4122−function _Debugger_open(popout)
4124− return _Scheduler_binding(function(callback)
4126− _Debugger_openWindow(popout);
4127− callback(_Scheduler_succeed(_Utils_Tuple0));
4131−function _Debugger_openWindow(popout)
4133− var w = $elm$browser$Debugger$Main$initialWindowWidth,
4134− h = $elm$browser$Debugger$Main$initialWindowHeight,
4135− x = screen.width - w,
4136− y = screen.height - h;
4138− var debuggerWindow = window.open('', '', 'width=' + w + ',height=' + h + ',left=' + x + ',top=' + y);
4139− var doc = debuggerWindow.document;
4140− doc.title = 'Elm Debugger';
4142− // handle arrow keys
4143− doc.addEventListener('keydown', function(event) {
4144− event.metaKey && event.which === 82 && window.location.reload();
4145− event.key === 'ArrowUp' && (popout.a($elm$browser$Debugger$Main$Up ), event.preventDefault());
4146− event.key === 'ArrowDown' && (popout.a($elm$browser$Debugger$Main$Down), event.preventDefault());
4149− // handle window close
4150− window.addEventListener('unload', close);
4151− debuggerWindow.addEventListener('unload', function() {
4152− popout.b = undefined;
4153− popout.a($elm$browser$Debugger$Main$NoOp);
4154− window.removeEventListener('unload', close);
4158− popout.b = undefined;
4159− popout.a($elm$browser$Debugger$Main$NoOp);
4160− debuggerWindow.close();
4163− // register new window
4172−function _Debugger_scroll(popout)
4174− return _Scheduler_binding(function(callback)
4178− var msgs = popout.b.getElementById('elm-debugger-sidebar');
4179− if (msgs && msgs.scrollTop !== 0)
4181− msgs.scrollTop = 0;
4184− callback(_Scheduler_succeed(_Utils_Tuple0));
4189−var _Debugger_scrollTo = F2(function(id, popout)
4191− return _Scheduler_binding(function(callback)
4195− var msg = popout.b.getElementById(id);
4198− msg.scrollIntoView(false);
4201− callback(_Scheduler_succeed(_Utils_Tuple0));
4210−function _Debugger_upload(popout)
4212− return _Scheduler_binding(function(callback)
4214− var doc = popout.b || document;
4215− var element = doc.createElement('input');
4216− element.setAttribute('type', 'file');
4217− element.setAttribute('accept', 'text/json');
4218− element.style.display = 'none';
4219− element.addEventListener('change', function(event)
4221− var fileReader = new FileReader();
4222− fileReader.onload = function(e)
4224− callback(_Scheduler_succeed(e.target.result));
4226− fileReader.readAsText(event.target.files[0]);
4227− doc.body.removeChild(element);
4229− doc.body.appendChild(element);
4239−var _Debugger_download = F2(function(historyLength, json)
4241− return _Scheduler_binding(function(callback)
4243− var fileName = 'history-' + historyLength + '.txt';
4244− var jsonString = JSON.stringify(json);
4245− var mime = 'text/plain;charset=utf-8';
4246− var done = _Scheduler_succeed(_Utils_Tuple0);
4249− if (navigator.msSaveBlob)
4251− navigator.msSaveBlob(new Blob([jsonString], {type: mime}), fileName);
4252− return callback(done);
4256− var element = document.createElement('a');
4257− element.setAttribute('href', 'data:' + mime + ',' + encodeURIComponent(jsonString));
4258− element.setAttribute('download', fileName);
4259− element.style.display = 'none';
4260− document.body.appendChild(element);
4262− document.body.removeChild(element);
4272−function _Debugger_messageToString(value)
4274− if (typeof value === 'boolean')
4276− return value ? 'True' : 'False';
4279− if (typeof value === 'number')
4284− if (typeof value === 'string')
4286− return '"' + _Debugger_addSlashes(value, false) + '"';
4289− if (value instanceof String)
4291− return "'" + _Debugger_addSlashes(value, true) + "'";
4294− if (typeof value !== 'object' || value === null || !('$' in value))
4299− if (typeof value.$ === 'number')
4304− var code = value.$.charCodeAt(0);
4305− if (code === 0x23 /* # */ || /* a */ 0x61 <= code && code <= 0x7A /* z */)
4310− if (['Array_elm_builtin', 'Set_elm_builtin', 'RBNode_elm_builtin', 'RBEmpty_elm_builtin'].indexOf(value.$) >= 0)
4315− var keys = Object.keys(value);
4316− switch (keys.length)
4321− return value.$ + ' ' + _Debugger_messageToString(value.a);
4323− return value.$ + ' … ' + _Debugger_messageToString(value[keys[keys.length - 1]]);
4328−function _Debugger_init(value)
4330− if (typeof value === 'boolean')
4332− return A3($elm$browser$Debugger$Expando$Constructor, $elm$core$Maybe$Just(value ? 'True' : 'False'), true, _List_Nil);
4335− if (typeof value === 'number')
4337− return $elm$browser$Debugger$Expando$Primitive(value + '');
4340− if (typeof value === 'string')
4342− return $elm$browser$Debugger$Expando$S('"' + _Debugger_addSlashes(value, false) + '"');
4345− if (value instanceof String)
4347− return $elm$browser$Debugger$Expando$S("'" + _Debugger_addSlashes(value, true) + "'");
4350− if (typeof value === 'object' && '$' in value)
4354− if (tag === '::' || tag === '[]')
4356− return A3($elm$browser$Debugger$Expando$Sequence, $elm$browser$Debugger$Expando$ListSeq, true,
4357− A2($elm$core$List$map, _Debugger_init, value)
4361− if (tag === 'Set_elm_builtin')
4363− return A3($elm$browser$Debugger$Expando$Sequence, $elm$browser$Debugger$Expando$SetSeq, true,
4364− A3($elm$core$Set$foldr, _Debugger_initCons, _List_Nil, value)
4368− if (tag === 'RBNode_elm_builtin' || tag == 'RBEmpty_elm_builtin')
4370− return A2($elm$browser$Debugger$Expando$Dictionary, true,
4371− A3($elm$core$Dict$foldr, _Debugger_initKeyValueCons, _List_Nil, value)
4375− if (tag === 'Array_elm_builtin')
4377− return A3($elm$browser$Debugger$Expando$Sequence, $elm$browser$Debugger$Expando$ArraySeq, true,
4378− A3($elm$core$Array$foldr, _Debugger_initCons, _List_Nil, value)
4382− if (typeof tag === 'number')
4384− return $elm$browser$Debugger$Expando$Primitive('<internals>');
4387− var char = tag.charCodeAt(0);
4388− if (char === 35 || 65 <= char && char <= 90)
4390− var list = _List_Nil;
4391− for (var i in value)
4393− if (i === '$') continue;
4394− list = _List_Cons(_Debugger_init(value[i]), list);
4396− return A3($elm$browser$Debugger$Expando$Constructor, char === 35 ? $elm$core$Maybe$Nothing : $elm$core$Maybe$Just(tag), true, $elm$core$List$reverse(list));
4399− return $elm$browser$Debugger$Expando$Primitive('<internals>');
4402− if (typeof value === 'object')
4404− var dict = $elm$core$Dict$empty;
4405− for (var i in value)
4407− dict = A3($elm$core$Dict$insert, i, _Debugger_init(value[i]), dict);
4409− return A2($elm$browser$Debugger$Expando$Record, true, dict);
4412− return $elm$browser$Debugger$Expando$Primitive('<internals>');
4415−var _Debugger_initCons = F2(function initConsHelp(value, list)
4417− return _List_Cons(_Debugger_init(value), list);
4420−var _Debugger_initKeyValueCons = F3(function(key, value, list)
4423− _Utils_Tuple2(_Debugger_init(key), _Debugger_init(value)),
4428−function _Debugger_addSlashes(str, isChar)
4431− .replace(/\\/g, '\\\\')
4432− .replace(/\n/g, '\\n')
4433− .replace(/\t/g, '\\t')
4434− .replace(/\r/g, '\\r')
4435− .replace(/\v/g, '\\v')
4436− .replace(/\0/g, '\\0');
4439− return s.replace(/\'/g, '\\\'');
4443− return s.replace(/\"/g, '\\"');
4452−function _Debugger_updateBlocker(oldBlocker, newBlocker)
4454− if (oldBlocker === newBlocker) return;
4456− var oldEvents = _Debugger_blockerToEvents(oldBlocker);
4457− var newEvents = _Debugger_blockerToEvents(newBlocker);
4459− // remove old blockers
4460− for (var i = 0; i < oldEvents.length; i++)
4462− document.removeEventListener(oldEvents[i], _Debugger_blocker, true);
4465− // add new blockers
4466− for (var i = 0; i < newEvents.length; i++)
4468− document.addEventListener(newEvents[i], _Debugger_blocker, true);
4473−function _Debugger_blocker(event)
4475− if (event.type === 'keydown' && event.metaKey && event.which === 82)
4480− var isScroll = event.type === 'scroll' || event.type === 'wheel';
4481− for (var node = event.target; node; node = node.parentNode)
4483− if (isScroll ? node.id === 'elm-debugger-details' : node.id === 'elm-debugger-overlay')
4489− event.stopPropagation();
4490− event.preventDefault();
4493−function _Debugger_blockerToEvents(blocker)
4495− return blocker === $elm$browser$Debugger$Overlay$BlockNone
4497− : blocker === $elm$browser$Debugger$Overlay$BlockMost
4498− ? _Debugger_mostEvents
4499− : _Debugger_allEvents;
4502−var _Debugger_mostEvents = [
4503− 'click', 'dblclick', 'mousemove',
4504− 'mouseup', 'mousedown', 'mouseenter', 'mouseleave',
4505− 'touchstart', 'touchend', 'touchcancel', 'touchmove',
4506− 'pointerdown', 'pointerup', 'pointerover', 'pointerout',
4507− 'pointerenter', 'pointerleave', 'pointermove', 'pointercancel',
4508− 'dragstart', 'drag', 'dragend', 'dragenter', 'dragover', 'dragleave', 'drop',
4509− 'keyup', 'keydown', 'keypress',
4514−var _Debugger_allEvents = _Debugger_mostEvents.concat('wheel', 'scroll');
4522−var _Debugger_element;
4524−var _Browser_element = _Debugger_element || F4(function(impl, flagDecoder, debugMetadata, args)
4526− return _Platform_initialize(
4531− impl.subscriptions,
4532− function(sendToApp, initialModel) {
4533− var view = impl.view;
4535− var domNode = args['node'];
4538− var domNode = args && args['node'] ? args['node'] : _Debug_crash(0);
4540− var currNode = _VirtualDom_virtualize(domNode);
4542− return _Browser_makeAnimator(initialModel, function(model)
4544− var nextNode = view(model);
4545− var patches = _VirtualDom_diff(currNode, nextNode);
4546− domNode = _VirtualDom_applyPatches(domNode, currNode, patches, sendToApp);
4547− currNode = nextNode;
4558−var _Debugger_document;
4560−var _Browser_document = _Debugger_document || F4(function(impl, flagDecoder, debugMetadata, args)
4562− return _Platform_initialize(
4567− impl.subscriptions,
4568− function(sendToApp, initialModel) {
4569− var divertHrefToApp = impl.setup && impl.setup(sendToApp)
4570− var view = impl.view;
4571− var title = _VirtualDom_doc.title;
4572− var bodyNode = _VirtualDom_doc.body;
4573− var currNode = _VirtualDom_virtualize(bodyNode);
4574− return _Browser_makeAnimator(initialModel, function(model)
4576− _VirtualDom_divertHrefToApp = divertHrefToApp;
4577− var doc = view(model);
4578− var nextNode = _VirtualDom_node('body')(_List_Nil)(doc.body);
4579− var patches = _VirtualDom_diff(currNode, nextNode);
4580− bodyNode = _VirtualDom_applyPatches(bodyNode, currNode, patches, sendToApp);
4581− currNode = nextNode;
4582− _VirtualDom_divertHrefToApp = 0;
4583− (title !== doc.title) && (_VirtualDom_doc.title = title = doc.title);
4594−var _Browser_cancelAnimationFrame =
4595− typeof cancelAnimationFrame !== 'undefined'
4596− ? cancelAnimationFrame
4597− : function(id) { clearTimeout(id); };
4599−var _Browser_requestAnimationFrame =
4600− typeof requestAnimationFrame !== 'undefined'
4601− ? requestAnimationFrame
4602− : function(callback) { return setTimeout(callback, 1000 / 60); };
4605−function _Browser_makeAnimator(model, draw)
4611− function updateIfNeeded()
4613− state = state === 1
4615− : ( _Browser_requestAnimationFrame(updateIfNeeded), draw(model), 1 );
4618− return function(nextModel, isSync)
4624− state === 2 && (state = 1)
4626− : ( state === 0 && _Browser_requestAnimationFrame(updateIfNeeded),
4637−function _Browser_application(impl)
4639− var onUrlChange = impl.onUrlChange;
4640− var onUrlRequest = impl.onUrlRequest;
4641− var key = function() { key.a(onUrlChange(_Browser_getUrl())); };
4643− return _Browser_document({
4644− setup: function(sendToApp)
4647− _Browser_window.addEventListener('popstate', key);
4648− _Browser_window.navigator.userAgent.indexOf('Trident') < 0 || _Browser_window.addEventListener('hashchange', key);
4650− return F2(function(domNode, event)
4652− if (!event.ctrlKey && !event.metaKey && !event.shiftKey && event.button < 1 && !domNode.target && !domNode.hasAttribute('download'))
4654− event.preventDefault();
4655− var href = domNode.href;
4656− var curr = _Browser_getUrl();
4657− var next = $elm$url$Url$fromString(href).a;
4658− sendToApp(onUrlRequest(
4660− && curr.protocol === next.protocol
4661− && curr.host === next.host
4662− && curr.port_.a === next.port_.a
4664− ? $elm$browser$Browser$Internal(next)
4665− : $elm$browser$Browser$External(href)
4670− init: function(flags)
4672− return A3(impl.init, flags, _Browser_getUrl(), key);
4675− update: impl.update,
4676− subscriptions: impl.subscriptions
4680−function _Browser_getUrl()
4682− return $elm$url$Url$fromString(_VirtualDom_doc.location.href).a || _Debug_crash(1);
4685−var _Browser_go = F2(function(key, n)
4687− return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {
4688− n && history.go(n);
4693−var _Browser_pushUrl = F2(function(key, url)
4695− return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {
4696− history.pushState({}, '', url);
4701−var _Browser_replaceUrl = F2(function(key, url)
4703− return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {
4704− history.replaceState({}, '', url);
4714−var _Browser_fakeNode = { addEventListener: function() {}, removeEventListener: function() {} };
4715−var _Browser_doc = typeof document !== 'undefined' ? document : _Browser_fakeNode;
4716−var _Browser_window = typeof window !== 'undefined' ? window : _Browser_fakeNode;
4718−var _Browser_on = F3(function(node, eventName, sendToSelf)
4720− return _Scheduler_spawn(_Scheduler_binding(function(callback)
4722− function handler(event) { _Scheduler_rawSpawn(sendToSelf(event)); }
4723− node.addEventListener(eventName, handler, _VirtualDom_passiveSupported && { passive: true });
4724− return function() { node.removeEventListener(eventName, handler); };
4728−var _Browser_decodeEvent = F2(function(decoder, event)
4730− var result = _Json_runHelp(decoder, event);
4731− return $elm$core$Result$isOk(result) ? $elm$core$Maybe$Just(result.a) : $elm$core$Maybe$Nothing;
4739−function _Browser_visibilityInfo()
4741− return (typeof _VirtualDom_doc.hidden !== 'undefined')
4742− ? { hidden: 'hidden', change: 'visibilitychange' }
4744− (typeof _VirtualDom_doc.mozHidden !== 'undefined')
4745− ? { hidden: 'mozHidden', change: 'mozvisibilitychange' }
4747− (typeof _VirtualDom_doc.msHidden !== 'undefined')
4748− ? { hidden: 'msHidden', change: 'msvisibilitychange' }
4750− (typeof _VirtualDom_doc.webkitHidden !== 'undefined')
4751− ? { hidden: 'webkitHidden', change: 'webkitvisibilitychange' }
4752− : { hidden: 'hidden', change: 'visibilitychange' };
4760−function _Browser_rAF()
4762− return _Scheduler_binding(function(callback)
4764− var id = _Browser_requestAnimationFrame(function() {
4765− callback(_Scheduler_succeed(Date.now()));
4768− return function() {
4769− _Browser_cancelAnimationFrame(id);
4775−function _Browser_now()
4777− return _Scheduler_binding(function(callback)
4779− callback(_Scheduler_succeed(Date.now()));
4788−function _Browser_withNode(id, doStuff)
4790− return _Scheduler_binding(function(callback)
4792− _Browser_requestAnimationFrame(function() {
4793− var node = document.getElementById(id);
4795− ? _Scheduler_succeed(doStuff(node))
4796− : _Scheduler_fail($elm$browser$Browser$Dom$NotFound(id))
4803−function _Browser_withWindow(doStuff)
4805− return _Scheduler_binding(function(callback)
4807− _Browser_requestAnimationFrame(function() {
4808− callback(_Scheduler_succeed(doStuff()));
4817−var _Browser_call = F2(function(functionName, id)
4819− return _Browser_withNode(id, function(node) {
4820− node[functionName]();
4821− return _Utils_Tuple0;
4830−function _Browser_getViewport()
4833− scene: _Browser_getScene(),
4835− x: _Browser_window.pageXOffset,
4836− y: _Browser_window.pageYOffset,
4837− width: _Browser_doc.documentElement.clientWidth,
4838− height: _Browser_doc.documentElement.clientHeight
4843−function _Browser_getScene()
4845− var body = _Browser_doc.body;
4846− var elem = _Browser_doc.documentElement;
4848− width: Math.max(body.scrollWidth, body.offsetWidth, elem.scrollWidth, elem.offsetWidth, elem.clientWidth),
4849− height: Math.max(body.scrollHeight, body.offsetHeight, elem.scrollHeight, elem.offsetHeight, elem.clientHeight)
4853−var _Browser_setViewport = F2(function(x, y)
4855− return _Browser_withWindow(function()
4857− _Browser_window.scroll(x, y);
4858− return _Utils_Tuple0;
4867−function _Browser_getViewportOf(id)
4869− return _Browser_withNode(id, function(node)
4873− width: node.scrollWidth,
4874− height: node.scrollHeight
4877− x: node.scrollLeft,
4879− width: node.clientWidth,
4880− height: node.clientHeight
4887−var _Browser_setViewportOf = F3(function(id, x, y)
4889− return _Browser_withNode(id, function(node)
4891− node.scrollLeft = x;
4892− node.scrollTop = y;
4893− return _Utils_Tuple0;
4902−function _Browser_getElement(id)
4904− return _Browser_withNode(id, function(node)
4906− var rect = node.getBoundingClientRect();
4907− var x = _Browser_window.pageXOffset;
4908− var y = _Browser_window.pageYOffset;
4910− scene: _Browser_getScene(),
4914− width: _Browser_doc.documentElement.clientWidth,
4915− height: _Browser_doc.documentElement.clientHeight
4921− height: rect.height
4932−function _Browser_reload(skipCache)
4934− return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback)
4936− _VirtualDom_doc.location.reload(skipCache);
4940−function _Browser_load(url)
4942− return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback)
4946− _Browser_window.location = url;
4950− // Only Firefox can throw a NS_ERROR_MALFORMED_URI exception here.
4951− // Other browsers reload the page, so let's be consistent about that.
4952− _VirtualDom_doc.location.reload(false);
4956−var $elm$core$Basics$EQ = {$: 'EQ'};
4957−var $elm$core$Basics$LT = {$: 'LT'};
4958−var $elm$core$List$cons = _List_cons;
4959−var $elm$core$Elm$JsArray$foldr = _JsArray_foldr;
4960−var $elm$core$Array$foldr = F3(
4961− function (func, baseCase, _v0) {
4965− function (node, acc) {
4966− if (node.$ === 'SubTree') {
4967− var subTree = node.a;
4968− return A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree);
4970− var values = node.a;
4971− return A3($elm$core$Elm$JsArray$foldr, func, acc, values);
4975− $elm$core$Elm$JsArray$foldr,
4977− A3($elm$core$Elm$JsArray$foldr, func, baseCase, tail),
4980−var $elm$core$Array$toList = function (array) {
4981− return A3($elm$core$Array$foldr, $elm$core$List$cons, _List_Nil, array);
4983−var $elm$core$Dict$foldr = F3(
4984− function (func, acc, t) {
4987− if (t.$ === 'RBEmpty_elm_builtin') {
4994− var $temp$func = func,
4999− A3($elm$core$Dict$foldr, func, acc, right)),
5008−var $elm$core$Dict$toList = function (dict) {
5010− $elm$core$Dict$foldr,
5012− function (key, value, list) {
5014− $elm$core$List$cons,
5015− _Utils_Tuple2(key, value),
5021−var $elm$core$Dict$keys = function (dict) {
5023− $elm$core$Dict$foldr,
5025− function (key, value, keyList) {
5026− return A2($elm$core$List$cons, key, keyList);
5031−var $elm$core$Set$toList = function (_v0) {
5033− return $elm$core$Dict$keys(dict);
5035−var $elm$core$Basics$GT = {$: 'GT'};
5036−var $author$project$Main$Error = function (a) {
5037− return {$: 'Error', a: a};
5039−var $author$project$Main$RecieveMessage = function (a) {
5040− return {$: 'RecieveMessage', a: a};
5042−var $elm$core$Basics$always = F2(
5043− function (a, _v0) {
5046−var $elm$core$Result$Err = function (a) {
5047− return {$: 'Err', a: a};
5049−var $elm$json$Json$Decode$Failure = F2(
5051− return {$: 'Failure', a: a, b: b};
5053−var $elm$json$Json$Decode$Field = F2(
5055− return {$: 'Field', a: a, b: b};
5057−var $elm$json$Json$Decode$Index = F2(
5059− return {$: 'Index', a: a, b: b};
5061−var $elm$core$Result$Ok = function (a) {
5062− return {$: 'Ok', a: a};
5064−var $elm$json$Json$Decode$OneOf = function (a) {
5065− return {$: 'OneOf', a: a};
5067−var $elm$core$Basics$False = {$: 'False'};
5068−var $elm$core$Basics$add = _Basics_add;
5069−var $elm$core$Maybe$Just = function (a) {
5070− return {$: 'Just', a: a};
5072−var $elm$core$Maybe$Nothing = {$: 'Nothing'};
5073−var $elm$core$String$all = _String_all;
5074−var $elm$core$Basics$and = _Basics_and;
5075−var $elm$core$Basics$append = _Utils_append;
5076−var $elm$json$Json$Encode$encode = _Json_encode;
5077−var $elm$core$String$fromInt = _String_fromNumber;
5078−var $elm$core$String$join = F2(
5079− function (sep, chunks) {
5083− _List_toArray(chunks));
5085−var $elm$core$String$split = F2(
5086− function (sep, string) {
5087− return _List_fromArray(
5088− A2(_String_split, sep, string));
5090−var $elm$json$Json$Decode$indent = function (str) {
5092− $elm$core$String$join,
5094− A2($elm$core$String$split, '\n', str));
5096−var $elm$core$List$foldl = F3(
5097− function (func, acc, list) {
5105− var $temp$func = func,
5106− $temp$acc = A2(func, x, acc),
5115−var $elm$core$List$length = function (xs) {
5117− $elm$core$List$foldl,
5119− function (_v0, i) {
5125−var $elm$core$List$map2 = _List_map2;
5126−var $elm$core$Basics$le = _Utils_le;
5127−var $elm$core$Basics$sub = _Basics_sub;
5128−var $elm$core$List$rangeHelp = F3(
5129− function (lo, hi, list) {
5132− if (_Utils_cmp(lo, hi) < 1) {
5135− $temp$list = A2($elm$core$List$cons, hi, list);
5139− continue rangeHelp;
5145−var $elm$core$List$range = F2(
5146− function (lo, hi) {
5147− return A3($elm$core$List$rangeHelp, lo, hi, _List_Nil);
5149−var $elm$core$List$indexedMap = F2(
5152− $elm$core$List$map2,
5155− $elm$core$List$range,
5157− $elm$core$List$length(xs) - 1),
5160−var $elm$core$Char$toCode = _Char_toCode;
5161−var $elm$core$Char$isLower = function (_char) {
5162− var code = $elm$core$Char$toCode(_char);
5163− return (97 <= code) && (code <= 122);
5165−var $elm$core$Char$isUpper = function (_char) {
5166− var code = $elm$core$Char$toCode(_char);
5167− return (code <= 90) && (65 <= code);
5169−var $elm$core$Basics$or = _Basics_or;
5170−var $elm$core$Char$isAlpha = function (_char) {
5171− return $elm$core$Char$isLower(_char) || $elm$core$Char$isUpper(_char);
5173−var $elm$core$Char$isDigit = function (_char) {
5174− var code = $elm$core$Char$toCode(_char);
5175− return (code <= 57) && (48 <= code);
5177−var $elm$core$Char$isAlphaNum = function (_char) {
5178− return $elm$core$Char$isLower(_char) || ($elm$core$Char$isUpper(_char) || $elm$core$Char$isDigit(_char));
5180−var $elm$core$List$reverse = function (list) {
5181− return A3($elm$core$List$foldl, $elm$core$List$cons, _List_Nil, list);
5183−var $elm$core$String$uncons = _String_uncons;
5184−var $elm$json$Json$Decode$errorOneOf = F2(
5185− function (i, error) {
5186− return '\n\n(' + ($elm$core$String$fromInt(i + 1) + (') ' + $elm$json$Json$Decode$indent(
5187− $elm$json$Json$Decode$errorToString(error))));
5189−var $elm$json$Json$Decode$errorToString = function (error) {
5190− return A2($elm$json$Json$Decode$errorToStringHelp, error, _List_Nil);
5192−var $elm$json$Json$Decode$errorToStringHelp = F2(
5193− function (error, context) {
5200− var isSimple = function () {
5201− var _v1 = $elm$core$String$uncons(f);
5202− if (_v1.$ === 'Nothing') {
5208− return $elm$core$Char$isAlpha(_char) && A2($elm$core$String$all, $elm$core$Char$isAlphaNum, rest);
5211− var fieldName = isSimple ? ('.' + f) : ('[\'' + (f + '\']'));
5212− var $temp$error = err,
5213− $temp$context = A2($elm$core$List$cons, fieldName, context);
5214− error = $temp$error;
5215− context = $temp$context;
5216− continue errorToStringHelp;
5220− var indexName = '[' + ($elm$core$String$fromInt(i) + ']');
5221− var $temp$error = err,
5222− $temp$context = A2($elm$core$List$cons, indexName, context);
5223− error = $temp$error;
5224− context = $temp$context;
5225− continue errorToStringHelp;
5227− var errors = error.a;
5229− return 'Ran into a Json.Decode.oneOf with no possibilities' + function () {
5233− return ' at json' + A2(
5234− $elm$core$String$join,
5236− $elm$core$List$reverse(context));
5241− var err = errors.a;
5242− var $temp$error = err,
5243− $temp$context = context;
5244− error = $temp$error;
5245− context = $temp$context;
5246− continue errorToStringHelp;
5248− var starter = function () {
5250− return 'Json.Decode.oneOf';
5252− return 'The Json.Decode.oneOf at json' + A2(
5253− $elm$core$String$join,
5255− $elm$core$List$reverse(context));
5258− var introduction = starter + (' failed in the following ' + ($elm$core$String$fromInt(
5259− $elm$core$List$length(errors)) + ' ways:'));
5261− $elm$core$String$join,
5264− $elm$core$List$cons,
5266− A2($elm$core$List$indexedMap, $elm$json$Json$Decode$errorOneOf, errors)));
5271− var json = error.b;
5272− var introduction = function () {
5274− return 'Problem with the given value:\n\n';
5276− return 'Problem with the value at json' + (A2(
5277− $elm$core$String$join,
5279− $elm$core$List$reverse(context)) + ':\n\n ');
5282− return introduction + ($elm$json$Json$Decode$indent(
5283− A2($elm$json$Json$Encode$encode, 4, json)) + ('\n\n' + msg));
5287−var $elm$core$Array$branchFactor = 32;
5288−var $elm$core$Array$Array_elm_builtin = F4(
5289− function (a, b, c, d) {
5290− return {$: 'Array_elm_builtin', a: a, b: b, c: c, d: d};
5292−var $elm$core$Elm$JsArray$empty = _JsArray_empty;
5293−var $elm$core$Basics$ceiling = _Basics_ceiling;
5294−var $elm$core$Basics$fdiv = _Basics_fdiv;
5295−var $elm$core$Basics$logBase = F2(
5296− function (base, number) {
5297− return _Basics_log(number) / _Basics_log(base);
5299−var $elm$core$Basics$toFloat = _Basics_toFloat;
5300−var $elm$core$Array$shiftStep = $elm$core$Basics$ceiling(
5301− A2($elm$core$Basics$logBase, 2, $elm$core$Array$branchFactor));
5302−var $elm$core$Array$empty = A4($elm$core$Array$Array_elm_builtin, 0, $elm$core$Array$shiftStep, $elm$core$Elm$JsArray$empty, $elm$core$Elm$JsArray$empty);
5303−var $elm$core$Elm$JsArray$initialize = _JsArray_initialize;
5304−var $elm$core$Array$Leaf = function (a) {
5305− return {$: 'Leaf', a: a};
5307−var $elm$core$Basics$apL = F2(
5311−var $elm$core$Basics$apR = F2(
5315−var $elm$core$Basics$eq = _Utils_equal;
5316−var $elm$core$Basics$floor = _Basics_floor;
5317−var $elm$core$Elm$JsArray$length = _JsArray_length;
5318−var $elm$core$Basics$gt = _Utils_gt;
5319−var $elm$core$Basics$max = F2(
5321− return (_Utils_cmp(x, y) > 0) ? x : y;
5323−var $elm$core$Basics$mul = _Basics_mul;
5324−var $elm$core$Array$SubTree = function (a) {
5325− return {$: 'SubTree', a: a};
5327−var $elm$core$Elm$JsArray$initializeFromList = _JsArray_initializeFromList;
5328−var $elm$core$Array$compressNodes = F2(
5329− function (nodes, acc) {
5332− var _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodes);
5334− var remainingNodes = _v0.b;
5336− $elm$core$List$cons,
5337− $elm$core$Array$SubTree(node),
5339− if (!remainingNodes.b) {
5340− return $elm$core$List$reverse(newAcc);
5342− var $temp$nodes = remainingNodes,
5343− $temp$acc = newAcc;
5344− nodes = $temp$nodes;
5346− continue compressNodes;
5350−var $elm$core$Tuple$first = function (_v0) {
5354−var $elm$core$Array$treeFromBuilder = F2(
5355− function (nodeList, nodeListSize) {
5358− var newNodeSize = $elm$core$Basics$ceiling(nodeListSize / $elm$core$Array$branchFactor);
5359− if (newNodeSize === 1) {
5360− return A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodeList).a;
5362− var $temp$nodeList = A2($elm$core$Array$compressNodes, nodeList, _List_Nil),
5363− $temp$nodeListSize = newNodeSize;
5364− nodeList = $temp$nodeList;
5365− nodeListSize = $temp$nodeListSize;
5366− continue treeFromBuilder;
5370−var $elm$core$Array$builderToArray = F2(
5371− function (reverseNodeList, builder) {
5372− if (!builder.nodeListSize) {
5374− $elm$core$Array$Array_elm_builtin,
5375− $elm$core$Elm$JsArray$length(builder.tail),
5376− $elm$core$Array$shiftStep,
5377− $elm$core$Elm$JsArray$empty,
5380− var treeLen = builder.nodeListSize * $elm$core$Array$branchFactor;
5381− var depth = $elm$core$Basics$floor(
5382− A2($elm$core$Basics$logBase, $elm$core$Array$branchFactor, treeLen - 1));
5383− var correctNodeList = reverseNodeList ? $elm$core$List$reverse(builder.nodeList) : builder.nodeList;
5384− var tree = A2($elm$core$Array$treeFromBuilder, correctNodeList, builder.nodeListSize);
5386− $elm$core$Array$Array_elm_builtin,
5387− $elm$core$Elm$JsArray$length(builder.tail) + treeLen,
5388− A2($elm$core$Basics$max, 5, depth * $elm$core$Array$shiftStep),
5393−var $elm$core$Basics$idiv = _Basics_idiv;
5394−var $elm$core$Basics$lt = _Utils_lt;
5395−var $elm$core$Array$initializeHelp = F5(
5396− function (fn, fromIndex, len, nodeList, tail) {
5399− if (fromIndex < 0) {
5401− $elm$core$Array$builderToArray,
5403− {nodeList: nodeList, nodeListSize: (len / $elm$core$Array$branchFactor) | 0, tail: tail});
5405− var leaf = $elm$core$Array$Leaf(
5406− A3($elm$core$Elm$JsArray$initialize, $elm$core$Array$branchFactor, fromIndex, fn));
5408− $temp$fromIndex = fromIndex - $elm$core$Array$branchFactor,
5410− $temp$nodeList = A2($elm$core$List$cons, leaf, nodeList),
5413− fromIndex = $temp$fromIndex;
5415− nodeList = $temp$nodeList;
5417− continue initializeHelp;
5421−var $elm$core$Basics$remainderBy = _Basics_remainderBy;
5422−var $elm$core$Array$initialize = F2(
5423− function (len, fn) {
5425− return $elm$core$Array$empty;
5427− var tailLen = len % $elm$core$Array$branchFactor;
5428− var tail = A3($elm$core$Elm$JsArray$initialize, tailLen, len - tailLen, fn);
5429− var initialFromIndex = (len - tailLen) - $elm$core$Array$branchFactor;
5430− return A5($elm$core$Array$initializeHelp, fn, initialFromIndex, len, _List_Nil, tail);
5433−var $elm$core$Basics$True = {$: 'True'};
5434−var $elm$core$Result$isOk = function (result) {
5435− if (result.$ === 'Ok') {
5441−var $elm$json$Json$Decode$map = _Json_map1;
5442−var $elm$json$Json$Decode$map2 = _Json_map2;
5443−var $elm$json$Json$Decode$succeed = _Json_succeed;
5444−var $elm$virtual_dom$VirtualDom$toHandlerInt = function (handler) {
5445− switch (handler.$) {
5448− case 'MayStopPropagation':
5450− case 'MayPreventDefault':
5456−var $elm$browser$Debugger$Expando$ArraySeq = {$: 'ArraySeq'};
5457−var $elm$browser$Debugger$Overlay$BlockMost = {$: 'BlockMost'};
5458−var $elm$browser$Debugger$Overlay$BlockNone = {$: 'BlockNone'};
5459−var $elm$browser$Debugger$Expando$Constructor = F3(
5460− function (a, b, c) {
5461− return {$: 'Constructor', a: a, b: b, c: c};
5463−var $elm$browser$Debugger$Expando$Dictionary = F2(
5465− return {$: 'Dictionary', a: a, b: b};
5467−var $elm$browser$Debugger$Main$Down = {$: 'Down'};
5468−var $elm$browser$Debugger$Expando$ListSeq = {$: 'ListSeq'};
5469−var $elm$browser$Debugger$Main$NoOp = {$: 'NoOp'};
5470−var $elm$browser$Debugger$Expando$Primitive = function (a) {
5471− return {$: 'Primitive', a: a};
5473−var $elm$browser$Debugger$Expando$Record = F2(
5475− return {$: 'Record', a: a, b: b};
5477−var $elm$browser$Debugger$Expando$S = function (a) {
5478− return {$: 'S', a: a};
5480−var $elm$browser$Debugger$Expando$Sequence = F3(
5481− function (a, b, c) {
5482− return {$: 'Sequence', a: a, b: b, c: c};
5484−var $elm$browser$Debugger$Expando$SetSeq = {$: 'SetSeq'};
5485−var $elm$browser$Debugger$Main$Up = {$: 'Up'};
5486−var $elm$browser$Debugger$Main$UserMsg = function (a) {
5487− return {$: 'UserMsg', a: a};
5489−var $elm$browser$Debugger$Main$Export = {$: 'Export'};
5490−var $elm$browser$Debugger$Main$Import = {$: 'Import'};
5491−var $elm$browser$Debugger$Main$Open = {$: 'Open'};
5492−var $elm$browser$Debugger$Main$OverlayMsg = function (a) {
5493− return {$: 'OverlayMsg', a: a};
5495−var $elm$browser$Debugger$Main$Resume = {$: 'Resume'};
5496−var $elm$browser$Debugger$Main$isPaused = function (state) {
5497− if (state.$ === 'Running') {
5503−var $elm$browser$Debugger$History$size = function (history) {
5504− return history.numMessages;
5506−var $elm$browser$Debugger$Overlay$Accept = function (a) {
5507− return {$: 'Accept', a: a};
5509−var $elm$browser$Debugger$Overlay$Choose = F2(
5511− return {$: 'Choose', a: a, b: b};
5513−var $elm$html$Html$div = _VirtualDom_node('div');
5514−var $elm$json$Json$Encode$string = _Json_wrap;
5515−var $elm$html$Html$Attributes$stringProperty = F2(
5516− function (key, string) {
5518− _VirtualDom_property,
5520− $elm$json$Json$Encode$string(string));
5522−var $elm$html$Html$Attributes$id = $elm$html$Html$Attributes$stringProperty('id');
5523−var $elm$virtual_dom$VirtualDom$Normal = function (a) {
5524− return {$: 'Normal', a: a};
5526−var $elm$virtual_dom$VirtualDom$on = _VirtualDom_on;
5527−var $elm$html$Html$Events$on = F2(
5528− function (event, decoder) {
5530− $elm$virtual_dom$VirtualDom$on,
5532− $elm$virtual_dom$VirtualDom$Normal(decoder));
5534−var $elm$html$Html$Events$onClick = function (msg) {
5536− $elm$html$Html$Events$on,
5538− $elm$json$Json$Decode$succeed(msg));
5540−var $elm$html$Html$span = _VirtualDom_node('span');
5541−var $elm$virtual_dom$VirtualDom$style = _VirtualDom_style;
5542−var $elm$html$Html$Attributes$style = $elm$virtual_dom$VirtualDom$style;
5543−var $elm$virtual_dom$VirtualDom$text = _VirtualDom_text;
5544−var $elm$html$Html$text = $elm$virtual_dom$VirtualDom$text;
5545−var $elm$html$Html$a = _VirtualDom_node('a');
5546−var $elm$browser$Debugger$Overlay$goodNews1 = '\nThe good news is that having values like this in your message type is not\nso great in the long run. You are better off using simpler data, like\n';
5547−var $elm$browser$Debugger$Overlay$goodNews2 = '\nfunction can pattern match on that data and call whatever functions, JSON\ndecoders, etc. you need. This makes the code much more explicit and easy to\nfollow for other readers (or you in a few months!)\n';
5548−var $elm$html$Html$Attributes$href = function (url) {
5550− $elm$html$Html$Attributes$stringProperty,
5552− _VirtualDom_noJavaScriptUri(url));
5554−var $elm$core$List$foldrHelper = F4(
5555− function (fn, acc, ctr, ls) {
5562− return A2(fn, a, acc);
5585− var res = (ctr > 500) ? A3(
5586− $elm$core$List$foldl,
5589− $elm$core$List$reverse(r4)) : A4($elm$core$List$foldrHelper, fn, acc, ctr + 1, r4);
5605−var $elm$core$List$foldr = F3(
5606− function (fn, acc, ls) {
5607− return A4($elm$core$List$foldrHelper, fn, acc, 0, ls);
5609−var $elm$core$List$map = F2(
5612− $elm$core$List$foldr,
5614− function (x, acc) {
5616− $elm$core$List$cons,
5623−var $elm$html$Html$p = _VirtualDom_node('p');
5624−var $elm$html$Html$ul = _VirtualDom_node('ul');
5625−var $elm$html$Html$code = _VirtualDom_node('code');
5626−var $elm$browser$Debugger$Overlay$viewCode = function (name) {
5628− $elm$html$Html$code,
5632− $elm$html$Html$text(name)
5635−var $elm$browser$Debugger$Overlay$addCommas = function (items) {
5640− var item = items.a;
5643− if (!items.b.b.b) {
5644− var item1 = items.a;
5647− return item1 + (' and ' + item2);
5649− var lastItem = items.a;
5650− var otherItems = items.b;
5652− $elm$core$String$join,
5657− [' and ' + lastItem])));
5662−var $elm$html$Html$li = _VirtualDom_node('li');
5663−var $elm$browser$Debugger$Overlay$problemToString = function (problem) {
5664− switch (problem.$) {
5666− return 'functions';
5668− return 'JSON decoders';
5672− return 'processes';
5674− return 'web sockets';
5676− return 'HTTP requests';
5680− return 'virtual DOM values';
5683−var $elm$browser$Debugger$Overlay$viewProblemType = function (_v0) {
5684− var name = _v0.name;
5685− var problems = _v0.problems;
5691− $elm$browser$Debugger$Overlay$viewCode(name),
5692− $elm$html$Html$text(
5693− ' can contain ' + ($elm$browser$Debugger$Overlay$addCommas(
5694− A2($elm$core$List$map, $elm$browser$Debugger$Overlay$problemToString, problems)) + '.'))
5697−var $elm$browser$Debugger$Overlay$viewBadMetadata = function (_v0) {
5698− var message = _v0.message;
5699− var problems = _v0.problems;
5700− return _List_fromArray(
5707− $elm$html$Html$text('The '),
5708− $elm$browser$Debugger$Overlay$viewCode(message),
5709− $elm$html$Html$text(' type of your program cannot be reliably serialized for history files.')
5716− $elm$html$Html$text('Functions cannot be serialized, nor can values that contain functions. This is a problem in these places:')
5721− A2($elm$core$List$map, $elm$browser$Debugger$Overlay$viewProblemType, problems)),
5727− $elm$html$Html$text($elm$browser$Debugger$Overlay$goodNews1),
5732− $elm$html$Html$Attributes$href('https://guide.elm-lang.org/types/custom_types.html')
5736− $elm$html$Html$text('custom types')
5738− $elm$html$Html$text(', in your messages. From there, your '),
5739− $elm$browser$Debugger$Overlay$viewCode('update'),
5740− $elm$html$Html$text($elm$browser$Debugger$Overlay$goodNews2)
5744−var $elm$virtual_dom$VirtualDom$map = _VirtualDom_map;
5745−var $elm$html$Html$map = $elm$virtual_dom$VirtualDom$map;
5746−var $elm$browser$Debugger$Overlay$Cancel = {$: 'Cancel'};
5747−var $elm$browser$Debugger$Overlay$Proceed = {$: 'Proceed'};
5748−var $elm$html$Html$button = _VirtualDom_node('button');
5749−var $elm$browser$Debugger$Overlay$viewButtons = function (buttons) {
5751− function (msg, string) {
5753− $elm$html$Html$button,
5756− A2($elm$html$Html$Attributes$style, 'margin-right', '20px'),
5757− $elm$html$Html$Events$onClick(msg)
5761− $elm$html$Html$text(string)
5764− var buttonNodes = function () {
5765− if (buttons.$ === 'Accept') {
5766− var proceed = buttons.a;
5767− return _List_fromArray(
5769− A2(btn, $elm$browser$Debugger$Overlay$Proceed, proceed)
5772− var cancel = buttons.a;
5773− var proceed = buttons.b;
5774− return _List_fromArray(
5776− A2(btn, $elm$browser$Debugger$Overlay$Cancel, cancel),
5777− A2(btn, $elm$browser$Debugger$Overlay$Proceed, proceed)
5782− $elm$html$Html$div,
5785− A2($elm$html$Html$Attributes$style, 'height', '60px'),
5786− A2($elm$html$Html$Attributes$style, 'line-height', '60px'),
5787− A2($elm$html$Html$Attributes$style, 'text-align', 'right'),
5788− A2($elm$html$Html$Attributes$style, 'background-color', 'rgb(50, 50, 50)')
5792−var $elm$browser$Debugger$Overlay$viewMessage = F4(
5793− function (config, title, details, buttons) {
5795− $elm$html$Html$div,
5798− $elm$html$Html$Attributes$id('elm-debugger-overlay'),
5799− A2($elm$html$Html$Attributes$style, 'position', 'fixed'),
5800− A2($elm$html$Html$Attributes$style, 'top', '0'),
5801− A2($elm$html$Html$Attributes$style, 'left', '0'),
5802− A2($elm$html$Html$Attributes$style, 'width', '100vw'),
5803− A2($elm$html$Html$Attributes$style, 'height', '100vh'),
5804− A2($elm$html$Html$Attributes$style, 'color', 'white'),
5805− A2($elm$html$Html$Attributes$style, 'pointer-events', 'none'),
5806− A2($elm$html$Html$Attributes$style, 'font-family', '\'Trebuchet MS\', \'Lucida Grande\', \'Bitstream Vera Sans\', \'Helvetica Neue\', sans-serif'),
5807− A2($elm$html$Html$Attributes$style, 'z-index', '2147483647')
5812− $elm$html$Html$div,
5815− A2($elm$html$Html$Attributes$style, 'position', 'absolute'),
5816− A2($elm$html$Html$Attributes$style, 'width', '600px'),
5817− A2($elm$html$Html$Attributes$style, 'height', '100vh'),
5818− A2($elm$html$Html$Attributes$style, 'padding-left', 'calc(50% - 300px)'),
5819− A2($elm$html$Html$Attributes$style, 'padding-right', 'calc(50% - 300px)'),
5820− A2($elm$html$Html$Attributes$style, 'background-color', 'rgba(200, 200, 200, 0.7)'),
5821− A2($elm$html$Html$Attributes$style, 'pointer-events', 'auto')
5826− $elm$html$Html$div,
5829− A2($elm$html$Html$Attributes$style, 'font-size', '36px'),
5830− A2($elm$html$Html$Attributes$style, 'height', '80px'),
5831− A2($elm$html$Html$Attributes$style, 'background-color', 'rgb(50, 50, 50)'),
5832− A2($elm$html$Html$Attributes$style, 'padding-left', '22px'),
5833− A2($elm$html$Html$Attributes$style, 'vertical-align', 'middle'),
5834− A2($elm$html$Html$Attributes$style, 'line-height', '80px')
5838− $elm$html$Html$text(title)
5841− $elm$html$Html$div,
5844− $elm$html$Html$Attributes$id('elm-debugger-details'),
5845− A2($elm$html$Html$Attributes$style, 'padding', ' 8px 20px'),
5846− A2($elm$html$Html$Attributes$style, 'overflow-y', 'auto'),
5847− A2($elm$html$Html$Attributes$style, 'max-height', 'calc(100vh - 156px)'),
5848− A2($elm$html$Html$Attributes$style, 'background-color', 'rgb(61, 61, 61)')
5852− $elm$html$Html$map,
5854− $elm$browser$Debugger$Overlay$viewButtons(buttons))
5858−var $elm$virtual_dom$VirtualDom$attribute = F2(
5859− function (key, value) {
5861− _VirtualDom_attribute,
5862− _VirtualDom_noOnOrFormAction(key),
5863− _VirtualDom_noJavaScriptOrHtmlUri(value));
5865−var $elm$core$Basics$negate = function (n) {
5868−var $elm$virtual_dom$VirtualDom$nodeNS = F2(
5869− function (namespace, tag) {
5871− _VirtualDom_nodeNS,
5873− _VirtualDom_noScript(tag));
5875−var $elm$core$String$fromFloat = _String_fromNumber;
5876−var $elm$browser$Debugger$Overlay$viewShape = F4(
5877− function (x, y, angle, coordinates) {
5879− $elm$virtual_dom$VirtualDom$nodeNS,
5880− 'http://www.w3.org/2000/svg',
5884− A2($elm$virtual_dom$VirtualDom$attribute, 'points', coordinates),
5886− $elm$virtual_dom$VirtualDom$attribute,
5888− 'translate(' + ($elm$core$String$fromFloat(x) + (' ' + ($elm$core$String$fromFloat(y) + (') rotate(' + ($elm$core$String$fromFloat(-angle) + ')'))))))
5892−var $elm$browser$Debugger$Overlay$elmLogo = A4(
5893− $elm$virtual_dom$VirtualDom$nodeNS,
5894− 'http://www.w3.org/2000/svg',
5898− A2($elm$virtual_dom$VirtualDom$attribute, 'viewBox', '-300 -300 600 600'),
5899− A2($elm$virtual_dom$VirtualDom$attribute, 'xmlns', 'http://www.w3.org/2000/svg'),
5900− A2($elm$virtual_dom$VirtualDom$attribute, 'fill', 'currentColor'),
5901− A2($elm$virtual_dom$VirtualDom$attribute, 'width', '24px'),
5902− A2($elm$virtual_dom$VirtualDom$attribute, 'height', '24px')
5907− $elm$virtual_dom$VirtualDom$nodeNS,
5908− 'http://www.w3.org/2000/svg',
5912− A2($elm$virtual_dom$VirtualDom$attribute, 'transform', 'scale(1 -1)')
5916− A4($elm$browser$Debugger$Overlay$viewShape, 0, -210, 0, '-280,-90 0,190 280,-90'),
5917− A4($elm$browser$Debugger$Overlay$viewShape, -210, 0, 90, '-280,-90 0,190 280,-90'),
5918− A4($elm$browser$Debugger$Overlay$viewShape, 207, 207, 45, '-198,-66 0,132 198,-66'),
5919− A4($elm$browser$Debugger$Overlay$viewShape, 150, 0, 0, '-130,0 0,-130 130,0 0,130'),
5920− A4($elm$browser$Debugger$Overlay$viewShape, -89, 239, 0, '-191,61 69,61 191,-61 -69,-61'),
5921− A4($elm$browser$Debugger$Overlay$viewShape, 0, 106, 180, '-130,-44 0,86 130,-44'),
5922− A4($elm$browser$Debugger$Overlay$viewShape, 256, -150, 270, '-130,-44 0,86 130,-44')
5925−var $elm$core$String$length = _String_length;
5926−var $elm$browser$Debugger$Overlay$viewMiniControls = F2(
5927− function (config, numMsgs) {
5928− var string = $elm$core$String$fromInt(numMsgs);
5929− var width = $elm$core$String$fromInt(
5930− 2 + $elm$core$String$length(string));
5932− $elm$html$Html$div,
5935− A2($elm$html$Html$Attributes$style, 'position', 'fixed'),
5936− A2($elm$html$Html$Attributes$style, 'bottom', '2em'),
5937− A2($elm$html$Html$Attributes$style, 'right', '2em'),
5938− A2($elm$html$Html$Attributes$style, 'width', 'calc(42px + ' + (width + 'ch)')),
5939− A2($elm$html$Html$Attributes$style, 'height', '36px'),
5940− A2($elm$html$Html$Attributes$style, 'background-color', '#1293D8'),
5941− A2($elm$html$Html$Attributes$style, 'color', 'white'),
5942− A2($elm$html$Html$Attributes$style, 'font-family', 'monospace'),
5943− A2($elm$html$Html$Attributes$style, 'pointer-events', 'auto'),
5944− A2($elm$html$Html$Attributes$style, 'z-index', '2147483647'),
5945− A2($elm$html$Html$Attributes$style, 'display', 'flex'),
5946− A2($elm$html$Html$Attributes$style, 'justify-content', 'center'),
5947− A2($elm$html$Html$Attributes$style, 'align-items', 'center'),
5948− A2($elm$html$Html$Attributes$style, 'cursor', 'pointer'),
5949− $elm$html$Html$Events$onClick(config.open)
5953− $elm$browser$Debugger$Overlay$elmLogo,
5955− $elm$html$Html$span,
5958− A2($elm$html$Html$Attributes$style, 'padding-left', 'calc(1ch + 6px)'),
5959− A2($elm$html$Html$Attributes$style, 'padding-right', '1ch')
5963− $elm$html$Html$text(string)
5967−var $elm$browser$Debugger$Overlay$explanationBad = '\nThe messages in this history do not match the messages handled by your\nprogram. I noticed changes in the following types:\n';
5968−var $elm$browser$Debugger$Overlay$explanationRisky = '\nThis history seems old. It will work with this program, but some\nmessages have been added since the history was created:\n';
5969−var $elm$core$List$intersperse = F2(
5970− function (sep, xs) {
5977− function (x, rest) {
5979− $elm$core$List$cons,
5981− A2($elm$core$List$cons, x, rest));
5983− var spersed = A3($elm$core$List$foldr, step, _List_Nil, tl);
5984− return A2($elm$core$List$cons, hd, spersed);
5987−var $elm$browser$Debugger$Overlay$viewMention = F2(
5988− function (tags, verbed) {
5990− $elm$core$List$map,
5991− $elm$browser$Debugger$Overlay$viewCode,
5992− $elm$core$List$reverse(tags));
5994− return $elm$html$Html$text('');
6003− $elm$html$Html$text(verbed),
6005− $elm$html$Html$text('.')
6017− $elm$html$Html$text(verbed),
6019− $elm$html$Html$text(' and '),
6021− $elm$html$Html$text('.')
6024− var lastTag = _v0.a;
6025− var otherTags = _v0.b;
6030− $elm$core$List$cons,
6031− $elm$html$Html$text(verbed),
6034− $elm$core$List$intersperse,
6035− $elm$html$Html$text(', '),
6036− $elm$core$List$reverse(otherTags)),
6039− $elm$html$Html$text(', and '),
6041− $elm$html$Html$text('.')
6047−var $elm$browser$Debugger$Overlay$viewChange = function (change) {
6052− A2($elm$html$Html$Attributes$style, 'margin', '8px 0')
6055− if (change.$ === 'AliasChange') {
6056− var name = change.a;
6057− return _List_fromArray(
6060− $elm$html$Html$span,
6063− A2($elm$html$Html$Attributes$style, 'font-size', '1.5em')
6067− $elm$browser$Debugger$Overlay$viewCode(name)
6071− var name = change.a;
6072− var removed = change.b.removed;
6073− var changed = change.b.changed;
6074− var added = change.b.added;
6075− var argsMatch = change.b.argsMatch;
6076− return _List_fromArray(
6079− $elm$html$Html$span,
6082− A2($elm$html$Html$Attributes$style, 'font-size', '1.5em')
6086− $elm$browser$Debugger$Overlay$viewCode(name)
6092− A2($elm$html$Html$Attributes$style, 'list-style-type', 'disc'),
6093− A2($elm$html$Html$Attributes$style, 'padding-left', '2em')
6097− A2($elm$browser$Debugger$Overlay$viewMention, removed, 'Removed '),
6098− A2($elm$browser$Debugger$Overlay$viewMention, changed, 'Changed '),
6099− A2($elm$browser$Debugger$Overlay$viewMention, added, 'Added ')
6101− argsMatch ? $elm$html$Html$text('') : $elm$html$Html$text('This may be due to the fact that the type variable names changed.')
6106−var $elm$browser$Debugger$Overlay$viewReport = F2(
6107− function (isBad, report) {
6108− switch (report.$) {
6109− case 'CorruptHistory':
6110− return _List_fromArray(
6112− $elm$html$Html$text('Looks like this history file is corrupt. I cannot understand it.')
6114− case 'VersionChanged':
6115− var old = report.a;
6116− var _new = report.b;
6117− return _List_fromArray(
6119− $elm$html$Html$text('This history was created with Elm ' + (old + (', but you are using Elm ' + (_new + ' right now.'))))
6121− case 'MessageChanged':
6122− var old = report.a;
6123− var _new = report.b;
6124− return _List_fromArray(
6126− $elm$html$Html$text('To import some other history, the overall message type must' + ' be the same. The old history has '),
6127− $elm$browser$Debugger$Overlay$viewCode(old),
6128− $elm$html$Html$text(' messages, but the new program works with '),
6129− $elm$browser$Debugger$Overlay$viewCode(_new),
6130− $elm$html$Html$text(' messages.')
6133− var changes = report.a;
6134− return _List_fromArray(
6141− $elm$html$Html$text(
6142− isBad ? $elm$browser$Debugger$Overlay$explanationBad : $elm$browser$Debugger$Overlay$explanationRisky)
6148− A2($elm$html$Html$Attributes$style, 'list-style-type', 'none'),
6149− A2($elm$html$Html$Attributes$style, 'padding-left', '20px')
6151− A2($elm$core$List$map, $elm$browser$Debugger$Overlay$viewChange, changes))
6155−var $elm$browser$Debugger$Overlay$view = F5(
6156− function (config, isPaused, isOpen, numMsgs, state) {
6159− return isOpen ? $elm$html$Html$text('') : (isPaused ? A2(
6160− $elm$html$Html$div,
6163− $elm$html$Html$Attributes$id('elm-debugger-overlay'),
6164− A2($elm$html$Html$Attributes$style, 'position', 'fixed'),
6165− A2($elm$html$Html$Attributes$style, 'top', '0'),
6166− A2($elm$html$Html$Attributes$style, 'left', '0'),
6167− A2($elm$html$Html$Attributes$style, 'width', '100vw'),
6168− A2($elm$html$Html$Attributes$style, 'height', '100vh'),
6169− A2($elm$html$Html$Attributes$style, 'cursor', 'pointer'),
6170− A2($elm$html$Html$Attributes$style, 'display', 'flex'),
6171− A2($elm$html$Html$Attributes$style, 'align-items', 'center'),
6172− A2($elm$html$Html$Attributes$style, 'justify-content', 'center'),
6173− A2($elm$html$Html$Attributes$style, 'pointer-events', 'auto'),
6174− A2($elm$html$Html$Attributes$style, 'background-color', 'rgba(200, 200, 200, 0.7)'),
6175− A2($elm$html$Html$Attributes$style, 'color', 'white'),
6176− A2($elm$html$Html$Attributes$style, 'font-family', '\'Trebuchet MS\', \'Lucida Grande\', \'Bitstream Vera Sans\', \'Helvetica Neue\', sans-serif'),
6177− A2($elm$html$Html$Attributes$style, 'z-index', '2147483646'),
6178− $elm$html$Html$Events$onClick(config.resume)
6183− $elm$html$Html$span,
6186− A2($elm$html$Html$Attributes$style, 'font-size', '80px')
6190− $elm$html$Html$text('Click to Resume')
6192− A2($elm$browser$Debugger$Overlay$viewMiniControls, config, numMsgs)
6193− ])) : A2($elm$browser$Debugger$Overlay$viewMiniControls, config, numMsgs));
6194− case 'BadMetadata':
6195− var badMetadata_ = state.a;
6197− $elm$browser$Debugger$Overlay$viewMessage,
6199− 'Cannot use Import or Export',
6200− $elm$browser$Debugger$Overlay$viewBadMetadata(badMetadata_),
6201− $elm$browser$Debugger$Overlay$Accept('Ok'));
6203− var report = state.a;
6205− $elm$browser$Debugger$Overlay$viewMessage,
6207− 'Cannot Import History',
6208− A2($elm$browser$Debugger$Overlay$viewReport, true, report),
6209− $elm$browser$Debugger$Overlay$Accept('Ok'));
6211− var report = state.a;
6213− $elm$browser$Debugger$Overlay$viewMessage,
6216− A2($elm$browser$Debugger$Overlay$viewReport, false, report),
6217− A2($elm$browser$Debugger$Overlay$Choose, 'Cancel', 'Import Anyway'));
6220−var $elm$browser$Debugger$Main$cornerView = function (model) {
6222− $elm$browser$Debugger$Overlay$view,
6223− {exportHistory: $elm$browser$Debugger$Main$Export, importHistory: $elm$browser$Debugger$Main$Import, open: $elm$browser$Debugger$Main$Open, resume: $elm$browser$Debugger$Main$Resume, wrap: $elm$browser$Debugger$Main$OverlayMsg},
6224− $elm$browser$Debugger$Main$isPaused(model.state),
6225− _Debugger_isOpen(model.popout),
6226− $elm$browser$Debugger$History$size(model.history),
6229−var $elm$core$Dict$RBEmpty_elm_builtin = {$: 'RBEmpty_elm_builtin'};
6230−var $elm$core$Dict$empty = $elm$core$Dict$RBEmpty_elm_builtin;
6231−var $elm$core$Set$foldr = F3(
6232− function (func, initialState, _v0) {
6235− $elm$core$Dict$foldr,
6237− function (key, _v1, state) {
6238− return A2(func, key, state);
6243−var $elm$browser$Debugger$Main$getCurrentModel = function (state) {
6244− if (state.$ === 'Running') {
6245− var model = state.a;
6248− var model = state.b;
6252−var $elm$browser$Debugger$Main$getUserModel = function (model) {
6253− return $elm$browser$Debugger$Main$getCurrentModel(model.state);
6255−var $elm$browser$Debugger$Main$initialWindowHeight = 420;
6256−var $elm$browser$Debugger$Main$initialWindowWidth = 900;
6257−var $elm$core$Dict$Black = {$: 'Black'};
6258−var $elm$core$Dict$RBNode_elm_builtin = F5(
6259− function (a, b, c, d, e) {
6260− return {$: 'RBNode_elm_builtin', a: a, b: b, c: c, d: d, e: e};
6262−var $elm$core$Dict$Red = {$: 'Red'};
6263−var $elm$core$Dict$balance = F5(
6264− function (color, key, value, left, right) {
6265− if ((right.$ === 'RBNode_elm_builtin') && (right.a.$ === 'Red')) {
6269− var rLeft = right.d;
6270− var rRight = right.e;
6271− if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) {
6275− var lLeft = left.d;
6276− var lRight = left.e;
6278− $elm$core$Dict$RBNode_elm_builtin,
6279− $elm$core$Dict$Red,
6282− A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, lK, lV, lLeft, lRight),
6283− A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, rK, rV, rLeft, rRight));
6286− $elm$core$Dict$RBNode_elm_builtin,
6290− A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, left, rLeft),
6294− if ((((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) && (left.d.$ === 'RBNode_elm_builtin')) && (left.d.a.$ === 'Red')) {
6302− var llLeft = _v6.d;
6303− var llRight = _v6.e;
6304− var lRight = left.e;
6306− $elm$core$Dict$RBNode_elm_builtin,
6307− $elm$core$Dict$Red,
6310− A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, llK, llV, llLeft, llRight),
6311− A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, key, value, lRight, right));
6313− return A5($elm$core$Dict$RBNode_elm_builtin, color, key, value, left, right);
6317−var $elm$core$Basics$compare = _Utils_compare;
6318−var $elm$core$Dict$insertHelp = F3(
6319− function (key, value, dict) {
6320− if (dict.$ === 'RBEmpty_elm_builtin') {
6321− return A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, $elm$core$Dict$RBEmpty_elm_builtin, $elm$core$Dict$RBEmpty_elm_builtin);
6323− var nColor = dict.a;
6325− var nValue = dict.c;
6326− var nLeft = dict.d;
6327− var nRight = dict.e;
6328− var _v1 = A2($elm$core$Basics$compare, key, nKey);
6332− $elm$core$Dict$balance,
6336− A3($elm$core$Dict$insertHelp, key, value, nLeft),
6339− return A5($elm$core$Dict$RBNode_elm_builtin, nColor, nKey, value, nLeft, nRight);
6342− $elm$core$Dict$balance,
6347− A3($elm$core$Dict$insertHelp, key, value, nRight));
6351−var $elm$core$Dict$insert = F3(
6352− function (key, value, dict) {
6353− var _v0 = A3($elm$core$Dict$insertHelp, key, value, dict);
6354− if ((_v0.$ === 'RBNode_elm_builtin') && (_v0.a.$ === 'Red')) {
6360− return A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, k, v, l, r);
6366−var $elm$browser$Debugger$Main$cachedHistory = function (model) {
6367− var _v0 = model.state;
6368− if (_v0.$ === 'Running') {
6369− return model.history;
6371− var history = _v0.e;
6375−var $elm$virtual_dom$VirtualDom$node = function (tag) {
6376− return _VirtualDom_node(
6377− _VirtualDom_noScript(tag));
6379−var $elm$html$Html$node = $elm$virtual_dom$VirtualDom$node;
6380−var $elm$browser$Debugger$Main$DragEnd = {$: 'DragEnd'};
6381−var $elm$browser$Debugger$Main$getDragStatus = function (layout) {
6382− if (layout.$ === 'Horizontal') {
6383− var status = layout.a;
6386− var status = layout.a;
6390−var $elm$browser$Debugger$Main$Drag = function (a) {
6391− return {$: 'Drag', a: a};
6393−var $elm$browser$Debugger$Main$DragInfo = F5(
6394− function (x, y, down, width, height) {
6395− return {down: down, height: height, width: width, x: x, y: y};
6397−var $elm$json$Json$Decode$field = _Json_decodeField;
6398−var $elm$json$Json$Decode$at = F2(
6399− function (fields, decoder) {
6400− return A3($elm$core$List$foldr, $elm$json$Json$Decode$field, decoder, fields);
6402−var $elm$json$Json$Decode$float = _Json_decodeFloat;
6403−var $elm$browser$Debugger$Main$decodeDimension = function (field) {
6405− $elm$json$Json$Decode$at,
6407− ['currentTarget', 'ownerDocument', 'defaultView', field]),
6408− $elm$json$Json$Decode$float);
6410−var $elm$json$Json$Decode$int = _Json_decodeInt;
6411−var $elm$json$Json$Decode$map5 = _Json_map5;
6412−var $elm$browser$Debugger$Main$onMouseMove = A2(
6413− $elm$html$Html$Events$on,
6416− $elm$json$Json$Decode$map,
6417− $elm$browser$Debugger$Main$Drag,
6419− $elm$json$Json$Decode$map5,
6420− $elm$browser$Debugger$Main$DragInfo,
6421− A2($elm$json$Json$Decode$field, 'pageX', $elm$json$Json$Decode$float),
6422− A2($elm$json$Json$Decode$field, 'pageY', $elm$json$Json$Decode$float),
6424− $elm$json$Json$Decode$field,
6427− $elm$json$Json$Decode$map,
6431− $elm$json$Json$Decode$int)),
6432− $elm$browser$Debugger$Main$decodeDimension('innerWidth'),
6433− $elm$browser$Debugger$Main$decodeDimension('innerHeight'))));
6434−var $elm$html$Html$Events$onMouseUp = function (msg) {
6436− $elm$html$Html$Events$on,
6438− $elm$json$Json$Decode$succeed(msg));
6440−var $elm$browser$Debugger$Main$toDragListeners = function (layout) {
6441− var _v0 = $elm$browser$Debugger$Main$getDragStatus(layout);
6442− if (_v0.$ === 'Static') {
6445− return _List_fromArray(
6447− $elm$browser$Debugger$Main$onMouseMove,
6448− $elm$html$Html$Events$onMouseUp($elm$browser$Debugger$Main$DragEnd)
6452−var $elm$browser$Debugger$Main$toFlexDirection = function (layout) {
6453− if (layout.$ === 'Horizontal') {
6456− return 'column-reverse';
6459−var $elm$browser$Debugger$Main$DragStart = {$: 'DragStart'};
6460−var $elm$html$Html$Events$onMouseDown = function (msg) {
6462− $elm$html$Html$Events$on,
6464− $elm$json$Json$Decode$succeed(msg));
6466−var $elm$browser$Debugger$Main$toPercent = function (fraction) {
6467− return $elm$core$String$fromFloat(100 * fraction) + '%';
6469−var $elm$browser$Debugger$Main$viewDragZone = function (layout) {
6470− if (layout.$ === 'Horizontal') {
6473− $elm$html$Html$div,
6476− A2($elm$html$Html$Attributes$style, 'position', 'absolute'),
6477− A2($elm$html$Html$Attributes$style, 'top', '0'),
6479− $elm$html$Html$Attributes$style,
6481− $elm$browser$Debugger$Main$toPercent(x)),
6482− A2($elm$html$Html$Attributes$style, 'margin-left', '-5px'),
6483− A2($elm$html$Html$Attributes$style, 'width', '10px'),
6484− A2($elm$html$Html$Attributes$style, 'height', '100%'),
6485− A2($elm$html$Html$Attributes$style, 'cursor', 'col-resize'),
6486− $elm$html$Html$Events$onMouseDown($elm$browser$Debugger$Main$DragStart)
6492− $elm$html$Html$div,
6495− A2($elm$html$Html$Attributes$style, 'position', 'absolute'),
6497− $elm$html$Html$Attributes$style,
6499− $elm$browser$Debugger$Main$toPercent(y)),
6500− A2($elm$html$Html$Attributes$style, 'left', '0'),
6501− A2($elm$html$Html$Attributes$style, 'margin-top', '-5px'),
6502− A2($elm$html$Html$Attributes$style, 'width', '100%'),
6503− A2($elm$html$Html$Attributes$style, 'height', '10px'),
6504− A2($elm$html$Html$Attributes$style, 'cursor', 'row-resize'),
6505− $elm$html$Html$Events$onMouseDown($elm$browser$Debugger$Main$DragStart)
6510−var $elm$browser$Debugger$Main$TweakExpandoModel = function (a) {
6511− return {$: 'TweakExpandoModel', a: a};
6513−var $elm$browser$Debugger$Main$TweakExpandoMsg = function (a) {
6514− return {$: 'TweakExpandoMsg', a: a};
6516−var $elm$browser$Debugger$Main$toExpandoPercents = function (layout) {
6517− if (layout.$ === 'Horizontal') {
6519− return _Utils_Tuple2(
6520− $elm$browser$Debugger$Main$toPercent(1 - x),
6524− return _Utils_Tuple2(
6526− $elm$browser$Debugger$Main$toPercent(y));
6529−var $elm$browser$Debugger$Main$toMouseBlocker = function (layout) {
6530− var _v0 = $elm$browser$Debugger$Main$getDragStatus(layout);
6531− if (_v0.$ === 'Static') {
6537−var $elm$browser$Debugger$Expando$Field = F2(
6539− return {$: 'Field', a: a, b: b};
6541−var $elm$browser$Debugger$Expando$Index = F3(
6542− function (a, b, c) {
6543− return {$: 'Index', a: a, b: b, c: c};
6545−var $elm$browser$Debugger$Expando$Key = {$: 'Key'};
6546−var $elm$browser$Debugger$Expando$None = {$: 'None'};
6547−var $elm$browser$Debugger$Expando$Toggle = {$: 'Toggle'};
6548−var $elm$browser$Debugger$Expando$Value = {$: 'Value'};
6549−var $elm$browser$Debugger$Expando$blue = A2($elm$html$Html$Attributes$style, 'color', 'rgb(28, 0, 207)');
6550−var $elm$core$Basics$composeL = F3(
6551− function (g, f, x) {
6555−var $elm$browser$Debugger$Expando$leftPad = function (maybeKey) {
6556− if (maybeKey.$ === 'Nothing') {
6559− return _List_fromArray(
6561− A2($elm$html$Html$Attributes$style, 'padding-left', '4ch')
6565−var $elm$browser$Debugger$Expando$makeArrow = function (arrow) {
6567− $elm$html$Html$span,
6570− A2($elm$html$Html$Attributes$style, 'color', '#777'),
6571− A2($elm$html$Html$Attributes$style, 'padding-left', '2ch'),
6572− A2($elm$html$Html$Attributes$style, 'width', '2ch'),
6573− A2($elm$html$Html$Attributes$style, 'display', 'inline-block')
6577− $elm$html$Html$text(arrow)
6580−var $elm$browser$Debugger$Expando$purple = A2($elm$html$Html$Attributes$style, 'color', 'rgb(136, 19, 145)');
6581−var $elm$browser$Debugger$Expando$lineStarter = F3(
6582− function (maybeKey, maybeIsClosed, description) {
6583− var arrow = function () {
6584− if (maybeIsClosed.$ === 'Nothing') {
6585− return $elm$browser$Debugger$Expando$makeArrow('');
6587− if (maybeIsClosed.a) {
6588− return $elm$browser$Debugger$Expando$makeArrow('▸');
6590− return $elm$browser$Debugger$Expando$makeArrow('▾');
6594− if (maybeKey.$ === 'Nothing') {
6595− return A2($elm$core$List$cons, arrow, description);
6597− var key = maybeKey.a;
6599− $elm$core$List$cons,
6602− $elm$core$List$cons,
6604− $elm$html$Html$span,
6606− [$elm$browser$Debugger$Expando$purple]),
6609− $elm$html$Html$text(key)
6612− $elm$core$List$cons,
6613− $elm$html$Html$text(' = '),
6617−var $elm$browser$Debugger$Expando$red = A2($elm$html$Html$Attributes$style, 'color', 'rgb(196, 26, 22)');
6618−var $elm$core$Tuple$second = function (_v0) {
6622−var $elm$browser$Debugger$Expando$seqTypeToString = F2(
6623− function (n, seqType) {
6624− switch (seqType.$) {
6626− return 'List(' + ($elm$core$String$fromInt(n) + ')');
6628− return 'Set(' + ($elm$core$String$fromInt(n) + ')');
6630− return 'Array(' + ($elm$core$String$fromInt(n) + ')');
6633−var $elm$core$String$slice = _String_slice;
6634−var $elm$core$String$left = F2(
6635− function (n, string) {
6636− return (n < 1) ? '' : A3($elm$core$String$slice, 0, n, string);
6638−var $elm$core$String$right = F2(
6639− function (n, string) {
6640− return (n < 1) ? '' : A3(
6641− $elm$core$String$slice,
6643− $elm$core$String$length(string),
6646−var $elm$browser$Debugger$Expando$elideMiddle = function (str) {
6647− return ($elm$core$String$length(str) <= 18) ? str : (A2($elm$core$String$left, 8, str) + ('...' + A2($elm$core$String$right, 8, str)));
6649−var $elm$core$Dict$isEmpty = function (dict) {
6650− if (dict.$ === 'RBEmpty_elm_builtin') {
6656−var $elm$browser$Debugger$Expando$viewExtraTinyRecord = F3(
6657− function (length, starter, entries) {
6659− return _Utils_Tuple2(
6663− $elm$html$Html$text('}')
6666− var field = entries.a;
6667− var rest = entries.b;
6668− var nextLength = (length + $elm$core$String$length(field)) + 1;
6669− if (nextLength > 18) {
6670− return _Utils_Tuple2(
6674− $elm$html$Html$text('…}')
6677− var _v1 = A3($elm$browser$Debugger$Expando$viewExtraTinyRecord, nextLength, ',', rest);
6678− var finalLength = _v1.a;
6679− var otherHtmls = _v1.b;
6680− return _Utils_Tuple2(
6683− $elm$core$List$cons,
6684− $elm$html$Html$text(starter),
6686− $elm$core$List$cons,
6688− $elm$html$Html$span,
6690− [$elm$browser$Debugger$Expando$purple]),
6693− $elm$html$Html$text(field)
6699−var $elm$browser$Debugger$Expando$viewTinyHelp = function (str) {
6700− return _Utils_Tuple2(
6701− $elm$core$String$length(str),
6704− $elm$html$Html$text(str)
6707−var $elm$core$Maybe$withDefault = F2(
6708− function (_default, maybe) {
6709− if (maybe.$ === 'Just') {
6710− var value = maybe.a;
6716−var $elm$browser$Debugger$Expando$viewExtraTiny = function (value) {
6717− if (value.$ === 'Record') {
6718− var record = value.b;
6720− $elm$browser$Debugger$Expando$viewExtraTinyRecord,
6723− $elm$core$Dict$keys(record));
6725− return $elm$browser$Debugger$Expando$viewTiny(value);
6728−var $elm$browser$Debugger$Expando$viewTiny = function (value) {
6731− var stringRep = value.a;
6732− var str = $elm$browser$Debugger$Expando$elideMiddle(stringRep);
6733− return _Utils_Tuple2(
6734− $elm$core$String$length(str),
6738− $elm$html$Html$span,
6740− [$elm$browser$Debugger$Expando$red]),
6743− $elm$html$Html$text(str)
6747− var stringRep = value.a;
6748− return _Utils_Tuple2(
6749− $elm$core$String$length(stringRep),
6753− $elm$html$Html$span,
6755− [$elm$browser$Debugger$Expando$blue]),
6758− $elm$html$Html$text(stringRep)
6762− var seqType = value.a;
6763− var valueList = value.c;
6764− return $elm$browser$Debugger$Expando$viewTinyHelp(
6766− $elm$browser$Debugger$Expando$seqTypeToString,
6767− $elm$core$List$length(valueList),
6770− var keyValuePairs = value.b;
6771− return $elm$browser$Debugger$Expando$viewTinyHelp(
6772− 'Dict(' + ($elm$core$String$fromInt(
6773− $elm$core$List$length(keyValuePairs)) + ')'));
6775− var record = value.b;
6776− return $elm$browser$Debugger$Expando$viewTinyRecord(record);
6779− var maybeName = value.a;
6780− return $elm$browser$Debugger$Expando$viewTinyHelp(
6781− A2($elm$core$Maybe$withDefault, 'Unit', maybeName));
6783− var maybeName = value.a;
6784− var valueList = value.c;
6785− return $elm$browser$Debugger$Expando$viewTinyHelp(
6787− if (maybeName.$ === 'Nothing') {
6788− return 'Tuple(' + ($elm$core$String$fromInt(
6789− $elm$core$List$length(valueList)) + ')');
6791− var name = maybeName.a;
6792− return name + ' …';
6798−var $elm$browser$Debugger$Expando$viewTinyRecord = function (record) {
6799− return $elm$core$Dict$isEmpty(record) ? _Utils_Tuple2(
6803− $elm$html$Html$text('{}')
6805− $elm$browser$Debugger$Expando$viewTinyRecordHelp,
6808− $elm$core$Dict$toList(record));
6810−var $elm$browser$Debugger$Expando$viewTinyRecordHelp = F3(
6811− function (length, starter, entries) {
6813− return _Utils_Tuple2(
6817− $elm$html$Html$text(' }')
6820− var _v1 = entries.a;
6823− var rest = entries.b;
6824− var fieldLen = $elm$core$String$length(field);
6825− var _v2 = $elm$browser$Debugger$Expando$viewExtraTiny(value);
6826− var valueLen = _v2.a;
6827− var valueHtmls = _v2.b;
6828− var newLength = ((length + fieldLen) + valueLen) + 5;
6829− if (newLength > 60) {
6830− return _Utils_Tuple2(
6834− $elm$html$Html$text(', … }')
6837− var _v3 = A3($elm$browser$Debugger$Expando$viewTinyRecordHelp, newLength, ', ', rest);
6838− var finalLength = _v3.a;
6839− var otherHtmls = _v3.b;
6840− return _Utils_Tuple2(
6843− $elm$core$List$cons,
6844− $elm$html$Html$text(starter),
6846− $elm$core$List$cons,
6848− $elm$html$Html$span,
6850− [$elm$browser$Debugger$Expando$purple]),
6853− $elm$html$Html$text(field)
6856− $elm$core$List$cons,
6857− $elm$html$Html$text(' = '),
6859− $elm$core$List$cons,
6860− A2($elm$html$Html$span, _List_Nil, valueHtmls),
6865−var $elm$browser$Debugger$Expando$view = F2(
6866− function (maybeKey, expando) {
6867− switch (expando.$) {
6869− var stringRep = expando.a;
6871− $elm$html$Html$div,
6872− $elm$browser$Debugger$Expando$leftPad(maybeKey),
6874− $elm$browser$Debugger$Expando$lineStarter,
6876− $elm$core$Maybe$Nothing,
6880− $elm$html$Html$span,
6882− [$elm$browser$Debugger$Expando$red]),
6885− $elm$html$Html$text(stringRep)
6889− var stringRep = expando.a;
6891− $elm$html$Html$div,
6892− $elm$browser$Debugger$Expando$leftPad(maybeKey),
6894− $elm$browser$Debugger$Expando$lineStarter,
6896− $elm$core$Maybe$Nothing,
6900− $elm$html$Html$span,
6902− [$elm$browser$Debugger$Expando$blue]),
6905− $elm$html$Html$text(stringRep)
6909− var seqType = expando.a;
6910− var isClosed = expando.b;
6911− var valueList = expando.c;
6912− return A4($elm$browser$Debugger$Expando$viewSequence, maybeKey, seqType, isClosed, valueList);
6914− var isClosed = expando.a;
6915− var keyValuePairs = expando.b;
6916− return A3($elm$browser$Debugger$Expando$viewDictionary, maybeKey, isClosed, keyValuePairs);
6918− var isClosed = expando.a;
6919− var valueDict = expando.b;
6920− return A3($elm$browser$Debugger$Expando$viewRecord, maybeKey, isClosed, valueDict);
6922− var maybeName = expando.a;
6923− var isClosed = expando.b;
6924− var valueList = expando.c;
6925− return A4($elm$browser$Debugger$Expando$viewConstructor, maybeKey, maybeName, isClosed, valueList);
6928−var $elm$browser$Debugger$Expando$viewConstructor = F4(
6929− function (maybeKey, maybeName, isClosed, valueList) {
6931− $elm$core$List$map,
6932− A2($elm$core$Basics$composeL, $elm$core$Tuple$second, $elm$browser$Debugger$Expando$viewExtraTiny),
6934− var description = function () {
6935− var _v7 = _Utils_Tuple2(maybeName, tinyArgs);
6936− if (_v7.a.$ === 'Nothing') {
6939− return _List_fromArray(
6941− $elm$html$Html$text('()')
6949− $elm$core$List$cons,
6950− $elm$html$Html$text('( '),
6952− $elm$core$List$cons,
6953− A2($elm$html$Html$span, _List_Nil, x),
6955− $elm$core$List$foldr,
6957− function (args, rest) {
6959− $elm$core$List$cons,
6960− $elm$html$Html$text(', '),
6962− $elm$core$List$cons,
6963− A2($elm$html$Html$span, _List_Nil, args),
6968− $elm$html$Html$text(' )')
6974− var name = _v7.a.a;
6975− return _List_fromArray(
6977− $elm$html$Html$text(name)
6980− var name = _v7.a.a;
6985− $elm$core$List$cons,
6986− $elm$html$Html$text(name + ' '),
6988− $elm$core$List$cons,
6989− A2($elm$html$Html$span, _List_Nil, x),
6991− $elm$core$List$foldr,
6993− function (args, rest) {
6995− $elm$core$List$cons,
6996− $elm$html$Html$text(' '),
6998− $elm$core$List$cons,
6999− A2($elm$html$Html$span, _List_Nil, args),
7007− var _v4 = function () {
7008− if (!valueList.b) {
7009− return _Utils_Tuple2(
7010− $elm$core$Maybe$Nothing,
7011− A2($elm$html$Html$div, _List_Nil, _List_Nil));
7013− if (!valueList.b.b) {
7014− var entry = valueList.a;
7017− return _Utils_Tuple2(
7018− $elm$core$Maybe$Nothing,
7019− A2($elm$html$Html$div, _List_Nil, _List_Nil));
7021− return _Utils_Tuple2(
7022− $elm$core$Maybe$Nothing,
7023− A2($elm$html$Html$div, _List_Nil, _List_Nil));
7025− var subValueList = entry.c;
7026− return _Utils_Tuple2(
7027− $elm$core$Maybe$Just(isClosed),
7028− isClosed ? A2($elm$html$Html$div, _List_Nil, _List_Nil) : A2(
7029− $elm$html$Html$map,
7030− A2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$None, 0),
7031− $elm$browser$Debugger$Expando$viewSequenceOpen(subValueList)));
7033− var keyValuePairs = entry.b;
7034− return _Utils_Tuple2(
7035− $elm$core$Maybe$Just(isClosed),
7036− isClosed ? A2($elm$html$Html$div, _List_Nil, _List_Nil) : A2(
7037− $elm$html$Html$map,
7038− A2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$None, 0),
7039− $elm$browser$Debugger$Expando$viewDictionaryOpen(keyValuePairs)));
7041− var record = entry.b;
7042− return _Utils_Tuple2(
7043− $elm$core$Maybe$Just(isClosed),
7044− isClosed ? A2($elm$html$Html$div, _List_Nil, _List_Nil) : A2(
7045− $elm$html$Html$map,
7046− A2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$None, 0),
7047− $elm$browser$Debugger$Expando$viewRecordOpen(record)));
7049− var subValueList = entry.c;
7050− return _Utils_Tuple2(
7051− $elm$core$Maybe$Just(isClosed),
7052− isClosed ? A2($elm$html$Html$div, _List_Nil, _List_Nil) : A2(
7053− $elm$html$Html$map,
7054− A2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$None, 0),
7055− $elm$browser$Debugger$Expando$viewConstructorOpen(subValueList)));
7058− return _Utils_Tuple2(
7059− $elm$core$Maybe$Just(isClosed),
7060− isClosed ? A2($elm$html$Html$div, _List_Nil, _List_Nil) : $elm$browser$Debugger$Expando$viewConstructorOpen(valueList));
7064− var maybeIsClosed = _v4.a;
7065− var openHtml = _v4.b;
7067− $elm$html$Html$div,
7068− $elm$browser$Debugger$Expando$leftPad(maybeKey),
7072− $elm$html$Html$div,
7075− $elm$html$Html$Events$onClick($elm$browser$Debugger$Expando$Toggle)
7077− A3($elm$browser$Debugger$Expando$lineStarter, maybeKey, maybeIsClosed, description)),
7081−var $elm$browser$Debugger$Expando$viewConstructorEntry = F2(
7082− function (index, value) {
7084− $elm$html$Html$map,
7085− A2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$None, index),
7087− $elm$browser$Debugger$Expando$view,
7088− $elm$core$Maybe$Just(
7089− $elm$core$String$fromInt(index)),
7092−var $elm$browser$Debugger$Expando$viewConstructorOpen = function (valueList) {
7094− $elm$html$Html$div,
7096− A2($elm$core$List$indexedMap, $elm$browser$Debugger$Expando$viewConstructorEntry, valueList));
7098−var $elm$browser$Debugger$Expando$viewDictionary = F3(
7099− function (maybeKey, isClosed, keyValuePairs) {
7100− var starter = 'Dict(' + ($elm$core$String$fromInt(
7101− $elm$core$List$length(keyValuePairs)) + ')');
7103− $elm$html$Html$div,
7104− $elm$browser$Debugger$Expando$leftPad(maybeKey),
7108− $elm$html$Html$div,
7111− $elm$html$Html$Events$onClick($elm$browser$Debugger$Expando$Toggle)
7114− $elm$browser$Debugger$Expando$lineStarter,
7116− $elm$core$Maybe$Just(isClosed),
7119− $elm$html$Html$text(starter)
7121− isClosed ? $elm$html$Html$text('') : $elm$browser$Debugger$Expando$viewDictionaryOpen(keyValuePairs)
7124−var $elm$browser$Debugger$Expando$viewDictionaryEntry = F2(
7125− function (index, _v2) {
7130− var stringRep = key.a;
7132− $elm$html$Html$map,
7133− A2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$Value, index),
7135− $elm$browser$Debugger$Expando$view,
7136− $elm$core$Maybe$Just(stringRep),
7139− var stringRep = key.a;
7141− $elm$html$Html$map,
7142− A2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$Value, index),
7144− $elm$browser$Debugger$Expando$view,
7145− $elm$core$Maybe$Just(stringRep),
7149− $elm$html$Html$div,
7154− $elm$html$Html$map,
7155− A2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$Key, index),
7157− $elm$browser$Debugger$Expando$view,
7158− $elm$core$Maybe$Just('key'),
7161− $elm$html$Html$map,
7162− A2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$Value, index),
7164− $elm$browser$Debugger$Expando$view,
7165− $elm$core$Maybe$Just('value'),
7170−var $elm$browser$Debugger$Expando$viewDictionaryOpen = function (keyValuePairs) {
7172− $elm$html$Html$div,
7174− A2($elm$core$List$indexedMap, $elm$browser$Debugger$Expando$viewDictionaryEntry, keyValuePairs));
7176−var $elm$browser$Debugger$Expando$viewRecord = F3(
7177− function (maybeKey, isClosed, record) {
7178− var _v1 = isClosed ? _Utils_Tuple3(
7179− $elm$browser$Debugger$Expando$viewTinyRecord(record).b,
7180− $elm$html$Html$text(''),
7181− $elm$html$Html$text('')) : _Utils_Tuple3(
7184− $elm$html$Html$text('{')
7186− $elm$browser$Debugger$Expando$viewRecordOpen(record),
7188− $elm$html$Html$div,
7189− $elm$browser$Debugger$Expando$leftPad(
7190− $elm$core$Maybe$Just(_Utils_Tuple0)),
7193− $elm$html$Html$text('}')
7196− var middle = _v1.b;
7199− $elm$html$Html$div,
7200− $elm$browser$Debugger$Expando$leftPad(maybeKey),
7204− $elm$html$Html$div,
7207− $elm$html$Html$Events$onClick($elm$browser$Debugger$Expando$Toggle)
7210− $elm$browser$Debugger$Expando$lineStarter,
7212− $elm$core$Maybe$Just(isClosed),
7218−var $elm$browser$Debugger$Expando$viewRecordEntry = function (_v0) {
7222− $elm$html$Html$map,
7223− $elm$browser$Debugger$Expando$Field(field),
7225− $elm$browser$Debugger$Expando$view,
7226− $elm$core$Maybe$Just(field),
7229−var $elm$browser$Debugger$Expando$viewRecordOpen = function (record) {
7231− $elm$html$Html$div,
7234− $elm$core$List$map,
7235− $elm$browser$Debugger$Expando$viewRecordEntry,
7236− $elm$core$Dict$toList(record)));
7238−var $elm$browser$Debugger$Expando$viewSequence = F4(
7239− function (maybeKey, seqType, isClosed, valueList) {
7241− $elm$browser$Debugger$Expando$seqTypeToString,
7242− $elm$core$List$length(valueList),
7245− $elm$html$Html$div,
7246− $elm$browser$Debugger$Expando$leftPad(maybeKey),
7250− $elm$html$Html$div,
7253− $elm$html$Html$Events$onClick($elm$browser$Debugger$Expando$Toggle)
7256− $elm$browser$Debugger$Expando$lineStarter,
7258− $elm$core$Maybe$Just(isClosed),
7261− $elm$html$Html$text(starter)
7263− isClosed ? $elm$html$Html$text('') : $elm$browser$Debugger$Expando$viewSequenceOpen(valueList)
7266−var $elm$browser$Debugger$Expando$viewSequenceOpen = function (values) {
7268− $elm$html$Html$div,
7270− A2($elm$core$List$indexedMap, $elm$browser$Debugger$Expando$viewConstructorEntry, values));
7272−var $elm$browser$Debugger$Main$viewExpando = F3(
7273− function (expandoMsg, expandoModel, layout) {
7274− var block = $elm$browser$Debugger$Main$toMouseBlocker(layout);
7275− var _v0 = $elm$browser$Debugger$Main$toExpandoPercents(layout);
7279− $elm$html$Html$div,
7282− A2($elm$html$Html$Attributes$style, 'display', 'block'),
7283− A2($elm$html$Html$Attributes$style, 'width', 'calc(' + (w + ' - 4em)')),
7284− A2($elm$html$Html$Attributes$style, 'height', 'calc(' + (h + ' - 4em)')),
7285− A2($elm$html$Html$Attributes$style, 'padding', '2em'),
7286− A2($elm$html$Html$Attributes$style, 'margin', '0'),
7287− A2($elm$html$Html$Attributes$style, 'overflow', 'auto'),
7288− A2($elm$html$Html$Attributes$style, 'pointer-events', block),
7289− A2($elm$html$Html$Attributes$style, '-webkit-user-select', block),
7290− A2($elm$html$Html$Attributes$style, '-moz-user-select', block),
7291− A2($elm$html$Html$Attributes$style, '-ms-user-select', block),
7292− A2($elm$html$Html$Attributes$style, 'user-select', block)
7297− $elm$html$Html$div,
7300− A2($elm$html$Html$Attributes$style, 'color', '#ccc'),
7301− A2($elm$html$Html$Attributes$style, 'padding', '0 0 1em 0')
7305− $elm$html$Html$text('-- MESSAGE')
7308− $elm$html$Html$map,
7309− $elm$browser$Debugger$Main$TweakExpandoMsg,
7310− A2($elm$browser$Debugger$Expando$view, $elm$core$Maybe$Nothing, expandoMsg)),
7312− $elm$html$Html$div,
7315− A2($elm$html$Html$Attributes$style, 'color', '#ccc'),
7316− A2($elm$html$Html$Attributes$style, 'padding', '1em 0')
7320− $elm$html$Html$text('-- MODEL')
7323− $elm$html$Html$map,
7324− $elm$browser$Debugger$Main$TweakExpandoModel,
7325− A2($elm$browser$Debugger$Expando$view, $elm$core$Maybe$Nothing, expandoModel))
7328−var $elm$browser$Debugger$Main$Jump = function (a) {
7329− return {$: 'Jump', a: a};
7331−var $elm$virtual_dom$VirtualDom$lazy = _VirtualDom_lazy;
7332−var $elm$html$Html$Lazy$lazy = $elm$virtual_dom$VirtualDom$lazy;
7333−var $elm$browser$Debugger$Main$toHistoryPercents = function (layout) {
7334− if (layout.$ === 'Horizontal') {
7336− return _Utils_Tuple2(
7337− $elm$browser$Debugger$Main$toPercent(x),
7341− return _Utils_Tuple2(
7343− $elm$browser$Debugger$Main$toPercent(1 - y));
7346−var $elm$virtual_dom$VirtualDom$lazy3 = _VirtualDom_lazy3;
7347−var $elm$html$Html$Lazy$lazy3 = $elm$virtual_dom$VirtualDom$lazy3;
7348−var $elm$html$Html$Attributes$class = $elm$html$Html$Attributes$stringProperty('className');
7349−var $elm$browser$Debugger$History$idForMessageIndex = function (index) {
7350− return 'msg-' + $elm$core$String$fromInt(index);
7352−var $elm$html$Html$Attributes$title = $elm$html$Html$Attributes$stringProperty('title');
7353−var $elm$browser$Debugger$History$viewMessage = F3(
7354− function (currentIndex, index, msg) {
7355− var messageName = _Debugger_messageToString(msg);
7356− var className = _Utils_eq(currentIndex, index) ? 'elm-debugger-entry elm-debugger-entry-selected' : 'elm-debugger-entry';
7358− $elm$html$Html$div,
7361− $elm$html$Html$Attributes$id(
7362− $elm$browser$Debugger$History$idForMessageIndex(index)),
7363− $elm$html$Html$Attributes$class(className),
7364− $elm$html$Html$Events$onClick(index)
7369− $elm$html$Html$span,
7372− $elm$html$Html$Attributes$title(messageName),
7373− $elm$html$Html$Attributes$class('elm-debugger-entry-content')
7377− $elm$html$Html$text(messageName)
7380− $elm$html$Html$span,
7383− $elm$html$Html$Attributes$class('elm-debugger-entry-index')
7387− $elm$html$Html$text(
7388− $elm$core$String$fromInt(index))
7392−var $elm$browser$Debugger$History$consMsg = F3(
7393− function (currentIndex, msg, _v0) {
7396− return _Utils_Tuple2(
7399− $elm$core$List$cons,
7401− $elm$core$String$fromInt(index),
7402− A4($elm$html$Html$Lazy$lazy3, $elm$browser$Debugger$History$viewMessage, currentIndex, index, msg)),
7405−var $elm$core$Array$length = function (_v0) {
7409−var $elm$core$Basics$neq = _Utils_notEqual;
7410−var $elm$virtual_dom$VirtualDom$keyedNode = function (tag) {
7411− return _VirtualDom_keyedNode(
7412− _VirtualDom_noScript(tag));
7414−var $elm$html$Html$Keyed$node = $elm$virtual_dom$VirtualDom$keyedNode;
7415−var $elm$browser$Debugger$History$maxSnapshotSize = 31;
7416−var $elm$browser$Debugger$History$showMoreButton = function (numMessages) {
7417− var nextIndex = (numMessages - 1) - ($elm$browser$Debugger$History$maxSnapshotSize * 2);
7418− var labelText = 'View more messages';
7420− $elm$html$Html$div,
7423− $elm$html$Html$Attributes$class('elm-debugger-entry'),
7424− $elm$html$Html$Events$onClick(nextIndex)
7429− $elm$html$Html$span,
7432− $elm$html$Html$Attributes$title(labelText),
7433− $elm$html$Html$Attributes$class('elm-debugger-entry-content')
7437− $elm$html$Html$text(labelText)
7440− $elm$html$Html$span,
7443− $elm$html$Html$Attributes$class('elm-debugger-entry-index')
7448−var $elm$browser$Debugger$History$styles = A3(
7449− $elm$html$Html$node,
7454− $elm$html$Html$text('\n\n.elm-debugger-entry {\n cursor: pointer;\n width: 100%;\n box-sizing: border-box;\n padding: 8px;\n}\n\n.elm-debugger-entry:hover {\n background-color: rgb(41, 41, 41);\n}\n\n.elm-debugger-entry-selected, .elm-debugger-entry-selected:hover {\n background-color: rgb(10, 10, 10);\n}\n\n.elm-debugger-entry-content {\n width: calc(100% - 40px);\n padding: 0 5px;\n box-sizing: border-box;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n display: inline-block;\n}\n\n.elm-debugger-entry-index {\n color: #666;\n width: 40px;\n text-align: right;\n display: block;\n float: right;\n}\n\n')
7456−var $elm$core$Basics$ge = _Utils_ge;
7457−var $elm$browser$Debugger$History$viewSnapshot = F3(
7458− function (selectedIndex, index, _v0) {
7459− var messages = _v0.messages;
7461− $elm$html$Html$Keyed$node,
7465− $elm$core$Array$foldr,
7466− $elm$browser$Debugger$History$consMsg(selectedIndex),
7467− _Utils_Tuple2(index, _List_Nil),
7470−var $elm$browser$Debugger$History$consSnapshot = F3(
7471− function (selectedIndex, snapshot, _v0) {
7474− var nextIndex = index + $elm$core$Array$length(snapshot.messages);
7475− var selectedIndexHelp = ((_Utils_cmp(nextIndex, selectedIndex) > 0) && (_Utils_cmp(selectedIndex, index) > -1)) ? selectedIndex : (-1);
7476− return _Utils_Tuple2(
7479− $elm$core$List$cons,
7480− A4($elm$html$Html$Lazy$lazy3, $elm$browser$Debugger$History$viewSnapshot, selectedIndexHelp, index, snapshot),
7483−var $elm$core$Elm$JsArray$foldl = _JsArray_foldl;
7484−var $elm$core$Array$foldl = F3(
7485− function (func, baseCase, _v0) {
7489− function (node, acc) {
7490− if (node.$ === 'SubTree') {
7491− var subTree = node.a;
7492− return A3($elm$core$Elm$JsArray$foldl, helper, acc, subTree);
7494− var values = node.a;
7495− return A3($elm$core$Elm$JsArray$foldl, func, acc, values);
7499− $elm$core$Elm$JsArray$foldl,
7501− A3($elm$core$Elm$JsArray$foldl, helper, baseCase, tree),
7504−var $elm$browser$Debugger$History$viewAllSnapshots = F3(
7505− function (selectedIndex, startIndex, snapshots) {
7507− $elm$html$Html$div,
7510− $elm$core$Array$foldl,
7511− $elm$browser$Debugger$History$consSnapshot(selectedIndex),
7512− _Utils_Tuple2(startIndex, _List_Nil),
7515−var $elm$core$Array$fromListHelp = F3(
7516− function (list, nodeList, nodeListSize) {
7519− var _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, list);
7520− var jsArray = _v0.a;
7521− var remainingItems = _v0.b;
7523− $elm$core$Elm$JsArray$length(jsArray),
7524− $elm$core$Array$branchFactor) < 0) {
7526− $elm$core$Array$builderToArray,
7528− {nodeList: nodeList, nodeListSize: nodeListSize, tail: jsArray});
7530− var $temp$list = remainingItems,
7531− $temp$nodeList = A2(
7532− $elm$core$List$cons,
7533− $elm$core$Array$Leaf(jsArray),
7535− $temp$nodeListSize = nodeListSize + 1;
7537− nodeList = $temp$nodeList;
7538− nodeListSize = $temp$nodeListSize;
7539− continue fromListHelp;
7543−var $elm$core$Array$fromList = function (list) {
7545− return $elm$core$Array$empty;
7547− return A3($elm$core$Array$fromListHelp, list, _List_Nil, 0);
7550−var $elm$core$Bitwise$and = _Bitwise_and;
7551−var $elm$core$Bitwise$shiftRightZfBy = _Bitwise_shiftRightZfBy;
7552−var $elm$core$Array$bitMask = 4294967295 >>> (32 - $elm$core$Array$shiftStep);
7553−var $elm$core$Elm$JsArray$unsafeGet = _JsArray_unsafeGet;
7554−var $elm$core$Array$getHelp = F3(
7555− function (shift, index, tree) {
7558− var pos = $elm$core$Array$bitMask & (index >>> shift);
7559− var _v0 = A2($elm$core$Elm$JsArray$unsafeGet, pos, tree);
7560− if (_v0.$ === 'SubTree') {
7561− var subTree = _v0.a;
7562− var $temp$shift = shift - $elm$core$Array$shiftStep,
7563− $temp$index = index,
7564− $temp$tree = subTree;
7565− shift = $temp$shift;
7566− index = $temp$index;
7570− var values = _v0.a;
7571− return A2($elm$core$Elm$JsArray$unsafeGet, $elm$core$Array$bitMask & index, values);
7575−var $elm$core$Bitwise$shiftLeftBy = _Bitwise_shiftLeftBy;
7576−var $elm$core$Array$tailIndex = function (len) {
7577− return (len >>> 5) << 5;
7579−var $elm$core$Array$get = F2(
7580− function (index, _v0) {
7582− var startShift = _v0.b;
7585− return ((index < 0) || (_Utils_cmp(index, len) > -1)) ? $elm$core$Maybe$Nothing : ((_Utils_cmp(
7587− $elm$core$Array$tailIndex(len)) > -1) ? $elm$core$Maybe$Just(
7588− A2($elm$core$Elm$JsArray$unsafeGet, $elm$core$Array$bitMask & index, tail)) : $elm$core$Maybe$Just(
7589− A3($elm$core$Array$getHelp, startShift, index, tree)));
7591−var $elm$core$Elm$JsArray$appendN = _JsArray_appendN;
7592−var $elm$core$Elm$JsArray$slice = _JsArray_slice;
7593−var $elm$core$Array$appendHelpBuilder = F2(
7594− function (tail, builder) {
7595− var tailLen = $elm$core$Elm$JsArray$length(tail);
7596− var notAppended = ($elm$core$Array$branchFactor - $elm$core$Elm$JsArray$length(builder.tail)) - tailLen;
7597− var appended = A3($elm$core$Elm$JsArray$appendN, $elm$core$Array$branchFactor, builder.tail, tail);
7598− return (notAppended < 0) ? {
7600− $elm$core$List$cons,
7601− $elm$core$Array$Leaf(appended),
7603− nodeListSize: builder.nodeListSize + 1,
7604− tail: A3($elm$core$Elm$JsArray$slice, notAppended, tailLen, tail)
7605− } : ((!notAppended) ? {
7607− $elm$core$List$cons,
7608− $elm$core$Array$Leaf(appended),
7610− nodeListSize: builder.nodeListSize + 1,
7611− tail: $elm$core$Elm$JsArray$empty
7612− } : {nodeList: builder.nodeList, nodeListSize: builder.nodeListSize, tail: appended});
7614−var $elm$core$List$drop = F2(
7615− function (n, list) {
7626− var $temp$n = n - 1,
7635−var $elm$core$Array$sliceLeft = F2(
7636− function (from, array) {
7638− var tree = array.c;
7639− var tail = array.d;
7645− $elm$core$Array$tailIndex(len)) > -1) {
7647− $elm$core$Array$Array_elm_builtin,
7649− $elm$core$Array$shiftStep,
7650− $elm$core$Elm$JsArray$empty,
7652− $elm$core$Elm$JsArray$slice,
7653− from - $elm$core$Array$tailIndex(len),
7654− $elm$core$Elm$JsArray$length(tail),
7657− var skipNodes = (from / $elm$core$Array$branchFactor) | 0;
7659− function (node, acc) {
7660− if (node.$ === 'SubTree') {
7661− var subTree = node.a;
7662− return A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree);
7665− return A2($elm$core$List$cons, leaf, acc);
7668− var leafNodes = A3(
7669− $elm$core$Elm$JsArray$foldr,
7674− var nodesToInsert = A2($elm$core$List$drop, skipNodes, leafNodes);
7675− if (!nodesToInsert.b) {
7676− return $elm$core$Array$empty;
7678− var head = nodesToInsert.a;
7679− var rest = nodesToInsert.b;
7680− var firstSlice = from - (skipNodes * $elm$core$Array$branchFactor);
7681− var initialBuilder = {
7682− nodeList: _List_Nil,
7685− $elm$core$Elm$JsArray$slice,
7687− $elm$core$Elm$JsArray$length(head),
7691− $elm$core$Array$builderToArray,
7693− A3($elm$core$List$foldl, $elm$core$Array$appendHelpBuilder, initialBuilder, rest));
7698−var $elm$core$Array$fetchNewTail = F4(
7699− function (shift, end, treeEnd, tree) {
7702− var pos = $elm$core$Array$bitMask & (treeEnd >>> shift);
7703− var _v0 = A2($elm$core$Elm$JsArray$unsafeGet, pos, tree);
7704− if (_v0.$ === 'SubTree') {
7706− var $temp$shift = shift - $elm$core$Array$shiftStep,
7708− $temp$treeEnd = treeEnd,
7710− shift = $temp$shift;
7712− treeEnd = $temp$treeEnd;
7714− continue fetchNewTail;
7716− var values = _v0.a;
7717− return A3($elm$core$Elm$JsArray$slice, 0, $elm$core$Array$bitMask & end, values);
7721−var $elm$core$Array$hoistTree = F3(
7722− function (oldShift, newShift, tree) {
7725− if ((_Utils_cmp(oldShift, newShift) < 1) || (!$elm$core$Elm$JsArray$length(tree))) {
7728− var _v0 = A2($elm$core$Elm$JsArray$unsafeGet, 0, tree);
7729− if (_v0.$ === 'SubTree') {
7731− var $temp$oldShift = oldShift - $elm$core$Array$shiftStep,
7732− $temp$newShift = newShift,
7734− oldShift = $temp$oldShift;
7735− newShift = $temp$newShift;
7737− continue hoistTree;
7744−var $elm$core$Elm$JsArray$unsafeSet = _JsArray_unsafeSet;
7745−var $elm$core$Array$sliceTree = F3(
7746− function (shift, endIdx, tree) {
7747− var lastPos = $elm$core$Array$bitMask & (endIdx >>> shift);
7748− var _v0 = A2($elm$core$Elm$JsArray$unsafeGet, lastPos, tree);
7749− if (_v0.$ === 'SubTree') {
7751− var newSub = A3($elm$core$Array$sliceTree, shift - $elm$core$Array$shiftStep, endIdx, sub);
7752− return (!$elm$core$Elm$JsArray$length(newSub)) ? A3($elm$core$Elm$JsArray$slice, 0, lastPos, tree) : A3(
7753− $elm$core$Elm$JsArray$unsafeSet,
7755− $elm$core$Array$SubTree(newSub),
7756− A3($elm$core$Elm$JsArray$slice, 0, lastPos + 1, tree));
7758− return A3($elm$core$Elm$JsArray$slice, 0, lastPos, tree);
7761−var $elm$core$Array$sliceRight = F2(
7762− function (end, array) {
7764− var startShift = array.b;
7765− var tree = array.c;
7766− var tail = array.d;
7767− if (_Utils_eq(end, len)) {
7772− $elm$core$Array$tailIndex(len)) > -1) {
7774− $elm$core$Array$Array_elm_builtin,
7778− A3($elm$core$Elm$JsArray$slice, 0, $elm$core$Array$bitMask & end, tail));
7780− var endIdx = $elm$core$Array$tailIndex(end);
7781− var depth = $elm$core$Basics$floor(
7783− $elm$core$Basics$logBase,
7784− $elm$core$Array$branchFactor,
7785− A2($elm$core$Basics$max, 1, endIdx - 1)));
7786− var newShift = A2($elm$core$Basics$max, 5, depth * $elm$core$Array$shiftStep);
7788− $elm$core$Array$Array_elm_builtin,
7792− $elm$core$Array$hoistTree,
7795− A3($elm$core$Array$sliceTree, startShift, endIdx, tree)),
7796− A4($elm$core$Array$fetchNewTail, startShift, end, endIdx, tree));
7800−var $elm$core$Array$translateIndex = F2(
7801− function (index, _v0) {
7803− var posIndex = (index < 0) ? (len + index) : index;
7804− return (posIndex < 0) ? 0 : ((_Utils_cmp(posIndex, len) > 0) ? len : posIndex);
7806−var $elm$core$Array$slice = F3(
7807− function (from, to, array) {
7808− var correctTo = A2($elm$core$Array$translateIndex, to, array);
7809− var correctFrom = A2($elm$core$Array$translateIndex, from, array);
7810− return (_Utils_cmp(correctFrom, correctTo) > 0) ? $elm$core$Array$empty : A2(
7811− $elm$core$Array$sliceLeft,
7813− A2($elm$core$Array$sliceRight, correctTo, array));
7815−var $elm$browser$Debugger$History$viewRecentSnapshots = F3(
7816− function (selectedIndex, recentMessagesNum, snapshots) {
7817− var messagesToFill = $elm$browser$Debugger$History$maxSnapshotSize - recentMessagesNum;
7818− var arrayLength = $elm$core$Array$length(snapshots);
7819− var snapshotsToRender = function () {
7820− var _v0 = _Utils_Tuple2(
7821− A2($elm$core$Array$get, arrayLength - 2, snapshots),
7822− A2($elm$core$Array$get, arrayLength - 1, snapshots));
7823− if ((_v0.a.$ === 'Just') && (_v0.b.$ === 'Just')) {
7824− var fillerSnapshot = _v0.a.a;
7825− var recentSnapshot = _v0.b.a;
7826− return $elm$core$Array$fromList(
7830− messages: A3($elm$core$Array$slice, 0, messagesToFill, fillerSnapshot.messages),
7831− model: fillerSnapshot.model
7839− var startingIndex = ((arrayLength * $elm$browser$Debugger$History$maxSnapshotSize) - $elm$browser$Debugger$History$maxSnapshotSize) - messagesToFill;
7840− return A3($elm$browser$Debugger$History$viewAllSnapshots, selectedIndex, startingIndex, snapshotsToRender);
7842−var $elm$browser$Debugger$History$view = F2(
7843− function (maybeIndex, _v0) {
7844− var snapshots = _v0.snapshots;
7845− var recent = _v0.recent;
7846− var numMessages = _v0.numMessages;
7847− var recentMessageStartIndex = numMessages - recent.numMessages;
7848− var index = A2($elm$core$Maybe$withDefault, -1, maybeIndex);
7850− $elm$html$Html$Keyed$node,
7854− $elm$core$List$foldr,
7855− $elm$browser$Debugger$History$consMsg(index),
7856− _Utils_Tuple2(recentMessageStartIndex, _List_Nil),
7857− recent.messages).b);
7858− var onlyRenderRecentMessages = (!_Utils_eq(index, -1)) || ($elm$core$Array$length(snapshots) < 2);
7859− var oldStuff = onlyRenderRecentMessages ? A4($elm$html$Html$Lazy$lazy3, $elm$browser$Debugger$History$viewAllSnapshots, index, 0, snapshots) : A4($elm$html$Html$Lazy$lazy3, $elm$browser$Debugger$History$viewRecentSnapshots, index, recent.numMessages, snapshots);
7861− $elm$html$Html$div,
7864− $elm$html$Html$Attributes$id('elm-debugger-sidebar'),
7865− A2($elm$html$Html$Attributes$style, 'width', '100%'),
7866− A2($elm$html$Html$Attributes$style, 'overflow-y', 'auto'),
7867− A2($elm$html$Html$Attributes$style, 'height', 'calc(100% - 72px)')
7870− $elm$core$List$cons,
7871− $elm$browser$Debugger$History$styles,
7873− $elm$core$List$cons,
7876− $elm$core$List$cons,
7878− onlyRenderRecentMessages ? _List_Nil : _List_fromArray(
7880− $elm$browser$Debugger$History$showMoreButton(numMessages)
7883−var $elm$browser$Debugger$Main$SwapLayout = {$: 'SwapLayout'};
7884−var $elm$browser$Debugger$Main$toHistoryIcon = function (layout) {
7885− if (layout.$ === 'Horizontal') {
7886− return 'M13 1a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3h-10a3 3 0 0 1-3-3v-8a3 3 0 0 1 3-3z M13 3h-10a1 1 0 0 0-1 1v5h12v-5a1 1 0 0 0-1-1z M14 10h-12v2a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1z';
7888− return 'M0 4a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3h-10a3 3 0 0 1-3-3z M2 4v8a1 1 0 0 0 1 1h2v-10h-2a1 1 0 0 0-1 1z M6 3v10h7a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1z';
7891−var $elm$browser$Debugger$Main$icon = function (path) {
7893− $elm$virtual_dom$VirtualDom$nodeNS,
7894− 'http://www.w3.org/2000/svg',
7898− A2($elm$virtual_dom$VirtualDom$attribute, 'viewBox', '0 0 16 16'),
7899− A2($elm$virtual_dom$VirtualDom$attribute, 'xmlns', 'http://www.w3.org/2000/svg'),
7900− A2($elm$virtual_dom$VirtualDom$attribute, 'fill', 'currentColor'),
7901− A2($elm$virtual_dom$VirtualDom$attribute, 'width', '16px'),
7902− A2($elm$virtual_dom$VirtualDom$attribute, 'height', '16px')
7907− $elm$virtual_dom$VirtualDom$nodeNS,
7908− 'http://www.w3.org/2000/svg',
7912− A2($elm$virtual_dom$VirtualDom$attribute, 'd', path)
7917−var $elm$browser$Debugger$Main$viewHistoryButton = F3(
7918− function (label, msg, path) {
7920− $elm$html$Html$button,
7923− A2($elm$html$Html$Attributes$style, 'display', 'flex'),
7924− A2($elm$html$Html$Attributes$style, 'flex-direction', 'row'),
7925− A2($elm$html$Html$Attributes$style, 'align-items', 'center'),
7926− A2($elm$html$Html$Attributes$style, 'background', 'none'),
7927− A2($elm$html$Html$Attributes$style, 'border', 'none'),
7928− A2($elm$html$Html$Attributes$style, 'color', 'inherit'),
7929− A2($elm$html$Html$Attributes$style, 'cursor', 'pointer'),
7930− $elm$html$Html$Events$onClick(msg)
7934− $elm$browser$Debugger$Main$icon(path),
7936− $elm$html$Html$span,
7939− A2($elm$html$Html$Attributes$style, 'padding-left', '6px')
7943− $elm$html$Html$text(label)
7947−var $elm$browser$Debugger$Main$viewHistoryOptions = function (layout) {
7949− $elm$html$Html$div,
7952− A2($elm$html$Html$Attributes$style, 'width', '100%'),
7953− A2($elm$html$Html$Attributes$style, 'height', '36px'),
7954− A2($elm$html$Html$Attributes$style, 'display', 'flex'),
7955− A2($elm$html$Html$Attributes$style, 'flex-direction', 'row'),
7956− A2($elm$html$Html$Attributes$style, 'align-items', 'center'),
7957− A2($elm$html$Html$Attributes$style, 'justify-content', 'space-between'),
7958− A2($elm$html$Html$Attributes$style, 'background-color', 'rgb(50, 50, 50)')
7963− $elm$browser$Debugger$Main$viewHistoryButton,
7965− $elm$browser$Debugger$Main$SwapLayout,
7966− $elm$browser$Debugger$Main$toHistoryIcon(layout)),
7968− $elm$html$Html$div,
7971− A2($elm$html$Html$Attributes$style, 'display', 'flex'),
7972− A2($elm$html$Html$Attributes$style, 'flex-direction', 'row'),
7973− A2($elm$html$Html$Attributes$style, 'align-items', 'center'),
7974− A2($elm$html$Html$Attributes$style, 'justify-content', 'space-between')
7978− A3($elm$browser$Debugger$Main$viewHistoryButton, 'Import', $elm$browser$Debugger$Main$Import, 'M5 1a1 1 0 0 1 0 2h-2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1a1 1 0 0 1 2 0a3 3 0 0 1-3 3h-10a3 3 0 0 1-3-3v-8a3 3 0 0 1 3-3z M10 2a1 1 0 0 0 -2 0v6a1 1 0 0 0 1 1h6a1 1 0 0 0 0-2h-3.586l4.293-4.293a1 1 0 0 0-1.414-1.414l-4.293 4.293z'),
7979− A3($elm$browser$Debugger$Main$viewHistoryButton, 'Export', $elm$browser$Debugger$Main$Export, 'M5 1a1 1 0 0 1 0 2h-2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1 a1 1 0 0 1 2 0a3 3 0 0 1-3 3h-10a3 3 0 0 1-3-3v-8a3 3 0 0 1 3-3z M9 3a1 1 0 1 1 0-2h6a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0v-3.586l-5.293 5.293 a1 1 0 0 1-1.414-1.414l5.293 -5.293z')
7983−var $elm$browser$Debugger$Main$SliderJump = function (a) {
7984− return {$: 'SliderJump', a: a};
7986−var $elm$core$Basics$composeR = F3(
7987− function (f, g, x) {
7991−var $elm$html$Html$input = _VirtualDom_node('input');
7992−var $elm$browser$Debugger$Main$isPlaying = function (maybeIndex) {
7993− if (maybeIndex.$ === 'Nothing') {
7999−var $elm$html$Html$Attributes$max = $elm$html$Html$Attributes$stringProperty('max');
8000−var $elm$html$Html$Attributes$min = $elm$html$Html$Attributes$stringProperty('min');
8001−var $elm$html$Html$Events$alwaysStop = function (x) {
8002− return _Utils_Tuple2(x, true);
8004−var $elm$virtual_dom$VirtualDom$MayStopPropagation = function (a) {
8005− return {$: 'MayStopPropagation', a: a};
8007−var $elm$html$Html$Events$stopPropagationOn = F2(
8008− function (event, decoder) {
8010− $elm$virtual_dom$VirtualDom$on,
8012− $elm$virtual_dom$VirtualDom$MayStopPropagation(decoder));
8014−var $elm$json$Json$Decode$string = _Json_decodeString;
8015−var $elm$html$Html$Events$targetValue = A2(
8016− $elm$json$Json$Decode$at,
8018− ['target', 'value']),
8019− $elm$json$Json$Decode$string);
8020−var $elm$html$Html$Events$onInput = function (tagger) {
8022− $elm$html$Html$Events$stopPropagationOn,
8025− $elm$json$Json$Decode$map,
8026− $elm$html$Html$Events$alwaysStop,
8027− A2($elm$json$Json$Decode$map, tagger, $elm$html$Html$Events$targetValue)));
8029−var $elm$core$String$toInt = _String_toInt;
8030−var $elm$html$Html$Attributes$type_ = $elm$html$Html$Attributes$stringProperty('type');
8031−var $elm$html$Html$Attributes$value = $elm$html$Html$Attributes$stringProperty('value');
8032−var $elm$browser$Debugger$Main$viewPlayButton = function (playing) {
8034− $elm$html$Html$button,
8037− A2($elm$html$Html$Attributes$style, 'background', '#1293D8'),
8038− A2($elm$html$Html$Attributes$style, 'border', 'none'),
8039− A2($elm$html$Html$Attributes$style, 'color', 'white'),
8040− A2($elm$html$Html$Attributes$style, 'cursor', 'pointer'),
8041− A2($elm$html$Html$Attributes$style, 'width', '36px'),
8042− A2($elm$html$Html$Attributes$style, 'height', '36px'),
8043− $elm$html$Html$Events$onClick($elm$browser$Debugger$Main$Resume)
8047− playing ? $elm$browser$Debugger$Main$icon('M2 2h4v12h-4v-12z M10 2h4v12h-4v-12z') : $elm$browser$Debugger$Main$icon('M2 2l12 7l-12 7z')
8050−var $elm$browser$Debugger$Main$viewHistorySlider = F2(
8051− function (history, maybeIndex) {
8052− var lastIndex = $elm$browser$Debugger$History$size(history) - 1;
8053− var selectedIndex = A2($elm$core$Maybe$withDefault, lastIndex, maybeIndex);
8055− $elm$html$Html$div,
8058− A2($elm$html$Html$Attributes$style, 'display', 'flex'),
8059− A2($elm$html$Html$Attributes$style, 'flex-direction', 'row'),
8060− A2($elm$html$Html$Attributes$style, 'align-items', 'center'),
8061− A2($elm$html$Html$Attributes$style, 'width', '100%'),
8062− A2($elm$html$Html$Attributes$style, 'height', '36px'),
8063− A2($elm$html$Html$Attributes$style, 'background-color', 'rgb(50, 50, 50)')
8068− $elm$html$Html$Lazy$lazy,
8069− $elm$browser$Debugger$Main$viewPlayButton,
8070− $elm$browser$Debugger$Main$isPlaying(maybeIndex)),
8072− $elm$html$Html$input,
8075− $elm$html$Html$Attributes$type_('range'),
8076− A2($elm$html$Html$Attributes$style, 'width', 'calc(100% - 56px)'),
8077− A2($elm$html$Html$Attributes$style, 'height', '36px'),
8078− A2($elm$html$Html$Attributes$style, 'margin', '0 10px'),
8079− $elm$html$Html$Attributes$min('0'),
8080− $elm$html$Html$Attributes$max(
8081− $elm$core$String$fromInt(lastIndex)),
8082− $elm$html$Html$Attributes$value(
8083− $elm$core$String$fromInt(selectedIndex)),
8084− $elm$html$Html$Events$onInput(
8086− $elm$core$Basics$composeR,
8087− $elm$core$String$toInt,
8089− $elm$core$Basics$composeR,
8090− $elm$core$Maybe$withDefault(lastIndex),
8091− $elm$browser$Debugger$Main$SliderJump)))
8096−var $elm$browser$Debugger$Main$viewHistory = F3(
8097− function (maybeIndex, history, layout) {
8098− var block = $elm$browser$Debugger$Main$toMouseBlocker(layout);
8099− var _v0 = $elm$browser$Debugger$Main$toHistoryPercents(layout);
8103− $elm$html$Html$div,
8106− A2($elm$html$Html$Attributes$style, 'width', w),
8107− A2($elm$html$Html$Attributes$style, 'height', h),
8108− A2($elm$html$Html$Attributes$style, 'display', 'flex'),
8109− A2($elm$html$Html$Attributes$style, 'flex-direction', 'column'),
8110− A2($elm$html$Html$Attributes$style, 'color', '#DDDDDD'),
8111− A2($elm$html$Html$Attributes$style, 'background-color', 'rgb(61, 61, 61)'),
8112− A2($elm$html$Html$Attributes$style, 'pointer-events', block),
8113− A2($elm$html$Html$Attributes$style, 'user-select', block)
8117− A2($elm$browser$Debugger$Main$viewHistorySlider, history, maybeIndex),
8119− $elm$html$Html$map,
8120− $elm$browser$Debugger$Main$Jump,
8121− A2($elm$browser$Debugger$History$view, maybeIndex, history)),
8122− A2($elm$html$Html$Lazy$lazy, $elm$browser$Debugger$Main$viewHistoryOptions, layout)
8125−var $elm$browser$Debugger$Main$popoutView = function (model) {
8126− var maybeIndex = function () {
8127− var _v0 = model.state;
8128− if (_v0.$ === 'Running') {
8129− return $elm$core$Maybe$Nothing;
8132− return $elm$core$Maybe$Just(index);
8135− var historyToRender = $elm$browser$Debugger$Main$cachedHistory(model);
8137− $elm$html$Html$node,
8140− $elm$browser$Debugger$Main$toDragListeners(model.layout),
8143− A2($elm$html$Html$Attributes$style, 'margin', '0'),
8144− A2($elm$html$Html$Attributes$style, 'padding', '0'),
8145− A2($elm$html$Html$Attributes$style, 'width', '100%'),
8146− A2($elm$html$Html$Attributes$style, 'height', '100%'),
8147− A2($elm$html$Html$Attributes$style, 'font-family', 'monospace'),
8148− A2($elm$html$Html$Attributes$style, 'display', 'flex'),
8150− $elm$html$Html$Attributes$style,
8152− $elm$browser$Debugger$Main$toFlexDirection(model.layout))
8156− A3($elm$browser$Debugger$Main$viewHistory, maybeIndex, historyToRender, model.layout),
8157− $elm$browser$Debugger$Main$viewDragZone(model.layout),
8158− A3($elm$browser$Debugger$Main$viewExpando, model.expandoMsg, model.expandoModel, model.layout)
8161−var $elm$browser$Debugger$Overlay$BlockAll = {$: 'BlockAll'};
8162−var $elm$browser$Debugger$Overlay$toBlockerType = F2(
8163− function (isPaused, state) {
8166− return isPaused ? $elm$browser$Debugger$Overlay$BlockAll : $elm$browser$Debugger$Overlay$BlockNone;
8167− case 'BadMetadata':
8168− return $elm$browser$Debugger$Overlay$BlockMost;
8170− return $elm$browser$Debugger$Overlay$BlockMost;
8172− return $elm$browser$Debugger$Overlay$BlockMost;
8175−var $elm$browser$Debugger$Main$toBlockerType = function (model) {
8177− $elm$browser$Debugger$Overlay$toBlockerType,
8178− $elm$browser$Debugger$Main$isPaused(model.state),
8181−var $elm$browser$Debugger$Main$Horizontal = F3(
8182− function (a, b, c) {
8183− return {$: 'Horizontal', a: a, b: b, c: c};
8185−var $elm$browser$Debugger$Main$Running = function (a) {
8186− return {$: 'Running', a: a};
8188−var $elm$browser$Debugger$Main$Static = {$: 'Static'};
8189−var $elm$browser$Debugger$Metadata$Error = F2(
8190− function (message, problems) {
8191− return {message: message, problems: problems};
8193−var $elm$json$Json$Decode$decodeValue = _Json_run;
8194−var $elm$browser$Debugger$Metadata$Metadata = F2(
8195− function (versions, types) {
8196− return {types: types, versions: versions};
8198−var $elm$browser$Debugger$Metadata$Types = F3(
8199− function (message, aliases, unions) {
8200− return {aliases: aliases, message: message, unions: unions};
8202−var $elm$browser$Debugger$Metadata$Alias = F2(
8203− function (args, tipe) {
8204− return {args: args, tipe: tipe};
8206−var $elm$json$Json$Decode$list = _Json_decodeList;
8207−var $elm$browser$Debugger$Metadata$decodeAlias = A3(
8208− $elm$json$Json$Decode$map2,
8209− $elm$browser$Debugger$Metadata$Alias,
8211− $elm$json$Json$Decode$field,
8213− $elm$json$Json$Decode$list($elm$json$Json$Decode$string)),
8214− A2($elm$json$Json$Decode$field, 'type', $elm$json$Json$Decode$string));
8215−var $elm$browser$Debugger$Metadata$Union = F2(
8216− function (args, tags) {
8217− return {args: args, tags: tags};
8219−var $elm$core$Dict$fromList = function (assocs) {
8221− $elm$core$List$foldl,
8223− function (_v0, dict) {
8226− return A3($elm$core$Dict$insert, key, value, dict);
8228− $elm$core$Dict$empty,
8231−var $elm$json$Json$Decode$keyValuePairs = _Json_decodeKeyValuePairs;
8232−var $elm$json$Json$Decode$dict = function (decoder) {
8234− $elm$json$Json$Decode$map,
8235− $elm$core$Dict$fromList,
8236− $elm$json$Json$Decode$keyValuePairs(decoder));
8238−var $elm$browser$Debugger$Metadata$decodeUnion = A3(
8239− $elm$json$Json$Decode$map2,
8240− $elm$browser$Debugger$Metadata$Union,
8242− $elm$json$Json$Decode$field,
8244− $elm$json$Json$Decode$list($elm$json$Json$Decode$string)),
8246− $elm$json$Json$Decode$field,
8248− $elm$json$Json$Decode$dict(
8249− $elm$json$Json$Decode$list($elm$json$Json$Decode$string))));
8250−var $elm$json$Json$Decode$map3 = _Json_map3;
8251−var $elm$browser$Debugger$Metadata$decodeTypes = A4(
8252− $elm$json$Json$Decode$map3,
8253− $elm$browser$Debugger$Metadata$Types,
8254− A2($elm$json$Json$Decode$field, 'message', $elm$json$Json$Decode$string),
8256− $elm$json$Json$Decode$field,
8258− $elm$json$Json$Decode$dict($elm$browser$Debugger$Metadata$decodeAlias)),
8260− $elm$json$Json$Decode$field,
8262− $elm$json$Json$Decode$dict($elm$browser$Debugger$Metadata$decodeUnion)));
8263−var $elm$browser$Debugger$Metadata$Versions = function (elm) {
8266−var $elm$browser$Debugger$Metadata$decodeVersions = A2(
8267− $elm$json$Json$Decode$map,
8268− $elm$browser$Debugger$Metadata$Versions,
8269− A2($elm$json$Json$Decode$field, 'elm', $elm$json$Json$Decode$string));
8270−var $elm$browser$Debugger$Metadata$decoder = A3(
8271− $elm$json$Json$Decode$map2,
8272− $elm$browser$Debugger$Metadata$Metadata,
8273− A2($elm$json$Json$Decode$field, 'versions', $elm$browser$Debugger$Metadata$decodeVersions),
8274− A2($elm$json$Json$Decode$field, 'types', $elm$browser$Debugger$Metadata$decodeTypes));
8275−var $elm$browser$Debugger$Metadata$ProblemType = F2(
8276− function (name, problems) {
8277− return {name: name, problems: problems};
8279−var $elm$core$List$maybeCons = F3(
8280− function (f, mx, xs) {
8282− if (_v0.$ === 'Just') {
8284− return A2($elm$core$List$cons, x, xs);
8289−var $elm$core$List$filterMap = F2(
8292− $elm$core$List$foldr,
8293− $elm$core$List$maybeCons(f),
8297−var $elm$core$String$contains = _String_contains;
8298−var $elm$browser$Debugger$Metadata$hasProblem = F2(
8299− function (tipe, _v0) {
8300− var problem = _v0.a;
8302− return A2($elm$core$String$contains, token, tipe) ? $elm$core$Maybe$Just(problem) : $elm$core$Maybe$Nothing;
8304−var $elm$browser$Debugger$Metadata$Decoder = {$: 'Decoder'};
8305−var $elm$browser$Debugger$Metadata$Function = {$: 'Function'};
8306−var $elm$browser$Debugger$Metadata$Process = {$: 'Process'};
8307−var $elm$browser$Debugger$Metadata$Program = {$: 'Program'};
8308−var $elm$browser$Debugger$Metadata$Request = {$: 'Request'};
8309−var $elm$browser$Debugger$Metadata$Socket = {$: 'Socket'};
8310−var $elm$browser$Debugger$Metadata$Task = {$: 'Task'};
8311−var $elm$browser$Debugger$Metadata$VirtualDom = {$: 'VirtualDom'};
8312−var $elm$browser$Debugger$Metadata$problemTable = _List_fromArray(
8314− _Utils_Tuple2($elm$browser$Debugger$Metadata$Function, '->'),
8315− _Utils_Tuple2($elm$browser$Debugger$Metadata$Decoder, 'Json.Decode.Decoder'),
8316− _Utils_Tuple2($elm$browser$Debugger$Metadata$Task, 'Task.Task'),
8317− _Utils_Tuple2($elm$browser$Debugger$Metadata$Process, 'Process.Id'),
8318− _Utils_Tuple2($elm$browser$Debugger$Metadata$Socket, 'WebSocket.LowLevel.WebSocket'),
8319− _Utils_Tuple2($elm$browser$Debugger$Metadata$Request, 'Http.Request'),
8320− _Utils_Tuple2($elm$browser$Debugger$Metadata$Program, 'Platform.Program'),
8321− _Utils_Tuple2($elm$browser$Debugger$Metadata$VirtualDom, 'VirtualDom.Node'),
8322− _Utils_Tuple2($elm$browser$Debugger$Metadata$VirtualDom, 'VirtualDom.Attribute')
8324−var $elm$browser$Debugger$Metadata$findProblems = function (tipe) {
8326− $elm$core$List$filterMap,
8327− $elm$browser$Debugger$Metadata$hasProblem(tipe),
8328− $elm$browser$Debugger$Metadata$problemTable);
8330−var $elm$browser$Debugger$Metadata$collectBadAliases = F3(
8331− function (name, _v0, list) {
8332− var tipe = _v0.tipe;
8333− var _v1 = $elm$browser$Debugger$Metadata$findProblems(tipe);
8337− var problems = _v1;
8339− $elm$core$List$cons,
8340− A2($elm$browser$Debugger$Metadata$ProblemType, name, problems),
8344−var $elm$core$List$append = F2(
8345− function (xs, ys) {
8349− return A3($elm$core$List$foldr, $elm$core$List$cons, ys, xs);
8352−var $elm$core$List$concat = function (lists) {
8353− return A3($elm$core$List$foldr, $elm$core$List$append, _List_Nil, lists);
8355−var $elm$core$List$concatMap = F2(
8356− function (f, list) {
8357− return $elm$core$List$concat(
8358− A2($elm$core$List$map, f, list));
8360−var $elm$core$Dict$values = function (dict) {
8362− $elm$core$Dict$foldr,
8364− function (key, value, valueList) {
8365− return A2($elm$core$List$cons, value, valueList);
8370−var $elm$browser$Debugger$Metadata$collectBadUnions = F3(
8371− function (name, _v0, list) {
8372− var tags = _v0.tags;
8374− $elm$core$List$concatMap,
8375− $elm$browser$Debugger$Metadata$findProblems,
8376− $elm$core$List$concat(
8377− $elm$core$Dict$values(tags)));
8381− var problems = _v1;
8383− $elm$core$List$cons,
8384− A2($elm$browser$Debugger$Metadata$ProblemType, name, problems),
8388−var $elm$core$Dict$foldl = F3(
8389− function (func, acc, dict) {
8392− if (dict.$ === 'RBEmpty_elm_builtin') {
8396− var value = dict.c;
8398− var right = dict.e;
8399− var $temp$func = func,
8404− A3($elm$core$Dict$foldl, func, acc, left)),
8405− $temp$dict = right;
8413−var $elm$browser$Debugger$Metadata$isPortable = function (_v0) {
8414− var types = _v0.types;
8415− var badAliases = A3($elm$core$Dict$foldl, $elm$browser$Debugger$Metadata$collectBadAliases, _List_Nil, types.aliases);
8416− var _v1 = A3($elm$core$Dict$foldl, $elm$browser$Debugger$Metadata$collectBadUnions, badAliases, types.unions);
8418− return $elm$core$Maybe$Nothing;
8420− var problems = _v1;
8421− return $elm$core$Maybe$Just(
8422− A2($elm$browser$Debugger$Metadata$Error, types.message, problems));
8425−var $elm$browser$Debugger$Metadata$decode = function (value) {
8426− var _v0 = A2($elm$json$Json$Decode$decodeValue, $elm$browser$Debugger$Metadata$decoder, value);
8427− if (_v0.$ === 'Err') {
8428− return $elm$core$Result$Err(
8429− A2($elm$browser$Debugger$Metadata$Error, 'The compiler is generating bad metadata. This is a compiler bug!', _List_Nil));
8431− var metadata = _v0.a;
8432− var _v1 = $elm$browser$Debugger$Metadata$isPortable(metadata);
8433− if (_v1.$ === 'Nothing') {
8434− return $elm$core$Result$Ok(metadata);
8437− return $elm$core$Result$Err(error);
8441−var $elm$browser$Debugger$History$History = F3(
8442− function (snapshots, recent, numMessages) {
8443− return {numMessages: numMessages, recent: recent, snapshots: snapshots};
8445−var $elm$browser$Debugger$History$RecentHistory = F3(
8446− function (model, messages, numMessages) {
8447− return {messages: messages, model: model, numMessages: numMessages};
8449−var $elm$browser$Debugger$History$empty = function (model) {
8451− $elm$browser$Debugger$History$History,
8452− $elm$core$Array$empty,
8453− A3($elm$browser$Debugger$History$RecentHistory, model, _List_Nil, 0),
8456−var $elm$core$Dict$map = F2(
8457− function (func, dict) {
8458− if (dict.$ === 'RBEmpty_elm_builtin') {
8459− return $elm$core$Dict$RBEmpty_elm_builtin;
8461− var color = dict.a;
8463− var value = dict.c;
8465− var right = dict.e;
8467− $elm$core$Dict$RBNode_elm_builtin,
8470− A2(func, key, value),
8471− A2($elm$core$Dict$map, func, left),
8472− A2($elm$core$Dict$map, func, right));
8475−var $elm$core$Dict$sizeHelp = F2(
8476− function (n, dict) {
8479− if (dict.$ === 'RBEmpty_elm_builtin') {
8483− var right = dict.e;
8484− var $temp$n = A2($elm$core$Dict$sizeHelp, n + 1, right),
8492−var $elm$core$Dict$size = function (dict) {
8493− return A2($elm$core$Dict$sizeHelp, 0, dict);
8495−var $elm$browser$Debugger$Expando$initHelp = F2(
8496− function (isOuter, expando) {
8497− switch (expando.$) {
8503− var seqType = expando.a;
8504− var isClosed = expando.b;
8505− var items = expando.c;
8506− return isOuter ? A3(
8507− $elm$browser$Debugger$Expando$Sequence,
8511− $elm$core$List$map,
8512− $elm$browser$Debugger$Expando$initHelp(false),
8513− items)) : (($elm$core$List$length(items) <= 8) ? A3($elm$browser$Debugger$Expando$Sequence, seqType, false, items) : expando);
8515− var isClosed = expando.a;
8516− var keyValuePairs = expando.b;
8517− return isOuter ? A2(
8518− $elm$browser$Debugger$Expando$Dictionary,
8521− $elm$core$List$map,
8525− return _Utils_Tuple2(
8527− A2($elm$browser$Debugger$Expando$initHelp, false, v));
8529− keyValuePairs)) : (($elm$core$List$length(keyValuePairs) <= 8) ? A2($elm$browser$Debugger$Expando$Dictionary, false, keyValuePairs) : expando);
8531− var isClosed = expando.a;
8532− var entries = expando.b;
8533− return isOuter ? A2(
8534− $elm$browser$Debugger$Expando$Record,
8537− $elm$core$Dict$map,
8539− function (_v2, v) {
8540− return A2($elm$browser$Debugger$Expando$initHelp, false, v);
8542− entries)) : (($elm$core$Dict$size(entries) <= 4) ? A2($elm$browser$Debugger$Expando$Record, false, entries) : expando);
8544− var maybeName = expando.a;
8545− var isClosed = expando.b;
8546− var args = expando.c;
8547− return isOuter ? A3(
8548− $elm$browser$Debugger$Expando$Constructor,
8552− $elm$core$List$map,
8553− $elm$browser$Debugger$Expando$initHelp(false),
8554− args)) : (($elm$core$List$length(args) <= 4) ? A3($elm$browser$Debugger$Expando$Constructor, maybeName, false, args) : expando);
8557−var $elm$browser$Debugger$Expando$init = function (value) {
8559− $elm$browser$Debugger$Expando$initHelp,
8561− _Debugger_init(value));
8563−var $elm$core$Platform$Cmd$map = _Platform_map;
8564−var $elm$browser$Debugger$Overlay$None = {$: 'None'};
8565−var $elm$browser$Debugger$Overlay$none = $elm$browser$Debugger$Overlay$None;
8566−var $elm$browser$Debugger$Main$wrapInit = F4(
8567− function (metadata, popout, init, flags) {
8568− var _v0 = init(flags);
8569− var userModel = _v0.a;
8570− var userCommands = _v0.b;
8571− return _Utils_Tuple2(
8573− expandoModel: $elm$browser$Debugger$Expando$init(userModel),
8574− expandoMsg: $elm$browser$Debugger$Expando$init(_Utils_Tuple0),
8575− history: $elm$browser$Debugger$History$empty(userModel),
8576− layout: A3($elm$browser$Debugger$Main$Horizontal, $elm$browser$Debugger$Main$Static, 0.3, 0.5),
8577− metadata: $elm$browser$Debugger$Metadata$decode(metadata),
8578− overlay: $elm$browser$Debugger$Overlay$none,
8580− state: $elm$browser$Debugger$Main$Running(userModel)
8582− A2($elm$core$Platform$Cmd$map, $elm$browser$Debugger$Main$UserMsg, userCommands));
8584−var $elm$browser$Debugger$Main$getLatestModel = function (state) {
8585− if (state.$ === 'Running') {
8586− var model = state.a;
8589− var model = state.c;
8593−var $elm$core$Platform$Sub$map = _Platform_map;
8594−var $elm$browser$Debugger$Main$wrapSubs = F2(
8595− function (subscriptions, model) {
8597− $elm$core$Platform$Sub$map,
8598− $elm$browser$Debugger$Main$UserMsg,
8600− $elm$browser$Debugger$Main$getLatestModel(model.state)));
8602−var $elm$browser$Debugger$Main$Moving = {$: 'Moving'};
8603−var $elm$browser$Debugger$Main$Paused = F5(
8604− function (a, b, c, d, e) {
8605− return {$: 'Paused', a: a, b: b, c: c, d: d, e: e};
8607−var $elm$browser$Debugger$History$Snapshot = F2(
8608− function (model, messages) {
8609− return {messages: messages, model: model};
8611−var $elm$browser$Debugger$History$addRecent = F3(
8612− function (msg, newModel, _v0) {
8613− var model = _v0.model;
8614− var messages = _v0.messages;
8615− var numMessages = _v0.numMessages;
8616− return _Utils_eq(numMessages, $elm$browser$Debugger$History$maxSnapshotSize) ? _Utils_Tuple2(
8617− $elm$core$Maybe$Just(
8619− $elm$browser$Debugger$History$Snapshot,
8621− $elm$core$Array$fromList(messages))),
8623− $elm$browser$Debugger$History$RecentHistory,
8627− 1)) : _Utils_Tuple2(
8628− $elm$core$Maybe$Nothing,
8630− $elm$browser$Debugger$History$RecentHistory,
8632− A2($elm$core$List$cons, msg, messages),
8635−var $elm$core$Elm$JsArray$push = _JsArray_push;
8636−var $elm$core$Elm$JsArray$singleton = _JsArray_singleton;
8637−var $elm$core$Array$insertTailInTree = F4(
8638− function (shift, index, tail, tree) {
8639− var pos = $elm$core$Array$bitMask & (index >>> shift);
8642− $elm$core$Elm$JsArray$length(tree)) > -1) {
8645− $elm$core$Elm$JsArray$push,
8646− $elm$core$Array$Leaf(tail),
8649− var newSub = $elm$core$Array$SubTree(
8650− A4($elm$core$Array$insertTailInTree, shift - $elm$core$Array$shiftStep, index, tail, $elm$core$Elm$JsArray$empty));
8651− return A2($elm$core$Elm$JsArray$push, newSub, tree);
8654− var value = A2($elm$core$Elm$JsArray$unsafeGet, pos, tree);
8655− if (value.$ === 'SubTree') {
8656− var subTree = value.a;
8657− var newSub = $elm$core$Array$SubTree(
8658− A4($elm$core$Array$insertTailInTree, shift - $elm$core$Array$shiftStep, index, tail, subTree));
8659− return A3($elm$core$Elm$JsArray$unsafeSet, pos, newSub, tree);
8661− var newSub = $elm$core$Array$SubTree(
8663− $elm$core$Array$insertTailInTree,
8664− shift - $elm$core$Array$shiftStep,
8667− $elm$core$Elm$JsArray$singleton(value)));
8668− return A3($elm$core$Elm$JsArray$unsafeSet, pos, newSub, tree);
8672−var $elm$core$Array$unsafeReplaceTail = F2(
8673− function (newTail, _v0) {
8675− var startShift = _v0.b;
8678− var originalTailLen = $elm$core$Elm$JsArray$length(tail);
8679− var newTailLen = $elm$core$Elm$JsArray$length(newTail);
8680− var newArrayLen = len + (newTailLen - originalTailLen);
8681− if (_Utils_eq(newTailLen, $elm$core$Array$branchFactor)) {
8682− var overflow = _Utils_cmp(newArrayLen >>> $elm$core$Array$shiftStep, 1 << startShift) > 0;
8684− var newShift = startShift + $elm$core$Array$shiftStep;
8686− $elm$core$Array$insertTailInTree,
8690− $elm$core$Elm$JsArray$singleton(
8691− $elm$core$Array$SubTree(tree)));
8692− return A4($elm$core$Array$Array_elm_builtin, newArrayLen, newShift, newTree, $elm$core$Elm$JsArray$empty);
8695− $elm$core$Array$Array_elm_builtin,
8698− A4($elm$core$Array$insertTailInTree, startShift, len, newTail, tree),
8699− $elm$core$Elm$JsArray$empty);
8702− return A4($elm$core$Array$Array_elm_builtin, newArrayLen, startShift, tree, newTail);
8705−var $elm$core$Array$push = F2(
8706− function (a, array) {
8707− var tail = array.d;
8709− $elm$core$Array$unsafeReplaceTail,
8710− A2($elm$core$Elm$JsArray$push, a, tail),
8713−var $elm$browser$Debugger$History$add = F3(
8714− function (msg, model, _v0) {
8715− var snapshots = _v0.snapshots;
8716− var recent = _v0.recent;
8717− var numMessages = _v0.numMessages;
8718− var _v1 = A3($elm$browser$Debugger$History$addRecent, msg, model, recent);
8719− if (_v1.a.$ === 'Just') {
8720− var snapshot = _v1.a.a;
8721− var newRecent = _v1.b;
8723− $elm$browser$Debugger$History$History,
8724− A2($elm$core$Array$push, snapshot, snapshots),
8729− var newRecent = _v1.b;
8730− return A3($elm$browser$Debugger$History$History, snapshots, newRecent, numMessages + 1);
8733−var $elm$browser$Debugger$Overlay$BadImport = function (a) {
8734− return {$: 'BadImport', a: a};
8736−var $elm$browser$Debugger$Overlay$RiskyImport = F2(
8738− return {$: 'RiskyImport', a: a, b: b};
8740−var $elm$browser$Debugger$Report$VersionChanged = F2(
8742− return {$: 'VersionChanged', a: a, b: b};
8744−var $elm$browser$Debugger$Report$MessageChanged = F2(
8746− return {$: 'MessageChanged', a: a, b: b};
8748−var $elm$browser$Debugger$Report$SomethingChanged = function (a) {
8749− return {$: 'SomethingChanged', a: a};
8751−var $elm$browser$Debugger$Report$AliasChange = function (a) {
8752− return {$: 'AliasChange', a: a};
8754−var $elm$browser$Debugger$Metadata$checkAlias = F4(
8755− function (name, old, _new, changes) {
8756− return (_Utils_eq(old.tipe, _new.tipe) && _Utils_eq(old.args, _new.args)) ? changes : A2(
8757− $elm$core$List$cons,
8758− $elm$browser$Debugger$Report$AliasChange(name),
8761−var $elm$browser$Debugger$Report$UnionChange = F2(
8763− return {$: 'UnionChange', a: a, b: b};
8765−var $elm$browser$Debugger$Metadata$addTag = F3(
8766− function (tag, _v0, changes) {
8767− return _Utils_update(
8770− added: A2($elm$core$List$cons, tag, changes.added)
8773−var $elm$browser$Debugger$Metadata$checkTag = F4(
8774− function (tag, old, _new, changes) {
8775− return _Utils_eq(old, _new) ? changes : _Utils_update(
8778− changed: A2($elm$core$List$cons, tag, changes.changed)
8781−var $elm$browser$Debugger$Report$TagChanges = F4(
8782− function (removed, changed, added, argsMatch) {
8783− return {added: added, argsMatch: argsMatch, changed: changed, removed: removed};
8785−var $elm$browser$Debugger$Report$emptyTagChanges = function (argsMatch) {
8786− return A4($elm$browser$Debugger$Report$TagChanges, _List_Nil, _List_Nil, _List_Nil, argsMatch);
8788−var $elm$browser$Debugger$Report$hasTagChanges = function (tagChanges) {
8791− A4($elm$browser$Debugger$Report$TagChanges, _List_Nil, _List_Nil, _List_Nil, true));
8793−var $elm$core$Dict$merge = F6(
8794− function (leftStep, bothStep, rightStep, leftDict, rightDict, initialResult) {
8795− var stepState = F3(
8796− function (rKey, rValue, _v0) {
8800− var result = _v0.b;
8802− return _Utils_Tuple2(
8804− A3(rightStep, rKey, rValue, result));
8808− var lValue = _v2.b;
8810− if (_Utils_cmp(lKey, rKey) < 0) {
8811− var $temp$rKey = rKey,
8812− $temp$rValue = rValue,
8813− $temp$_v0 = _Utils_Tuple2(
8815− A3(leftStep, lKey, lValue, result));
8817− rValue = $temp$rValue;
8819− continue stepState;
8821− if (_Utils_cmp(lKey, rKey) > 0) {
8822− return _Utils_Tuple2(
8824− A3(rightStep, rKey, rValue, result));
8826− return _Utils_Tuple2(
8828− A4(bothStep, lKey, lValue, rValue, result));
8835− $elm$core$Dict$foldl,
8838− $elm$core$Dict$toList(leftDict),
8841− var leftovers = _v3.a;
8842− var intermediateResult = _v3.b;
8844− $elm$core$List$foldl,
8846− function (_v4, result) {
8849− return A3(leftStep, k, v, result);
8851− intermediateResult,
8854−var $elm$browser$Debugger$Metadata$removeTag = F3(
8855− function (tag, _v0, changes) {
8856− return _Utils_update(
8859− removed: A2($elm$core$List$cons, tag, changes.removed)
8862−var $elm$browser$Debugger$Metadata$checkUnion = F4(
8863− function (name, old, _new, changes) {
8864− var tagChanges = A6(
8865− $elm$core$Dict$merge,
8866− $elm$browser$Debugger$Metadata$removeTag,
8867− $elm$browser$Debugger$Metadata$checkTag,
8868− $elm$browser$Debugger$Metadata$addTag,
8871− $elm$browser$Debugger$Report$emptyTagChanges(
8872− _Utils_eq(old.args, _new.args)));
8873− return $elm$browser$Debugger$Report$hasTagChanges(tagChanges) ? changes : A2(
8874− $elm$core$List$cons,
8875− A2($elm$browser$Debugger$Report$UnionChange, name, tagChanges),
8878−var $elm$browser$Debugger$Metadata$ignore = F3(
8879− function (key, value, report) {
8882−var $elm$browser$Debugger$Metadata$checkTypes = F2(
8883− function (old, _new) {
8884− return (!_Utils_eq(old.message, _new.message)) ? A2($elm$browser$Debugger$Report$MessageChanged, old.message, _new.message) : $elm$browser$Debugger$Report$SomethingChanged(
8886− $elm$core$Dict$merge,
8887− $elm$browser$Debugger$Metadata$ignore,
8888− $elm$browser$Debugger$Metadata$checkUnion,
8889− $elm$browser$Debugger$Metadata$ignore,
8892− A6($elm$core$Dict$merge, $elm$browser$Debugger$Metadata$ignore, $elm$browser$Debugger$Metadata$checkAlias, $elm$browser$Debugger$Metadata$ignore, old.aliases, _new.aliases, _List_Nil)));
8894−var $elm$browser$Debugger$Metadata$check = F2(
8895− function (old, _new) {
8896− return (!_Utils_eq(old.versions.elm, _new.versions.elm)) ? A2($elm$browser$Debugger$Report$VersionChanged, old.versions.elm, _new.versions.elm) : A2($elm$browser$Debugger$Metadata$checkTypes, old.types, _new.types);
8898−var $elm$browser$Debugger$Report$CorruptHistory = {$: 'CorruptHistory'};
8899−var $elm$browser$Debugger$Overlay$corruptImport = $elm$browser$Debugger$Overlay$BadImport($elm$browser$Debugger$Report$CorruptHistory);
8900−var $elm$json$Json$Decode$decodeString = _Json_runOnString;
8901−var $elm$browser$Debugger$Report$Fine = {$: 'Fine'};
8902−var $elm$browser$Debugger$Report$Impossible = {$: 'Impossible'};
8903−var $elm$browser$Debugger$Report$Risky = {$: 'Risky'};
8904−var $elm$core$Basics$not = _Basics_not;
8905−var $elm$core$List$isEmpty = function (xs) {
8912−var $elm$browser$Debugger$Report$some = function (list) {
8913− return !$elm$core$List$isEmpty(list);
8915−var $elm$browser$Debugger$Report$evaluateChange = function (change) {
8916− if (change.$ === 'AliasChange') {
8917− return $elm$browser$Debugger$Report$Impossible;
8919− var removed = change.b.removed;
8920− var changed = change.b.changed;
8921− var added = change.b.added;
8922− var argsMatch = change.b.argsMatch;
8923− return ((!argsMatch) || ($elm$browser$Debugger$Report$some(changed) || $elm$browser$Debugger$Report$some(removed))) ? $elm$browser$Debugger$Report$Impossible : ($elm$browser$Debugger$Report$some(added) ? $elm$browser$Debugger$Report$Risky : $elm$browser$Debugger$Report$Fine);
8926−var $elm$browser$Debugger$Report$worstCase = F2(
8927− function (status, statusList) {
8930− if (!statusList.b) {
8933− switch (statusList.a.$) {
8935− var _v1 = statusList.a;
8936− return $elm$browser$Debugger$Report$Impossible;
8938− var _v2 = statusList.a;
8939− var rest = statusList.b;
8940− var $temp$status = $elm$browser$Debugger$Report$Risky,
8941− $temp$statusList = rest;
8942− status = $temp$status;
8943− statusList = $temp$statusList;
8944− continue worstCase;
8946− var _v3 = statusList.a;
8947− var rest = statusList.b;
8948− var $temp$status = status,
8949− $temp$statusList = rest;
8950− status = $temp$status;
8951− statusList = $temp$statusList;
8952− continue worstCase;
8957−var $elm$browser$Debugger$Report$evaluate = function (report) {
8958− switch (report.$) {
8959− case 'CorruptHistory':
8960− return $elm$browser$Debugger$Report$Impossible;
8961− case 'VersionChanged':
8962− return $elm$browser$Debugger$Report$Impossible;
8963− case 'MessageChanged':
8964− return $elm$browser$Debugger$Report$Impossible;
8966− var changes = report.a;
8968− $elm$browser$Debugger$Report$worstCase,
8969− $elm$browser$Debugger$Report$Fine,
8970− A2($elm$core$List$map, $elm$browser$Debugger$Report$evaluateChange, changes));
8973−var $elm$json$Json$Decode$value = _Json_decodeValue;
8974−var $elm$browser$Debugger$Overlay$uploadDecoder = A3(
8975− $elm$json$Json$Decode$map2,
8978− return _Utils_Tuple2(x, y);
8980− A2($elm$json$Json$Decode$field, 'metadata', $elm$browser$Debugger$Metadata$decoder),
8981− A2($elm$json$Json$Decode$field, 'history', $elm$json$Json$Decode$value));
8982−var $elm$browser$Debugger$Overlay$assessImport = F2(
8983− function (metadata, jsonString) {
8984− var _v0 = A2($elm$json$Json$Decode$decodeString, $elm$browser$Debugger$Overlay$uploadDecoder, jsonString);
8985− if (_v0.$ === 'Err') {
8986− return $elm$core$Result$Err($elm$browser$Debugger$Overlay$corruptImport);
8989− var foreignMetadata = _v1.a;
8990− var rawHistory = _v1.b;
8991− var report = A2($elm$browser$Debugger$Metadata$check, foreignMetadata, metadata);
8992− var _v2 = $elm$browser$Debugger$Report$evaluate(report);
8995− return $elm$core$Result$Err(
8996− $elm$browser$Debugger$Overlay$BadImport(report));
8998− return $elm$core$Result$Err(
8999− A2($elm$browser$Debugger$Overlay$RiskyImport, report, rawHistory));
9001− return $elm$core$Result$Ok(rawHistory);
9005−var $elm$core$Platform$Cmd$batch = _Platform_batch;
9006−var $elm$browser$Debugger$Overlay$close = F2(
9007− function (msg, state) {
9010− return $elm$core$Maybe$Nothing;
9011− case 'BadMetadata':
9012− return $elm$core$Maybe$Nothing;
9014− return $elm$core$Maybe$Nothing;
9016− var rawHistory = state.b;
9017− if (msg.$ === 'Cancel') {
9018− return $elm$core$Maybe$Nothing;
9020− return $elm$core$Maybe$Just(rawHistory);
9024−var $elm$browser$Debugger$History$elmToJs = A2($elm$core$Basics$composeR, _Json_wrap, _Debugger_unsafeCoerce);
9025−var $elm$browser$Debugger$History$encodeHelp = F2(
9026− function (snapshot, allMessages) {
9027− return A3($elm$core$Array$foldl, $elm$core$List$cons, allMessages, snapshot.messages);
9029−var $elm$json$Json$Encode$list = F2(
9030− function (func, entries) {
9033− $elm$core$List$foldl,
9034− _Json_addEntry(func),
9035− _Json_emptyArray(_Utils_Tuple0),
9038−var $elm$browser$Debugger$History$encode = function (_v0) {
9039− var snapshots = _v0.snapshots;
9040− var recent = _v0.recent;
9042− $elm$json$Json$Encode$list,
9043− $elm$browser$Debugger$History$elmToJs,
9045− $elm$core$Array$foldr,
9046− $elm$browser$Debugger$History$encodeHelp,
9047− $elm$core$List$reverse(recent.messages),
9050−var $elm$json$Json$Encode$object = function (pairs) {
9053− $elm$core$List$foldl,
9055− function (_v0, obj) {
9058− return A3(_Json_addField, k, v, obj);
9060− _Json_emptyObject(_Utils_Tuple0),
9063−var $elm$browser$Debugger$Metadata$encodeAlias = function (_v0) {
9064− var args = _v0.args;
9065− var tipe = _v0.tipe;
9066− return $elm$json$Json$Encode$object(
9071− A2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, args)),
9074− $elm$json$Json$Encode$string(tipe))
9077−var $elm$browser$Debugger$Metadata$encodeDict = F2(
9078− function (f, dict) {
9079− return $elm$json$Json$Encode$object(
9080− $elm$core$Dict$toList(
9082− $elm$core$Dict$map,
9084− function (key, value) {
9089−var $elm$browser$Debugger$Metadata$encodeUnion = function (_v0) {
9090− var args = _v0.args;
9091− var tags = _v0.tags;
9092− return $elm$json$Json$Encode$object(
9097− A2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, args)),
9101− $elm$browser$Debugger$Metadata$encodeDict,
9102− $elm$json$Json$Encode$list($elm$json$Json$Encode$string),
9106−var $elm$browser$Debugger$Metadata$encodeTypes = function (_v0) {
9107− var message = _v0.message;
9108− var unions = _v0.unions;
9109− var aliases = _v0.aliases;
9110− return $elm$json$Json$Encode$object(
9115− $elm$json$Json$Encode$string(message)),
9118− A2($elm$browser$Debugger$Metadata$encodeDict, $elm$browser$Debugger$Metadata$encodeAlias, aliases)),
9121− A2($elm$browser$Debugger$Metadata$encodeDict, $elm$browser$Debugger$Metadata$encodeUnion, unions))
9124−var $elm$browser$Debugger$Metadata$encodeVersions = function (_v0) {
9126− return $elm$json$Json$Encode$object(
9131− $elm$json$Json$Encode$string(elm))
9134−var $elm$browser$Debugger$Metadata$encode = function (_v0) {
9135− var versions = _v0.versions;
9136− var types = _v0.types;
9137− return $elm$json$Json$Encode$object(
9142− $elm$browser$Debugger$Metadata$encodeVersions(versions)),
9145− $elm$browser$Debugger$Metadata$encodeTypes(types))
9148−var $elm$core$Basics$identity = function (x) {
9151−var $elm$core$Task$Perform = function (a) {
9152− return {$: 'Perform', a: a};
9154−var $elm$core$Task$succeed = _Scheduler_succeed;
9155−var $elm$core$Task$init = $elm$core$Task$succeed(_Utils_Tuple0);
9156−var $elm$core$Task$andThen = _Scheduler_andThen;
9157−var $elm$core$Task$map = F2(
9158− function (func, taskA) {
9160− $elm$core$Task$andThen,
9162− return $elm$core$Task$succeed(
9167−var $elm$core$Task$map2 = F3(
9168− function (func, taskA, taskB) {
9170− $elm$core$Task$andThen,
9173− $elm$core$Task$andThen,
9175− return $elm$core$Task$succeed(
9182−var $elm$core$Task$sequence = function (tasks) {
9184− $elm$core$List$foldr,
9185− $elm$core$Task$map2($elm$core$List$cons),
9186− $elm$core$Task$succeed(_List_Nil),
9189−var $elm$core$Platform$sendToApp = _Platform_sendToApp;
9190−var $elm$core$Task$spawnCmd = F2(
9191− function (router, _v0) {
9193− return _Scheduler_spawn(
9195− $elm$core$Task$andThen,
9196− $elm$core$Platform$sendToApp(router),
9199−var $elm$core$Task$onEffects = F3(
9200− function (router, commands, state) {
9202− $elm$core$Task$map,
9204− return _Utils_Tuple0;
9206− $elm$core$Task$sequence(
9208− $elm$core$List$map,
9209− $elm$core$Task$spawnCmd(router),
9212−var $elm$core$Task$onSelfMsg = F3(
9213− function (_v0, _v1, _v2) {
9214− return $elm$core$Task$succeed(_Utils_Tuple0);
9216−var $elm$core$Task$cmdMap = F2(
9217− function (tagger, _v0) {
9219− return $elm$core$Task$Perform(
9220− A2($elm$core$Task$map, tagger, task));
9222−_Platform_effectManagers['Task'] = _Platform_createManager($elm$core$Task$init, $elm$core$Task$onEffects, $elm$core$Task$onSelfMsg, $elm$core$Task$cmdMap);
9223−var $elm$core$Task$command = _Platform_leaf('Task');
9224−var $elm$core$Task$perform = F2(
9225− function (toMessage, task) {
9226− return $elm$core$Task$command(
9227− $elm$core$Task$Perform(
9228− A2($elm$core$Task$map, toMessage, task)));
9230−var $elm$browser$Debugger$Main$download = F2(
9231− function (metadata, history) {
9232− var historyLength = $elm$browser$Debugger$History$size(history);
9234− $elm$core$Task$perform,
9236− return $elm$browser$Debugger$Main$NoOp;
9239− _Debugger_download,
9242− $elm$json$Json$Encode$object(
9247− $elm$browser$Debugger$Metadata$encode(metadata)),
9250− $elm$browser$Debugger$History$encode(history))
9253−var $elm$browser$Debugger$Main$Vertical = F3(
9254− function (a, b, c) {
9255− return {$: 'Vertical', a: a, b: b, c: c};
9257−var $elm$browser$Debugger$Main$drag = F2(
9258− function (info, layout) {
9259− if (layout.$ === 'Horizontal') {
9260− var status = layout.a;
9262− return A3($elm$browser$Debugger$Main$Horizontal, status, info.x / info.width, y);
9264− var status = layout.a;
9266− return A3($elm$browser$Debugger$Main$Vertical, status, x, info.y / info.height);
9269−var $elm$browser$Debugger$History$Stepping = F2(
9271− return {$: 'Stepping', a: a, b: b};
9273−var $elm$browser$Debugger$History$Done = F2(
9275− return {$: 'Done', a: a, b: b};
9277−var $elm$browser$Debugger$History$getHelp = F3(
9278− function (update, msg, getResult) {
9279− if (getResult.$ === 'Done') {
9282− var n = getResult.a;
9283− var model = getResult.b;
9285− $elm$browser$Debugger$History$Done,
9287− A2(update, msg, model).a) : A2(
9288− $elm$browser$Debugger$History$Stepping,
9290− A2(update, msg, model).a);
9293−var $elm$browser$Debugger$History$undone = function (getResult) {
9296− if (getResult.$ === 'Done') {
9297− var msg = getResult.a;
9298− var model = getResult.b;
9299− return _Utils_Tuple2(model, msg);
9301− var $temp$getResult = getResult;
9302− getResult = $temp$getResult;
9307−var $elm$browser$Debugger$History$get = F3(
9308− function (update, index, history) {
9311− var recent = history.recent;
9312− var snapshotMax = history.numMessages - recent.numMessages;
9313− if (_Utils_cmp(index, snapshotMax) > -1) {
9314− return $elm$browser$Debugger$History$undone(
9316− $elm$core$List$foldr,
9317− $elm$browser$Debugger$History$getHelp(update),
9318− A2($elm$browser$Debugger$History$Stepping, index - snapshotMax, recent.model),
9321− var _v0 = A2($elm$core$Array$get, (index / $elm$browser$Debugger$History$maxSnapshotSize) | 0, history.snapshots);
9322− if (_v0.$ === 'Nothing') {
9323− var $temp$update = update,
9324− $temp$index = index,
9325− $temp$history = history;
9326− update = $temp$update;
9327− index = $temp$index;
9328− history = $temp$history;
9331− var model = _v0.a.model;
9332− var messages = _v0.a.messages;
9333− return $elm$browser$Debugger$History$undone(
9335− $elm$core$Array$foldr,
9336− $elm$browser$Debugger$History$getHelp(update),
9337− A2($elm$browser$Debugger$History$Stepping, index % $elm$browser$Debugger$History$maxSnapshotSize, model),
9343−var $elm$browser$Debugger$History$getRecentMsg = function (history) {
9346− var _v0 = history.recent.messages;
9348− var $temp$history = history;
9349− history = $temp$history;
9350− continue getRecentMsg;
9357−var $elm$core$Dict$get = F2(
9358− function (targetKey, dict) {
9361− if (dict.$ === 'RBEmpty_elm_builtin') {
9362− return $elm$core$Maybe$Nothing;
9365− var value = dict.c;
9367− var right = dict.e;
9368− var _v1 = A2($elm$core$Basics$compare, targetKey, key);
9371− var $temp$targetKey = targetKey,
9373− targetKey = $temp$targetKey;
9377− return $elm$core$Maybe$Just(value);
9379− var $temp$targetKey = targetKey,
9380− $temp$dict = right;
9381− targetKey = $temp$targetKey;
9388−var $elm$browser$Debugger$Expando$mergeDictHelp = F3(
9389− function (oldDict, key, value) {
9390− var _v12 = A2($elm$core$Dict$get, key, oldDict);
9391− if (_v12.$ === 'Nothing') {
9394− var oldValue = _v12.a;
9395− return A2($elm$browser$Debugger$Expando$mergeHelp, oldValue, value);
9398−var $elm$browser$Debugger$Expando$mergeHelp = F2(
9399− function (old, _new) {
9400− var _v3 = _Utils_Tuple2(old, _new);
9409− if (_v3.a.$ === 'Sequence') {
9411− var isClosed = _v4.b;
9412− var oldValues = _v4.c;
9414− var seqType = _v5.a;
9415− var newValues = _v5.c;
9417− $elm$browser$Debugger$Expando$Sequence,
9420− A2($elm$browser$Debugger$Expando$mergeListHelp, oldValues, newValues));
9425− if (_v3.a.$ === 'Dictionary') {
9427− var isClosed = _v6.a;
9429− var keyValuePairs = _v7.b;
9430− return A2($elm$browser$Debugger$Expando$Dictionary, isClosed, keyValuePairs);
9435− if (_v3.a.$ === 'Record') {
9437− var isClosed = _v8.a;
9438− var oldDict = _v8.b;
9440− var newDict = _v9.b;
9442− $elm$browser$Debugger$Expando$Record,
9445− $elm$core$Dict$map,
9446− $elm$browser$Debugger$Expando$mergeDictHelp(oldDict),
9452− if (_v3.a.$ === 'Constructor') {
9454− var isClosed = _v10.b;
9455− var oldValues = _v10.c;
9457− var maybeName = _v11.a;
9458− var newValues = _v11.c;
9460− $elm$browser$Debugger$Expando$Constructor,
9463− A2($elm$browser$Debugger$Expando$mergeListHelp, oldValues, newValues));
9471−var $elm$browser$Debugger$Expando$mergeListHelp = F2(
9472− function (olds, news) {
9473− var _v0 = _Utils_Tuple2(olds, news);
9487− $elm$core$List$cons,
9488− A2($elm$browser$Debugger$Expando$mergeHelp, x, y),
9489− A2($elm$browser$Debugger$Expando$mergeListHelp, xs, ys));
9493−var $elm$browser$Debugger$Expando$merge = F2(
9494− function (value, expando) {
9496− $elm$browser$Debugger$Expando$mergeHelp,
9498− _Debugger_init(value));
9500−var $elm$browser$Debugger$Main$jumpUpdate = F3(
9501− function (update, index, model) {
9502− var history = $elm$browser$Debugger$Main$cachedHistory(model);
9503− var currentMsg = $elm$browser$Debugger$History$getRecentMsg(history);
9504− var currentModel = $elm$browser$Debugger$Main$getLatestModel(model.state);
9505− var _v0 = A3($elm$browser$Debugger$History$get, update, index, history);
9506− var indexModel = _v0.a;
9507− var indexMsg = _v0.b;
9508− return _Utils_update(
9511− expandoModel: A2($elm$browser$Debugger$Expando$merge, indexModel, model.expandoModel),
9512− expandoMsg: A2($elm$browser$Debugger$Expando$merge, indexMsg, model.expandoMsg),
9513− state: A5($elm$browser$Debugger$Main$Paused, index, indexModel, currentModel, currentMsg, history)
9516−var $elm$browser$Debugger$History$jsToElm = A2($elm$core$Basics$composeR, _Json_unwrap, _Debugger_unsafeCoerce);
9517−var $elm$browser$Debugger$History$decoder = F2(
9518− function (initialModel, update) {
9519− var addMessage = F2(
9520− function (rawMsg, _v0) {
9522− var history = _v0.b;
9523− var msg = $elm$browser$Debugger$History$jsToElm(rawMsg);
9524− return _Utils_Tuple2(
9525− A2(update, msg, model),
9526− A3($elm$browser$Debugger$History$add, msg, model, history));
9528− var updateModel = function (rawMsgs) {
9530− $elm$core$List$foldl,
9534− $elm$browser$Debugger$History$empty(initialModel)),
9538− $elm$json$Json$Decode$map,
9540− $elm$json$Json$Decode$list($elm$json$Json$Decode$value));
9542−var $elm$browser$Debugger$History$getInitialModel = function (_v0) {
9543− var snapshots = _v0.snapshots;
9544− var recent = _v0.recent;
9545− var _v1 = A2($elm$core$Array$get, 0, snapshots);
9546− if (_v1.$ === 'Just') {
9547− var model = _v1.a.model;
9550− return recent.model;
9553−var $elm$core$Platform$Cmd$none = $elm$core$Platform$Cmd$batch(_List_Nil);
9554−var $elm$browser$Debugger$Main$loadNewHistory = F3(
9555− function (rawHistory, update, model) {
9556− var pureUserUpdate = F2(
9557− function (msg, userModel) {
9558− return A2(update, msg, userModel).a;
9560− var initialUserModel = $elm$browser$Debugger$History$getInitialModel(model.history);
9561− var decoder = A2($elm$browser$Debugger$History$decoder, initialUserModel, pureUserUpdate);
9562− var _v0 = A2($elm$json$Json$Decode$decodeValue, decoder, rawHistory);
9563− if (_v0.$ === 'Err') {
9564− return _Utils_Tuple2(
9567− {overlay: $elm$browser$Debugger$Overlay$corruptImport}),
9568− $elm$core$Platform$Cmd$none);
9571− var latestUserModel = _v1.a;
9572− var newHistory = _v1.b;
9573− return _Utils_Tuple2(
9577− expandoModel: $elm$browser$Debugger$Expando$init(latestUserModel),
9578− expandoMsg: $elm$browser$Debugger$Expando$init(
9579− $elm$browser$Debugger$History$getRecentMsg(newHistory)),
9580− history: newHistory,
9581− overlay: $elm$browser$Debugger$Overlay$none,
9582− state: $elm$browser$Debugger$Main$Running(latestUserModel)
9584− $elm$core$Platform$Cmd$none);
9587−var $elm$browser$Debugger$Main$scroll = function (popout) {
9589− $elm$core$Task$perform,
9590− $elm$core$Basics$always($elm$browser$Debugger$Main$NoOp),
9591− _Debugger_scroll(popout));
9593−var $elm$browser$Debugger$Main$scrollTo = F2(
9594− function (id, popout) {
9596− $elm$core$Task$perform,
9597− $elm$core$Basics$always($elm$browser$Debugger$Main$NoOp),
9598− A2(_Debugger_scrollTo, id, popout));
9600−var $elm$browser$Debugger$Main$setDragStatus = F2(
9601− function (status, layout) {
9602− if (layout.$ === 'Horizontal') {
9605− return A3($elm$browser$Debugger$Main$Horizontal, status, x, y);
9609− return A3($elm$browser$Debugger$Main$Vertical, status, x, y);
9612−var $elm$browser$Debugger$Main$swapLayout = function (layout) {
9613− if (layout.$ === 'Horizontal') {
9617− return A3($elm$browser$Debugger$Main$Vertical, s, x, y);
9622− return A3($elm$browser$Debugger$Main$Horizontal, s, x, y);
9625−var $elm$core$Dict$getMin = function (dict) {
9628− if ((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) {
9630− var $temp$dict = left;
9638−var $elm$core$Dict$moveRedLeft = function (dict) {
9639− if (((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) && (dict.e.$ === 'RBNode_elm_builtin')) {
9640− if ((dict.e.d.$ === 'RBNode_elm_builtin') && (dict.e.d.a.$ === 'Red')) {
9649− var lRight = _v1.e;
9660− var rRight = _v2.e;
9662− $elm$core$Dict$RBNode_elm_builtin,
9663− $elm$core$Dict$Red,
9667− $elm$core$Dict$RBNode_elm_builtin,
9668− $elm$core$Dict$Black,
9671− A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
9673− A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, rK, rV, rlR, rRight));
9683− var lRight = _v4.e;
9689− var rRight = _v5.e;
9690− if (clr.$ === 'Black') {
9692− $elm$core$Dict$RBNode_elm_builtin,
9693− $elm$core$Dict$Black,
9696− A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
9697− A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
9700− $elm$core$Dict$RBNode_elm_builtin,
9701− $elm$core$Dict$Black,
9704− A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
9705− A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
9712−var $elm$core$Dict$moveRedRight = function (dict) {
9713− if (((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) && (dict.e.$ === 'RBNode_elm_builtin')) {
9714− if ((dict.d.d.$ === 'RBNode_elm_builtin') && (dict.d.d.a.$ === 'Red')) {
9726− var llLeft = _v2.d;
9727− var llRight = _v2.e;
9728− var lRight = _v1.e;
9734− var rRight = _v4.e;
9736− $elm$core$Dict$RBNode_elm_builtin,
9737− $elm$core$Dict$Red,
9740− A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, llK, llV, llLeft, llRight),
9742− $elm$core$Dict$RBNode_elm_builtin,
9743− $elm$core$Dict$Black,
9747− A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight)));
9757− var lRight = _v5.e;
9763− var rRight = _v6.e;
9764− if (clr.$ === 'Black') {
9766− $elm$core$Dict$RBNode_elm_builtin,
9767− $elm$core$Dict$Black,
9770− A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
9771− A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
9774− $elm$core$Dict$RBNode_elm_builtin,
9775− $elm$core$Dict$Black,
9778− A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
9779− A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
9786−var $elm$core$Dict$removeHelpPrepEQGT = F7(
9787− function (targetKey, dict, color, key, value, left, right) {
9788− if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) {
9792− var lLeft = left.d;
9793− var lRight = left.e;
9795− $elm$core$Dict$RBNode_elm_builtin,
9800− A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, lRight, right));
9804− if ((right.$ === 'RBNode_elm_builtin') && (right.a.$ === 'Black')) {
9805− if (right.d.$ === 'RBNode_elm_builtin') {
9806− if (right.d.a.$ === 'Black') {
9810− return $elm$core$Dict$moveRedRight(dict);
9817− return $elm$core$Dict$moveRedRight(dict);
9826−var $elm$core$Dict$removeMin = function (dict) {
9827− if ((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) {
9828− var color = dict.a;
9830− var value = dict.c;
9832− var lColor = left.a;
9833− var lLeft = left.d;
9834− var right = dict.e;
9835− if (lColor.$ === 'Black') {
9836− if ((lLeft.$ === 'RBNode_elm_builtin') && (lLeft.a.$ === 'Red')) {
9839− $elm$core$Dict$RBNode_elm_builtin,
9843− $elm$core$Dict$removeMin(left),
9846− var _v4 = $elm$core$Dict$moveRedLeft(dict);
9847− if (_v4.$ === 'RBNode_elm_builtin') {
9848− var nColor = _v4.a;
9850− var nValue = _v4.c;
9852− var nRight = _v4.e;
9854− $elm$core$Dict$balance,
9858− $elm$core$Dict$removeMin(nLeft),
9861− return $elm$core$Dict$RBEmpty_elm_builtin;
9866− $elm$core$Dict$RBNode_elm_builtin,
9870− $elm$core$Dict$removeMin(left),
9874− return $elm$core$Dict$RBEmpty_elm_builtin;
9877−var $elm$core$Dict$removeHelp = F2(
9878− function (targetKey, dict) {
9879− if (dict.$ === 'RBEmpty_elm_builtin') {
9880− return $elm$core$Dict$RBEmpty_elm_builtin;
9882− var color = dict.a;
9884− var value = dict.c;
9886− var right = dict.e;
9887− if (_Utils_cmp(targetKey, key) < 0) {
9888− if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Black')) {
9890− var lLeft = left.d;
9891− if ((lLeft.$ === 'RBNode_elm_builtin') && (lLeft.a.$ === 'Red')) {
9894− $elm$core$Dict$RBNode_elm_builtin,
9898− A2($elm$core$Dict$removeHelp, targetKey, left),
9901− var _v7 = $elm$core$Dict$moveRedLeft(dict);
9902− if (_v7.$ === 'RBNode_elm_builtin') {
9903− var nColor = _v7.a;
9905− var nValue = _v7.c;
9907− var nRight = _v7.e;
9909− $elm$core$Dict$balance,
9913− A2($elm$core$Dict$removeHelp, targetKey, nLeft),
9916− return $elm$core$Dict$RBEmpty_elm_builtin;
9921− $elm$core$Dict$RBNode_elm_builtin,
9925− A2($elm$core$Dict$removeHelp, targetKey, left),
9930− $elm$core$Dict$removeHelpEQGT,
9932− A7($elm$core$Dict$removeHelpPrepEQGT, targetKey, dict, color, key, value, left, right));
9936−var $elm$core$Dict$removeHelpEQGT = F2(
9937− function (targetKey, dict) {
9938− if (dict.$ === 'RBNode_elm_builtin') {
9939− var color = dict.a;
9941− var value = dict.c;
9943− var right = dict.e;
9944− if (_Utils_eq(targetKey, key)) {
9945− var _v1 = $elm$core$Dict$getMin(right);
9946− if (_v1.$ === 'RBNode_elm_builtin') {
9947− var minKey = _v1.b;
9948− var minValue = _v1.c;
9950− $elm$core$Dict$balance,
9955− $elm$core$Dict$removeMin(right));
9957− return $elm$core$Dict$RBEmpty_elm_builtin;
9961− $elm$core$Dict$balance,
9966− A2($elm$core$Dict$removeHelp, targetKey, right));
9969− return $elm$core$Dict$RBEmpty_elm_builtin;
9972−var $elm$core$Dict$remove = F2(
9973− function (key, dict) {
9974− var _v0 = A2($elm$core$Dict$removeHelp, key, dict);
9975− if ((_v0.$ === 'RBNode_elm_builtin') && (_v0.a.$ === 'Red')) {
9981− return A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, k, v, l, r);
9987−var $elm$core$Dict$update = F3(
9988− function (targetKey, alter, dictionary) {
9990− A2($elm$core$Dict$get, targetKey, dictionary));
9991− if (_v0.$ === 'Just') {
9993− return A3($elm$core$Dict$insert, targetKey, value, dictionary);
9995− return A2($elm$core$Dict$remove, targetKey, dictionary);
9998−var $elm$browser$Debugger$Expando$updateIndex = F3(
9999− function (n, func, list) {
10005− return (n <= 0) ? A2(
10006− $elm$core$List$cons,
10009− $elm$core$List$cons,
10011− A3($elm$browser$Debugger$Expando$updateIndex, n - 1, func, xs));
10014−var $elm$browser$Debugger$Expando$update = F2(
10015− function (msg, value) {
10016− switch (value.$) {
10022− var seqType = value.a;
10023− var isClosed = value.b;
10024− var valueList = value.c;
10027− return A3($elm$browser$Debugger$Expando$Sequence, seqType, !isClosed, valueList);
10029− if (msg.a.$ === 'None') {
10031− var index = msg.b;
10032− var subMsg = msg.c;
10034− $elm$browser$Debugger$Expando$Sequence,
10038− $elm$browser$Debugger$Expando$updateIndex,
10040− $elm$browser$Debugger$Expando$update(subMsg),
10048− case 'Dictionary':
10049− var isClosed = value.a;
10050− var keyValuePairs = value.b;
10053− return A2($elm$browser$Debugger$Expando$Dictionary, !isClosed, keyValuePairs);
10055− var redirect = msg.a;
10056− var index = msg.b;
10057− var subMsg = msg.c;
10058− switch (redirect.$) {
10063− $elm$browser$Debugger$Expando$Dictionary,
10066− $elm$browser$Debugger$Expando$updateIndex,
10071− return _Utils_Tuple2(
10072− A2($elm$browser$Debugger$Expando$update, subMsg, k),
10078− $elm$browser$Debugger$Expando$Dictionary,
10081− $elm$browser$Debugger$Expando$updateIndex,
10086− return _Utils_Tuple2(
10088− A2($elm$browser$Debugger$Expando$update, subMsg, v));
10096− var isClosed = value.a;
10097− var valueDict = value.b;
10100− return A2($elm$browser$Debugger$Expando$Record, !isClosed, valueDict);
10104− var field = msg.a;
10105− var subMsg = msg.b;
10107− $elm$browser$Debugger$Expando$Record,
10110− $elm$core$Dict$update,
10112− $elm$browser$Debugger$Expando$updateField(subMsg),
10116− var maybeName = value.a;
10117− var isClosed = value.b;
10118− var valueList = value.c;
10121− return A3($elm$browser$Debugger$Expando$Constructor, maybeName, !isClosed, valueList);
10123− if (msg.a.$ === 'None') {
10125− var index = msg.b;
10126− var subMsg = msg.c;
10128− $elm$browser$Debugger$Expando$Constructor,
10132− $elm$browser$Debugger$Expando$updateIndex,
10134− $elm$browser$Debugger$Expando$update(subMsg),
10144−var $elm$browser$Debugger$Expando$updateField = F2(
10145− function (msg, maybeExpando) {
10146− if (maybeExpando.$ === 'Nothing') {
10147− return maybeExpando;
10149− var expando = maybeExpando.a;
10150− return $elm$core$Maybe$Just(
10151− A2($elm$browser$Debugger$Expando$update, msg, expando));
10154−var $elm$browser$Debugger$Main$Upload = function (a) {
10155− return {$: 'Upload', a: a};
10157−var $elm$browser$Debugger$Main$upload = function (popout) {
10159− $elm$core$Task$perform,
10160− $elm$browser$Debugger$Main$Upload,
10161− _Debugger_upload(popout));
10163−var $elm$browser$Debugger$Overlay$BadMetadata = function (a) {
10164− return {$: 'BadMetadata', a: a};
10166−var $elm$browser$Debugger$Overlay$badMetadata = $elm$browser$Debugger$Overlay$BadMetadata;
10167−var $elm$browser$Debugger$Main$withGoodMetadata = F2(
10168− function (model, func) {
10169− var _v0 = model.metadata;
10170− if (_v0.$ === 'Ok') {
10171− var metadata = _v0.a;
10172− return func(metadata);
10174− var error = _v0.a;
10175− return _Utils_Tuple2(
10179− overlay: $elm$browser$Debugger$Overlay$badMetadata(error)
10181− $elm$core$Platform$Cmd$none);
10184−var $elm$browser$Debugger$Main$wrapUpdate = F3(
10185− function (update, msg, model) {
10190− return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
10192− var userMsg = msg.a;
10193− var userModel = $elm$browser$Debugger$Main$getLatestModel(model.state);
10194− var newHistory = A3($elm$browser$Debugger$History$add, userMsg, userModel, model.history);
10195− var _v1 = A2(update, userMsg, userModel);
10196− var newUserModel = _v1.a;
10197− var userCmds = _v1.b;
10198− var commands = A2($elm$core$Platform$Cmd$map, $elm$browser$Debugger$Main$UserMsg, userCmds);
10199− var _v2 = model.state;
10200− if (_v2.$ === 'Running') {
10201− return _Utils_Tuple2(
10205− expandoModel: A2($elm$browser$Debugger$Expando$merge, newUserModel, model.expandoModel),
10206− expandoMsg: A2($elm$browser$Debugger$Expando$merge, userMsg, model.expandoMsg),
10207− history: newHistory,
10208− state: $elm$browser$Debugger$Main$Running(newUserModel)
10210− $elm$core$Platform$Cmd$batch(
10214− $elm$browser$Debugger$Main$scroll(model.popout)
10217− var index = _v2.a;
10218− var indexModel = _v2.b;
10219− var history = _v2.e;
10220− return _Utils_Tuple2(
10224− history: newHistory,
10225− state: A5($elm$browser$Debugger$Main$Paused, index, indexModel, newUserModel, userMsg, history)
10229− case 'TweakExpandoMsg':
10231− return _Utils_Tuple2(
10235− expandoMsg: A2($elm$browser$Debugger$Expando$update, eMsg, model.expandoMsg)
10237− $elm$core$Platform$Cmd$none);
10238− case 'TweakExpandoModel':
10240− return _Utils_Tuple2(
10244− expandoModel: A2($elm$browser$Debugger$Expando$update, eMsg, model.expandoModel)
10246− $elm$core$Platform$Cmd$none);
10248− var _v3 = model.state;
10249− if (_v3.$ === 'Running') {
10250− return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
10252− var userModel = _v3.c;
10253− var userMsg = _v3.d;
10254− return _Utils_Tuple2(
10258− expandoModel: A2($elm$browser$Debugger$Expando$merge, userModel, model.expandoModel),
10259− expandoMsg: A2($elm$browser$Debugger$Expando$merge, userMsg, model.expandoMsg),
10260− state: $elm$browser$Debugger$Main$Running(userModel)
10262− $elm$browser$Debugger$Main$scroll(model.popout));
10265− var index = msg.a;
10266− return _Utils_Tuple2(
10267− A3($elm$browser$Debugger$Main$jumpUpdate, update, index, model),
10268− $elm$core$Platform$Cmd$none);
10269− case 'SliderJump':
10270− var index = msg.a;
10271− return _Utils_Tuple2(
10272− A3($elm$browser$Debugger$Main$jumpUpdate, update, index, model),
10274− $elm$browser$Debugger$Main$scrollTo,
10275− $elm$browser$Debugger$History$idForMessageIndex(index),
10278− return _Utils_Tuple2(
10281− $elm$core$Task$perform,
10282− $elm$core$Basics$always($elm$browser$Debugger$Main$NoOp),
10283− _Debugger_open(model.popout)));
10285− var _v4 = model.state;
10286− if (_v4.$ === 'Running') {
10287− return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
10290− var history = _v4.e;
10291− var targetIndex = i + 1;
10294− $elm$browser$Debugger$History$size(history)) < 0) {
10295− var $temp$update = update,
10296− $temp$msg = $elm$browser$Debugger$Main$SliderJump(targetIndex),
10297− $temp$model = model;
10298− update = $temp$update;
10300− model = $temp$model;
10301− continue wrapUpdate;
10303− var $temp$update = update,
10304− $temp$msg = $elm$browser$Debugger$Main$Resume,
10305− $temp$model = model;
10306− update = $temp$update;
10308− model = $temp$model;
10309− continue wrapUpdate;
10313− var _v5 = model.state;
10314− if (_v5.$ === 'Running') {
10315− var $temp$update = update,
10316− $temp$msg = $elm$browser$Debugger$Main$Jump(
10317− $elm$browser$Debugger$History$size(model.history) - 1),
10318− $temp$model = model;
10319− update = $temp$update;
10321− model = $temp$model;
10322− continue wrapUpdate;
10324− var index = _v5.a;
10326− var $temp$update = update,
10327− $temp$msg = $elm$browser$Debugger$Main$SliderJump(index - 1),
10328− $temp$model = model;
10329− update = $temp$update;
10331− model = $temp$model;
10332− continue wrapUpdate;
10334− return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
10339− $elm$browser$Debugger$Main$withGoodMetadata,
10342− return _Utils_Tuple2(
10344− $elm$browser$Debugger$Main$upload(model.popout));
10348− $elm$browser$Debugger$Main$withGoodMetadata,
10350− function (metadata) {
10351− return _Utils_Tuple2(
10353− A2($elm$browser$Debugger$Main$download, metadata, model.history));
10356− var jsonString = msg.a;
10358− $elm$browser$Debugger$Main$withGoodMetadata,
10360− function (metadata) {
10361− var _v7 = A2($elm$browser$Debugger$Overlay$assessImport, metadata, jsonString);
10362− if (_v7.$ === 'Err') {
10363− var newOverlay = _v7.a;
10364− return _Utils_Tuple2(
10367− {overlay: newOverlay}),
10368− $elm$core$Platform$Cmd$none);
10370− var rawHistory = _v7.a;
10371− return A3($elm$browser$Debugger$Main$loadNewHistory, rawHistory, update, model);
10374− case 'OverlayMsg':
10375− var overlayMsg = msg.a;
10376− var _v8 = A2($elm$browser$Debugger$Overlay$close, overlayMsg, model.overlay);
10377− if (_v8.$ === 'Nothing') {
10378− return _Utils_Tuple2(
10381− {overlay: $elm$browser$Debugger$Overlay$none}),
10382− $elm$core$Platform$Cmd$none);
10384− var rawHistory = _v8.a;
10385− return A3($elm$browser$Debugger$Main$loadNewHistory, rawHistory, update, model);
10387− case 'SwapLayout':
10388− return _Utils_Tuple2(
10392− layout: $elm$browser$Debugger$Main$swapLayout(model.layout)
10394− $elm$core$Platform$Cmd$none);
10396− return _Utils_Tuple2(
10400− layout: A2($elm$browser$Debugger$Main$setDragStatus, $elm$browser$Debugger$Main$Moving, model.layout)
10402− $elm$core$Platform$Cmd$none);
10405− return _Utils_Tuple2(
10409− layout: A2($elm$browser$Debugger$Main$drag, info, model.layout)
10411− $elm$core$Platform$Cmd$none);
10413− return _Utils_Tuple2(
10417− layout: A2($elm$browser$Debugger$Main$setDragStatus, $elm$browser$Debugger$Main$Static, model.layout)
10419− $elm$core$Platform$Cmd$none);
10423−var $elm$browser$Browser$External = function (a) {
10424− return {$: 'External', a: a};
10426−var $elm$browser$Browser$Internal = function (a) {
10427− return {$: 'Internal', a: a};
10429−var $elm$browser$Browser$Dom$NotFound = function (a) {
10430− return {$: 'NotFound', a: a};
10432−var $elm$url$Url$Http = {$: 'Http'};
10433−var $elm$url$Url$Https = {$: 'Https'};
10434−var $elm$url$Url$Url = F6(
10435− function (protocol, host, port_, path, query, fragment) {
10436− return {fragment: fragment, host: host, path: path, port_: port_, protocol: protocol, query: query};
10438−var $elm$core$String$dropLeft = F2(
10439− function (n, string) {
10440− return (n < 1) ? string : A3(
10441− $elm$core$String$slice,
10443− $elm$core$String$length(string),
10446−var $elm$core$String$indexes = _String_indexes;
10447−var $elm$core$String$isEmpty = function (string) {
10448− return string === '';
10450−var $elm$url$Url$chompBeforePath = F5(
10451− function (protocol, path, params, frag, str) {
10452− if ($elm$core$String$isEmpty(str) || A2($elm$core$String$contains, '@', str)) {
10453− return $elm$core$Maybe$Nothing;
10455− var _v0 = A2($elm$core$String$indexes, ':', str);
10457− return $elm$core$Maybe$Just(
10458− A6($elm$url$Url$Url, protocol, str, $elm$core$Maybe$Nothing, path, params, frag));
10462− var _v1 = $elm$core$String$toInt(
10463− A2($elm$core$String$dropLeft, i + 1, str));
10464− if (_v1.$ === 'Nothing') {
10465− return $elm$core$Maybe$Nothing;
10468− return $elm$core$Maybe$Just(
10472− A2($elm$core$String$left, i, str),
10479− return $elm$core$Maybe$Nothing;
10484−var $elm$url$Url$chompBeforeQuery = F4(
10485− function (protocol, params, frag, str) {
10486− if ($elm$core$String$isEmpty(str)) {
10487− return $elm$core$Maybe$Nothing;
10489− var _v0 = A2($elm$core$String$indexes, '/', str);
10491− return A5($elm$url$Url$chompBeforePath, protocol, '/', params, frag, str);
10495− $elm$url$Url$chompBeforePath,
10497− A2($elm$core$String$dropLeft, i, str),
10500− A2($elm$core$String$left, i, str));
10504−var $elm$url$Url$chompBeforeFragment = F3(
10505− function (protocol, frag, str) {
10506− if ($elm$core$String$isEmpty(str)) {
10507− return $elm$core$Maybe$Nothing;
10509− var _v0 = A2($elm$core$String$indexes, '?', str);
10511− return A4($elm$url$Url$chompBeforeQuery, protocol, $elm$core$Maybe$Nothing, frag, str);
10515− $elm$url$Url$chompBeforeQuery,
10517− $elm$core$Maybe$Just(
10518− A2($elm$core$String$dropLeft, i + 1, str)),
10520− A2($elm$core$String$left, i, str));
10524−var $elm$url$Url$chompAfterProtocol = F2(
10525− function (protocol, str) {
10526− if ($elm$core$String$isEmpty(str)) {
10527− return $elm$core$Maybe$Nothing;
10529− var _v0 = A2($elm$core$String$indexes, '#', str);
10531− return A3($elm$url$Url$chompBeforeFragment, protocol, $elm$core$Maybe$Nothing, str);
10535− $elm$url$Url$chompBeforeFragment,
10537− $elm$core$Maybe$Just(
10538− A2($elm$core$String$dropLeft, i + 1, str)),
10539− A2($elm$core$String$left, i, str));
10543−var $elm$core$String$startsWith = _String_startsWith;
10544−var $elm$url$Url$fromString = function (str) {
10545− return A2($elm$core$String$startsWith, 'http://', str) ? A2(
10546− $elm$url$Url$chompAfterProtocol,
10547− $elm$url$Url$Http,
10548− A2($elm$core$String$dropLeft, 7, str)) : (A2($elm$core$String$startsWith, 'https://', str) ? A2(
10549− $elm$url$Url$chompAfterProtocol,
10550− $elm$url$Url$Https,
10551− A2($elm$core$String$dropLeft, 8, str)) : $elm$core$Maybe$Nothing);
10553−var $elm$core$Basics$never = function (_v0) {
10557− var $temp$_v0 = nvr;
10562−var $elm$browser$Browser$element = _Browser_element;
10563−var $author$project$FFI$bridgeSub = _Platform_incomingPort('bridgeSub', $elm$json$Json$Decode$value);
10564−var $author$project$Bridge$Hello = {$: 'Hello'};
10565−var $elm$json$Json$Decode$andThen = _Json_andThen;
10566−var $elm$json$Json$Decode$lazy = function (thunk) {
10568− $elm$json$Json$Decode$andThen,
10570− $elm$json$Json$Decode$succeed(_Utils_Tuple0));
10572−var $author$project$Bridge$jsonDecSub = $elm$json$Json$Decode$lazy(
10574− return $elm$json$Json$Decode$succeed($author$project$Bridge$Hello);
10576−var $author$project$FFI$getBridge = F2(
10577− function (err, f) {
10578− return $author$project$FFI$bridgeSub(
10580− $elm$core$Basics$composeR,
10581− $elm$json$Json$Decode$decodeValue($author$project$Bridge$jsonDecSub),
10583− if (res.$ === 'Ok') {
10589− $elm$json$Json$Decode$errorToString(e));
10593−var $author$project$Main$init = {email: '', error: $elm$core$Maybe$Nothing, messages: _List_Nil, server: ''};
10594−var $author$project$Bridge$Login = function (a) {
10595− return {$: 'Login', a: a};
10597−var $author$project$FFI$bridgeCmd = _Platform_outgoingPort('bridgeCmd', $elm$core$Basics$identity);
10598−var $author$project$Bridge$jsonEncCmd_Login = function (val) {
10599− return $elm$json$Json$Encode$object(
10604− $elm$json$Json$Encode$string(val.email)),
10607− $elm$json$Json$Encode$string(val.server))
10610−var $author$project$Bridge$jsonEncCmd = function (_v0) {
10612− return $author$project$Bridge$jsonEncCmd_Login(v1);
10614−var $author$project$FFI$sendBridge = function (cmd) {
10615− return $author$project$FFI$bridgeCmd(
10616− $author$project$Bridge$jsonEncCmd(cmd));
10618−var $author$project$Main$update = F2(
10619− function (msg, model) {
10621− case 'RecieveMessage':
10623− return _Utils_Tuple2(
10627− messages: A2($elm$core$List$cons, x, model.messages)
10629− $elm$core$Platform$Cmd$none);
10632− return _Utils_Tuple2(
10636− error: $elm$core$Maybe$Just(err)
10638− $elm$core$Platform$Cmd$none);
10639− case 'UpdateEmail':
10640− var email = msg.a;
10641− return _Utils_Tuple2(
10645− $elm$core$Platform$Cmd$none);
10646− case 'UpdateServer':
10647− var server = msg.a;
10648− return _Utils_Tuple2(
10651− {server: server}),
10652− $elm$core$Platform$Cmd$none);
10654− return _Utils_Tuple2(
10656− $author$project$FFI$sendBridge(
10657− $author$project$Bridge$Login(
10658− {email: model.email, server: model.server})));
10661−var $author$project$Main$Submit = {$: 'Submit'};
10662−var $author$project$Main$UpdateEmail = function (a) {
10663− return {$: 'UpdateEmail', a: a};
10665−var $author$project$Main$UpdateServer = function (a) {
10666− return {$: 'UpdateServer', a: a};
10668−var $elm$html$Html$h1 = _VirtualDom_node('h1');
10669−var $elm$html$Html$h2 = _VirtualDom_node('h2');
10670−var $elm$html$Html$h4 = _VirtualDom_node('h4');
10671−var $author$project$Utils$maybeList = F2(
10673− if (m.$ === 'Just') {
10675− return _List_fromArray(
10683−var $elm$core$List$repeatHelp = F3(
10684− function (result, n, value) {
10690− var $temp$result = A2($elm$core$List$cons, value, result),
10692− $temp$value = value;
10693− result = $temp$result;
10695− value = $temp$value;
10696− continue repeatHelp;
10700−var $elm$core$List$repeat = F2(
10701− function (n, value) {
10702− return A3($elm$core$List$repeatHelp, _List_Nil, n, value);
10704−var $elm$core$List$singleton = function (value) {
10705− return _List_fromArray(
10708−var $elm$html$Html$table = _VirtualDom_node('table');
10709−var $elm$html$Html$tbody = _VirtualDom_node('tbody');
10710−var $elm$html$Html$td = _VirtualDom_node('td');
10711−var $elm$html$Html$tr = _VirtualDom_node('tr');
10712−var $author$project$Main$view = function (model) {
10714− $elm$html$Html$div,
10718− $author$project$Utils$maybeList,
10721− $elm$core$Basics$composeR,
10722− $elm$html$Html$text,
10724− $elm$core$Basics$composeR,
10725− $elm$core$List$singleton,
10726− $elm$html$Html$h2(_List_Nil)))),
10730− $elm$html$Html$h1,
10734− $elm$html$Html$text('HELLO')
10737− $elm$html$Html$ul,
10740− $elm$core$List$map,
10742− $elm$core$Basics$composeR,
10743− $elm$html$Html$text,
10745− $elm$core$Basics$composeR,
10746− $elm$core$List$singleton,
10747− $elm$html$Html$li(_List_Nil))),
10750− $elm$html$Html$h4,
10754− $elm$html$Html$text('Email')
10757− $elm$html$Html$input,
10760− $elm$html$Html$Attributes$type_('text'),
10761− $elm$html$Html$Attributes$value(model.email),
10762− $elm$html$Html$Events$onInput($author$project$Main$UpdateEmail)
10766− $elm$html$Html$h4,
10770− $elm$html$Html$text('Server')
10773− $elm$html$Html$input,
10776− $elm$html$Html$Attributes$type_('text'),
10777− $elm$html$Html$Attributes$value(model.server),
10778− $elm$html$Html$Events$onInput($author$project$Main$UpdateServer)
10782− $elm$html$Html$button,
10785− $elm$html$Html$Events$onClick($author$project$Main$Submit)
10789− $elm$html$Html$text('Submit')
10792− $elm$html$Html$table,
10797− $elm$html$Html$tbody,
10800− $elm$core$List$repeat,
10803− $elm$html$Html$tr,
10808− $elm$html$Html$td,
10812− $elm$html$Html$text('test')
10818−var $author$project$Main$main = $elm$browser$Browser$element(
10820− init: function (_v0) {
10821− return _Utils_Tuple2($author$project$Main$init, $elm$core$Platform$Cmd$none);
10823− subscriptions: function (_v1) {
10825− $author$project$FFI$getBridge,
10826− $author$project$Main$Error,
10827− $elm$core$Basics$always(
10828− $author$project$Main$RecieveMessage('Got it!')));
10830− update: $author$project$Main$update,
10831− view: $author$project$Main$view
10833−_Platform_export({'Main':{'init':$author$project$Main$main(
10834− $elm$json$Json$Decode$succeed(_Utils_Tuple0))({"versions":{"elm":"0.19.1"},"types":{"message":"Main.Msg","aliases":{},"unions":{"Main.Msg":{"args":[],"tags":{"RecieveMessage":["String.String"],"Error":["String.String"],"UpdateEmail":["String.String"],"UpdateServer":["String.String"],"Submit":[]}},"String.String":{"args":[],"tags":{"String":[]}}}}})}});}(this));