diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json
new file mode 100644
index 0000000..2f8bb27
--- /dev/null
+++ b/coverage/coverage-final.json
@@ -0,0 +1,2 @@
+{
+"/Users/philkunz/github/pushrocks/beautylog/index.js":{"path":"/Users/philkunz/github/pushrocks/beautylog/index.js","s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":2,"14":1,"15":1,"16":1,"17":2,"18":1,"19":2,"20":1,"21":1,"22":1,"23":1,"24":0,"25":2,"26":2,"27":1,"28":4,"29":1,"30":2,"31":2,"32":4,"33":1,"34":3,"35":2,"36":4,"37":2,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":14,"66":0,"67":14,"68":2,"69":14,"70":14,"71":2,"72":2,"73":2,"74":2,"75":2,"76":2,"77":2,"78":2,"79":2,"80":2,"81":2,"82":2,"83":2,"84":2,"85":0,"86":0,"87":0,"88":14,"89":14,"90":0,"91":0,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":0,"101":0,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":2,"112":2,"113":1,"114":1,"115":1,"116":1,"117":1,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":1},"b":{"1":[1,1],"2":[1,0],"3":[1,0],"4":[1,1],"5":[1,1,0],"6":[1,3],"7":[2,1],"8":[1,1],"9":[0,14],"10":[2,12],"11":[2,2,2,2,2,2,2,0,0],"12":[1,1],"13":[0,1],"14":[1,0],"15":[1,1],"16":[1,1],"17":[1,1],"18":[1,0,0]},"f":{"1":1,"2":1,"3":1,"4":1,"5":2,"6":4,"7":2,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":14,"19":1,"20":1,"21":1,"22":1,"23":1,"24":2,"25":1,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":1},"fnMap":{"1":{"name":"(anonymous_1)","line":5,"loc":{"start":{"line":5,"column":1},"end":{"line":5,"column":29}}},"2":{"name":"(anonymous_2)","line":6,"loc":{"start":{"line":6,"column":28},"end":{"line":6,"column":40}}},"3":{"name":"(anonymous_3)","line":15,"loc":{"start":{"line":15,"column":13},"end":{"line":15,"column":49}}},"4":{"name":"(anonymous_4)","line":25,"loc":{"start":{"line":25,"column":20},"end":{"line":25,"column":32}}},"5":{"name":"ConsoleTable","line":26,"loc":{"start":{"line":26,"column":4},"end":{"line":26,"column":59}}},"6":{"name":"(anonymous_6)","line":41,"loc":{"start":{"line":41,"column":34},"end":{"line":41,"column":49}}},"7":{"name":"(anonymous_7)","line":44,"loc":{"start":{"line":44,"column":35},"end":{"line":44,"column":47}}},"8":{"name":"(anonymous_8)","line":64,"loc":{"start":{"line":64,"column":1},"end":{"line":64,"column":26}}},"9":{"name":"init","line":65,"loc":{"start":{"line":65,"column":4},"end":{"line":65,"column":20}}},"10":{"name":"(anonymous_10)","line":77,"loc":{"start":{"line":77,"column":28},"end":{"line":77,"column":47}}},"11":{"name":"(anonymous_11)","line":85,"loc":{"start":{"line":85,"column":30},"end":{"line":85,"column":49}}},"12":{"name":"(anonymous_12)","line":93,"loc":{"start":{"line":93,"column":29},"end":{"line":93,"column":48}}},"13":{"name":"(anonymous_13)","line":101,"loc":{"start":{"line":101,"column":27},"end":{"line":101,"column":46}}},"14":{"name":"(anonymous_14)","line":109,"loc":{"start":{"line":109,"column":32},"end":{"line":109,"column":51}}},"15":{"name":"(anonymous_15)","line":117,"loc":{"start":{"line":117,"column":29},"end":{"line":117,"column":48}}},"16":{"name":"(anonymous_16)","line":127,"loc":{"start":{"line":127,"column":1},"end":{"line":127,"column":29}}},"17":{"name":"(anonymous_17)","line":128,"loc":{"start":{"line":128,"column":28},"end":{"line":128,"column":40}}},"18":{"name":"(anonymous_18)","line":144,"loc":{"start":{"line":144,"column":26},"end":{"line":144,"column":54}}},"19":{"name":"(anonymous_19)","line":189,"loc":{"start":{"line":189,"column":1},"end":{"line":189,"column":30}}},"20":{"name":"(anonymous_20)","line":190,"loc":{"start":{"line":190,"column":29},"end":{"line":190,"column":41}}},"21":{"name":"(anonymous_21)","line":191,"loc":{"start":{"line":191,"column":27},"end":{"line":191,"column":58}}},"22":{"name":"(anonymous_22)","line":211,"loc":{"start":{"line":211,"column":1},"end":{"line":211,"column":31}}},"23":{"name":"init","line":212,"loc":{"start":{"line":212,"column":4},"end":{"line":212,"column":20}}},"24":{"name":"(anonymous_24)","line":215,"loc":{"start":{"line":215,"column":31},"end":{"line":215,"column":69}}},"25":{"name":"(anonymous_25)","line":225,"loc":{"start":{"line":225,"column":1},"end":{"line":225,"column":29}}},"26":{"name":"init","line":226,"loc":{"start":{"line":226,"column":4},"end":{"line":226,"column":20}}},"27":{"name":"(anonymous_27)","line":228,"loc":{"start":{"line":228,"column":31},"end":{"line":228,"column":50}}},"28":{"name":"(anonymous_28)","line":231,"loc":{"start":{"line":231,"column":32},"end":{"line":231,"column":51}}},"29":{"name":"(anonymous_29)","line":234,"loc":{"start":{"line":234,"column":30},"end":{"line":234,"column":49}}},"30":{"name":"(anonymous_30)","line":237,"loc":{"start":{"line":237,"column":35},"end":{"line":237,"column":54}}},"31":{"name":"(anonymous_31)","line":240,"loc":{"start":{"line":240,"column":32},"end":{"line":240,"column":51}}},"32":{"name":"(anonymous_32)","line":256,"loc":{"start":{"line":256,"column":17},"end":{"line":256,"column":29}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":21}},"2":{"start":{"line":5,"column":0},"end":{"line":12,"column":48}},"3":{"start":{"line":6,"column":4},"end":{"line":11,"column":6}},"4":{"start":{"line":7,"column":8},"end":{"line":9,"column":10}},"5":{"start":{"line":10,"column":8},"end":{"line":10,"column":23}},"6":{"start":{"line":14,"column":0},"end":{"line":24,"column":2}},"7":{"start":{"line":16,"column":8},"end":{"line":16,"column":62}},"8":{"start":{"line":16,"column":41},"end":{"line":16,"column":60}},"9":{"start":{"line":17,"column":8},"end":{"line":17,"column":55}},"10":{"start":{"line":17,"column":35},"end":{"line":17,"column":53}},"11":{"start":{"line":18,"column":8},"end":{"line":18,"column":26}},"12":{"start":{"line":19,"column":8},"end":{"line":21,"column":9}},"13":{"start":{"line":20,"column":12},"end":{"line":20,"column":46}},"14":{"start":{"line":22,"column":8},"end":{"line":22,"column":24}},"15":{"start":{"line":25,"column":0},"end":{"line":61,"column":5}},"16":{"start":{"line":26,"column":4},"end":{"line":40,"column":5}},"17":{"start":{"line":27,"column":8},"end":{"line":27,"column":89}},"18":{"start":{"line":27,"column":44},"end":{"line":27,"column":87}},"19":{"start":{"line":28,"column":8},"end":{"line":37,"column":9}},"20":{"start":{"line":30,"column":16},"end":{"line":30,"column":70}},"21":{"start":{"line":31,"column":16},"end":{"line":31,"column":22}},"22":{"start":{"line":33,"column":16},"end":{"line":33,"column":51}},"23":{"start":{"line":34,"column":16},"end":{"line":34,"column":22}},"24":{"start":{"line":36,"column":16},"end":{"line":36,"column":22}},"25":{"start":{"line":38,"column":8},"end":{"line":38,"column":23}},"26":{"start":{"line":39,"column":8},"end":{"line":39,"column":33}},"27":{"start":{"line":41,"column":4},"end":{"line":43,"column":6}},"28":{"start":{"line":42,"column":8},"end":{"line":42,"column":28}},"29":{"start":{"line":44,"column":4},"end":{"line":59,"column":6}},"30":{"start":{"line":45,"column":8},"end":{"line":47,"column":11}},"31":{"start":{"line":48,"column":8},"end":{"line":56,"column":9}},"32":{"start":{"line":49,"column":12},"end":{"line":54,"column":13}},"33":{"start":{"line":50,"column":16},"end":{"line":50,"column":74}},"34":{"start":{"line":52,"column":17},"end":{"line":54,"column":13}},"35":{"start":{"line":53,"column":16},"end":{"line":53,"column":72}},"36":{"start":{"line":55,"column":12},"end":{"line":55,"column":39}},"37":{"start":{"line":58,"column":8},"end":{"line":58,"column":38}},"38":{"start":{"line":60,"column":4},"end":{"line":60,"column":24}},"39":{"start":{"line":63,"column":0},"end":{"line":63,"column":18}},"40":{"start":{"line":64,"column":0},"end":{"line":124,"column":42}},"41":{"start":{"line":65,"column":4},"end":{"line":122,"column":5}},"42":{"start":{"line":66,"column":8},"end":{"line":66,"column":43}},"43":{"start":{"line":67,"column":8},"end":{"line":67,"column":43}},"44":{"start":{"line":68,"column":8},"end":{"line":71,"column":10}},"45":{"start":{"line":77,"column":8},"end":{"line":79,"column":10}},"46":{"start":{"line":78,"column":12},"end":{"line":78,"column":53}},"47":{"start":{"line":85,"column":8},"end":{"line":87,"column":10}},"48":{"start":{"line":86,"column":12},"end":{"line":86,"column":55}},"49":{"start":{"line":93,"column":8},"end":{"line":95,"column":10}},"50":{"start":{"line":94,"column":12},"end":{"line":94,"column":54}},"51":{"start":{"line":101,"column":8},"end":{"line":103,"column":10}},"52":{"start":{"line":102,"column":12},"end":{"line":102,"column":52}},"53":{"start":{"line":109,"column":8},"end":{"line":111,"column":10}},"54":{"start":{"line":110,"column":12},"end":{"line":110,"column":57}},"55":{"start":{"line":117,"column":8},"end":{"line":119,"column":10}},"56":{"start":{"line":118,"column":12},"end":{"line":118,"column":54}},"57":{"start":{"line":120,"column":8},"end":{"line":120,"column":56}},"58":{"start":{"line":121,"column":8},"end":{"line":121,"column":29}},"59":{"start":{"line":123,"column":4},"end":{"line":123,"column":30}},"60":{"start":{"line":126,"column":0},"end":{"line":126,"column":21}},"61":{"start":{"line":127,"column":0},"end":{"line":186,"column":48}},"62":{"start":{"line":128,"column":4},"end":{"line":185,"column":6}},"63":{"start":{"line":129,"column":8},"end":{"line":137,"column":10}},"64":{"start":{"line":144,"column":8},"end":{"line":183,"column":10}},"65":{"start":{"line":145,"column":12},"end":{"line":145,"column":62}},"66":{"start":{"line":145,"column":38},"end":{"line":145,"column":60}},"67":{"start":{"line":146,"column":12},"end":{"line":146,"column":59}},"68":{"start":{"line":146,"column":38},"end":{"line":146,"column":57}},"69":{"start":{"line":147,"column":12},"end":{"line":182,"column":13}},"70":{"start":{"line":148,"column":16},"end":{"line":175,"column":17}},"71":{"start":{"line":150,"column":24},"end":{"line":150,"column":85}},"72":{"start":{"line":151,"column":24},"end":{"line":151,"column":30}},"73":{"start":{"line":153,"column":24},"end":{"line":153,"column":73}},"74":{"start":{"line":154,"column":24},"end":{"line":154,"column":30}},"75":{"start":{"line":156,"column":24},"end":{"line":156,"column":87}},"76":{"start":{"line":157,"column":24},"end":{"line":157,"column":30}},"77":{"start":{"line":159,"column":24},"end":{"line":159,"column":75}},"78":{"start":{"line":160,"column":24},"end":{"line":160,"column":30}},"79":{"start":{"line":162,"column":24},"end":{"line":162,"column":66}},"80":{"start":{"line":163,"column":24},"end":{"line":163,"column":30}},"81":{"start":{"line":165,"column":24},"end":{"line":165,"column":77}},"82":{"start":{"line":166,"column":24},"end":{"line":166,"column":30}},"83":{"start":{"line":168,"column":24},"end":{"line":168,"column":68}},"84":{"start":{"line":169,"column":24},"end":{"line":169,"column":30}},"85":{"start":{"line":172,"column":24},"end":{"line":172,"column":42}},"86":{"start":{"line":173,"column":24},"end":{"line":173,"column":88}},"87":{"start":{"line":174,"column":24},"end":{"line":174,"column":30}},"88":{"start":{"line":176,"column":16},"end":{"line":176,"column":37}},"89":{"start":{"line":177,"column":16},"end":{"line":177,"column":28}},"90":{"start":{"line":180,"column":16},"end":{"line":180,"column":119}},"91":{"start":{"line":181,"column":16},"end":{"line":181,"column":29}},"92":{"start":{"line":184,"column":8},"end":{"line":184,"column":27}},"93":{"start":{"line":188,"column":0},"end":{"line":188,"column":22}},"94":{"start":{"line":189,"column":0},"end":{"line":208,"column":50}},"95":{"start":{"line":190,"column":4},"end":{"line":207,"column":6}},"96":{"start":{"line":191,"column":8},"end":{"line":205,"column":10}},"97":{"start":{"line":192,"column":12},"end":{"line":192,"column":43}},"98":{"start":{"line":193,"column":12},"end":{"line":196,"column":14}},"99":{"start":{"line":197,"column":12},"end":{"line":200,"column":13}},"100":{"start":{"line":198,"column":16},"end":{"line":198,"column":84}},"101":{"start":{"line":199,"column":16},"end":{"line":199,"column":23}},"102":{"start":{"line":202,"column":12},"end":{"line":204,"column":13}},"103":{"start":{"line":203,"column":16},"end":{"line":203,"column":87}},"104":{"start":{"line":206,"column":8},"end":{"line":206,"column":28}},"105":{"start":{"line":210,"column":0},"end":{"line":210,"column":23}},"106":{"start":{"line":211,"column":0},"end":{"line":222,"column":52}},"107":{"start":{"line":212,"column":4},"end":{"line":220,"column":5}},"108":{"start":{"line":213,"column":8},"end":{"line":213,"column":60}},"109":{"start":{"line":214,"column":8},"end":{"line":214,"column":34}},"110":{"start":{"line":215,"column":8},"end":{"line":218,"column":10}},"111":{"start":{"line":216,"column":12},"end":{"line":216,"column":79}},"112":{"start":{"line":217,"column":12},"end":{"line":217,"column":35}},"113":{"start":{"line":219,"column":8},"end":{"line":219,"column":32}},"114":{"start":{"line":221,"column":4},"end":{"line":221,"column":35}},"115":{"start":{"line":224,"column":0},"end":{"line":224,"column":21}},"116":{"start":{"line":225,"column":0},"end":{"line":246,"column":48}},"117":{"start":{"line":226,"column":4},"end":{"line":244,"column":5}},"118":{"start":{"line":227,"column":8},"end":{"line":227,"column":34}},"119":{"start":{"line":228,"column":8},"end":{"line":230,"column":10}},"120":{"start":{"line":229,"column":12},"end":{"line":229,"column":103}},"121":{"start":{"line":231,"column":8},"end":{"line":233,"column":10}},"122":{"start":{"line":232,"column":12},"end":{"line":232,"column":105}},"123":{"start":{"line":234,"column":8},"end":{"line":236,"column":10}},"124":{"start":{"line":235,"column":12},"end":{"line":235,"column":103}},"125":{"start":{"line":237,"column":8},"end":{"line":239,"column":10}},"126":{"start":{"line":238,"column":12},"end":{"line":238,"column":108}},"127":{"start":{"line":240,"column":8},"end":{"line":242,"column":10}},"128":{"start":{"line":241,"column":12},"end":{"line":241,"column":105}},"129":{"start":{"line":243,"column":8},"end":{"line":243,"column":32}},"130":{"start":{"line":245,"column":4},"end":{"line":245,"column":33}},"131":{"start":{"line":255,"column":0},"end":{"line":255,"column":38}},"132":{"start":{"line":256,"column":0},"end":{"line":270,"column":5}},"133":{"start":{"line":257,"column":4},"end":{"line":269,"column":5}},"134":{"start":{"line":259,"column":12},"end":{"line":259,"column":51}},"135":{"start":{"line":260,"column":12},"end":{"line":260,"column":31}},"136":{"start":{"line":261,"column":12},"end":{"line":261,"column":18}},"137":{"start":{"line":263,"column":12},"end":{"line":263,"column":59}},"138":{"start":{"line":264,"column":12},"end":{"line":264,"column":36}},"139":{"start":{"line":265,"column":12},"end":{"line":265,"column":18}},"140":{"start":{"line":267,"column":12},"end":{"line":267,"column":101}},"141":{"start":{"line":268,"column":12},"end":{"line":268,"column":18}},"142":{"start":{"line":271,"column":0},"end":{"line":271,"column":27}}},"branchMap":{"1":{"line":12,"type":"binary-expr","locations":[{"start":{"line":12,"column":3},"end":{"line":12,"column":19}},{"start":{"line":12,"column":24},"end":{"line":12,"column":45}}]},"2":{"line":16,"type":"if","locations":[{"start":{"line":16,"column":8},"end":{"line":16,"column":8}},{"start":{"line":16,"column":8},"end":{"line":16,"column":8}}]},"3":{"line":17,"type":"if","locations":[{"start":{"line":17,"column":8},"end":{"line":17,"column":8}},{"start":{"line":17,"column":8},"end":{"line":17,"column":8}}]},"4":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":8},"end":{"line":27,"column":8}},{"start":{"line":27,"column":8},"end":{"line":27,"column":8}}]},"5":{"line":28,"type":"switch","locations":[{"start":{"line":29,"column":12},"end":{"line":31,"column":22}},{"start":{"line":32,"column":12},"end":{"line":34,"column":22}},{"start":{"line":35,"column":12},"end":{"line":36,"column":22}}]},"6":{"line":49,"type":"if","locations":[{"start":{"line":49,"column":12},"end":{"line":49,"column":12}},{"start":{"line":49,"column":12},"end":{"line":49,"column":12}}]},"7":{"line":52,"type":"if","locations":[{"start":{"line":52,"column":17},"end":{"line":52,"column":17}},{"start":{"line":52,"column":17},"end":{"line":52,"column":17}}]},"8":{"line":124,"type":"binary-expr","locations":[{"start":{"line":124,"column":3},"end":{"line":124,"column":16}},{"start":{"line":124,"column":21},"end":{"line":124,"column":39}}]},"9":{"line":145,"type":"if","locations":[{"start":{"line":145,"column":12},"end":{"line":145,"column":12}},{"start":{"line":145,"column":12},"end":{"line":145,"column":12}}]},"10":{"line":146,"type":"if","locations":[{"start":{"line":146,"column":12},"end":{"line":146,"column":12}},{"start":{"line":146,"column":12},"end":{"line":146,"column":12}}]},"11":{"line":148,"type":"switch","locations":[{"start":{"line":149,"column":20},"end":{"line":151,"column":30}},{"start":{"line":152,"column":20},"end":{"line":154,"column":30}},{"start":{"line":155,"column":20},"end":{"line":157,"column":30}},{"start":{"line":158,"column":20},"end":{"line":160,"column":30}},{"start":{"line":161,"column":20},"end":{"line":163,"column":30}},{"start":{"line":164,"column":20},"end":{"line":166,"column":30}},{"start":{"line":167,"column":20},"end":{"line":169,"column":30}},{"start":{"line":170,"column":20},"end":{"line":170,"column":31}},{"start":{"line":171,"column":20},"end":{"line":174,"column":30}}]},"12":{"line":186,"type":"binary-expr","locations":[{"start":{"line":186,"column":3},"end":{"line":186,"column":19}},{"start":{"line":186,"column":24},"end":{"line":186,"column":45}}]},"13":{"line":197,"type":"if","locations":[{"start":{"line":197,"column":12},"end":{"line":197,"column":12}},{"start":{"line":197,"column":12},"end":{"line":197,"column":12}}]},"14":{"line":202,"type":"if","locations":[{"start":{"line":202,"column":12},"end":{"line":202,"column":12}},{"start":{"line":202,"column":12},"end":{"line":202,"column":12}}]},"15":{"line":208,"type":"binary-expr","locations":[{"start":{"line":208,"column":3},"end":{"line":208,"column":20}},{"start":{"line":208,"column":25},"end":{"line":208,"column":47}}]},"16":{"line":222,"type":"binary-expr","locations":[{"start":{"line":222,"column":3},"end":{"line":222,"column":21}},{"start":{"line":222,"column":26},"end":{"line":222,"column":49}}]},"17":{"line":246,"type":"binary-expr","locations":[{"start":{"line":246,"column":3},"end":{"line":246,"column":19}},{"start":{"line":246,"column":24},"end":{"line":246,"column":45}}]},"18":{"line":257,"type":"switch","locations":[{"start":{"line":258,"column":8},"end":{"line":261,"column":18}},{"start":{"line":262,"column":8},"end":{"line":265,"column":18}},{"start":{"line":266,"column":8},"end":{"line":268,"column":18}}]}},"l":{"4":1,"5":1,"6":1,"7":1,"10":1,"14":1,"16":1,"17":1,"18":1,"19":1,"20":2,"22":1,"25":1,"26":1,"27":2,"28":2,"30":1,"31":1,"33":1,"34":1,"36":0,"38":2,"39":2,"41":1,"42":4,"44":1,"45":2,"48":2,"49":4,"50":1,"52":3,"53":2,"55":4,"58":2,"60":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"77":1,"78":1,"85":1,"86":1,"93":1,"94":1,"101":1,"102":1,"109":1,"110":1,"117":1,"118":1,"120":1,"121":1,"123":1,"126":1,"127":1,"128":1,"129":1,"144":1,"145":14,"146":14,"147":14,"148":14,"150":2,"151":2,"153":2,"154":2,"156":2,"157":2,"159":2,"160":2,"162":2,"163":2,"165":2,"166":2,"168":2,"169":2,"172":0,"173":0,"174":0,"176":14,"177":14,"180":0,"181":0,"184":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"197":1,"198":0,"199":0,"202":1,"203":1,"206":1,"210":1,"211":1,"212":1,"213":1,"214":1,"215":1,"216":2,"217":2,"219":1,"221":1,"224":1,"225":1,"226":1,"227":0,"228":0,"229":0,"231":0,"232":0,"234":0,"235":0,"237":0,"238":0,"240":0,"241":0,"243":0,"245":1,"255":1,"256":1,"257":1,"259":1,"260":1,"261":0,"263":0,"264":0,"265":0,"267":0,"268":0,"271":1}}}
diff --git a/coverage/lcov-report/base.css b/coverage/lcov-report/base.css
new file mode 100644
index 0000000..0c0571d
--- /dev/null
+++ b/coverage/lcov-report/base.css
@@ -0,0 +1,212 @@
+body, html {
+ margin:0; padding: 0;
+ height: 100%;
+}
+body {
+ font-family: Helvetica Neue, Helvetica, Arial;
+ font-size: 14px;
+ color:#333;
+}
+.small { font-size: 12px;; }
+*, *:after, *:before {
+ -webkit-box-sizing:border-box;
+ -moz-box-sizing:border-box;
+ box-sizing:border-box;
+ }
+h1 { font-size: 20px; margin: 0;}
+h2 { font-size: 14px; }
+pre {
+ font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
+ margin: 0;
+ padding: 0;
+ -moz-tab-size: 2;
+ -o-tab-size: 2;
+ tab-size: 2;
+}
+a { color:#0074D9; text-decoration:none; }
+a:hover { text-decoration:underline; }
+.strong { font-weight: bold; }
+.space-top1 { padding: 10px 0 0 0; }
+.pad2y { padding: 20px 0; }
+.pad1y { padding: 10px 0; }
+.pad2x { padding: 0 20px; }
+.pad2 { padding: 20px; }
+.pad1 { padding: 10px; }
+.space-left2 { padding-left:55px; }
+.space-right2 { padding-right:20px; }
+.center { text-align:center; }
+.clearfix { display:block; }
+.clearfix:after {
+ content:'';
+ display:block;
+ height:0;
+ clear:both;
+ visibility:hidden;
+ }
+.fl { float: left; }
+@media only screen and (max-width:640px) {
+ .col3 { width:100%; max-width:100%; }
+ .hide-mobile { display:none!important; }
+}
+
+.quiet {
+ color: #7f7f7f;
+ color: rgba(0,0,0,0.5);
+}
+.quiet a { opacity: 0.7; }
+
+.fraction {
+ font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
+ font-size: 10px;
+ color: #555;
+ background: #E8E8E8;
+ padding: 4px 5px;
+ border-radius: 3px;
+ vertical-align: middle;
+}
+
+div.path a:link, div.path a:visited { color: #333; }
+table.coverage {
+ border-collapse: collapse;
+ margin: 10px 0 0 0;
+ padding: 0;
+}
+
+table.coverage td {
+ margin: 0;
+ padding: 0;
+ vertical-align: top;
+}
+table.coverage td.line-count {
+ text-align: right;
+ padding: 0 5px 0 20px;
+}
+table.coverage td.line-coverage {
+ text-align: right;
+ padding-right: 10px;
+ min-width:20px;
+}
+
+table.coverage td span.cline-any {
+ display: inline-block;
+ padding: 0 5px;
+ width: 100%;
+}
+.missing-if-branch {
+ display: inline-block;
+ margin-right: 5px;
+ border-radius: 3px;
+ position: relative;
+ padding: 0 4px;
+ background: #333;
+ color: yellow;
+}
+
+.skip-if-branch {
+ display: none;
+ margin-right: 10px;
+ position: relative;
+ padding: 0 4px;
+ background: #ccc;
+ color: white;
+}
+.missing-if-branch .typ, .skip-if-branch .typ {
+ color: inherit !important;
+}
+.coverage-summary {
+ border-collapse: collapse;
+ width: 100%;
+}
+.coverage-summary tr { border-bottom: 1px solid #bbb; }
+.keyline-all { border: 1px solid #ddd; }
+.coverage-summary td, .coverage-summary th { padding: 10px; }
+.coverage-summary tbody { border: 1px solid #bbb; }
+.coverage-summary td { border-right: 1px solid #bbb; }
+.coverage-summary td:last-child { border-right: none; }
+.coverage-summary th {
+ text-align: left;
+ font-weight: normal;
+ white-space: nowrap;
+}
+.coverage-summary th.file { border-right: none !important; }
+.coverage-summary th.pct { }
+.coverage-summary th.pic,
+.coverage-summary th.abs,
+.coverage-summary td.pct,
+.coverage-summary td.abs { text-align: right; }
+.coverage-summary td.file { white-space: nowrap; }
+.coverage-summary td.pic { min-width: 120px !important; }
+.coverage-summary tfoot td { }
+
+.coverage-summary .sorter {
+ height: 10px;
+ width: 7px;
+ display: inline-block;
+ margin-left: 0.5em;
+ background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
+}
+.coverage-summary .sorted .sorter {
+ background-position: 0 -20px;
+}
+.coverage-summary .sorted-desc .sorter {
+ background-position: 0 -10px;
+}
+.status-line { height: 10px; }
+/* dark red */
+.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
+.low .chart { border:1px solid #C21F39 }
+/* medium red */
+.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
+/* light red */
+.low, .cline-no { background:#FCE1E5 }
+/* light green */
+.high, .cline-yes { background:rgb(230,245,208) }
+/* medium green */
+.cstat-yes { background:rgb(161,215,106) }
+/* dark green */
+.status-line.high, .high .cover-fill { background:rgb(77,146,33) }
+.high .chart { border:1px solid rgb(77,146,33) }
+
+
+.medium .chart { border:1px solid #666; }
+.medium .cover-fill { background: #666; }
+
+.cbranch-no { background: yellow !important; color: #111; }
+
+.cstat-skip { background: #ddd; color: #111; }
+.fstat-skip { background: #ddd; color: #111 !important; }
+.cbranch-skip { background: #ddd !important; color: #111; }
+
+span.cline-neutral { background: #eaeaea; }
+.medium { background: #eaeaea; }
+
+.cover-fill, .cover-empty {
+ display:inline-block;
+ height: 12px;
+}
+.chart {
+ line-height: 0;
+}
+.cover-empty {
+ background: white;
+}
+.cover-full {
+ border-right: none !important;
+}
+pre.prettyprint {
+ border: none !important;
+ padding: 0 !important;
+ margin: 0 !important;
+}
+.com { color: #999 !important; }
+.ignore-none { color: #999; font-weight: normal; }
+
+.wrapper {
+ min-height: 100%;
+ height: auto !important;
+ height: 100%;
+ margin: 0 auto -48px;
+}
+.footer, .push {
+ height: 48px;
+}
diff --git a/coverage/lcov-report/beautylog/index.html b/coverage/lcov-report/beautylog/index.html
new file mode 100644
index 0000000..624cbc7
--- /dev/null
+++ b/coverage/lcov-report/beautylog/index.html
@@ -0,0 +1,93 @@
+
+
+
+ Code coverage report for beautylog/
+
+
+
+
+
+
+
+
+
+
+
+
+ 80.99%
+ Statements
+ 115/142
+
+
+ 77.78%
+ Branches
+ 35/45
+
+
+ 81.25%
+ Functions
+ 26/32
+
+
+ 81.02%
+ Lines
+ 111/137
+
+
+
+
+
+
+
+
+ File |
+ |
+ Statements |
+ |
+ Branches |
+ |
+ Functions |
+ |
+ Lines |
+ |
+
+
+
+ index.js |
+ |
+ 80.99% |
+ 115/142 |
+ 77.78% |
+ 35/45 |
+ 81.25% |
+ 26/32 |
+ 81.02% |
+ 111/137 |
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/lcov-report/beautylog/index.js.html b/coverage/lcov-report/beautylog/index.js.html
new file mode 100644
index 0000000..25860ac
--- /dev/null
+++ b/coverage/lcov-report/beautylog/index.js.html
@@ -0,0 +1,878 @@
+
+
+
+ Code coverage report for beautylog/index.js
+
+
+
+
+
+
+
+
+
+
+
+
+ 80.99%
+ Statements
+ 115/142
+
+
+ 77.78%
+ Branches
+ 35/45
+
+
+ 81.25%
+ Functions
+ 26/32
+
+
+ 81.02%
+ Lines
+ 111/137
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272 |
+
+
+1×
+1×
+1×
+1×
+
+
+1×
+
+
+
+1×
+
+1×
+1×
+1×
+1×
+2×
+
+1×
+
+
+1×
+1×
+2×
+2×
+
+1×
+1×
+
+1×
+1×
+
+
+
+2×
+2×
+
+1×
+4×
+
+1×
+2×
+
+
+2×
+4×
+1×
+
+3×
+2×
+
+4×
+
+
+2×
+
+1×
+
+
+1×
+1×
+1×
+1×
+1×
+1×
+
+
+
+
+
+
+
+
+1×
+1×
+
+
+
+
+
+
+1×
+1×
+
+
+
+
+
+
+1×
+1×
+
+
+
+
+
+
+1×
+1×
+
+
+
+
+
+
+1×
+1×
+
+
+
+
+
+
+1×
+1×
+
+1×
+1×
+
+1×
+
+
+1×
+1×
+1×
+1×
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1×
+14×
+14×
+14×
+14×
+
+2×
+2×
+
+2×
+2×
+
+2×
+2×
+
+2×
+2×
+
+2×
+2×
+
+2×
+2×
+
+2×
+2×
+
+
+
+
+
+
+14×
+14×
+
+
+
+
+
+
+1×
+
+
+
+1×
+1×
+1×
+1×
+1×
+1×
+
+
+
+1×
+
+
+
+
+1×
+1×
+
+
+1×
+
+
+
+1×
+1×
+1×
+1×
+1×
+1×
+2×
+2×
+
+1×
+
+1×
+
+
+1×
+1×
+1×
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1×
+
+
+
+
+
+
+
+
+
+1×
+1×
+1×
+
+1×
+1×
+
+
+
+
+
+
+
+
+
+
+1×
+ | #!/usr/bin/env node
+
+/// <reference path="./index.ts" />
+var BeautylogPlugins;
+(function (BeautylogPlugins) {
+ BeautylogPlugins.init = function () {
+ var plugins = {
+ smartenv: require("smartenv")
+ };
+ return plugins;
+ };
+})(BeautylogPlugins || (BeautylogPlugins = {}));
+/// <reference path="./index.ts" />
+var tableHelpers = {
+ makeRow: function (cellCounterArg, colorArg) {
+ Eif (cellCounterArg === void 0) { cellCounterArg = 2; }
+ Eif (colorArg === void 0) { colorArg = "cyan"; }
+ var rowArray = [];
+ for (var i = 0; i < (cellCounterArg); i++) {
+ rowArray.push(String(i + 1).cyan);
+ }
+ return rowArray;
+ }
+};
+var ConsoleTable = (function () {
+ function ConsoleTable(tableTypeArg, tableHeadArrayArg) {
+ if (tableHeadArrayArg === void 0) { tableHeadArrayArg = tableHelpers.makeRow(); }
+ switch (tableTypeArg) {
+ case "checks":
+ this.tableHead = ['Check Item:'.cyan, 'Status:'.cyan];
+ break;
+ case "custom":
+ this.tableHead = tableHeadArrayArg;
+ break;
+ default:
+ break;
+ }
+ this.rows = [];
+ this.type = tableTypeArg;
+ }
+ ConsoleTable.prototype.push = function (row) {
+ this.rows.push(row);
+ };
+ ConsoleTable.prototype.print = function () {
+ var table = new BeautylogNodeTable.cliTable({
+ head: this.tableHead
+ });
+ for (var row in this.rows) {
+ if (this.rows[row][1] == "success") {
+ this.rows[row][1] = ' '.bgGreen + ' ' + this.rows[row][1];
+ }
+ else if (this.rows[row][1] == "error") {
+ this.rows[row][1] = ' '.bgRed + ' ' + this.rows[row][1];
+ }
+ table.push(this.rows[row]);
+ }
+ ;
+ console.log(table.toString());
+ };
+ return ConsoleTable;
+})();
+/// <reference path="./index.ts" />
+var BeautylogNode;
+(function (BeautylogNode) {
+ function init() {
+ plugins.colors = require("colors");
+ plugins.clc = require("cli-color");
+ var beautylogNode = {
+ log: BeautylogNodeLog.init(),
+ code: BeautylogNodeCode.init()
+ }; //object to append to all public facing functions
+ /**
+ * logs an directory to console
+ * @param logText
+ * @returns {boolean}
+ */
+ beautylogNode.dir = function (logText) {
+ return beautylogNode.log(logText, 'dir');
+ };
+ /**
+ * logs an error to console
+ * @param logText
+ * @returns {boolean}
+ */
+ beautylogNode.error = function (logText) {
+ return beautylogNode.log(logText, 'error');
+ };
+ /**
+ * logs an info to console
+ * @param logText
+ * @returns {boolean}
+ */
+ beautylogNode.info = function (logText) {
+ return beautylogNode.log(logText, 'info');
+ };
+ /**
+ * logs an 'OK!' message to console
+ * @param logText
+ * @returns {boolean}
+ */
+ beautylogNode.ok = function (logText) {
+ return beautylogNode.log(logText, 'ok');
+ };
+ /**
+ * logs a success to console
+ * @param logText string to log as error
+ * @returns {boolean}
+ */
+ beautylogNode.success = function (logText) {
+ return beautylogNode.log(logText, 'success');
+ };
+ /**
+ * logs a 'warn:' message to console
+ * @param logText string to log as error
+ * @returns {boolean}
+ */
+ beautylogNode.warn = function (logText) {
+ return beautylogNode.log(logText, 'warn');
+ };
+ beautylogNode.table = BeautylogNodeTable.init();
+ return beautylogNode;
+ }
+ BeautylogNode.init = init;
+})(BeautylogNode || (BeautylogNode = {}));
+/// <reference path="./index.ts" />
+var BeautylogNodeLog;
+(function (BeautylogNodeLog) {
+ BeautylogNodeLog.init = function () {
+ var localBl = {
+ dirPrefix: plugins.clc.bgXterm(39).xterm(231).bold(' DIR ') + ' ',
+ errorPrefix: ' Error: '.bgRed.white.bold + ' ',
+ infoPrefix: plugins.clc.bgXterm(198).xterm(231).bold(' INFO ') + ' ',
+ normalPrefix: ' Log: '.bgCyan.white.bold + ' ',
+ okPrefix: ' '.bgGreen + ' OK! '.bgBlack.green.bold + ' ',
+ successPrefix: ' Success: '.bgGreen.white.bold + ' ',
+ warnPrefix: ' '.bgYellow + ' Warn: '.bgBlack.yellow.bold + ' '
+ };
+ /**
+ *
+ * @param logText
+ * @param logType
+ * @returns {boolean}
+ */
+ var logFunction = function (logText, logType) {
+ Iif (logText === void 0) { logText = 'empty log'; }
+ if (logType === void 0) { logType = 'normal'; }
+ try {
+ switch (logType) {
+ case 'dir':
+ logText = localBl.dirPrefix + plugins.clc.xterm(26)(logText);
+ break;
+ case 'error':
+ logText = localBl.errorPrefix + logText.red.bold;
+ break;
+ case 'info':
+ logText = localBl.infoPrefix + plugins.clc.xterm(198)(logText);
+ break;
+ case 'normal':
+ logText = localBl.normalPrefix + logText.cyan.bold;
+ break;
+ case 'ok':
+ logText = localBl.okPrefix + logText.bold;
+ break;
+ case 'success':
+ logText = localBl.successPrefix + logText.green.bold;
+ break;
+ case 'warn':
+ logText = localBl.warnPrefix + logText.bold;
+ break;
+ case 'log':
+ default:
+ logText.blue.bold;
+ console.log(('unknown logType for "' + logText + '"').red.bold);
+ break;
+ }
+ console.log(logText);
+ return true;
+ }
+ catch (error) {
+ console.log(localBl.errorPrefix + 'You seem to have tried logging something strange'.red.bold + error);
+ return false;
+ }
+ };
+ return logFunction;
+ };
+})(BeautylogNodeLog || (BeautylogNodeLog = {}));
+/// <reference path="./index.ts" />
+var BeautylogNodeCode;
+(function (BeautylogNodeCode) {
+ BeautylogNodeCode.init = function () {
+ var codeFunction = function (codeString, options) {
+ var hlight = require("hlight");
+ var codeSnippet = {
+ source: codeString,
+ highlighted: "default"
+ };
+ Iif (typeof codeString != "string") {
+ console.log("beautylog.code() expects a string as first argument!");
+ return;
+ }
+ ;
+ Eif (typeof options != "undefined") {
+ codeSnippet.highlighted = hlight(codeSnippet.source, options.language);
+ }
+ };
+ return codeFunction;
+ };
+})(BeautylogNodeCode || (BeautylogNodeCode = {}));
+/// <reference path="./index.ts" />
+var BeautylogNodeTable;
+(function (BeautylogNodeTable) {
+ function init() {
+ BeautylogNodeTable.cliTable = require("cli-table2");
+ var beautylogOsTable = {};
+ beautylogOsTable.new = function (typeArg, tableHeadArrayArg) {
+ var newConsoleTable = new ConsoleTable(typeArg, tableHeadArrayArg);
+ return newConsoleTable;
+ };
+ return beautylogOsTable;
+ }
+ BeautylogNodeTable.init = init;
+})(BeautylogNodeTable || (BeautylogNodeTable = {}));
+/// <reference path="./index.ts" />
+var BeautylogBrowser;
+(function (BeautylogBrowser) {
+ function init() {
+ var beautylogBrowser = {};
+ beautylogBrowser.log = function (message) {
+ console.log('%c Log: %c ' + message, "background:#42A5F5;color:#ffffff", "color:#42A5F5;");
+ };
+ beautylogBrowser.info = function (message) {
+ console.log('%c Info: %c ' + message, 'background:#EC407A;color:#ffffff;', 'color:#EC407A;');
+ };
+ beautylogBrowser.ok = function (message) {
+ console.log('%c OK: %c ' + message, "background:#000000;color:#8BC34A;", "color:#000000;");
+ };
+ beautylogBrowser.success = function (message) {
+ console.log('%c Success: %c ' + message, "background:#8BC34A;color:#ffffff;", "color:#8BC34A;");
+ };
+ beautylogBrowser.warn = function (message) {
+ console.log('%c Warn: %c ' + message, "background:#000000;color:#FB8C00;", "color:#000000;");
+ };
+ return beautylogBrowser;
+ }
+ BeautylogBrowser.init = init;
+})(BeautylogBrowser || (BeautylogBrowser = {}));
+/// <reference path="./typings/main.d.ts" />
+/// <reference path="./beautylog.plugins.ts" />
+/// <reference path="./beautylog.classes.ts" />
+/// <reference path="./beautylog.node.ts" />
+/// <reference path="./beautylog.node.log.ts" />
+/// <reference path="./beautylog.node.code.ts" />
+/// <reference path="./beautylog.node.table.ts" />
+/// <reference path="./beautylog.browser.ts" />
+var plugins = BeautylogPlugins.init();
+var beautylog = (function () {
+ switch (plugins.smartenv.getEnv().runtimeEnv) {
+ case "node":
+ var beautylogOs = BeautylogNode.init();
+ return beautylogOs;
+ break;
+ case "browser":
+ var beautylogBrowser = BeautylogBrowser.init();
+ return beautylogBrowser;
+ break;
+ default:
+ console.log("something is strange about the platform in which you try to use beautylog");
+ break;
+ }
+})();
+module.exports = beautylog;
+ |
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/lcov-report/index.html b/coverage/lcov-report/index.html
new file mode 100644
index 0000000..48fdced
--- /dev/null
+++ b/coverage/lcov-report/index.html
@@ -0,0 +1,93 @@
+
+
+
+ Code coverage report for All files
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+ 80.99%
+ Statements
+ 115/142
+
+
+ 77.78%
+ Branches
+ 35/45
+
+
+ 81.25%
+ Functions
+ 26/32
+
+
+ 81.02%
+ Lines
+ 111/137
+
+
+
+
+
+
+
+
+ File |
+ |
+ Statements |
+ |
+ Branches |
+ |
+ Functions |
+ |
+ Lines |
+ |
+
+
+
+ beautylog/ |
+ |
+ 80.99% |
+ 115/142 |
+ 77.78% |
+ 35/45 |
+ 81.25% |
+ 26/32 |
+ 81.02% |
+ 111/137 |
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/lcov-report/prettify.css b/coverage/lcov-report/prettify.css
new file mode 100644
index 0000000..b317a7c
--- /dev/null
+++ b/coverage/lcov-report/prettify.css
@@ -0,0 +1 @@
+.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
diff --git a/coverage/lcov-report/prettify.js b/coverage/lcov-report/prettify.js
new file mode 100644
index 0000000..ef51e03
--- /dev/null
+++ b/coverage/lcov-report/prettify.js
@@ -0,0 +1 @@
+window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^