diff --git a/wip.js b/wip.js
index df8dede..1c40239 100644
--- a/wip.js
+++ b/wip.js
@@ -5421,6 +5421,1129 @@ Elm.Signal.make = function (_elm) {
,forwardTo: forwardTo
,Mailbox: Mailbox};
};
+Elm.Native.Lazy = {};
+Elm.Native.Lazy.make = function(localRuntime) {
+
+ localRuntime.Native = localRuntime.Native || {};
+ localRuntime.Native.Lazy = localRuntime.Native.Lazy || {};
+ if (localRuntime.Native.Lazy.values) {
+ return localRuntime.Native.Lazy.values;
+ }
+
+ function memoize(thunk) {
+ var value;
+ var isForced = false;
+ return function(tuple0) {
+ if (!isForced) {
+ value = thunk(tuple0);
+ isForced = true;
+ }
+ return value;
+ };
+ }
+
+ return localRuntime.Native.Lazy.values = {
+ memoize: memoize
+ };
+};
+
+Elm.Lazy = Elm.Lazy || {};
+Elm.Lazy.make = function (_elm) {
+ "use strict";
+ _elm.Lazy = _elm.Lazy || {};
+ if (_elm.Lazy.values) return _elm.Lazy.values;
+ var _U = Elm.Native.Utils.make(_elm),
+ $Basics = Elm.Basics.make(_elm),
+ $Debug = Elm.Debug.make(_elm),
+ $List = Elm.List.make(_elm),
+ $Maybe = Elm.Maybe.make(_elm),
+ $Native$Lazy = Elm.Native.Lazy.make(_elm),
+ $Result = Elm.Result.make(_elm),
+ $Signal = Elm.Signal.make(_elm);
+ var _op = {};
+ var force = function (_p0) { var _p1 = _p0;return _p1._0({ctor: "_Tuple0"});};
+ var Lazy = function (a) { return {ctor: "Lazy",_0: a};};
+ var lazy = function (thunk) { return Lazy($Native$Lazy.memoize(thunk));};
+ var map = F2(function (f,a) { return lazy(function (_p2) { var _p3 = _p2;return f(force(a));});});
+ var map2 = F3(function (f,a,b) { return lazy(function (_p4) { var _p5 = _p4;return A2(f,force(a),force(b));});});
+ var map3 = F4(function (f,a,b,c) { return lazy(function (_p6) { var _p7 = _p6;return A3(f,force(a),force(b),force(c));});});
+ var map4 = F5(function (f,a,b,c,d) { return lazy(function (_p8) { var _p9 = _p8;return A4(f,force(a),force(b),force(c),force(d));});});
+ var map5 = F6(function (f,a,b,c,d,e) { return lazy(function (_p10) { var _p11 = _p10;return A5(f,force(a),force(b),force(c),force(d),force(e));});});
+ var apply = F2(function (f,x) { return lazy(function (_p12) { var _p13 = _p12;return A2(force,f,force(x));});});
+ var andThen = F2(function (a,callback) { return lazy(function (_p14) { var _p15 = _p14;return force(callback(force(a)));});});
+ return _elm.Lazy.values = {_op: _op,force: force,lazy: lazy,map: map,map2: map2,map3: map3,map4: map4,map5: map5,apply: apply,andThen: andThen};
+};
+Elm.Native.String = {};
+
+Elm.Native.String.make = function(localRuntime) {
+ localRuntime.Native = localRuntime.Native || {};
+ localRuntime.Native.String = localRuntime.Native.String || {};
+ if (localRuntime.Native.String.values)
+ {
+ return localRuntime.Native.String.values;
+ }
+ if ('values' in Elm.Native.String)
+ {
+ return localRuntime.Native.String.values = Elm.Native.String.values;
+ }
+
+
+ var Char = Elm.Char.make(localRuntime);
+ var List = Elm.Native.List.make(localRuntime);
+ var Maybe = Elm.Maybe.make(localRuntime);
+ var Result = Elm.Result.make(localRuntime);
+ var Utils = Elm.Native.Utils.make(localRuntime);
+
+ function isEmpty(str)
+ {
+ return str.length === 0;
+ }
+ function cons(chr, str)
+ {
+ return chr + str;
+ }
+ function uncons(str)
+ {
+ var hd = str[0];
+ if (hd)
+ {
+ return Maybe.Just(Utils.Tuple2(Utils.chr(hd), str.slice(1)));
+ }
+ return Maybe.Nothing;
+ }
+ function append(a, b)
+ {
+ return a + b;
+ }
+ function concat(strs)
+ {
+ return List.toArray(strs).join('');
+ }
+ function length(str)
+ {
+ return str.length;
+ }
+ function map(f, str)
+ {
+ var out = str.split('');
+ for (var i = out.length; i--; )
+ {
+ out[i] = f(Utils.chr(out[i]));
+ }
+ return out.join('');
+ }
+ function filter(pred, str)
+ {
+ return str.split('').map(Utils.chr).filter(pred).join('');
+ }
+ function reverse(str)
+ {
+ return str.split('').reverse().join('');
+ }
+ function foldl(f, b, str)
+ {
+ var len = str.length;
+ for (var i = 0; i < len; ++i)
+ {
+ b = A2(f, Utils.chr(str[i]), b);
+ }
+ return b;
+ }
+ function foldr(f, b, str)
+ {
+ for (var i = str.length; i--; )
+ {
+ b = A2(f, Utils.chr(str[i]), b);
+ }
+ return b;
+ }
+ function split(sep, str)
+ {
+ return List.fromArray(str.split(sep));
+ }
+ function join(sep, strs)
+ {
+ return List.toArray(strs).join(sep);
+ }
+ function repeat(n, str)
+ {
+ var result = '';
+ while (n > 0)
+ {
+ if (n & 1)
+ {
+ result += str;
+ }
+ n >>= 1, str += str;
+ }
+ return result;
+ }
+ function slice(start, end, str)
+ {
+ return str.slice(start, end);
+ }
+ function left(n, str)
+ {
+ return n < 1 ? '' : str.slice(0, n);
+ }
+ function right(n, str)
+ {
+ return n < 1 ? '' : str.slice(-n);
+ }
+ function dropLeft(n, str)
+ {
+ return n < 1 ? str : str.slice(n);
+ }
+ function dropRight(n, str)
+ {
+ return n < 1 ? str : str.slice(0, -n);
+ }
+ function pad(n, chr, str)
+ {
+ var half = (n - str.length) / 2;
+ return repeat(Math.ceil(half), chr) + str + repeat(half | 0, chr);
+ }
+ function padRight(n, chr, str)
+ {
+ return str + repeat(n - str.length, chr);
+ }
+ function padLeft(n, chr, str)
+ {
+ return repeat(n - str.length, chr) + str;
+ }
+
+ function trim(str)
+ {
+ return str.trim();
+ }
+ function trimLeft(str)
+ {
+ return str.replace(/^\s+/, '');
+ }
+ function trimRight(str)
+ {
+ return str.replace(/\s+$/, '');
+ }
+
+ function words(str)
+ {
+ return List.fromArray(str.trim().split(/\s+/g));
+ }
+ function lines(str)
+ {
+ return List.fromArray(str.split(/\r\n|\r|\n/g));
+ }
+
+ function toUpper(str)
+ {
+ return str.toUpperCase();
+ }
+ function toLower(str)
+ {
+ return str.toLowerCase();
+ }
+
+ function any(pred, str)
+ {
+ for (var i = str.length; i--; )
+ {
+ if (pred(Utils.chr(str[i])))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+ function all(pred, str)
+ {
+ for (var i = str.length; i--; )
+ {
+ if (!pred(Utils.chr(str[i])))
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ function contains(sub, str)
+ {
+ return str.indexOf(sub) > -1;
+ }
+ function startsWith(sub, str)
+ {
+ return str.indexOf(sub) === 0;
+ }
+ function endsWith(sub, str)
+ {
+ return str.length >= sub.length &&
+ str.lastIndexOf(sub) === str.length - sub.length;
+ }
+ function indexes(sub, str)
+ {
+ var subLen = sub.length;
+ var i = 0;
+ var is = [];
+ while ((i = str.indexOf(sub, i)) > -1)
+ {
+ is.push(i);
+ i = i + subLen;
+ }
+ return List.fromArray(is);
+ }
+
+ function toInt(s)
+ {
+ var len = s.length;
+ if (len === 0)
+ {
+ return Result.Err("could not convert string '" + s + "' to an Int" );
+ }
+ var start = 0;
+ if (s[0] === '-')
+ {
+ if (len === 1)
+ {
+ return Result.Err("could not convert string '" + s + "' to an Int" );
+ }
+ start = 1;
+ }
+ for (var i = start; i < len; ++i)
+ {
+ if (!Char.isDigit(s[i]))
+ {
+ return Result.Err("could not convert string '" + s + "' to an Int" );
+ }
+ }
+ return Result.Ok(parseInt(s, 10));
+ }
+
+ function toFloat(s)
+ {
+ var len = s.length;
+ if (len === 0)
+ {
+ return Result.Err("could not convert string '" + s + "' to a Float" );
+ }
+ var start = 0;
+ if (s[0] === '-')
+ {
+ if (len === 1)
+ {
+ return Result.Err("could not convert string '" + s + "' to a Float" );
+ }
+ start = 1;
+ }
+ var dotCount = 0;
+ for (var i = start; i < len; ++i)
+ {
+ if (Char.isDigit(s[i]))
+ {
+ continue;
+ }
+ if (s[i] === '.')
+ {
+ dotCount += 1;
+ if (dotCount <= 1)
+ {
+ continue;
+ }
+ }
+ return Result.Err("could not convert string '" + s + "' to a Float" );
+ }
+ return Result.Ok(parseFloat(s));
+ }
+
+ function toList(str)
+ {
+ return List.fromArray(str.split('').map(Utils.chr));
+ }
+ function fromList(chars)
+ {
+ return List.toArray(chars).join('');
+ }
+
+ return Elm.Native.String.values = {
+ isEmpty: isEmpty,
+ cons: F2(cons),
+ uncons: uncons,
+ append: F2(append),
+ concat: concat,
+ length: length,
+ map: F2(map),
+ filter: F2(filter),
+ reverse: reverse,
+ foldl: F3(foldl),
+ foldr: F3(foldr),
+
+ split: F2(split),
+ join: F2(join),
+ repeat: F2(repeat),
+
+ slice: F3(slice),
+ left: F2(left),
+ right: F2(right),
+ dropLeft: F2(dropLeft),
+ dropRight: F2(dropRight),
+
+ pad: F3(pad),
+ padLeft: F3(padLeft),
+ padRight: F3(padRight),
+
+ trim: trim,
+ trimLeft: trimLeft,
+ trimRight: trimRight,
+
+ words: words,
+ lines: lines,
+
+ toUpper: toUpper,
+ toLower: toLower,
+
+ any: F2(any),
+ all: F2(all),
+
+ contains: F2(contains),
+ startsWith: F2(startsWith),
+ endsWith: F2(endsWith),
+ indexes: F2(indexes),
+
+ toInt: toInt,
+ toFloat: toFloat,
+ toList: toList,
+ fromList: fromList
+ };
+};
+
+Elm.Native.Char = {};
+Elm.Native.Char.make = function(localRuntime) {
+ localRuntime.Native = localRuntime.Native || {};
+ localRuntime.Native.Char = localRuntime.Native.Char || {};
+ if (localRuntime.Native.Char.values)
+ {
+ return localRuntime.Native.Char.values;
+ }
+
+ var Utils = Elm.Native.Utils.make(localRuntime);
+
+ return localRuntime.Native.Char.values = {
+ fromCode: function(c) { return Utils.chr(String.fromCharCode(c)); },
+ toCode: function(c) { return c.charCodeAt(0); },
+ toUpper: function(c) { return Utils.chr(c.toUpperCase()); },
+ toLower: function(c) { return Utils.chr(c.toLowerCase()); },
+ toLocaleUpper: function(c) { return Utils.chr(c.toLocaleUpperCase()); },
+ toLocaleLower: function(c) { return Utils.chr(c.toLocaleLowerCase()); }
+ };
+};
+
+Elm.Char = Elm.Char || {};
+Elm.Char.make = function (_elm) {
+ "use strict";
+ _elm.Char = _elm.Char || {};
+ if (_elm.Char.values) return _elm.Char.values;
+ var _U = Elm.Native.Utils.make(_elm),$Basics = Elm.Basics.make(_elm),$Native$Char = Elm.Native.Char.make(_elm);
+ var _op = {};
+ var fromCode = $Native$Char.fromCode;
+ var toCode = $Native$Char.toCode;
+ var toLocaleLower = $Native$Char.toLocaleLower;
+ var toLocaleUpper = $Native$Char.toLocaleUpper;
+ var toLower = $Native$Char.toLower;
+ var toUpper = $Native$Char.toUpper;
+ var isBetween = F3(function (low,high,$char) { var code = toCode($char);return _U.cmp(code,toCode(low)) > -1 && _U.cmp(code,toCode(high)) < 1;});
+ var isUpper = A2(isBetween,_U.chr("A"),_U.chr("Z"));
+ var isLower = A2(isBetween,_U.chr("a"),_U.chr("z"));
+ var isDigit = A2(isBetween,_U.chr("0"),_U.chr("9"));
+ var isOctDigit = A2(isBetween,_U.chr("0"),_U.chr("7"));
+ var isHexDigit = function ($char) {
+ return isDigit($char) || (A3(isBetween,_U.chr("a"),_U.chr("f"),$char) || A3(isBetween,_U.chr("A"),_U.chr("F"),$char));
+ };
+ return _elm.Char.values = {_op: _op
+ ,isUpper: isUpper
+ ,isLower: isLower
+ ,isDigit: isDigit
+ ,isOctDigit: isOctDigit
+ ,isHexDigit: isHexDigit
+ ,toUpper: toUpper
+ ,toLower: toLower
+ ,toLocaleUpper: toLocaleUpper
+ ,toLocaleLower: toLocaleLower
+ ,toCode: toCode
+ ,fromCode: fromCode};
+};
+Elm.String = Elm.String || {};
+Elm.String.make = function (_elm) {
+ "use strict";
+ _elm.String = _elm.String || {};
+ if (_elm.String.values) return _elm.String.values;
+ var _U = Elm.Native.Utils.make(_elm),$Maybe = Elm.Maybe.make(_elm),$Native$String = Elm.Native.String.make(_elm),$Result = Elm.Result.make(_elm);
+ var _op = {};
+ var fromList = $Native$String.fromList;
+ var toList = $Native$String.toList;
+ var toFloat = $Native$String.toFloat;
+ var toInt = $Native$String.toInt;
+ var indices = $Native$String.indexes;
+ var indexes = $Native$String.indexes;
+ var endsWith = $Native$String.endsWith;
+ var startsWith = $Native$String.startsWith;
+ var contains = $Native$String.contains;
+ var all = $Native$String.all;
+ var any = $Native$String.any;
+ var toLower = $Native$String.toLower;
+ var toUpper = $Native$String.toUpper;
+ var lines = $Native$String.lines;
+ var words = $Native$String.words;
+ var trimRight = $Native$String.trimRight;
+ var trimLeft = $Native$String.trimLeft;
+ var trim = $Native$String.trim;
+ var padRight = $Native$String.padRight;
+ var padLeft = $Native$String.padLeft;
+ var pad = $Native$String.pad;
+ var dropRight = $Native$String.dropRight;
+ var dropLeft = $Native$String.dropLeft;
+ var right = $Native$String.right;
+ var left = $Native$String.left;
+ var slice = $Native$String.slice;
+ var repeat = $Native$String.repeat;
+ var join = $Native$String.join;
+ var split = $Native$String.split;
+ var foldr = $Native$String.foldr;
+ var foldl = $Native$String.foldl;
+ var reverse = $Native$String.reverse;
+ var filter = $Native$String.filter;
+ var map = $Native$String.map;
+ var length = $Native$String.length;
+ var concat = $Native$String.concat;
+ var append = $Native$String.append;
+ var uncons = $Native$String.uncons;
+ var cons = $Native$String.cons;
+ var fromChar = function ($char) { return A2(cons,$char,"");};
+ var isEmpty = $Native$String.isEmpty;
+ return _elm.String.values = {_op: _op
+ ,isEmpty: isEmpty
+ ,length: length
+ ,reverse: reverse
+ ,repeat: repeat
+ ,cons: cons
+ ,uncons: uncons
+ ,fromChar: fromChar
+ ,append: append
+ ,concat: concat
+ ,split: split
+ ,join: join
+ ,words: words
+ ,lines: lines
+ ,slice: slice
+ ,left: left
+ ,right: right
+ ,dropLeft: dropLeft
+ ,dropRight: dropRight
+ ,contains: contains
+ ,startsWith: startsWith
+ ,endsWith: endsWith
+ ,indexes: indexes
+ ,indices: indices
+ ,toInt: toInt
+ ,toFloat: toFloat
+ ,toList: toList
+ ,fromList: fromList
+ ,toUpper: toUpper
+ ,toLower: toLower
+ ,pad: pad
+ ,padLeft: padLeft
+ ,padRight: padRight
+ ,trim: trim
+ ,trimLeft: trimLeft
+ ,trimRight: trimRight
+ ,map: map
+ ,filter: filter
+ ,foldl: foldl
+ ,foldr: foldr
+ ,any: any
+ ,all: all};
+};
+Elm.Native.Regex = {};
+Elm.Native.Regex.make = function(localRuntime) {
+ localRuntime.Native = localRuntime.Native || {};
+ localRuntime.Native.Regex = localRuntime.Native.Regex || {};
+ if (localRuntime.Native.Regex.values)
+ {
+ return localRuntime.Native.Regex.values;
+ }
+ if ('values' in Elm.Native.Regex)
+ {
+ return localRuntime.Native.Regex.values = Elm.Native.Regex.values;
+ }
+
+ var List = Elm.Native.List.make(localRuntime);
+ var Maybe = Elm.Maybe.make(localRuntime);
+
+ function escape(str)
+ {
+ return str.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
+ }
+ function caseInsensitive(re)
+ {
+ return new RegExp(re.source, 'gi');
+ }
+ function regex(raw)
+ {
+ return new RegExp(raw, 'g');
+ }
+
+ function contains(re, string)
+ {
+ return string.match(re) !== null;
+ }
+
+ function find(n, re, str)
+ {
+ n = n.ctor === 'All' ? Infinity : n._0;
+ var out = [];
+ var number = 0;
+ var string = str;
+ var lastIndex = re.lastIndex;
+ var prevLastIndex = -1;
+ var result;
+ while (number++ < n && (result = re.exec(string)))
+ {
+ if (prevLastIndex === re.lastIndex) break;
+ var i = result.length - 1;
+ var subs = new Array(i);
+ while (i > 0)
+ {
+ var submatch = result[i];
+ subs[--i] = submatch === undefined
+ ? Maybe.Nothing
+ : Maybe.Just(submatch);
+ }
+ out.push({
+ match: result[0],
+ submatches: List.fromArray(subs),
+ index: result.index,
+ number: number
+ });
+ prevLastIndex = re.lastIndex;
+ }
+ re.lastIndex = lastIndex;
+ return List.fromArray(out);
+ }
+
+ function replace(n, re, replacer, string)
+ {
+ n = n.ctor === 'All' ? Infinity : n._0;
+ var count = 0;
+ function jsReplacer(match)
+ {
+ if (count++ >= n)
+ {
+ return match;
+ }
+ var i = arguments.length - 3;
+ var submatches = new Array(i);
+ while (i > 0)
+ {
+ var submatch = arguments[i];
+ submatches[--i] = submatch === undefined
+ ? Maybe.Nothing
+ : Maybe.Just(submatch);
+ }
+ return replacer({
+ match: match,
+ submatches: List.fromArray(submatches),
+ index: arguments[i - 1],
+ number: count
+ });
+ }
+ return string.replace(re, jsReplacer);
+ }
+
+ function split(n, re, str)
+ {
+ n = n.ctor === 'All' ? Infinity : n._0;
+ if (n === Infinity)
+ {
+ return List.fromArray(str.split(re));
+ }
+ var string = str;
+ var result;
+ var out = [];
+ var start = re.lastIndex;
+ while (n--)
+ {
+ if (!(result = re.exec(string))) break;
+ out.push(string.slice(start, result.index));
+ start = re.lastIndex;
+ }
+ out.push(string.slice(start));
+ return List.fromArray(out);
+ }
+
+ return Elm.Native.Regex.values = {
+ regex: regex,
+ caseInsensitive: caseInsensitive,
+ escape: escape,
+
+ contains: F2(contains),
+ find: F3(find),
+ replace: F4(replace),
+ split: F3(split)
+ };
+};
+
+Elm.Regex = Elm.Regex || {};
+Elm.Regex.make = function (_elm) {
+ "use strict";
+ _elm.Regex = _elm.Regex || {};
+ if (_elm.Regex.values) return _elm.Regex.values;
+ var _U = Elm.Native.Utils.make(_elm),$Maybe = Elm.Maybe.make(_elm),$Native$Regex = Elm.Native.Regex.make(_elm);
+ var _op = {};
+ var split = $Native$Regex.split;
+ var replace = $Native$Regex.replace;
+ var find = $Native$Regex.find;
+ var AtMost = function (a) { return {ctor: "AtMost",_0: a};};
+ var All = {ctor: "All"};
+ var Match = F4(function (a,b,c,d) { return {match: a,submatches: b,index: c,number: d};});
+ var contains = $Native$Regex.contains;
+ var caseInsensitive = $Native$Regex.caseInsensitive;
+ var regex = $Native$Regex.regex;
+ var escape = $Native$Regex.escape;
+ var Regex = {ctor: "Regex"};
+ return _elm.Regex.values = {_op: _op
+ ,regex: regex
+ ,escape: escape
+ ,caseInsensitive: caseInsensitive
+ ,contains: contains
+ ,find: find
+ ,replace: replace
+ ,split: split
+ ,Match: Match
+ ,All: All
+ ,AtMost: AtMost};
+};
+Elm.Combine = Elm.Combine || {};
+Elm.Combine.make = function (_elm) {
+ "use strict";
+ _elm.Combine = _elm.Combine || {};
+ if (_elm.Combine.values) return _elm.Combine.values;
+ var _U = Elm.Native.Utils.make(_elm),
+ $Basics = Elm.Basics.make(_elm),
+ $Debug = Elm.Debug.make(_elm),
+ $Lazy = Elm.Lazy.make(_elm),
+ $List = Elm.List.make(_elm),
+ $Maybe = Elm.Maybe.make(_elm),
+ $Regex = Elm.Regex.make(_elm),
+ $Result = Elm.Result.make(_elm),
+ $Signal = Elm.Signal.make(_elm),
+ $String = Elm.String.make(_elm);
+ var _op = {};
+ var app = function (p) { var _p0 = p;if (_p0.ctor === "Parser") { return _p0._0;} else { return $Lazy.force(_p0._0);}};
+ var parse = F2(function (p,input) { return A2(app,p,{input: input,position: 0});});
+ var RecursiveParser = function (a) { return {ctor: "RecursiveParser",_0: a};};
+ var rec = function (t) { return RecursiveParser($Lazy.lazy(function (_p1) { var _p2 = _p1;return app(t({ctor: "_Tuple0"}));}));};
+ var Parser = function (a) { return {ctor: "Parser",_0: a};};
+ var primitive = Parser;
+ var bimap = F3(function (fok,ferr,p) {
+ return Parser(function (cx) {
+ var _p3 = A2(app,p,cx);
+ if (_p3._0.ctor === "Ok") {
+ return {ctor: "_Tuple2",_0: $Result.Ok(fok(_p3._0._0)),_1: _p3._1};
+ } else {
+ return {ctor: "_Tuple2",_0: $Result.Err(ferr(_p3._0._0)),_1: _p3._1};
+ }
+ });
+ });
+ var map = F2(function (f,p) { return A3(bimap,f,$Basics.identity,p);});
+ var mapError = bimap($Basics.identity);
+ var andThen = F2(function (p,f) {
+ return Parser(function (cx) {
+ var _p4 = A2(app,p,cx);
+ if (_p4._0.ctor === "Ok") {
+ return A2(app,f(_p4._0._0),_p4._1);
+ } else {
+ return {ctor: "_Tuple2",_0: $Result.Err(_p4._0._0),_1: _p4._1};
+ }
+ });
+ });
+ var sequence = function (ps) {
+ var accumulate = F3(function (acc,ps,cx) {
+ accumulate: while (true) {
+ var _p5 = ps;
+ if (_p5.ctor === "[]") {
+ return {ctor: "_Tuple2",_0: $Result.Ok($List.reverse(acc)),_1: cx};
+ } else {
+ var _p6 = A2(app,_p5._0,cx);
+ if (_p6._0.ctor === "Ok") {
+ var _v6 = A2($List._op["::"],_p6._0._0,acc),_v7 = _p5._1,_v8 = _p6._1;
+ acc = _v6;
+ ps = _v7;
+ cx = _v8;
+ continue accumulate;
+ } else {
+ return {ctor: "_Tuple2",_0: $Result.Err(_p6._0._0),_1: _p6._1};
+ }
+ }
+ }
+ });
+ return Parser(function (cx) { return A3(accumulate,_U.list([]),ps,cx);});
+ };
+ var fail = function (ms) { return Parser(function (cx) { return {ctor: "_Tuple2",_0: $Result.Err(ms),_1: cx};});};
+ var succeed = function (r) { return Parser(function (cx) { return {ctor: "_Tuple2",_0: $Result.Ok(r),_1: cx};});};
+ var andMap = F2(function (lp,rp) { return A2(andThen,lp,function (f) { return A2(andThen,rp,function (x) { return succeed(f(x));});});});
+ var between = F3(function (lp,rp,p) {
+ return A2(andMap,A2(andMap,A2(map,$Basics.flip(function (_p7) { return $Basics.always($Basics.always(_p7));}),lp),p),rp);
+ });
+ var skip = function (p) { return A2(andThen,p,$Basics.always(succeed({ctor: "_Tuple0"})));};
+ var count = F2(function (n,p) {
+ var accumulate = F2(function (x,acc) {
+ return _U.cmp(x,0) < 1 ? succeed($List.reverse(acc)) : A2(andThen,p,function (res) { return A2(accumulate,x - 1,A2($List._op["::"],res,acc));});
+ });
+ return A2(accumulate,n,_U.list([]));
+ });
+ var string = function (s) {
+ return Parser(function (cx) {
+ if (A2($String.startsWith,s,cx.input)) {
+ var len = $String.length(s);
+ var rem = A2($String.dropLeft,len,cx.input);
+ var pos = cx.position + len;
+ return {ctor: "_Tuple2",_0: $Result.Ok(s),_1: _U.update(cx,{input: rem,position: pos})};
+ } else return {ctor: "_Tuple2",_0: $Result.Err(_U.list([A2($Basics._op["++"],"expected ",$Basics.toString(s))])),_1: cx};
+ });
+ };
+ var parens = A2(between,string("("),string(")"));
+ var braces = A2(between,string("{"),string("}"));
+ var brackets = A2(between,string("["),string("]"));
+ var regex = function (pattern) {
+ var pattern$ = A2($String.startsWith,"^",pattern) ? pattern : A2($Basics._op["++"],"^",pattern);
+ return Parser(function (cx) {
+ var _p8 = A3($Regex.find,$Regex.AtMost(1),$Regex.regex(pattern$),cx.input);
+ if (_p8.ctor === "::" && _p8._1.ctor === "[]") {
+ var _p9 = _p8._0;
+ var len = $String.length(_p9.match);
+ var rem = A2($String.dropLeft,len,cx.input);
+ var pos = cx.position + len;
+ return {ctor: "_Tuple2",_0: $Result.Ok(_p9.match),_1: _U.update(cx,{input: rem,position: pos})};
+ } else {
+ return {ctor: "_Tuple2"
+ ,_0: $Result.Err(_U.list([A2($Basics._op["++"],"expected input matching Regexp /",A2($Basics._op["++"],pattern$,"/"))]))
+ ,_1: cx};
+ }
+ });
+ };
+ var $while = function (pred) {
+ var accumulate = F2(function (acc,cx) {
+ accumulate: while (true) {
+ var _p10 = $String.uncons(cx.input);
+ if (_p10.ctor === "Just") {
+ var _p11 = _p10._0._0;
+ if (pred(_p11)) {
+ var pos = cx.position + 1;
+ var c = A2($String.cons,_p11,"");
+ var _v11 = A2($Basics._op["++"],acc,c),_v12 = _U.update(cx,{input: _p10._0._1,position: pos});
+ acc = _v11;
+ cx = _v12;
+ continue accumulate;
+ } else return {ctor: "_Tuple2",_0: acc,_1: cx};
+ } else {
+ return {ctor: "_Tuple2",_0: acc,_1: cx};
+ }
+ }
+ });
+ return Parser(function (cx) {
+ var _p12 = A2(accumulate,"",cx);
+ var res = _p12._0;
+ var cx$ = _p12._1;
+ return {ctor: "_Tuple2",_0: $Result.Ok(res),_1: cx$};
+ });
+ };
+ var end = Parser(function (cx) {
+ return _U.eq(cx.input,"") ? {ctor: "_Tuple2",_0: $Result.Ok({ctor: "_Tuple0"}),_1: cx} : {ctor: "_Tuple2"
+ ,_0: $Result.Err(_U.list(["expected end of input"]))
+ ,_1: cx};
+ });
+ var or = F2(function (lp,rp) {
+ return Parser(function (cx) {
+ var res = A2(app,lp,cx);
+ var _p13 = res;
+ if (_p13._0.ctor === "Ok") {
+ return res;
+ } else {
+ var res$ = A2(app,rp,cx);
+ var _p14 = res$;
+ if (_p14._0.ctor === "Ok") {
+ return res$;
+ } else {
+ return {ctor: "_Tuple2",_0: $Result.Err(A2($Basics._op["++"],_p13._0._0,_p14._0._0)),_1: cx};
+ }
+ }
+ });
+ });
+ var choice = function (xs) { return A3($List.foldr,or,fail(_U.list([])),xs);};
+ var optional = F2(function (res,p) { return A2(or,p,succeed(res));});
+ var chainl = F2(function (p,op) {
+ var accumulate = function (x) {
+ return A2(or,A2(andThen,op,function (f) { return A2(andThen,p,function (y) { return accumulate(A2(f,x,y));});}),succeed(x));
+ };
+ return A2(andThen,p,accumulate);
+ });
+ var chainr = F2(function (p,op) {
+ var accumulate = function (x) {
+ return A2(or,A2(andThen,op,function (f) { return A2(andThen,A2(andThen,p,accumulate),function (y) { return succeed(A2(f,x,y));});}),succeed(x));
+ };
+ return A2(andThen,p,accumulate);
+ });
+ var maybe = function (p) {
+ return Parser(function (cx) {
+ var _p15 = A2(app,p,cx);
+ if (_p15.ctor === "_Tuple2" && _p15._0.ctor === "Ok") {
+ return {ctor: "_Tuple2",_0: $Result.Ok($Maybe.Just(_p15._0._0)),_1: _p15._1};
+ } else {
+ return {ctor: "_Tuple2",_0: $Result.Ok($Maybe.Nothing),_1: cx};
+ }
+ });
+ };
+ var many = function (p) {
+ var accumulate = F2(function (acc,cx) {
+ accumulate: while (true) {
+ var _p16 = A2(app,p,cx);
+ if (_p16.ctor === "_Tuple2" && _p16._0.ctor === "Ok") {
+ var _p17 = _p16._1;
+ if (_U.eq(cx,_p17)) return {ctor: "_Tuple2",_0: $List.reverse(acc),_1: cx}; else {
+ var _v17 = A2($List._op["::"],_p16._0._0,acc),_v18 = _p17;
+ acc = _v17;
+ cx = _v18;
+ continue accumulate;
+ }
+ } else {
+ return {ctor: "_Tuple2",_0: $List.reverse(acc),_1: cx};
+ }
+ }
+ });
+ return Parser(function (cx) {
+ var _p18 = A2(accumulate,_U.list([]),cx);
+ var res = _p18._0;
+ var cx$ = _p18._1;
+ return {ctor: "_Tuple2",_0: $Result.Ok(res),_1: cx$};
+ });
+ };
+ var many1 = function (p) { return A2(andMap,A2(map,F2(function (x,y) { return A2($List._op["::"],x,y);}),p),many(p));};
+ var skipMany1 = function (p) { return A2(andThen,many1(skip(p)),$Basics.always(succeed({ctor: "_Tuple0"})));};
+ var sepBy1 = F2(function (sep,p) {
+ return A2(andMap,A2(map,F2(function (x,y) { return A2($List._op["::"],x,y);}),p),many(A2(andMap,A2(map,$Basics.flip($Basics.always),sep),p)));
+ });
+ var sepBy = F2(function (sep,p) { return A2(or,A2(sepBy1,sep,p),succeed(_U.list([])));});
+ var sepEndBy1 = F2(function (sep,p) { return A2(andMap,A2(map,$Basics.always,A2(sepBy1,sep,p)),maybe(sep));});
+ var sepEndBy = F2(function (sep,p) { return A2(or,A2(sepEndBy1,sep,p),succeed(_U.list([])));});
+ var skipMany = function (p) { return A2(andThen,many(skip(p)),$Basics.always(succeed({ctor: "_Tuple0"})));};
+ var manyTill = F2(function (p,end) {
+ var accumulate = F2(function (acc,cx) {
+ accumulate: while (true) {
+ var _p19 = A2(app,end,cx);
+ if (_p19._0.ctor === "Ok") {
+ return {ctor: "_Tuple2",_0: $Result.Ok($List.reverse(acc)),_1: _p19._1};
+ } else {
+ var _p20 = A2(app,p,cx);
+ if (_p20.ctor === "_Tuple2" && _p20._0.ctor === "Ok") {
+ var _v21 = A2($List._op["::"],_p20._0._0,acc),_v22 = _p20._1;
+ acc = _v21;
+ cx = _v22;
+ continue accumulate;
+ } else {
+ return {ctor: "_Tuple2",_0: $Result.Err(_p19._0._0),_1: _p19._1};
+ }
+ }
+ }
+ });
+ return Parser(accumulate(_U.list([])));
+ });
+ var Context = F2(function (a,b) { return {input: a,position: b};});
+ return _elm.Combine.values = {_op: _op
+ ,primitive: primitive
+ ,parse: parse
+ ,app: app
+ ,rec: rec
+ ,bimap: bimap
+ ,map: map
+ ,mapError: mapError
+ ,andThen: andThen
+ ,andMap: andMap
+ ,sequence: sequence
+ ,fail: fail
+ ,succeed: succeed
+ ,string: string
+ ,regex: regex
+ ,$while: $while
+ ,end: end
+ ,or: or
+ ,choice: choice
+ ,optional: optional
+ ,maybe: maybe
+ ,many: many
+ ,many1: many1
+ ,manyTill: manyTill
+ ,sepBy: sepBy
+ ,sepBy1: sepBy1
+ ,sepEndBy: sepEndBy
+ ,sepEndBy1: sepEndBy1
+ ,skip: skip
+ ,skipMany: skipMany
+ ,skipMany1: skipMany1
+ ,chainl: chainl
+ ,chainr: chainr
+ ,count: count
+ ,between: between
+ ,parens: parens
+ ,braces: braces
+ ,brackets: brackets
+ ,Context: Context};
+};
+Elm.Combine = Elm.Combine || {};
+Elm.Combine.Infix = Elm.Combine.Infix || {};
+Elm.Combine.Infix.make = function (_elm) {
+ "use strict";
+ _elm.Combine = _elm.Combine || {};
+ _elm.Combine.Infix = _elm.Combine.Infix || {};
+ if (_elm.Combine.Infix.values) return _elm.Combine.Infix.values;
+ var _U = Elm.Native.Utils.make(_elm),
+ $Basics = Elm.Basics.make(_elm),
+ $Combine = Elm.Combine.make(_elm),
+ $Debug = Elm.Debug.make(_elm),
+ $List = Elm.List.make(_elm),
+ $Maybe = Elm.Maybe.make(_elm),
+ $Result = Elm.Result.make(_elm),
+ $Signal = Elm.Signal.make(_elm);
+ var _op = {};
+ _op["<|>"] = $Combine.or;
+ _op["*>"] = F2(function (lp,rp) { return A2($Combine.andMap,A2($Combine.map,$Basics.flip($Basics.always),lp),rp);});
+ _op["<*"] = F2(function (lp,rp) { return A2($Combine.andMap,A2($Combine.map,$Basics.always,lp),rp);});
+ _op[">"] = F2(function (p,m) { return A2($Combine.mapError,function (_p0) { return _U.list([m]);},p);});
+ _op["<$"] = function (res) {
+ return $Combine.map(function (_p1) { return res;});
+ };
+ _op["<*>"] = $Combine.andMap;
+ _op["<$>"] = $Combine.map;
+ return _elm.Combine.Infix.values = {_op: _op};
+};
+Elm.Combine = Elm.Combine || {};
+Elm.Combine.Char = Elm.Combine.Char || {};
+Elm.Combine.Char.make = function (_elm) {
+ "use strict";
+ _elm.Combine = _elm.Combine || {};
+ _elm.Combine.Char = _elm.Combine.Char || {};
+ if (_elm.Combine.Char.values) return _elm.Combine.Char.values;
+ var _U = Elm.Native.Utils.make(_elm),
+ $Basics = Elm.Basics.make(_elm),
+ $Char = Elm.Char.make(_elm),
+ $Combine = Elm.Combine.make(_elm),
+ $Combine$Infix = Elm.Combine.Infix.make(_elm),
+ $Debug = Elm.Debug.make(_elm),
+ $List = Elm.List.make(_elm),
+ $Maybe = Elm.Maybe.make(_elm),
+ $Result = Elm.Result.make(_elm),
+ $Signal = Elm.Signal.make(_elm),
+ $String = Elm.String.make(_elm);
+ var _op = {};
+ var crlf = A2($Combine$Infix._op[">"],A2($Combine$Infix._op["<$"],_U.chr("\n"),$Combine.regex("\r\n")),"expected crlf");
+ var satisfy = function (pred) {
+ return $Combine.primitive(function (cx) {
+ var message = "could not satisfy predicate";
+ var _p0 = $String.uncons(cx.input);
+ if (_p0.ctor === "Just") {
+ var _p1 = _p0._0._0;
+ return pred(_p1) ? {ctor: "_Tuple2",_0: $Result.Ok(_p1),_1: _U.update(cx,{input: _p0._0._1,position: cx.position + 1})} : {ctor: "_Tuple2"
+ ,_0: $Result.Err(_U.list([message]))
+ ,_1: cx};
+ } else {
+ return {ctor: "_Tuple2",_0: $Result.Err(_U.list([message])),_1: cx};
+ }
+ });
+ };
+ var $char = function (c) {
+ return A2($Combine$Infix._op[">"],satisfy(F2(function (x,y) { return _U.eq(x,y);})(c)),A2($Basics._op["++"],"expected ",$Basics.toString(c)));
+ };
+ var anyChar = A2($Combine$Infix._op[">"],satisfy($Basics.always(true)),"expected any character");
+ var oneOf = function (cs) {
+ return A2($Combine$Infix._op[">"],satisfy(A2($Basics.flip,$List.member,cs)),A2($Basics._op["++"],"expected one of ",$Basics.toString(cs)));
+ };
+ var noneOf = function (cs) {
+ return A2($Combine$Infix._op[">"],
+ satisfy(function (_p2) { return $Basics.not(A3($Basics.flip,$List.member,cs,_p2));}),
+ A2($Basics._op["++"],"expected none of ",$Basics.toString(cs)));
+ };
+ var space = A2($Combine$Infix._op[">"],satisfy(F2(function (x,y) { return _U.eq(x,y);})(_U.chr(" "))),"expected space");
+ var tab = A2($Combine$Infix._op[">"],satisfy(F2(function (x,y) { return _U.eq(x,y);})(_U.chr("\t"))),"expected tab");
+ var newline = A2($Combine$Infix._op[">"],satisfy(F2(function (x,y) { return _U.eq(x,y);})(_U.chr("\n"))),"expected newline");
+ var eol = A2($Combine$Infix._op["<|>"],newline,crlf);
+ var lower = A2($Combine$Infix._op[">"],satisfy($Char.isLower),"expected a lowercase character");
+ var upper = A2($Combine$Infix._op[">"],satisfy($Char.isUpper),"expected an uppercase character");
+ var digit = A2($Combine$Infix._op[">"],satisfy($Char.isDigit),"expected a digit");
+ var octDigit = A2($Combine$Infix._op[">"],satisfy($Char.isOctDigit),"expected an octal digit");
+ var hexDigit = A2($Combine$Infix._op[">"],satisfy($Char.isHexDigit),"expected a hexadecimal digit");
+ return _elm.Combine.Char.values = {_op: _op
+ ,satisfy: satisfy
+ ,$char: $char
+ ,anyChar: anyChar
+ ,oneOf: oneOf
+ ,noneOf: noneOf
+ ,space: space
+ ,tab: tab
+ ,newline: newline
+ ,crlf: crlf
+ ,eol: eol
+ ,lower: lower
+ ,upper: upper
+ ,digit: digit
+ ,octDigit: octDigit
+ ,hexDigit: hexDigit};
+};
+Elm.Combine = Elm.Combine || {};
+Elm.Combine.Num = Elm.Combine.Num || {};
+Elm.Combine.Num.make = function (_elm) {
+ "use strict";
+ _elm.Combine = _elm.Combine || {};
+ _elm.Combine.Num = _elm.Combine.Num || {};
+ if (_elm.Combine.Num.values) return _elm.Combine.Num.values;
+ var _U = Elm.Native.Utils.make(_elm),
+ $Basics = Elm.Basics.make(_elm),
+ $Char = Elm.Char.make(_elm),
+ $Combine = Elm.Combine.make(_elm),
+ $Combine$Char = Elm.Combine.Char.make(_elm),
+ $Combine$Infix = Elm.Combine.Infix.make(_elm),
+ $Debug = Elm.Debug.make(_elm),
+ $List = Elm.List.make(_elm),
+ $Maybe = Elm.Maybe.make(_elm),
+ $Result = Elm.Result.make(_elm),
+ $Signal = Elm.Signal.make(_elm),
+ $String = Elm.String.make(_elm);
+ var _op = {};
+ var digit = function () {
+ var toDigit = function (c) { return $Char.toCode(c) - $Char.toCode(_U.chr("0"));};
+ return A2($Combine$Infix._op[">"],A2($Combine$Infix._op["<$>"],toDigit,$Combine$Char.digit),"expected a digit");
+ }();
+ var sign = A2($Combine.optional,
+ 1,
+ $Combine.choice(_U.list([A2($Combine$Infix._op["<$"],1,$Combine.string("+")),A2($Combine$Infix._op["<$"],-1,$Combine.string("-"))])));
+ var unwrap = F2(function (f,s) {
+ var _p0 = f(s);
+ if (_p0.ctor === "Ok") {
+ return _p0._0;
+ } else {
+ return _U.crashCase("Combine.Num",{start: {line: 19,column: 3},end: {line: 24,column: 73}},_p0)(A2($Basics._op["++"],
+ "impossible state in Combine.Num.unwrap: ",
+ $Basics.toString(_p0._0)));
+ }
+ });
+ var toInt = unwrap($String.toInt);
+ var $int = A2($Combine$Infix._op[">"],
+ A2($Combine.andMap,A2($Combine.map,F2(function (x,y) { return x * y;}),sign),A2($Combine$Infix._op["<$>"],toInt,$Combine.regex("(0|[1-9][0-9]*)"))),
+ "expected an integer");
+ var toFloat = unwrap($String.toFloat);
+ var $float = A2($Combine$Infix._op[">"],
+ A2($Combine.andMap,
+ A2($Combine.map,function (_p2) { return F2(function (x,y) { return x * y;})($Basics.toFloat(_p2));},sign),
+ A2($Combine$Infix._op["<$>"],toFloat,$Combine.regex("(0|[1-9][0-9]*)(\\.[0-9]+)"))),
+ "expected a float");
+ return _elm.Combine.Num.values = {_op: _op,sign: sign,digit: digit,$int: $int,$float: $float};
+};
Elm.Native.Json = {};
Elm.Native.Json.make = function(localRuntime) {
@@ -6958,494 +8081,6 @@ Elm.Array.make = function (_elm) {
,foldl: foldl
,foldr: foldr};
};
-Elm.Native.String = {};
-
-Elm.Native.String.make = function(localRuntime) {
- localRuntime.Native = localRuntime.Native || {};
- localRuntime.Native.String = localRuntime.Native.String || {};
- if (localRuntime.Native.String.values)
- {
- return localRuntime.Native.String.values;
- }
- if ('values' in Elm.Native.String)
- {
- return localRuntime.Native.String.values = Elm.Native.String.values;
- }
-
-
- var Char = Elm.Char.make(localRuntime);
- var List = Elm.Native.List.make(localRuntime);
- var Maybe = Elm.Maybe.make(localRuntime);
- var Result = Elm.Result.make(localRuntime);
- var Utils = Elm.Native.Utils.make(localRuntime);
-
- function isEmpty(str)
- {
- return str.length === 0;
- }
- function cons(chr, str)
- {
- return chr + str;
- }
- function uncons(str)
- {
- var hd = str[0];
- if (hd)
- {
- return Maybe.Just(Utils.Tuple2(Utils.chr(hd), str.slice(1)));
- }
- return Maybe.Nothing;
- }
- function append(a, b)
- {
- return a + b;
- }
- function concat(strs)
- {
- return List.toArray(strs).join('');
- }
- function length(str)
- {
- return str.length;
- }
- function map(f, str)
- {
- var out = str.split('');
- for (var i = out.length; i--; )
- {
- out[i] = f(Utils.chr(out[i]));
- }
- return out.join('');
- }
- function filter(pred, str)
- {
- return str.split('').map(Utils.chr).filter(pred).join('');
- }
- function reverse(str)
- {
- return str.split('').reverse().join('');
- }
- function foldl(f, b, str)
- {
- var len = str.length;
- for (var i = 0; i < len; ++i)
- {
- b = A2(f, Utils.chr(str[i]), b);
- }
- return b;
- }
- function foldr(f, b, str)
- {
- for (var i = str.length; i--; )
- {
- b = A2(f, Utils.chr(str[i]), b);
- }
- return b;
- }
- function split(sep, str)
- {
- return List.fromArray(str.split(sep));
- }
- function join(sep, strs)
- {
- return List.toArray(strs).join(sep);
- }
- function repeat(n, str)
- {
- var result = '';
- while (n > 0)
- {
- if (n & 1)
- {
- result += str;
- }
- n >>= 1, str += str;
- }
- return result;
- }
- function slice(start, end, str)
- {
- return str.slice(start, end);
- }
- function left(n, str)
- {
- return n < 1 ? '' : str.slice(0, n);
- }
- function right(n, str)
- {
- return n < 1 ? '' : str.slice(-n);
- }
- function dropLeft(n, str)
- {
- return n < 1 ? str : str.slice(n);
- }
- function dropRight(n, str)
- {
- return n < 1 ? str : str.slice(0, -n);
- }
- function pad(n, chr, str)
- {
- var half = (n - str.length) / 2;
- return repeat(Math.ceil(half), chr) + str + repeat(half | 0, chr);
- }
- function padRight(n, chr, str)
- {
- return str + repeat(n - str.length, chr);
- }
- function padLeft(n, chr, str)
- {
- return repeat(n - str.length, chr) + str;
- }
-
- function trim(str)
- {
- return str.trim();
- }
- function trimLeft(str)
- {
- return str.replace(/^\s+/, '');
- }
- function trimRight(str)
- {
- return str.replace(/\s+$/, '');
- }
-
- function words(str)
- {
- return List.fromArray(str.trim().split(/\s+/g));
- }
- function lines(str)
- {
- return List.fromArray(str.split(/\r\n|\r|\n/g));
- }
-
- function toUpper(str)
- {
- return str.toUpperCase();
- }
- function toLower(str)
- {
- return str.toLowerCase();
- }
-
- function any(pred, str)
- {
- for (var i = str.length; i--; )
- {
- if (pred(Utils.chr(str[i])))
- {
- return true;
- }
- }
- return false;
- }
- function all(pred, str)
- {
- for (var i = str.length; i--; )
- {
- if (!pred(Utils.chr(str[i])))
- {
- return false;
- }
- }
- return true;
- }
-
- function contains(sub, str)
- {
- return str.indexOf(sub) > -1;
- }
- function startsWith(sub, str)
- {
- return str.indexOf(sub) === 0;
- }
- function endsWith(sub, str)
- {
- return str.length >= sub.length &&
- str.lastIndexOf(sub) === str.length - sub.length;
- }
- function indexes(sub, str)
- {
- var subLen = sub.length;
- var i = 0;
- var is = [];
- while ((i = str.indexOf(sub, i)) > -1)
- {
- is.push(i);
- i = i + subLen;
- }
- return List.fromArray(is);
- }
-
- function toInt(s)
- {
- var len = s.length;
- if (len === 0)
- {
- return Result.Err("could not convert string '" + s + "' to an Int" );
- }
- var start = 0;
- if (s[0] === '-')
- {
- if (len === 1)
- {
- return Result.Err("could not convert string '" + s + "' to an Int" );
- }
- start = 1;
- }
- for (var i = start; i < len; ++i)
- {
- if (!Char.isDigit(s[i]))
- {
- return Result.Err("could not convert string '" + s + "' to an Int" );
- }
- }
- return Result.Ok(parseInt(s, 10));
- }
-
- function toFloat(s)
- {
- var len = s.length;
- if (len === 0)
- {
- return Result.Err("could not convert string '" + s + "' to a Float" );
- }
- var start = 0;
- if (s[0] === '-')
- {
- if (len === 1)
- {
- return Result.Err("could not convert string '" + s + "' to a Float" );
- }
- start = 1;
- }
- var dotCount = 0;
- for (var i = start; i < len; ++i)
- {
- if (Char.isDigit(s[i]))
- {
- continue;
- }
- if (s[i] === '.')
- {
- dotCount += 1;
- if (dotCount <= 1)
- {
- continue;
- }
- }
- return Result.Err("could not convert string '" + s + "' to a Float" );
- }
- return Result.Ok(parseFloat(s));
- }
-
- function toList(str)
- {
- return List.fromArray(str.split('').map(Utils.chr));
- }
- function fromList(chars)
- {
- return List.toArray(chars).join('');
- }
-
- return Elm.Native.String.values = {
- isEmpty: isEmpty,
- cons: F2(cons),
- uncons: uncons,
- append: F2(append),
- concat: concat,
- length: length,
- map: F2(map),
- filter: F2(filter),
- reverse: reverse,
- foldl: F3(foldl),
- foldr: F3(foldr),
-
- split: F2(split),
- join: F2(join),
- repeat: F2(repeat),
-
- slice: F3(slice),
- left: F2(left),
- right: F2(right),
- dropLeft: F2(dropLeft),
- dropRight: F2(dropRight),
-
- pad: F3(pad),
- padLeft: F3(padLeft),
- padRight: F3(padRight),
-
- trim: trim,
- trimLeft: trimLeft,
- trimRight: trimRight,
-
- words: words,
- lines: lines,
-
- toUpper: toUpper,
- toLower: toLower,
-
- any: F2(any),
- all: F2(all),
-
- contains: F2(contains),
- startsWith: F2(startsWith),
- endsWith: F2(endsWith),
- indexes: F2(indexes),
-
- toInt: toInt,
- toFloat: toFloat,
- toList: toList,
- fromList: fromList
- };
-};
-
-Elm.Native.Char = {};
-Elm.Native.Char.make = function(localRuntime) {
- localRuntime.Native = localRuntime.Native || {};
- localRuntime.Native.Char = localRuntime.Native.Char || {};
- if (localRuntime.Native.Char.values)
- {
- return localRuntime.Native.Char.values;
- }
-
- var Utils = Elm.Native.Utils.make(localRuntime);
-
- return localRuntime.Native.Char.values = {
- fromCode: function(c) { return Utils.chr(String.fromCharCode(c)); },
- toCode: function(c) { return c.charCodeAt(0); },
- toUpper: function(c) { return Utils.chr(c.toUpperCase()); },
- toLower: function(c) { return Utils.chr(c.toLowerCase()); },
- toLocaleUpper: function(c) { return Utils.chr(c.toLocaleUpperCase()); },
- toLocaleLower: function(c) { return Utils.chr(c.toLocaleLowerCase()); }
- };
-};
-
-Elm.Char = Elm.Char || {};
-Elm.Char.make = function (_elm) {
- "use strict";
- _elm.Char = _elm.Char || {};
- if (_elm.Char.values) return _elm.Char.values;
- var _U = Elm.Native.Utils.make(_elm),$Basics = Elm.Basics.make(_elm),$Native$Char = Elm.Native.Char.make(_elm);
- var _op = {};
- var fromCode = $Native$Char.fromCode;
- var toCode = $Native$Char.toCode;
- var toLocaleLower = $Native$Char.toLocaleLower;
- var toLocaleUpper = $Native$Char.toLocaleUpper;
- var toLower = $Native$Char.toLower;
- var toUpper = $Native$Char.toUpper;
- var isBetween = F3(function (low,high,$char) { var code = toCode($char);return _U.cmp(code,toCode(low)) > -1 && _U.cmp(code,toCode(high)) < 1;});
- var isUpper = A2(isBetween,_U.chr("A"),_U.chr("Z"));
- var isLower = A2(isBetween,_U.chr("a"),_U.chr("z"));
- var isDigit = A2(isBetween,_U.chr("0"),_U.chr("9"));
- var isOctDigit = A2(isBetween,_U.chr("0"),_U.chr("7"));
- var isHexDigit = function ($char) {
- return isDigit($char) || (A3(isBetween,_U.chr("a"),_U.chr("f"),$char) || A3(isBetween,_U.chr("A"),_U.chr("F"),$char));
- };
- return _elm.Char.values = {_op: _op
- ,isUpper: isUpper
- ,isLower: isLower
- ,isDigit: isDigit
- ,isOctDigit: isOctDigit
- ,isHexDigit: isHexDigit
- ,toUpper: toUpper
- ,toLower: toLower
- ,toLocaleUpper: toLocaleUpper
- ,toLocaleLower: toLocaleLower
- ,toCode: toCode
- ,fromCode: fromCode};
-};
-Elm.String = Elm.String || {};
-Elm.String.make = function (_elm) {
- "use strict";
- _elm.String = _elm.String || {};
- if (_elm.String.values) return _elm.String.values;
- var _U = Elm.Native.Utils.make(_elm),$Maybe = Elm.Maybe.make(_elm),$Native$String = Elm.Native.String.make(_elm),$Result = Elm.Result.make(_elm);
- var _op = {};
- var fromList = $Native$String.fromList;
- var toList = $Native$String.toList;
- var toFloat = $Native$String.toFloat;
- var toInt = $Native$String.toInt;
- var indices = $Native$String.indexes;
- var indexes = $Native$String.indexes;
- var endsWith = $Native$String.endsWith;
- var startsWith = $Native$String.startsWith;
- var contains = $Native$String.contains;
- var all = $Native$String.all;
- var any = $Native$String.any;
- var toLower = $Native$String.toLower;
- var toUpper = $Native$String.toUpper;
- var lines = $Native$String.lines;
- var words = $Native$String.words;
- var trimRight = $Native$String.trimRight;
- var trimLeft = $Native$String.trimLeft;
- var trim = $Native$String.trim;
- var padRight = $Native$String.padRight;
- var padLeft = $Native$String.padLeft;
- var pad = $Native$String.pad;
- var dropRight = $Native$String.dropRight;
- var dropLeft = $Native$String.dropLeft;
- var right = $Native$String.right;
- var left = $Native$String.left;
- var slice = $Native$String.slice;
- var repeat = $Native$String.repeat;
- var join = $Native$String.join;
- var split = $Native$String.split;
- var foldr = $Native$String.foldr;
- var foldl = $Native$String.foldl;
- var reverse = $Native$String.reverse;
- var filter = $Native$String.filter;
- var map = $Native$String.map;
- var length = $Native$String.length;
- var concat = $Native$String.concat;
- var append = $Native$String.append;
- var uncons = $Native$String.uncons;
- var cons = $Native$String.cons;
- var fromChar = function ($char) { return A2(cons,$char,"");};
- var isEmpty = $Native$String.isEmpty;
- return _elm.String.values = {_op: _op
- ,isEmpty: isEmpty
- ,length: length
- ,reverse: reverse
- ,repeat: repeat
- ,cons: cons
- ,uncons: uncons
- ,fromChar: fromChar
- ,append: append
- ,concat: concat
- ,split: split
- ,join: join
- ,words: words
- ,lines: lines
- ,slice: slice
- ,left: left
- ,right: right
- ,dropLeft: dropLeft
- ,dropRight: dropRight
- ,contains: contains
- ,startsWith: startsWith
- ,endsWith: endsWith
- ,indexes: indexes
- ,indices: indices
- ,toInt: toInt
- ,toFloat: toFloat
- ,toList: toList
- ,fromList: fromList
- ,toUpper: toUpper
- ,toLower: toLower
- ,pad: pad
- ,padLeft: padLeft
- ,padRight: padRight
- ,trim: trim
- ,trimLeft: trimLeft
- ,trimRight: trimRight
- ,map: map
- ,filter: filter
- ,foldl: foldl
- ,foldr: foldr
- ,any: any
- ,all: all};
-};
Elm.Dict = Elm.Dict || {};
Elm.Dict.make = function (_elm) {
"use strict";
@@ -10277,6 +10912,125 @@ Elm.Html.Attributes.make = function (_elm) {
,property: property
,attribute: attribute};
};
+Elm.Material = Elm.Material || {};
+Elm.Material.Style = Elm.Material.Style || {};
+Elm.Material.Style.make = function (_elm) {
+ "use strict";
+ _elm.Material = _elm.Material || {};
+ _elm.Material.Style = _elm.Material.Style || {};
+ if (_elm.Material.Style.values) return _elm.Material.Style.values;
+ var _U = Elm.Native.Utils.make(_elm),
+ $Basics = Elm.Basics.make(_elm),
+ $Debug = Elm.Debug.make(_elm),
+ $Html = Elm.Html.make(_elm),
+ $Html$Attributes = Elm.Html.Attributes.make(_elm),
+ $List = Elm.List.make(_elm),
+ $Maybe = Elm.Maybe.make(_elm),
+ $Result = Elm.Result.make(_elm),
+ $Signal = Elm.Signal.make(_elm),
+ $String = Elm.String.make(_elm);
+ var _op = {};
+ var stylesheet = function (css) { return A3($Html.node,"style",_U.list([]),_U.list([$Html.text(css)]));};
+ var collect1 = F2(function (style,_p0) {
+ var _p1 = _p0;
+ var _p3 = _p1;
+ var _p2 = style;
+ switch (_p2.ctor)
+ {case "Class": return _U.update(_p3,{classes: A2($List._op["::"],_p2._0,_p1.classes)});
+ case "CSS": return _U.update(_p3,{css: A2($List._op["::"],_p2._0,_p1.css)});
+ case "Attr": return _U.update(_p3,{attrs: A2($List._op["::"],_p2._0,_p1.attrs)});
+ case "Multiple": return A3($List.foldl,collect1,_p3,_p2._0);
+ default: return _p3;}
+ });
+ var collect = A2($List.foldl,collect1,{classes: _U.list([]),css: _U.list([]),attrs: _U.list([])});
+ var styled = F3(function (ctor,styles,attrs$) {
+ var _p4 = collect(styles);
+ var classes = _p4.classes;
+ var css = _p4.css;
+ var attrs = _p4.attrs;
+ return ctor(A2($List._op["::"],
+ $Html$Attributes.style(css),
+ A2($List._op["::"],$Html$Attributes.$class(A2($String.join," ",classes)),A2($List.append,attrs,attrs$))));
+ });
+ var div = F2(function (styles,elems) { return A4(styled,$Html.div,styles,_U.list([]),elems);});
+ var span = F2(function (styles,elems) { return A4(styled,$Html.span,styles,_U.list([]),elems);});
+ var Summary = F3(function (a,b,c) { return {attrs: a,classes: b,css: c};});
+ var NOP = {ctor: "NOP"};
+ var nop = NOP;
+ var Multiple = function (a) { return {ctor: "Multiple",_0: a};};
+ var multiple = function (styles) { return Multiple(styles);};
+ var Attr = function (a) { return {ctor: "Attr",_0: a};};
+ var attribute = function (attr) { return Attr(attr);};
+ var CSS = function (a) { return {ctor: "CSS",_0: a};};
+ var css = F2(function (key,value) { return CSS({ctor: "_Tuple2",_0: key,_1: value});});
+ var css$ = F3(function (key,value,b) { return b ? CSS({ctor: "_Tuple2",_0: key,_1: value}) : NOP;});
+ var Class = function (a) { return {ctor: "Class",_0: a};};
+ var cs = function (c) { return Class(c);};
+ var cs$ = F2(function (c,b) { return b ? Class(c) : NOP;});
+ return _elm.Material.Style.values = {_op: _op
+ ,cs: cs
+ ,cs$: cs$
+ ,css: css
+ ,css$: css$
+ ,attribute: attribute
+ ,multiple: multiple
+ ,styled: styled
+ ,div: div
+ ,span: span
+ ,stylesheet: stylesheet};
+};
+Elm.Material = Elm.Material || {};
+Elm.Material.Badge = Elm.Material.Badge || {};
+Elm.Material.Badge.make = function (_elm) {
+ "use strict";
+ _elm.Material = _elm.Material || {};
+ _elm.Material.Badge = _elm.Material.Badge || {};
+ if (_elm.Material.Badge.values) return _elm.Material.Badge.values;
+ var _U = Elm.Native.Utils.make(_elm),
+ $Basics = Elm.Basics.make(_elm),
+ $Debug = Elm.Debug.make(_elm),
+ $Html$Attributes = Elm.Html.Attributes.make(_elm),
+ $List = Elm.List.make(_elm),
+ $Material$Style = Elm.Material.Style.make(_elm),
+ $Maybe = Elm.Maybe.make(_elm),
+ $Result = Elm.Result.make(_elm),
+ $Signal = Elm.Signal.make(_elm);
+ var _op = {};
+ var withBadge = function (databadge) {
+ return $Material$Style.multiple(_U.list([$Material$Style.cs("mdl-badge")
+ ,$Material$Style.attribute(A2($Html$Attributes.attribute,"data-badge",databadge))]));
+ };
+ var overlap = $Material$Style.cs("mdl-badge--overlap");
+ var noBackground = $Material$Style.cs("mdl-badge--no-background");
+ return _elm.Material.Badge.values = {_op: _op,noBackground: noBackground,overlap: overlap,withBadge: withBadge};
+};
+Elm.Material = Elm.Material || {};
+Elm.Material.Icon = Elm.Material.Icon || {};
+Elm.Material.Icon.make = function (_elm) {
+ "use strict";
+ _elm.Material = _elm.Material || {};
+ _elm.Material.Icon = _elm.Material.Icon || {};
+ if (_elm.Material.Icon.values) return _elm.Material.Icon.values;
+ var _U = Elm.Native.Utils.make(_elm),
+ $Basics = Elm.Basics.make(_elm),
+ $Debug = Elm.Debug.make(_elm),
+ $Html = Elm.Html.make(_elm),
+ $List = Elm.List.make(_elm),
+ $Material$Style = Elm.Material.Style.make(_elm),
+ $Maybe = Elm.Maybe.make(_elm),
+ $Result = Elm.Result.make(_elm),
+ $Signal = Elm.Signal.make(_elm);
+ var _op = {};
+ var view = F3(function (name,styling,attrs) {
+ return A4($Material$Style.styled,$Html.i,A2($List._op["::"],$Material$Style.cs("material-icons"),styling),attrs,_U.list([$Html.text(name)]));
+ });
+ var i = function (name) { return A3(view,name,_U.list([]),_U.list([]));};
+ var size48 = A2($Material$Style.css,"font-size","48px");
+ var size36 = A2($Material$Style.css,"font-size","36px");
+ var size24 = A2($Material$Style.css,"font-size","24px");
+ var size18 = A2($Material$Style.css,"font-size","18px");
+ return _elm.Material.Icon.values = {_op: _op,size18: size18,size24: size24,size36: size36,size48: size48,view: view,i: i};
+};
Elm.Native.Effects = {};
Elm.Native.Effects.make = function(localRuntime) {
@@ -10630,6 +11384,315 @@ Elm.Effects.make = function (_elm) {
});
return _elm.Effects.values = {_op: _op,none: none,task: task,tick: tick,map: map,batch: batch,toTask: toTask};
};
+Elm.Material = Elm.Material || {};
+Elm.Material.Helpers = Elm.Material.Helpers || {};
+Elm.Material.Helpers.make = function (_elm) {
+ "use strict";
+ _elm.Material = _elm.Material || {};
+ _elm.Material.Helpers = _elm.Material.Helpers || {};
+ if (_elm.Material.Helpers.values) return _elm.Material.Helpers.values;
+ var _U = Elm.Native.Utils.make(_elm),
+ $Basics = Elm.Basics.make(_elm),
+ $Debug = Elm.Debug.make(_elm),
+ $Effects = Elm.Effects.make(_elm),
+ $Html = Elm.Html.make(_elm),
+ $Html$Attributes = Elm.Html.Attributes.make(_elm),
+ $List = Elm.List.make(_elm),
+ $Maybe = Elm.Maybe.make(_elm),
+ $Result = Elm.Result.make(_elm),
+ $Signal = Elm.Signal.make(_elm),
+ $Task = Elm.Task.make(_elm),
+ $Time = Elm.Time.make(_elm);
+ var _op = {};
+ var delay = F2(function (t,x) { return $Effects.task(A3($Basics.flip,$Task.andThen,$Basics.always($Task.succeed(x)),$Task.sleep(t)));});
+ var lift = F6(function (get,set,fwd,update,action,model) {
+ var _p0 = A2(update,action,get(model));
+ var submodel$ = _p0._0;
+ var e = _p0._1;
+ return {ctor: "_Tuple2",_0: A2(set,model,submodel$),_1: A2($Effects.map,fwd,e)};
+ });
+ var lift$ = F5(function (get,set,update,action,model) { return {ctor: "_Tuple2",_0: A2(set,model,A2(update,action,get(model))),_1: $Effects.none};});
+ var map2nd = F2(function (f,_p1) { var _p2 = _p1;return {ctor: "_Tuple2",_0: _p2._0,_1: f(_p2._1)};});
+ var map1st = F2(function (f,_p3) { var _p4 = _p3;return {ctor: "_Tuple2",_0: f(_p4._0),_1: _p4._1};});
+ var map2 = F2(function (f,_p5) { var _p6 = _p5;return {ctor: "_Tuple3",_0: _p6._0,_1: f(_p6._1),_2: _p6._2};});
+ var map1 = F2(function (f,_p7) { var _p8 = _p7;return {ctor: "_Tuple3",_0: f(_p8._0),_1: _p8._1,_2: _p8._2};});
+ var blurOn = function (evt) { return A2($Html$Attributes.attribute,A2($Basics._op["++"],"on",evt),"this.blur()");};
+ var clip = F3(function (lower,upper,k) { return A2($Basics.max,lower,A2($Basics.min,k,upper));});
+ var mapFx = F2(function (f,_p9) { var _p10 = _p9;return {ctor: "_Tuple2",_0: _p10._0,_1: A2($Effects.map,f,_p10._1)};});
+ var addFx = F2(function (effect1,_p11) { var _p12 = _p11;return {ctor: "_Tuple2",_0: _p12._0,_1: $Effects.batch(_U.list([effect1,_p12._1]))};});
+ var effect = F2(function (e,x) { return {ctor: "_Tuple2",_0: x,_1: e};});
+ var pure = effect($Effects.none);
+ var filter = F3(function (elem,attr,html) { return A2(elem,attr,A2($List.filterMap,function (x) { return x;},html));});
+ return _elm.Material.Helpers.values = {_op: _op
+ ,filter: filter
+ ,effect: effect
+ ,pure: pure
+ ,addFx: addFx
+ ,mapFx: mapFx
+ ,clip: clip
+ ,blurOn: blurOn
+ ,map1: map1
+ ,map2: map2
+ ,map1st: map1st
+ ,map2nd: map2nd
+ ,lift$: lift$
+ ,lift: lift
+ ,delay: delay};
+};
+Elm.Material = Elm.Material || {};
+Elm.Material.Grid = Elm.Material.Grid || {};
+Elm.Material.Grid.make = function (_elm) {
+ "use strict";
+ _elm.Material = _elm.Material || {};
+ _elm.Material.Grid = _elm.Material.Grid || {};
+ if (_elm.Material.Grid.values) return _elm.Material.Grid.values;
+ var _U = Elm.Native.Utils.make(_elm),
+ $Basics = Elm.Basics.make(_elm),
+ $Debug = Elm.Debug.make(_elm),
+ $Html = Elm.Html.make(_elm),
+ $List = Elm.List.make(_elm),
+ $Material$Helpers = Elm.Material.Helpers.make(_elm),
+ $Material$Style = Elm.Material.Style.make(_elm),
+ $Maybe = Elm.Maybe.make(_elm),
+ $Result = Elm.Result.make(_elm),
+ $Signal = Elm.Signal.make(_elm);
+ var _op = {};
+ var align = function (a) {
+ var _p0 = a;
+ switch (_p0.ctor)
+ {case "Top": return $Material$Style.cs("mdl-cell--top");
+ case "Middle": return $Material$Style.cs("mdl-cell--middle");
+ default: return $Material$Style.cs("mdl-cell--bottom");}
+ };
+ var Bottom = {ctor: "Bottom"};
+ var Middle = {ctor: "Middle"};
+ var Top = {ctor: "Top"};
+ var suffix = function (device) {
+ var _p1 = device;
+ switch (_p1.ctor)
+ {case "All": return "";
+ case "Desktop": return "-desktop";
+ case "Tablet": return "-tablet";
+ default: return "-phone";}
+ };
+ var size = F2(function (device,k) {
+ var c = function () {
+ var _p2 = device;
+ switch (_p2.ctor)
+ {case "All": return A3($Material$Helpers.clip,1,12,k);
+ case "Desktop": return A3($Material$Helpers.clip,1,12,k);
+ case "Tablet": return A3($Material$Helpers.clip,1,8,k);
+ default: return A3($Material$Helpers.clip,1,4,k);}
+ }();
+ return $Material$Style.cs(A2($Basics._op["++"],"mdl-cell--",A2($Basics._op["++"],$Basics.toString(c),A2($Basics._op["++"],"-col",suffix(device)))));
+ });
+ var offset = F2(function (device,k) {
+ var c = function () {
+ var _p3 = device;
+ switch (_p3.ctor)
+ {case "All": return A3($Material$Helpers.clip,1,11,k);
+ case "Desktop": return A3($Material$Helpers.clip,1,11,k);
+ case "Tablet": return A3($Material$Helpers.clip,1,7,k);
+ default: return A3($Material$Helpers.clip,1,3,k);}
+ }();
+ return $Material$Style.cs(A2($Basics._op["++"],"mdl-cell--",A2($Basics._op["++"],$Basics.toString(c),A2($Basics._op["++"],"-offset",suffix(device)))));
+ });
+ var hide = function (device) {
+ return $Material$Style.cs(function () {
+ var _p4 = device;
+ if (_p4.ctor === "All") {
+ return "";
+ } else {
+ return A2($Basics._op["++"],"mdl-cell--hide-",suffix(device));
+ }
+ }());
+ };
+ var order = F2(function (device,n) {
+ return $Material$Style.cs(A2($Basics._op["++"],
+ "mdl-cell--order-",
+ A2($Basics._op["++"],$Basics.toString(A3($Material$Helpers.clip,1,12,n)),suffix(device))));
+ });
+ var Cell = function (a) { return {ctor: "Cell",_0: a};};
+ var cell = F2(function (styling,elms) {
+ return Cell(A4($Material$Style.styled,$Html.div,A2($List._op["::"],$Material$Style.cs("mdl-cell"),styling),_U.list([]),elms));
+ });
+ var Phone = {ctor: "Phone"};
+ var Tablet = {ctor: "Tablet"};
+ var Desktop = {ctor: "Desktop"};
+ var All = {ctor: "All"};
+ var grid = F2(function (styling,cells) {
+ return A4($Material$Style.styled,
+ $Html.div,
+ A2($List._op["::"],$Material$Style.cs("mdl-grid"),styling),
+ _U.list([]),
+ A2($List.map,function (_p5) { var _p6 = _p5;return _p6._0;},cells));
+ });
+ var maxWidth = function (w) { return A2($Material$Style.css,"max-width",w);};
+ var noSpacing = $Material$Style.cs("mdl-grid--no-spacing");
+ return _elm.Material.Grid.values = {_op: _op
+ ,grid: grid
+ ,noSpacing: noSpacing
+ ,maxWidth: maxWidth
+ ,cell: cell
+ ,size: size
+ ,offset: offset
+ ,align: align
+ ,hide: hide
+ ,order: order
+ ,All: All
+ ,Desktop: Desktop
+ ,Tablet: Tablet
+ ,Phone: Phone
+ ,Top: Top
+ ,Middle: Middle
+ ,Bottom: Bottom};
+};
+
+// setup
+Elm.Native = Elm.Native || {};
+Elm.Native.Markdown = Elm.Native.Markdown || {};
+
+// definition
+Elm.Native.Markdown.make = function(localRuntime) {
+ 'use strict';
+
+ // attempt to short-circuit
+ if ('values' in Elm.Native.Markdown)
+ {
+ return Elm.Native.Markdown.values;
+ }
+
+ var Element = Elm.Native.Graphics.Element.make(localRuntime);
+
+ var marked = (function() {
+ // catch the `marked` object regardless of the outer environment.
+ // (ex. a CommonJS module compatible environment.)
+ // note that this depends on marked's implementation of environment detection.
+ var module = {};
+ var exports = module.exports = {};
+
+ /**
+ * marked - a markdown parser
+ * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed)
+ * https://github.com/chjj/marked
+ */
+ (function(){var block={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:noop,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:noop,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment|closed|closing) *(?:\n{2,}|\s*$)/,def:/^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};block.bullet=/(?:[*+-]|\d+\.)/;block.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;block.item=replace(block.item,"gm")(/bull/g,block.bullet)();block.list=replace(block.list)(/bull/g,block.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+block.def.source+")")();block.blockquote=replace(block.blockquote)("def",block.def)();block._tag="(?!(?:"+"a|em|strong|small|s|cite|q|dfn|abbr|data|time|code"+"|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo"+"|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b";block.html=replace(block.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/ "+text+"
"}return'"+(escaped?code:escape(code,true))+"\n
\n"};Renderer.prototype.blockquote=function(quote){return"'+(escaped?code:escape(code,true))+"\n
\n"+quote+"
\n"};Renderer.prototype.html=function(html){return html};Renderer.prototype.heading=function(text,level,raw){return"
\n":"
\n"};Renderer.prototype.list=function(body,ordered){var type=ordered?"ol":"ul";return"<"+type+">\n"+body+""+type+">\n"};Renderer.prototype.listitem=function(text){return"\n"+"\n"+header+"\n"+"\n"+body+"\n"+"
\n"};Renderer.prototype.tablerow=function(content){return"\n"+content+" \n"};Renderer.prototype.tablecell=function(content,flags){var type=flags.header?"th":"td";var tag=flags.align?"<"+type+' style="text-align:'+flags.align+'">':"<"+type+">";return tag+content+""+type+">\n"};Renderer.prototype.strong=function(text){return""+text+""};Renderer.prototype.em=function(text){return""+text+""};Renderer.prototype.codespan=function(text){return""+text+"
"};Renderer.prototype.br=function(){return this.options.xhtml?"
":"
"};Renderer.prototype.del=function(text){return""+text+""};Renderer.prototype.link=function(href,title,text){if(this.options.sanitize){try{var prot=decodeURIComponent(unescape(href)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(prot.indexOf("javascript:")===0){return""}}var out='"+text+"";return out};Renderer.prototype.image=function(href,title,text){var out='":">";return out};function Parser(options){this.tokens=[];this.token=null;this.options=options||marked.defaults;this.options.renderer=this.options.renderer||new Renderer;this.renderer=this.options.renderer;this.renderer.options=this.options}Parser.parse=function(src,options,renderer){var parser=new Parser(options,renderer);return parser.parse(src)};Parser.prototype.parse=function(src){this.inline=new InlineLexer(src.links,this.options,this.renderer);this.tokens=src.reverse();var out="";while(this.next()){out+=this.tok()}return out};Parser.prototype.next=function(){return this.token=this.tokens.pop()};Parser.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0};Parser.prototype.parseText=function(){var body=this.token.text;while(this.peek().type==="text"){body+="\n"+this.next().text}return this.inline.output(body)};Parser.prototype.tok=function(){switch(this.token.type){case"space":{return""}case"hr":{return this.renderer.hr()}case"heading":{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text)}case"code":{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped)}case"table":{var header="",body="",i,row,cell,flags,j;cell="";for(i=0;i
"+escape(e.message+"",true)+""}throw e}}marked.options=marked.setOptions=function(opt){merge(marked.defaults,opt);return marked};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,smartLists:false,silent:false,highlight:null,langPrefix:"lang-",smartypants:false,headerPrefix:"",renderer:new Renderer,xhtml:false};marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output;marked.parse=marked;if(typeof module!=="undefined"&&typeof exports==="object"){module.exports=marked}else if(typeof define==="function"&&define.amd){define(function(){return marked})}else{this.marked=marked}}).call(function(){return this||(typeof window!=="undefined"?window:global)}()); + + return module.exports; + })(); + + function formatOptions(options) { + var toHighlight = function (code, lang) { + if (!lang && options.defaultHighlighting.ctor === 'Just') + { + lang = options.defaultHighlighting._0; + } + if (typeof hljs !== 'undefined' + && lang + && hljs.listLanguages().indexOf(lang) >= 0) + { + return hljs.highlight(lang, code, true).value; + } + return code; + }; + var gfm = options.githubFlavored; + if (gfm.ctor === 'Just') + { + return { + highlight: toHighlight, + gfm: true, + tables: gfm._0.tables, + breaks: gfm._0.breaks, + sanitize: options.sanitize, + smartypants: options.smartypants + }; + } + else + { + return { + highlight: toHighlight, + gfm: false, + tables: false, + breaks: false, + sanitize: options.sanitize, + smartypants: options.smartypants + }; + } + } + + function toHtmlWith(options, rawMarkdown) + { + return new MarkdownWidget(options, rawMarkdown); + } + + function MarkdownWidget(options, rawMarkdown) + { + this.options = options; + this.markdown = rawMarkdown; + } + + MarkdownWidget.prototype.type = "Widget"; + + MarkdownWidget.prototype.init = function init() + { + var html = marked(this.markdown, formatOptions(this.options)); + var div = document.createElement('div'); + div.innerHTML = html; + return div; + }; + + MarkdownWidget.prototype.update = function update(previous, node) + { + if (this.markdown !== previous.markdown || this.options != previous.options) + { + var html = marked(this.markdown, formatOptions(this.options)); + node.innerHTML = html; + } + return node; + }; + + + function toElementWith(options, rawMarkdown) + { + return Element.markdown(marked(rawMarkdown, formatOptions(options))); + } + + return Elm.Native.Markdown.values = { + toHtmlWith: F2(toHtmlWith), + toElementWith: F2(toElementWith) + }; +}; + +Elm.Markdown = Elm.Markdown || {}; +Elm.Markdown.make = function (_elm) { + "use strict"; + _elm.Markdown = _elm.Markdown || {}; + if (_elm.Markdown.values) return _elm.Markdown.values; + var _U = Elm.Native.Utils.make(_elm), + $Basics = Elm.Basics.make(_elm), + $Debug = Elm.Debug.make(_elm), + $Graphics$Element = Elm.Graphics.Element.make(_elm), + $Html = Elm.Html.make(_elm), + $List = Elm.List.make(_elm), + $Maybe = Elm.Maybe.make(_elm), + $Native$Markdown = Elm.Native.Markdown.make(_elm), + $Result = Elm.Result.make(_elm), + $Signal = Elm.Signal.make(_elm); + var _op = {}; + var toElementWith = $Native$Markdown.toElementWith; + var toHtmlWith = $Native$Markdown.toHtmlWith; + var defaultOptions = {githubFlavored: $Maybe.Just({tables: false,breaks: false}),defaultHighlighting: $Maybe.Nothing,sanitize: false,smartypants: false}; + var Options = F4(function (a,b,c,d) { return {githubFlavored: a,defaultHighlighting: b,sanitize: c,smartypants: d};}); + var toElement = function (string) { return A2($Native$Markdown.toElementWith,defaultOptions,string);}; + var toHtml = function (string) { return A2($Native$Markdown.toHtmlWith,defaultOptions,string);}; + return _elm.Markdown.values = {_op: _op + ,toHtml: toHtml + ,toElement: toElement + ,Options: Options + ,defaultOptions: defaultOptions + ,toHtmlWith: toHtmlWith + ,toElementWith: toElementWith}; +}; Elm.Html = Elm.Html || {}; Elm.Html.Events = Elm.Html.Events || {}; Elm.Html.Events.make = function (_elm) { @@ -10697,88 +11760,6 @@ Elm.Html.Events.make = function (_elm) { ,Options: Options}; }; Elm.Material = Elm.Material || {}; -Elm.Material.Helpers = Elm.Material.Helpers || {}; -Elm.Material.Helpers.make = function (_elm) { - "use strict"; - _elm.Material = _elm.Material || {}; - _elm.Material.Helpers = _elm.Material.Helpers || {}; - if (_elm.Material.Helpers.values) return _elm.Material.Helpers.values; - var _U = Elm.Native.Utils.make(_elm), - $Basics = Elm.Basics.make(_elm), - $Debug = Elm.Debug.make(_elm), - $Effects = Elm.Effects.make(_elm), - $Html = Elm.Html.make(_elm), - $Html$Attributes = Elm.Html.Attributes.make(_elm), - $List = Elm.List.make(_elm), - $Maybe = Elm.Maybe.make(_elm), - $Result = Elm.Result.make(_elm), - $Signal = Elm.Signal.make(_elm); - var _op = {}; - var blurOn = function (evt) { return A2($Html$Attributes.attribute,A2($Basics._op["++"],"on",evt),"this.blur()");}; - var clip = F3(function (lower,upper,k) { return A2($Basics.max,lower,A2($Basics.min,k,upper));}); - var mapFx = F2(function (f,_p0) { var _p1 = _p0;return {ctor: "_Tuple2",_0: _p1._0,_1: A2($Effects.map,f,_p1._1)};}); - var addFx = F2(function (effect1,_p2) { var _p3 = _p2;return {ctor: "_Tuple2",_0: _p3._0,_1: $Effects.batch(_U.list([effect1,_p3._1]))};}); - var effect = F2(function (e,x) { return {ctor: "_Tuple2",_0: x,_1: e};}); - var pure = effect($Effects.none); - var mapWithIndex = F2(function (f,xs) { - var loop = F2(function (k,ys) { - var _p4 = ys; - if (_p4.ctor === "[]") { - return _U.list([]); - } else { - return A2($List._op["::"],A2(f,k,_p4._0),A2(loop,k + 1,_p4._1)); - } - }); - return A2(loop,0,xs); - }); - var filter = F3(function (elem,attr,html) { return A2(elem,attr,A2($List.filterMap,function (x) { return x;},html));}); - return _elm.Material.Helpers.values = {_op: _op - ,filter: filter - ,mapWithIndex: mapWithIndex - ,effect: effect - ,pure: pure - ,addFx: addFx - ,mapFx: mapFx - ,clip: clip - ,blurOn: blurOn}; -}; -Elm.Material = Elm.Material || {}; -Elm.Material.Style = Elm.Material.Style || {}; -Elm.Material.Style.make = function (_elm) { - "use strict"; - _elm.Material = _elm.Material || {}; - _elm.Material.Style = _elm.Material.Style || {}; - if (_elm.Material.Style.values) return _elm.Material.Style.values; - var _U = Elm.Native.Utils.make(_elm), - $Basics = Elm.Basics.make(_elm), - $Debug = Elm.Debug.make(_elm), - $Html = Elm.Html.make(_elm), - $Html$Attributes = Elm.Html.Attributes.make(_elm), - $List = Elm.List.make(_elm), - $Maybe = Elm.Maybe.make(_elm), - $Result = Elm.Result.make(_elm), - $Signal = Elm.Signal.make(_elm), - $String = Elm.String.make(_elm); - var _op = {}; - var stylesheet = function (css) { return A3($Html.node,"style",_U.list([]),_U.list([$Html.text(css)]));}; - var classOf = function (style) { var _p0 = style;if (_p0.ctor === "Class") { return $Maybe.Just(_p0._0);} else { return $Maybe.Nothing;}}; - var cssOf = function (style) { var _p1 = style;if (_p1.ctor === "CSS") { return $Maybe.Just(_p1._0);} else { return $Maybe.Nothing;}}; - var styled = F3(function (ctor,styles,attrs) { - return ctor(A2($List._op["::"], - $Html$Attributes.style(A2($List.filterMap,cssOf,styles)), - A2($List._op["::"],$Html$Attributes.$class(A2($String.join," ",A2($List.filterMap,classOf,styles))),attrs))); - }); - var NOP = {ctor: "NOP"}; - var nop = NOP; - var CSS = function (a) { return {ctor: "CSS",_0: a};}; - var css = F2(function (key,value) { return CSS({ctor: "_Tuple2",_0: key,_1: value});}); - var css$ = F3(function (key,value,b) { return b ? CSS({ctor: "_Tuple2",_0: key,_1: value}) : NOP;}); - var Class = function (a) { return {ctor: "Class",_0: a};}; - var cs = function (c) { return Class(c);}; - var cs$ = F2(function (c,b) { return b ? Class(c) : NOP;}); - return _elm.Material.Style.values = {_op: _op,styled: styled,cs: cs,cs$: cs$,css: css,css$: css$,stylesheet: stylesheet}; -}; -Elm.Material = Elm.Material || {}; Elm.Material.Ripple = Elm.Material.Ripple || {}; Elm.Material.Ripple.make = function (_elm) { "use strict"; @@ -10926,6 +11907,112 @@ Elm.Material.Ripple.make = function (_elm) { ,view: view}; }; Elm.Material = Elm.Material || {}; +Elm.Material.Component = Elm.Material.Component || {}; +Elm.Material.Component.make = function (_elm) { + "use strict"; + _elm.Material = _elm.Material || {}; + _elm.Material.Component = _elm.Material.Component || {}; + if (_elm.Material.Component.values) return _elm.Material.Component.values; + var _U = Elm.Native.Utils.make(_elm), + $Basics = Elm.Basics.make(_elm), + $Debug = Elm.Debug.make(_elm), + $Dict = Elm.Dict.make(_elm), + $Effects = Elm.Effects.make(_elm), + $List = Elm.List.make(_elm), + $Material$Helpers = Elm.Material.Helpers.make(_elm), + $Maybe = Elm.Maybe.make(_elm), + $Result = Elm.Result.make(_elm), + $Signal = Elm.Signal.make(_elm), + $Task = Elm.Task.make(_elm); + var _op = {}; + var pick = F2(function (f,xs) { + pick: while (true) { + var _p0 = xs; + if (_p0.ctor === "[]") { + return $Maybe.Nothing; + } else { + var _p1 = f(_p0._0); + if (_p1.ctor === "Nothing") { + var _v2 = f,_v3 = _p0._1; + f = _v2; + xs = _v3; + continue pick; + } else { + return _p1; + } + } + } + }); + var connect = F2(function (observers,subaction) { return A2(pick,F2(function (x,y) { return y(x);})(subaction),observers);}); + var observe = F3(function (f,update,action) { + return function (_p2) { + return function (_p3) { + var _p4 = _p3; + return {ctor: "_Tuple3",_0: _p4._0,_1: _p4._1,_2: f(action)}; + }(A2(update,action,_p2)); + }; + }); + var Instance = F5(function (a,b,c,d,e) { return {view: a,get: b,set: c,map: d,fwd: e};}); + var update = F3(function (fwd,_p5,container) { + var _p6 = _p5; + var _p7 = A2($Material$Helpers.map2,$Effects.map(fwd),_p6._0(container)); + var container$ = _p7._0; + var fx = _p7._1; + var obs = _p7._2; + var _p8 = obs; + if (_p8.ctor === "Nothing") { + return {ctor: "_Tuple2",_0: container$,_1: fx}; + } else { + return {ctor: "_Tuple2",_0: container$,_1: $Effects.batch(_U.list([fx,$Effects.task($Task.succeed(_p8._0))]))}; + } + }); + var A = function (a) { return {ctor: "A",_0: a};}; + var pack = F2(function (update,action) { + return A(function (_p9) { return A2($Material$Helpers.map2,$Effects.map(pack(update)),A2(update,action,_p9));}); + }); + var instance$ = F3(function (lift,observers,embedding) { + var set = embedding.setModel; + var get = embedding.getModel; + var fwd = function (_p10) { return lift(A2(pack,A2(observe,connect(observers),embedding.update),_p10));}; + return {view: function (addr) { + return embedding.view(A2($Signal.forwardTo,addr,fwd)); + } + ,get: get + ,set: set + ,map: F2(function (f,model) { return A2(set,f(get(model)),model);}) + ,fwd: fwd}; + }); + var embed = F4(function (view,update,get,set) { + return {view: F2(function (addr,model) { return A2(view,addr,get(model));}) + ,update: F2(function (action,model) { return A2($Material$Helpers.map1st,A2($Basics.flip,set,model),A2(update,action,get(model)));}) + ,getModel: get + ,setModel: set}; + }); + var embedIndexed = F6(function (view,update,get,set,model0,id) { + var set$ = F2(function (submodel,model) { return A2(set,A3($Dict.insert,id,submodel,get(model)),model);}); + var get$ = function (model) { return A2($Maybe.withDefault,model0,A2($Dict.get,id,get(model)));}; + return A4(embed,view,update,get$,set$); + }); + var instance = F8(function (view,update,get,set,id,lift,model0,observers) { + return A3(instance$,lift,observers,A6(embedIndexed,view,update,get,set,model0,id)); + }); + var instance1 = F7(function (view,update,get,set,lift,model0,observers) { + return A3(instance$, + lift, + observers, + A4(embed,view,update,function (_p11) { return A2($Maybe.withDefault,model0,get(_p11));},function (_p12) { return set($Maybe.Just(_p12));})); + }); + var Embedding = F4(function (a,b,c,d) { return {view: a,update: b,getModel: c,setModel: d};}); + return _elm.Material.Component.values = {_op: _op + ,embed: embed + ,embedIndexed: embedIndexed + ,instance: instance + ,instance1: instance1 + ,update: update + ,Embedding: Embedding + ,Instance: Instance}; +}; +Elm.Material = Elm.Material || {}; Elm.Material.Button = Elm.Material.Button || {}; Elm.Material.Button.make = function (_elm) { "use strict"; @@ -10940,6 +12027,7 @@ Elm.Material.Button.make = function (_elm) { $Html$Attributes = Elm.Html.Attributes.make(_elm), $Html$Events = Elm.Html.Events.make(_elm), $List = Elm.List.make(_elm), + $Material$Component = Elm.Material.Component.make(_elm), $Material$Helpers = Elm.Material.Helpers.make(_elm), $Material$Ripple = Elm.Material.Ripple.make(_elm), $Material$Style = Elm.Material.Style.make(_elm), @@ -10947,30 +12035,43 @@ Elm.Material.Button.make = function (_elm) { $Result = Elm.Result.make(_elm), $Signal = Elm.Signal.make(_elm); var _op = {}; + var fwdClick = F2(function (obs,action) { var _p0 = action;if (_p0.ctor === "Click") { return $Maybe.Just(obs);} else { return $Maybe.Nothing;}}); var accent = $Material$Style.cs("mdl-button--accent"); var primary = $Material$Style.cs("mdl-button--primary"); var colored = $Material$Style.cs("mdl-button--colored"); - var X = {ctor: "X"}; var Click = {ctor: "Click"}; var Ripple = function (a) { return {ctor: "Ripple",_0: a};}; var S = function (a) { return {ctor: "S",_0: a};}; var model = function (shouldRipple) { return shouldRipple ? S($Maybe.Just($Material$Ripple.model)) : S($Maybe.Nothing);}; var update = F2(function (action,model) { - var _p0 = action; - if (_p0.ctor === "Click") { + var _p1 = action; + if (_p1.ctor === "Click") { return {ctor: "_Tuple2",_0: model,_1: $Effects.none}; } else { - var _p1 = model; - if (_p1._0.ctor === "Just") { - var _p2 = A2($Material$Ripple.update,_p0._0,_p1._0._0); - var ripple$ = _p2._0; - var e = _p2._1; + var _p2 = model; + if (_p2._0.ctor === "Just") { + var _p3 = A2($Material$Ripple.update,_p1._0,_p2._0._0); + var ripple$ = _p3._0; + var e = _p3._1; return {ctor: "_Tuple2",_0: S($Maybe.Just(ripple$)),_1: A2($Effects.map,Ripple,e)}; } else { return {ctor: "_Tuple2",_0: model,_1: $Effects.none}; } } }); + var instance = F5(function (id,lift,view,model0,observers) { + return A8($Material$Component.instance, + view, + update, + function (_) { + return _.button; + }, + F2(function (x,y) { return _U.update(y,{button: x});}), + id, + lift, + model0, + observers); + }); var view = F5(function (kind,addr,model,styling,html) { return A4($Material$Style.styled, $Html.button, @@ -10983,13 +12084,13 @@ Elm.Material.Button.make = function (_elm) { A2($List._op["::"],A2($Material$Style.cs$,kind,!_U.eq(kind,"")),styling)))), _U.list([$Material$Helpers.blurOn("mouseup"),$Material$Helpers.blurOn("mouseleave"),A2($Html$Events.onClick,addr,Click)]), function () { - var _p3 = model; - if (_p3._0.ctor === "Just") { + var _p4 = model; + if (_p4._0.ctor === "Just") { return A2($List._op["::"], A3($Material$Ripple.view, A2($Signal.forwardTo,addr,Ripple), _U.list([$Html$Attributes.$class("mdl-button__ripple-container"),$Material$Helpers.blurOn("mouseup")]), - _p3._0._0), + _p4._0._0), html); } else { return html; @@ -11012,471 +12113,11 @@ Elm.Material.Button.make = function (_elm) { ,colored: colored ,primary: primary ,accent: accent + ,instance: instance + ,fwdClick: fwdClick ,Click: Click}; }; Elm.Material = Elm.Material || {}; -Elm.Material.Grid = Elm.Material.Grid || {}; -Elm.Material.Grid.make = function (_elm) { - "use strict"; - _elm.Material = _elm.Material || {}; - _elm.Material.Grid = _elm.Material.Grid || {}; - if (_elm.Material.Grid.values) return _elm.Material.Grid.values; - var _U = Elm.Native.Utils.make(_elm), - $Basics = Elm.Basics.make(_elm), - $Debug = Elm.Debug.make(_elm), - $Html = Elm.Html.make(_elm), - $List = Elm.List.make(_elm), - $Material$Helpers = Elm.Material.Helpers.make(_elm), - $Material$Style = Elm.Material.Style.make(_elm), - $Maybe = Elm.Maybe.make(_elm), - $Result = Elm.Result.make(_elm), - $Signal = Elm.Signal.make(_elm); - var _op = {}; - var align = function (a) { - var _p0 = a; - switch (_p0.ctor) - {case "Top": return $Material$Style.cs("mdl-cell--top"); - case "Middle": return $Material$Style.cs("mdl-cell--middle"); - default: return $Material$Style.cs("mdl-cell--bottom");} - }; - var Bottom = {ctor: "Bottom"}; - var Middle = {ctor: "Middle"}; - var Top = {ctor: "Top"}; - var suffix = function (device) { - var _p1 = device; - switch (_p1.ctor) - {case "All": return ""; - case "Desktop": return "-desktop"; - case "Tablet": return "-tablet"; - default: return "-phone";} - }; - var size = F2(function (device,k) { - var c = function () { - var _p2 = device; - switch (_p2.ctor) - {case "All": return A3($Material$Helpers.clip,1,12,k); - case "Desktop": return A3($Material$Helpers.clip,1,12,k); - case "Tablet": return A3($Material$Helpers.clip,1,8,k); - default: return A3($Material$Helpers.clip,1,4,k);} - }(); - return $Material$Style.cs(A2($Basics._op["++"],"mdl-cell--",A2($Basics._op["++"],$Basics.toString(c),A2($Basics._op["++"],"-col",suffix(device))))); - }); - var offset = F2(function (device,k) { - var c = function () { - var _p3 = device; - switch (_p3.ctor) - {case "All": return A3($Material$Helpers.clip,1,11,k); - case "Desktop": return A3($Material$Helpers.clip,1,11,k); - case "Tablet": return A3($Material$Helpers.clip,1,7,k); - default: return A3($Material$Helpers.clip,1,3,k);} - }(); - return $Material$Style.cs(A2($Basics._op["++"],"mdl-cell--",A2($Basics._op["++"],$Basics.toString(c),A2($Basics._op["++"],"-offset",suffix(device))))); - }); - var hide = function (device) { - return $Material$Style.cs(function () { - var _p4 = device; - if (_p4.ctor === "All") { - return ""; - } else { - return A2($Basics._op["++"],"mdl-cell--hide-",suffix(device)); - } - }()); - }; - var order = F2(function (device,n) { - return $Material$Style.cs(A2($Basics._op["++"], - "mdl-cell--order-", - A2($Basics._op["++"],$Basics.toString(A3($Material$Helpers.clip,1,12,n)),suffix(device)))); - }); - var Cell = function (a) { return {ctor: "Cell",_0: a};}; - var cell = F2(function (styling,elms) { - return Cell(A4($Material$Style.styled,$Html.div,A2($List._op["::"],$Material$Style.cs("mdl-cell"),styling),_U.list([]),elms)); - }); - var Phone = {ctor: "Phone"}; - var Tablet = {ctor: "Tablet"}; - var Desktop = {ctor: "Desktop"}; - var All = {ctor: "All"}; - var grid = F2(function (styling,cells) { - return A4($Material$Style.styled, - $Html.div, - A2($List._op["::"],$Material$Style.cs("mdl-grid"),styling), - _U.list([]), - A2($List.map,function (_p5) { var _p6 = _p5;return _p6._0;},cells)); - }); - var maxWidth = function (w) { return A2($Material$Style.css,"max-width",w);}; - var noSpacing = $Material$Style.cs("mdl-grid--no-spacing"); - return _elm.Material.Grid.values = {_op: _op - ,grid: grid - ,noSpacing: noSpacing - ,maxWidth: maxWidth - ,cell: cell - ,size: size - ,offset: offset - ,align: align - ,hide: hide - ,order: order - ,All: All - ,Desktop: Desktop - ,Tablet: Tablet - ,Phone: Phone - ,Top: Top - ,Middle: Middle - ,Bottom: Bottom}; -}; -Elm.Material = Elm.Material || {}; -Elm.Material.Icon = Elm.Material.Icon || {}; -Elm.Material.Icon.make = function (_elm) { - "use strict"; - _elm.Material = _elm.Material || {}; - _elm.Material.Icon = _elm.Material.Icon || {}; - if (_elm.Material.Icon.values) return _elm.Material.Icon.values; - var _U = Elm.Native.Utils.make(_elm), - $Basics = Elm.Basics.make(_elm), - $Debug = Elm.Debug.make(_elm), - $Html = Elm.Html.make(_elm), - $Html$Attributes = Elm.Html.Attributes.make(_elm), - $List = Elm.List.make(_elm), - $Maybe = Elm.Maybe.make(_elm), - $Result = Elm.Result.make(_elm), - $Signal = Elm.Signal.make(_elm); - var _op = {}; - var view = F3(function (name,size,attrs) { - var sz = function () { - var _p0 = size; - switch (_p0.ctor) - {case "S18": return " md-18"; - case "S24": return " md-24"; - case "S36": return " md-36"; - case "S48": return " md-48"; - default: return "";} - }(); - return A2($Html.i,A2($List._op["::"],$Html$Attributes.$class(A2($Basics._op["++"],"material-icons",sz)),attrs),_U.list([$Html.text(name)])); - }); - var S = {ctor: "S"}; - var i = function (name) { return A3(view,name,S,_U.list([]));}; - var S48 = {ctor: "S48"}; - var S36 = {ctor: "S36"}; - var S24 = {ctor: "S24"}; - var S18 = {ctor: "S18"}; - return _elm.Material.Icon.values = {_op: _op,view: view,i: i,S18: S18,S24: S24,S36: S36,S48: S48,S: S}; -}; -Elm.Demo = Elm.Demo || {}; -Elm.Demo.Buttons = Elm.Demo.Buttons || {}; -Elm.Demo.Buttons.make = function (_elm) { - "use strict"; - _elm.Demo = _elm.Demo || {}; - _elm.Demo.Buttons = _elm.Demo.Buttons || {}; - if (_elm.Demo.Buttons.values) return _elm.Demo.Buttons.values; - var _U = Elm.Native.Utils.make(_elm), - $Basics = Elm.Basics.make(_elm), - $Debug = Elm.Debug.make(_elm), - $Dict = Elm.Dict.make(_elm), - $Effects = Elm.Effects.make(_elm), - $Html = Elm.Html.make(_elm), - $Html$Attributes = Elm.Html.Attributes.make(_elm), - $List = Elm.List.make(_elm), - $Material$Button = Elm.Material.Button.make(_elm), - $Material$Grid = Elm.Material.Grid.make(_elm), - $Material$Icon = Elm.Material.Icon.make(_elm), - $Material$Style = Elm.Material.Style.make(_elm), - $Maybe = Elm.Maybe.make(_elm), - $Result = Elm.Result.make(_elm), - $Signal = Elm.Signal.make(_elm); - var _op = {}; - var Model = F2(function (a,b) { return {clicked: a,buttons: b};}); - var Action = F2(function (a,b) { return {ctor: "Action",_0: a,_1: b};}); - var update = F2(function (_p0,model) { - var _p1 = _p0; - var _p3 = _p1._0; - return A2($Maybe.withDefault, - {ctor: "_Tuple2",_0: model,_1: $Effects.none}, - A2($Maybe.map, - function (m0) { - var _p2 = A2($Material$Button.update,_p1._1,m0); - var m1 = _p2._0; - var e = _p2._1; - return {ctor: "_Tuple2",_0: _U.update(model,{buttons: A3($Dict.insert,_p3,m1,model.buttons)}),_1: A2($Effects.map,Action(_p3),e)}; - }, - A2($Dict.get,_p3,model.buttons))); - }); - var describe = F3(function (kind,ripple,c) { - return A2($Basics._op["++"],kind,A2($Basics._op["++"],", ",A2($Basics._op["++"],c,ripple ? " w/ripple" : ""))); - }); - var view$ = F5(function (view,coloring,elem,addr,model) { return A4(view,addr,model,coloring,_U.list([elem]));}); - var row = F2(function (_p4,ripple) { - var _p5 = _p4; - return A2($List.indexedMap, - F2(function (v0,v1) { return {ctor: "_Tuple2",_0: v0,_1: v1};}), - A2($List.map, - function (_p6) { - var _p7 = _p6; - return {ctor: "_Tuple3",_0: ripple,_1: A3(describe,_p5._0,ripple,_p7._0),_2: A3(view$,_p5._2,_p7._1,_p5._1)}; - }, - _U.list([{ctor: "_Tuple2",_0: "plain",_1: _U.list([])} - ,{ctor: "_Tuple2",_0: "colored",_1: _U.list([$Material$Button.colored])} - ,{ctor: "_Tuple2",_0: "primary",_1: _U.list([$Material$Button.primary])} - ,{ctor: "_Tuple2",_0: "accent",_1: _U.list([$Material$Button.accent])}]))); - }); - var buttons = A2($List.indexedMap, - F2(function (i,r) { - return A2($List.map,function (_p8) { var _p9 = _p8;return {ctor: "_Tuple2",_0: {ctor: "_Tuple2",_0: i,_1: _p9._0},_1: _p9._1};},r); - }), - A2($List.concatMap, - function (a) { - return _U.list([A2(row,a,false),A2(row,a,true)]); - }, - _U.list([{ctor: "_Tuple3",_0: "flat",_1: $Html.text("Flat Button"),_2: $Material$Button.flat} - ,{ctor: "_Tuple3",_0: "raised",_1: $Html.text("Raised Button"),_2: $Material$Button.raised} - ,{ctor: "_Tuple3",_0: "FAB",_1: $Material$Icon.i("add"),_2: $Material$Button.fab} - ,{ctor: "_Tuple3",_0: "mini-FAB",_1: $Material$Icon.i("zoom_in"),_2: $Material$Button.minifab} - ,{ctor: "_Tuple3",_0: "icon",_1: $Material$Icon.i("flight_land"),_2: $Material$Button.icon}]))); - var model = {clicked: "" - ,buttons: $Dict.fromList(A2($List.concatMap, - $List.map(function (_p10) { var _p11 = _p10;return {ctor: "_Tuple2",_0: _p11._0,_1: $Material$Button.model(_p11._1._0)};}), - buttons))}; - var view = F2(function (addr,model) { - return A2($Material$Grid.grid, - _U.list([]), - A2($List.concatMap, - function (row) { - return A2($List.concatMap, - function (_p12) { - var _p13 = _p12; - var _p14 = _p13._0; - var model$ = A2($Maybe.withDefault,$Material$Button.model(false),A2($Dict.get,_p14,model.buttons)); - return _U.list([A2($Material$Grid.cell, - _U.list([A2($Material$Grid.size,$Material$Grid.All,3)]), - _U.list([A2($Html.div, - _U.list([$Html$Attributes.style(_U.list([{ctor: "_Tuple2",_0: "text-align",_1: "center"} - ,{ctor: "_Tuple2",_0: "margin-top",_1: "1em"} - ,{ctor: "_Tuple2",_0: "margin-bottom",_1: "1em"}]))]), - _U.list([A2(_p13._1._2,A2($Signal.forwardTo,addr,Action(_p14)),model$) - ,A2($Html.div, - _U.list([$Html$Attributes.style(_U.list([{ctor: "_Tuple2",_0: "font-size",_1: "9pt"},{ctor: "_Tuple2",_0: "margin-top",_1: "1em"}]))]), - _U.list([$Html.text(_p13._1._1)]))]))]))]); - }, - row); - }, - buttons)); - }); - return _elm.Demo.Buttons.values = {_op: _op - ,view$: view$ - ,describe: describe - ,row: row - ,buttons: buttons - ,model: model - ,Action: Action - ,Model: Model - ,update: update - ,view: view}; -}; -Elm.Demo = Elm.Demo || {}; -Elm.Demo.Grid = Elm.Demo.Grid || {}; -Elm.Demo.Grid.make = function (_elm) { - "use strict"; - _elm.Demo = _elm.Demo || {}; - _elm.Demo.Grid = _elm.Demo.Grid || {}; - if (_elm.Demo.Grid.values) return _elm.Demo.Grid.values; - var _U = Elm.Native.Utils.make(_elm), - $Basics = Elm.Basics.make(_elm), - $Debug = Elm.Debug.make(_elm), - $Html = Elm.Html.make(_elm), - $List = Elm.List.make(_elm), - $Material$Grid = Elm.Material.Grid.make(_elm), - $Material$Style = Elm.Material.Style.make(_elm), - $Maybe = Elm.Maybe.make(_elm), - $Result = Elm.Result.make(_elm), - $Signal = Elm.Signal.make(_elm); - var _op = {}; - var style = function (h) { - return _U.list([A2($Material$Style.css,"text-sizing","border-box") - ,A2($Material$Style.css,"background-color","#BDBDBD") - ,A2($Material$Style.css,"height",A2($Basics._op["++"],$Basics.toString(h),"px")) - ,A2($Material$Style.css,"padding-left","8px") - ,A2($Material$Style.css,"padding-top","4px") - ,A2($Material$Style.css,"color","white")]); - }; - var democell = F2(function (k,styling) { return $Material$Grid.cell($List.concat(_U.list([style(k),styling])));}); - var small = democell(50); - var std = democell(200); - var view = _U.list([A2($Material$Grid.grid, - _U.list([]), - A2($List.map, - function (i) { - return A2(small,_U.list([A2($Material$Grid.size,$Material$Grid.All,1)]),_U.list([$Html.text("1")])); - }, - _U.range(1,12))) - ,A2($Material$Grid.grid, - _U.list([]), - A2($List.map, - function (i) { - return A2(std,_U.list([A2($Material$Grid.size,$Material$Grid.All,4)]),_U.list([$Html.text("4")])); - }, - _U.range(1,3))) - ,A2($Material$Grid.grid, - _U.list([]), - _U.list([A2(std,_U.list([A2($Material$Grid.size,$Material$Grid.All,6)]),_U.list([$Html.text("6")])) - ,A2(std,_U.list([A2($Material$Grid.size,$Material$Grid.All,4)]),_U.list([$Html.text("4")])) - ,A2(std,_U.list([A2($Material$Grid.size,$Material$Grid.All,2)]),_U.list([$Html.text("2")]))])) - ,A2($Material$Grid.grid, - _U.list([]), - _U.list([A2(std, - _U.list([A2($Material$Grid.size,$Material$Grid.All,6),A2($Material$Grid.size,$Material$Grid.Tablet,8)]), - _U.list([$Html.text("6 (8 tablet)")])) - ,A2(std, - _U.list([A2($Material$Grid.size,$Material$Grid.All,4),A2($Material$Grid.size,$Material$Grid.Tablet,6)]), - _U.list([$Html.text("4 (6 tablet)")])) - ,A2(std, - _U.list([A2($Material$Grid.size,$Material$Grid.All,2),A2($Material$Grid.size,$Material$Grid.Phone,4)]), - _U.list([$Html.text("2 (4 phone)")]))]))]); - return _elm.Demo.Grid.values = {_op: _op,style: style,democell: democell,small: small,std: std,view: view}; -}; - -// setup -Elm.Native = Elm.Native || {}; -Elm.Native.Markdown = Elm.Native.Markdown || {}; - -// definition -Elm.Native.Markdown.make = function(localRuntime) { - 'use strict'; - - // attempt to short-circuit - if ('values' in Elm.Native.Markdown) - { - return Elm.Native.Markdown.values; - } - - var Element = Elm.Native.Graphics.Element.make(localRuntime); - - var marked = (function() { - // catch the `marked` object regardless of the outer environment. - // (ex. a CommonJS module compatible environment.) - // note that this depends on marked's implementation of environment detection. - var module = {}; - var exports = module.exports = {}; - - /** - * marked - a markdown parser - * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed) - * https://github.com/chjj/marked - */ - (function(){var block={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:noop,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:noop,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment|closed|closing) *(?:\n{2,}|\s*$)/,def:/^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};block.bullet=/(?:[*+-]|\d+\.)/;block.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;block.item=replace(block.item,"gm")(/bull/g,block.bullet)();block.list=replace(block.list)(/bull/g,block.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+block.def.source+")")();block.blockquote=replace(block.blockquote)("def",block.def)();block._tag="(?!(?:"+"a|em|strong|small|s|cite|q|dfn|abbr|data|time|code"+"|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo"+"|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b";block.html=replace(block.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/
"+(escaped?code:escape(code,true))+"\n
"}return''+(escaped?code:escape(code,true))+"\n
\n"};Renderer.prototype.blockquote=function(quote){return"\n"+quote+"\n"};Renderer.prototype.html=function(html){return html};Renderer.prototype.heading=function(text,level,raw){return"
"+text+"
\n"};Renderer.prototype.table=function(header,body){return""+text+"
"};Renderer.prototype.br=function(){return this.options.xhtml?""+escape(e.message+"",true)+""}throw e}}marked.options=marked.setOptions=function(opt){merge(marked.defaults,opt);return marked};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,smartLists:false,silent:false,highlight:null,langPrefix:"lang-",smartypants:false,headerPrefix:"",renderer:new Renderer,xhtml:false};marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output;marked.parse=marked;if(typeof module!=="undefined"&&typeof exports==="object"){module.exports=marked}else if(typeof define==="function"&&define.amd){define(function(){return marked})}else{this.marked=marked}}).call(function(){return this||(typeof window!=="undefined"?window:global)}()); - - return module.exports; - })(); - - function formatOptions(options) { - var toHighlight = function (code, lang) { - if (!lang && options.defaultHighlighting.ctor === 'Just') - { - lang = options.defaultHighlighting._0; - } - if (typeof hljs !== 'undefined' - && lang - && hljs.listLanguages().indexOf(lang) >= 0) - { - return hljs.highlight(lang, code, true).value; - } - return code; - }; - var gfm = options.githubFlavored; - if (gfm.ctor === 'Just') - { - return { - highlight: toHighlight, - gfm: true, - tables: gfm._0.tables, - breaks: gfm._0.breaks, - sanitize: options.sanitize, - smartypants: options.smartypants - }; - } - else - { - return { - highlight: toHighlight, - gfm: false, - tables: false, - breaks: false, - sanitize: options.sanitize, - smartypants: options.smartypants - }; - } - } - - function toHtmlWith(options, rawMarkdown) - { - return new MarkdownWidget(options, rawMarkdown); - } - - function MarkdownWidget(options, rawMarkdown) - { - this.options = options; - this.markdown = rawMarkdown; - } - - MarkdownWidget.prototype.type = "Widget"; - - MarkdownWidget.prototype.init = function init() - { - var html = marked(this.markdown, formatOptions(this.options)); - var div = document.createElement('div'); - div.innerHTML = html; - return div; - }; - - MarkdownWidget.prototype.update = function update(previous, node) - { - if (this.markdown !== previous.markdown || this.options != previous.options) - { - var html = marked(this.markdown, formatOptions(this.options)); - node.innerHTML = html; - } - return node; - }; - - - function toElementWith(options, rawMarkdown) - { - return Element.markdown(marked(rawMarkdown, formatOptions(options))); - } - - return Elm.Native.Markdown.values = { - toHtmlWith: F2(toHtmlWith), - toElementWith: F2(toElementWith) - }; -}; - -Elm.Markdown = Elm.Markdown || {}; -Elm.Markdown.make = function (_elm) { - "use strict"; - _elm.Markdown = _elm.Markdown || {}; - if (_elm.Markdown.values) return _elm.Markdown.values; - var _U = Elm.Native.Utils.make(_elm), - $Basics = Elm.Basics.make(_elm), - $Debug = Elm.Debug.make(_elm), - $Graphics$Element = Elm.Graphics.Element.make(_elm), - $Html = Elm.Html.make(_elm), - $List = Elm.List.make(_elm), - $Maybe = Elm.Maybe.make(_elm), - $Native$Markdown = Elm.Native.Markdown.make(_elm), - $Result = Elm.Result.make(_elm), - $Signal = Elm.Signal.make(_elm); - var _op = {}; - var toElementWith = $Native$Markdown.toElementWith; - var toHtmlWith = $Native$Markdown.toHtmlWith; - var defaultOptions = {githubFlavored: $Maybe.Just({tables: false,breaks: false}),defaultHighlighting: $Maybe.Nothing,sanitize: false,smartypants: false}; - var Options = F4(function (a,b,c,d) { return {githubFlavored: a,defaultHighlighting: b,sanitize: c,smartypants: d};}); - var toElement = function (string) { return A2($Native$Markdown.toElementWith,defaultOptions,string);}; - var toHtml = function (string) { return A2($Native$Markdown.toHtmlWith,defaultOptions,string);}; - return _elm.Markdown.values = {_op: _op - ,toHtml: toHtml - ,toElement: toElement - ,Options: Options - ,defaultOptions: defaultOptions - ,toHtmlWith: toHtmlWith - ,toElementWith: toElementWith}; -}; -Elm.Material = Elm.Material || {}; Elm.Material.Color = Elm.Material.Color || {}; Elm.Material.Color.make = function (_elm) { "use strict"; @@ -11536,7 +12177,7 @@ Elm.Material.Color.make = function (_elm) { var S100 = {ctor: "S100"}; var S50 = {ctor: "S50"}; var shades = $Array.fromList(_U.list([S50,S100,S200,S300,S400,S500,S600,S700,S800,S900,A100,A200,A400,A700])); - var paletteName = function (color) { + var hueName = function (color) { var _p5 = color; switch (_p5.ctor) {case "Indigo": return "indigo"; @@ -11559,7 +12200,7 @@ Elm.Material.Color.make = function (_elm) { case "Purple": return "purple"; default: return "deep-purple";} }; - var color = F2(function (palette,shade) { return C(A2($Basics._op["++"],paletteName(palette),A2($Basics._op["++"],"-",shadeName(shade))));}); + var color = F2(function (hue,shade) { return C(A2($Basics._op["++"],hueName(hue),A2($Basics._op["++"],"-",shadeName(shade))));}); var scheme = F2(function (primary,accent) { var cssFile = function () { var _p6 = accent; @@ -11567,7 +12208,7 @@ Elm.Material.Color.make = function (_elm) { {case "Grey": return ""; case "Brown": return ""; case "BlueGrey": return ""; - default: return A2($Basics._op["++"],".",A2($Basics._op["++"],paletteName(primary),A2($Basics._op["++"],"-",paletteName(accent))));} + default: return A2($Basics._op["++"],".",A2($Basics._op["++"],hueName(primary),A2($Basics._op["++"],"-",hueName(accent))));} }(); return A2($Basics._op["++"],"material",A2($Basics._op["++"],cssFile,".min.css")); }); @@ -11590,27 +12231,27 @@ Elm.Material.Color.make = function (_elm) { var LightBlue = {ctor: "LightBlue"}; var Blue = {ctor: "Blue"}; var Indigo = {ctor: "Indigo"}; - var palette = $Array.fromList(_U.list([Indigo - ,Blue - ,LightBlue - ,Cyan - ,Teal - ,Green - ,LightGreen - ,Lime - ,Yellow - ,Amber - ,Orange - ,Brown - ,BlueGrey - ,Grey - ,DeepOrange - ,Red - ,Pink - ,Purple - ,DeepPurple])); + var hues = $Array.fromList(_U.list([Indigo + ,Blue + ,LightBlue + ,Cyan + ,Teal + ,Green + ,LightGreen + ,Lime + ,Yellow + ,Amber + ,Orange + ,Brown + ,BlueGrey + ,Grey + ,DeepOrange + ,Red + ,Pink + ,Purple + ,DeepPurple])); return _elm.Material.Color.values = {_op: _op - ,palette: palette + ,hues: hues ,shades: shades ,color: color ,white: white @@ -11657,6 +12298,456 @@ Elm.Material.Color.make = function (_elm) { ,A400: A400 ,A700: A700}; }; +Elm.Demo = Elm.Demo || {}; +Elm.Demo.Page = Elm.Demo.Page || {}; +Elm.Demo.Page.make = function (_elm) { + "use strict"; + _elm.Demo = _elm.Demo || {}; + _elm.Demo.Page = _elm.Demo.Page || {}; + if (_elm.Demo.Page.values) return _elm.Demo.Page.values; + var _U = Elm.Native.Utils.make(_elm), + $Basics = Elm.Basics.make(_elm), + $Debug = Elm.Debug.make(_elm), + $Html = Elm.Html.make(_elm), + $Html$Attributes = Elm.Html.Attributes.make(_elm), + $List = Elm.List.make(_elm), + $Markdown = Elm.Markdown.make(_elm), + $Material$Button = Elm.Material.Button.make(_elm), + $Material$Color = Elm.Material.Color.make(_elm), + $Material$Grid = Elm.Material.Grid.make(_elm), + $Material$Icon = Elm.Material.Icon.make(_elm), + $Material$Style = Elm.Material.Style.make(_elm), + $Maybe = Elm.Maybe.make(_elm), + $Result = Elm.Result.make(_elm), + $Signal = Elm.Signal.make(_elm); + var _op = {}; + var addr = $Signal.mailbox($Material$Button.Click).address; + var fab = function (url) { + return A4($Material$Button.fab, + addr, + $Material$Button.model(false), + _U.list([A2($Material$Style.css,"position","fixed") + ,A2($Material$Style.css,"right","48px") + ,A2($Material$Style.css,"top","72px") + ,A2($Material$Style.css,"z-index","100") + ,$Material$Button.colored + ,$Material$Style.attribute(A2($Html$Attributes.attribute,"onclick","alert(\'foo!\');"))]), + _U.list([$Material$Icon.i("link")])); + }; + var header = function (str) { return $Html.text(str);}; + var title = function (t) { + return A4($Material$Style.styled,$Html.h1,_U.list([$Material$Color.text($Material$Color.primary)]),_U.list([]),_U.list([$Html.text(t)])); + }; + var from = F3(function (title,url,body) { + return A2($Html.div, + _U.list([]), + _U.list([$Html.text("From the "),A2($Html.a,_U.list([$Html$Attributes.href(url)]),_U.list([$Html.text(title)])),$Html.text(":"),$Markdown.toHtml(body)])); + }); + var fromMDL = from("Material Design Lite documentation"); + var fromMDS = from("Material Design Specification"); + var references = function (links) { + return _U.list([header("References") + ,A2($Html.ul, + _U.list([$Html$Attributes.style(_U.list([{ctor: "_Tuple2",_0: "padding-left",_1: "0"}]))]), + A2($List.map, + function (_p0) { + var _p1 = _p0; + return A2($Html.li, + _U.list([$Html$Attributes.style(_U.list([{ctor: "_Tuple2",_0: "list-style-type",_1: "none"}]))]), + _U.list([A2($Html.a,_U.list([$Html$Attributes.href(_p1._1)]),_U.list([$Html.text(_p1._0)]))])); + }, + links))]); + }; + var body1 = F5(function (t,srcUrl,contents,links,demo) { + return A2($Html.div, + _U.list([]), + _U.list([title(t) + ,A2($Material$Grid.grid, + _U.list([$Material$Grid.noSpacing]), + _U.list([A2($Material$Grid.cell, + _U.list([A2($Material$Grid.size,$Material$Grid.All,6),A2($Material$Grid.size,$Material$Grid.Phone,4)]), + _U.list([contents])) + ,A2($Material$Grid.cell, + _U.list([A2($Material$Grid.size,$Material$Grid.All,5) + ,A2($Material$Grid.offset,$Material$Grid.Desktop,1) + ,A2($Material$Grid.size,$Material$Grid.Phone,4) + ,$Material$Grid.align($Material$Grid.Top) + ,A2($Material$Style.css,"position","relative")]), + references(A2($List._op["::"],{ctor: "_Tuple2",_0: "Demo source",_1: srcUrl},links)))])) + ,A2($Material$Style.div,_U.list([A2($Material$Style.css,"margin-bottom","48px")]),demo)])); + }); + var body2 = body1; + var body3 = F5(function (t,srcUrl,contents,links,demo) { + return A2($Html.div, + _U.list([]), + _U.list([title(t) + ,A2($Material$Grid.grid, + _U.list([$Material$Grid.noSpacing]), + _U.list([A2($Material$Grid.cell, + _U.list([A2($Material$Grid.size,$Material$Grid.All,4) + ,A2($Material$Grid.size,$Material$Grid.Desktop,5) + ,A2($Material$Grid.size,$Material$Grid.Tablet,8)]), + _U.list([contents,A2($Html.div,_U.list([]),references(A2($List._op["::"],{ctor: "_Tuple2",_0: "Demo source",_1: srcUrl},links)))])) + ,A2($Material$Grid.cell, + _U.list([A2($Material$Grid.size,$Material$Grid.Phone,4) + ,A2($Material$Grid.size,$Material$Grid.Desktop,5) + ,A2($Material$Grid.offset,$Material$Grid.Desktop,1) + ,A2($Material$Grid.size,$Material$Grid.Tablet,8)]), + demo)]))])); + }); + var mdl = function (url) { return {ctor: "_Tuple2",_0: "Material Design Lite documentation",_1: url};}; + var mds = function (url) { return {ctor: "_Tuple2",_0: "Material Design Specification",_1: url};}; + var $package = function (url) { return {ctor: "_Tuple2",_0: "Package documentation",_1: url};}; + var demo = function (url) { return {ctor: "_Tuple2",_0: "Demo source",_1: url};}; + return _elm.Demo.Page.values = {_op: _op,demo: demo,$package: $package,mds: mds,mdl: mdl,fromMDL: fromMDL,fromMDS: fromMDS,body1: body1,body2: body2}; +}; +Elm.Demo = Elm.Demo || {}; +Elm.Demo.Badges = Elm.Demo.Badges || {}; +Elm.Demo.Badges.make = function (_elm) { + "use strict"; + _elm.Demo = _elm.Demo || {}; + _elm.Demo.Badges = _elm.Demo.Badges || {}; + if (_elm.Demo.Badges.values) return _elm.Demo.Badges.values; + var _U = Elm.Native.Utils.make(_elm), + $Basics = Elm.Basics.make(_elm), + $Debug = Elm.Debug.make(_elm), + $Demo$Page = Elm.Demo.Page.make(_elm), + $Html = Elm.Html.make(_elm), + $List = Elm.List.make(_elm), + $Material$Badge = Elm.Material.Badge.make(_elm), + $Material$Grid = Elm.Material.Grid.make(_elm), + $Material$Icon = Elm.Material.Icon.make(_elm), + $Material$Style = Elm.Material.Style.make(_elm), + $Maybe = Elm.Maybe.make(_elm), + $Result = Elm.Result.make(_elm), + $Signal = Elm.Signal.make(_elm); + var _op = {}; + var references = _U.list([$Demo$Page.$package("http://package.elm-lang.org/packages/debois/elm-mdl/latest/Material-Badge") + ,$Demo$Page.mdl("https://www.getmdl.io/components/#badges-section")]); + var srcUrl = "https://github.com/debois/elm-mdl/blob/master/examples/Demo/Badges.elm"; + var intro = A2($Demo$Page.fromMDL, + "http://www.getmdl.io/components/#badges-section", + "\n> The Material Design Lite (MDL) badge component is an onscreen notification\n> element. A badge consists of a small circle, typically containing a number or\n> other characters, that appears in proximity to another object. A badge can be\n> both a notifier that there are additional items associated with an object and\n> an indicator of how many items there are.\n> \n> You can use a badge to unobtrusively draw the user\'s attention to items they\n> might not otherwise notice, or to emphasize that items may need their\n> attention. For example:\n> \n> - A \"New messages\" notification might be followed by a badge containing the\n> number of unread messages. \n> - A \"You have unpurchased items in your shopping cart\" reminder might include\n> a badge showing the number of items in the cart.\n> - A \"Join the discussion!\" button might have an accompanying badge indicating the\n> number of users currently participating in the discussion. \n> \n> A badge is almost\n> always positioned near a link so that the user has a convenient way to access\n> the additional information indicated by the badge. However, depending on the\n> intent, the badge itself may or may not be part of the link.\n> \n> Badges are a new feature in user interfaces, and provide users with a visual clue to help them discover additional relevant content. Their design and use is therefore an important factor in the overall user experience.\n> \n"); + var c = $Material$Grid.cell(_U.list([A2($Material$Grid.size,$Material$Grid.All,4)])); + var view = A5($Demo$Page.body2, + "Badges", + srcUrl, + intro, + references, + _U.list([A2($Html.p,_U.list([]),_U.list([$Html.text("Below are examples of various badges.")])) + ,A2($Material$Grid.grid, + _U.list([]), + _U.list([c(_U.list([A2($Material$Style.span,_U.list([$Material$Badge.withBadge("2")]),_U.list([$Html.text("Badge")]))])) + ,c(_U.list([A2($Material$Style.span, + _U.list([$Material$Badge.withBadge("22"),$Material$Badge.noBackground]), + _U.list([$Html.text("No background")]))])) + ,c(_U.list([A2($Material$Style.span,_U.list([$Material$Badge.withBadge("33"),$Material$Badge.overlap]),_U.list([$Html.text("Overlap")]))])) + ,c(_U.list([A2($Material$Style.span, + _U.list([$Material$Badge.withBadge("99"),$Material$Badge.overlap,$Material$Badge.noBackground]), + _U.list([$Html.text("Overlap, no background")]))])) + ,c(_U.list([A2($Material$Style.span,_U.list([$Material$Badge.withBadge("♥")]),_U.list([$Html.text("Symbol")]))])) + ,c(_U.list([A3($Material$Icon.view, + "flight_takeoff", + _U.list([$Material$Icon.size24,$Material$Badge.withBadge("33"),$Material$Badge.overlap]), + _U.list([]))]))]))])); + return _elm.Demo.Badges.values = {_op: _op,c: c,view: view,intro: intro,srcUrl: srcUrl,references: references}; +}; +Elm.Demo = Elm.Demo || {}; +Elm.Demo.Buttons = Elm.Demo.Buttons || {}; +Elm.Demo.Buttons.make = function (_elm) { + "use strict"; + _elm.Demo = _elm.Demo || {}; + _elm.Demo.Buttons = _elm.Demo.Buttons || {}; + if (_elm.Demo.Buttons.values) return _elm.Demo.Buttons.values; + var _U = Elm.Native.Utils.make(_elm), + $Basics = Elm.Basics.make(_elm), + $Debug = Elm.Debug.make(_elm), + $Demo$Page = Elm.Demo.Page.make(_elm), + $Dict = Elm.Dict.make(_elm), + $Effects = Elm.Effects.make(_elm), + $Html = Elm.Html.make(_elm), + $Html$Attributes = Elm.Html.Attributes.make(_elm), + $List = Elm.List.make(_elm), + $Material$Button = Elm.Material.Button.make(_elm), + $Material$Grid = Elm.Material.Grid.make(_elm), + $Material$Icon = Elm.Material.Icon.make(_elm), + $Material$Style = Elm.Material.Style.make(_elm), + $Maybe = Elm.Maybe.make(_elm), + $Result = Elm.Result.make(_elm), + $Signal = Elm.Signal.make(_elm); + var _op = {}; + var references = _U.list([$Demo$Page.$package("http://package.elm-lang.org/packages/debois/elm-mdl/latest/Material-Button") + ,$Demo$Page.mds("https://www.google.com/design/spec/components/buttons.html") + ,$Demo$Page.mdl("https://www.getmdl.io/components/#buttons-section")]); + var srcUrl = "https://github.com/debois/elm-mdl/blob/master/examples/Demo/Buttons.elm"; + var intro = A2($Demo$Page.fromMDL, + "https://www.getmdl.io/components/#buttons-section", + "\n> The Material Design Lite (MDL) button component is an enhanced version of the\n> standard HTML `