node-sscheduler-mirror 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"/home/travis/build/SSENSE/node-sscheduler/src/index.ts":{"path":"/home/travis/build/SSENSE/node-sscheduler/src/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":37}},"1":{"start":{"line":1,"column":8},"end":{"line":1,"column":17}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0},"f":{},"b":{}},"/home/travis/build/SSENSE/node-sscheduler/src/Scheduler.ts":{"path":"/home/travis/build/SSENSE/node-sscheduler/src/Scheduler.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":32}},"1":{"start":{"line":9,"column":0},"end":{"line":9,"column":38}},"2":{"start":{"line":14,"column":14},"end":{"line":22,"column":6}},"3":{"start":{"line":25,"column":35},"end":{"line":25,"column":57}},"4":{"start":{"line":26,"column":29},"end":{"line":26,"column":123}},"5":{"start":{"line":27,"column":27},"end":{"line":27,"column":119}},"6":{"start":{"line":28,"column":8},"end":{"line":28,"column":65}},"7":{"start":{"line":29,"column":8},"end":{"line":29,"column":61}},"8":{"start":{"line":30,"column":8},"end":{"line":30,"column":24}},"9":{"start":{"line":34,"column":40},"end":{"line":38,"column":9}},"10":{"start":{"line":40,"column":8},"end":{"line":42,"column":9}},"11":{"start":{"line":41,"column":12},"end":{"line":41,"column":94}},"12":{"start":{"line":44,"column":8},"end":{"line":50,"column":9}},"13":{"start":{"line":45,"column":12},"end":{"line":45,"column":89}},"14":{"start":{"line":46,"column":15},"end":{"line":50,"column":9}},"15":{"start":{"line":47,"column":12},"end":{"line":47,"column":87}},"16":{"start":{"line":48,"column":15},"end":{"line":50,"column":9}},"17":{"start":{"line":49,"column":12},"end":{"line":49,"column":80}},"18":{"start":{"line":52,"column":8},"end":{"line":52,"column":17}},"19":{"start":{"line":56,"column":28},"end":{"line":60,"column":9}},"20":{"start":{"line":62,"column":8},"end":{"line":68,"column":9}},"21":{"start":{"line":63,"column":12},"end":{"line":63,"column":73}},"22":{"start":{"line":64,"column":15},"end":{"line":68,"column":9}},"23":{"start":{"line":65,"column":12},"end":{"line":65,"column":71}},"24":{"start":{"line":66,"column":15},"end":{"line":68,"column":9}},"25":{"start":{"line":67,"column":12},"end":{"line":67,"column":64}},"26":{"start":{"line":70,"column":8},"end":{"line":89,"column":9}},"27":{"start":{"line":71,"column":12},"end":{"line":71,"column":34}},"28":{"start":{"line":72,"column":12},"end":{"line":88,"column":13}},"29":{"start":{"line":73,"column":36},"end":{"line":77,"column":17}},"30":{"start":{"line":79,"column":16},"end":{"line":85,"column":17}},"31":{"start":{"line":80,"column":20},"end":{"line":80,"column":96}},"32":{"start":{"line":81,"column":23},"end":{"line":85,"column":17}},"33":{"start":{"line":82,"column":20},"end":{"line":82,"column":94}},"34":{"start":{"line":83,"column":23},"end":{"line":85,"column":17}},"35":{"start":{"line":84,"column":20},"end":{"line":84,"column":87}},"36":{"start":{"line":87,"column":16},"end":{"line":87,"column":51}},"37":{"start":{"line":91,"column":8},"end":{"line":91,"column":17}},"38":{"start":{"line":96,"column":18},"end":{"line":96,"column":35}},"39":{"start":{"line":98,"column":8},"end":{"line":102,"column":9}},"40":{"start":{"line":99,"column":12},"end":{"line":99,"column":48}},"41":{"start":{"line":100,"column":15},"end":{"line":102,"column":9}},"42":{"start":{"line":101,"column":12},"end":{"line":101,"column":46}},"43":{"start":{"line":104,"column":8},"end":{"line":104,"column":51}},"44":{"start":{"line":105,"column":8},"end":{"line":105,"column":47}},"45":{"start":{"line":107,"column":8},"end":{"line":113,"column":9}},"46":{"start":{"line":108,"column":12},"end":{"line":108,"column":78}},"47":{"start":{"line":109,"column":15},"end":{"line":113,"column":9}},"48":{"start":{"line":110,"column":12},"end":{"line":110,"column":76}},"49":{"start":{"line":111,"column":15},"end":{"line":113,"column":9}},"50":{"start":{"line":112,"column":12},"end":{"line":112,"column":64}},"51":{"start":{"line":115,"column":8},"end":{"line":117,"column":9}},"52":{"start":{"line":116,"column":12},"end":{"line":116,"column":52}},"53":{"start":{"line":119,"column":8},"end":{"line":128,"column":9}},"54":{"start":{"line":120,"column":12},"end":{"line":127,"column":13}},"55":{"start":{"line":121,"column":16},"end":{"line":126,"column":17}},"56":{"start":{"line":122,"column":27},"end":{"line":122,"column":111}},"57":{"start":{"line":124,"column":20},"end":{"line":124,"column":63}},"58":{"start":{"line":125,"column":20},"end":{"line":125,"column":30}},"59":{"start":{"line":130,"column":8},"end":{"line":137,"column":9}},"60":{"start":{"line":131,"column":12},"end":{"line":136,"column":13}},"61":{"start":{"line":132,"column":16},"end":{"line":132,"column":91}},"62":{"start":{"line":134,"column":16},"end":{"line":134,"column":57}},"63":{"start":{"line":135,"column":16},"end":{"line":135,"column":26}},"64":{"start":{"line":139,"column":8},"end":{"line":161,"column":9}},"65":{"start":{"line":141,"column":12},"end":{"line":160,"column":13}},"66":{"start":{"line":142,"column":39},"end":{"line":142,"column":67}},"67":{"start":{"line":143,"column":41},"end":{"line":143,"column":63}},"68":{"start":{"line":144,"column":16},"end":{"line":158,"column":17}},"69":{"start":{"line":145,"column":30},"end":{"line":145,"column":127}},"70":{"start":{"line":146,"column":20},"end":{"line":146,"column":77}},"71":{"start":{"line":148,"column":20},"end":{"line":148,"column":84}},"72":{"start":{"line":149,"column":20},"end":{"line":149,"column":80}},"73":{"start":{"line":151,"column":20},"end":{"line":157,"column":21}},"74":{"start":{"line":152,"column":24},"end":{"line":152,"column":111}},"75":{"start":{"line":153,"column":27},"end":{"line":157,"column":21}},"76":{"start":{"line":154,"column":24},"end":{"line":154,"column":109}},"77":{"start":{"line":155,"column":27},"end":{"line":157,"column":21}},"78":{"start":{"line":156,"column":24},"end":{"line":156,"column":91}},"79":{"start":{"line":159,"column":16},"end":{"line":159,"column":56}},"80":{"start":{"line":163,"column":8},"end":{"line":180,"column":9}},"81":{"start":{"line":164,"column":12},"end":{"line":179,"column":13}},"82":{"start":{"line":165,"column":16},"end":{"line":165,"column":76}},"83":{"start":{"line":166,"column":16},"end":{"line":168,"column":17}},"84":{"start":{"line":167,"column":20},"end":{"line":167,"column":102}},"85":{"start":{"line":169,"column":16},"end":{"line":171,"column":17}},"86":{"start":{"line":170,"column":20},"end":{"line":170,"column":87}},"87":{"start":{"line":172,"column":16},"end":{"line":172,"column":68}},"88":{"start":{"line":173,"column":16},"end":{"line":175,"column":17}},"89":{"start":{"line":174,"column":20},"end":{"line":174,"column":87}},"90":{"start":{"line":177,"column":41},"end":{"line":177,"column":96}},"91":{"start":{"line":178,"column":16},"end":{"line":178,"column":89}},"92":{"start":{"line":182,"column":8},"end":{"line":186,"column":9}},"93":{"start":{"line":183,"column":12},"end":{"line":185,"column":15}},"94":{"start":{"line":184,"column":16},"end":{"line":184,"column":126}},"95":{"start":{"line":188,"column":8},"end":{"line":190,"column":9}},"96":{"start":{"line":189,"column":12},"end":{"line":189,"column":69}},"97":{"start":{"line":191,"column":8},"end":{"line":191,"column":44}},"98":{"start":{"line":192,"column":8},"end":{"line":194,"column":9}},"99":{"start":{"line":193,"column":12},"end":{"line":193,"column":69}},"100":{"start":{"line":196,"column":8},"end":{"line":198,"column":9}},"101":{"start":{"line":197,"column":12},"end":{"line":197,"column":69}},"102":{"start":{"line":199,"column":8},"end":{"line":199,"column":44}},"103":{"start":{"line":200,"column":8},"end":{"line":202,"column":9}},"104":{"start":{"line":201,"column":12},"end":{"line":201,"column":69}},"105":{"start":{"line":204,"column":8},"end":{"line":204,"column":24}},"106":{"start":{"line":208,"column":8},"end":{"line":212,"column":9}},"107":{"start":{"line":209,"column":12},"end":{"line":209,"column":24}},"108":{"start":{"line":210,"column":15},"end":{"line":212,"column":9}},"109":{"start":{"line":211,"column":12},"end":{"line":211,"column":52}},"110":{"start":{"line":213,"column":8},"end":{"line":213,"column":21}},"111":{"start":{"line":217,"column":8},"end":{"line":221,"column":9}},"112":{"start":{"line":218,"column":12},"end":{"line":218,"column":24}},"113":{"start":{"line":219,"column":15},"end":{"line":221,"column":9}},"114":{"start":{"line":220,"column":12},"end":{"line":220,"column":53}},"115":{"start":{"line":222,"column":8},"end":{"line":222,"column":21}},"116":{"start":{"line":226,"column":8},"end":{"line":230,"column":9}},"117":{"start":{"line":227,"column":12},"end":{"line":227,"column":24}},"118":{"start":{"line":228,"column":15},"end":{"line":230,"column":9}},"119":{"start":{"line":229,"column":12},"end":{"line":229,"column":52}},"120":{"start":{"line":231,"column":8},"end":{"line":231,"column":21}},"121":{"start":{"line":235,"column":8},"end":{"line":243,"column":9}},"122":{"start":{"line":236,"column":12},"end":{"line":236,"column":24}},"123":{"start":{"line":237,"column":15},"end":{"line":243,"column":9}},"124":{"start":{"line":238,"column":12},"end":{"line":242,"column":13}},"125":{"start":{"line":239,"column":16},"end":{"line":239,"column":28}},"126":{"start":{"line":240,"column":19},"end":{"line":242,"column":13}},"127":{"start":{"line":241,"column":16},"end":{"line":241,"column":56}},"128":{"start":{"line":244,"column":8},"end":{"line":244,"column":21}},"129":{"start":{"line":248,"column":8},"end":{"line":256,"column":9}},"130":{"start":{"line":249,"column":12},"end":{"line":249,"column":24}},"131":{"start":{"line":250,"column":15},"end":{"line":256,"column":9}},"132":{"start":{"line":251,"column":12},"end":{"line":255,"column":13}},"133":{"start":{"line":252,"column":16},"end":{"line":252,"column":28}},"134":{"start":{"line":253,"column":19},"end":{"line":255,"column":13}},"135":{"start":{"line":254,"column":16},"end":{"line":254,"column":61}},"136":{"start":{"line":257,"column":8},"end":{"line":257,"column":21}},"137":{"start":{"line":261,"column":8},"end":{"line":269,"column":9}},"138":{"start":{"line":262,"column":12},"end":{"line":262,"column":24}},"139":{"start":{"line":263,"column":15},"end":{"line":269,"column":9}},"140":{"start":{"line":264,"column":12},"end":{"line":268,"column":13}},"141":{"start":{"line":265,"column":16},"end":{"line":265,"column":28}},"142":{"start":{"line":266,"column":19},"end":{"line":268,"column":13}},"143":{"start":{"line":267,"column":16},"end":{"line":267,"column":55}},"144":{"start":{"line":270,"column":8},"end":{"line":270,"column":21}},"145":{"start":{"line":274,"column":8},"end":{"line":280,"column":9}},"146":{"start":{"line":275,"column":12},"end":{"line":279,"column":13}},"147":{"start":{"line":276,"column":16},"end":{"line":276,"column":29}},"148":{"start":{"line":277,"column":19},"end":{"line":279,"column":13}},"149":{"start":{"line":278,"column":16},"end":{"line":278,"column":29}},"150":{"start":{"line":282,"column":8},"end":{"line":282,"column":20}},"151":{"start":{"line":286,"column":8},"end":{"line":292,"column":9}},"152":{"start":{"line":287,"column":12},"end":{"line":291,"column":13}},"153":{"start":{"line":288,"column":16},"end":{"line":288,"column":29}},"154":{"start":{"line":289,"column":19},"end":{"line":291,"column":13}},"155":{"start":{"line":290,"column":16},"end":{"line":290,"column":29}},"156":{"start":{"line":294,"column":8},"end":{"line":294,"column":20}},"157":{"start":{"line":298,"column":36},"end":{"line":298,"column":62}},"158":{"start":{"line":299,"column":23},"end":{"line":299,"column":47}},"159":{"start":{"line":300,"column":39},"end":{"line":300,"column":48}},"160":{"start":{"line":302,"column":8},"end":{"line":312,"column":9}},"161":{"start":{"line":303,"column":45},"end":{"line":305,"column":13}},"162":{"start":{"line":304,"column":29},"end":{"line":304,"column":68}},"163":{"start":{"line":306,"column":12},"end":{"line":311,"column":13}},"164":{"start":{"line":307,"column":16},"end":{"line":310,"column":18}},"165":{"start":{"line":314,"column":8},"end":{"line":326,"column":9}},"166":{"start":{"line":315,"column":12},"end":{"line":318,"column":13}},"167":{"start":{"line":316,"column":16},"end":{"line":316,"column":111}},"168":{"start":{"line":317,"column":16},"end":{"line":317,"column":38}},"169":{"start":{"line":319,"column":12},"end":{"line":319,"column":61}},"170":{"start":{"line":320,"column":15},"end":{"line":326,"column":9}},"171":{"start":{"line":321,"column":12},"end":{"line":324,"column":13}},"172":{"start":{"line":322,"column":16},"end":{"line":322,"column":107}},"173":{"start":{"line":323,"column":16},"end":{"line":323,"column":38}},"174":{"start":{"line":325,"column":12},"end":{"line":325,"column":57}},"175":{"start":{"line":328,"column":8},"end":{"line":328,"column":25}},"176":{"start":{"line":332,"column":8},"end":{"line":332,"column":38}},"177":{"start":{"line":334,"column":39},"end":{"line":334,"column":41}},"178":{"start":{"line":335,"column":41},"end":{"line":335,"column":66}},"179":{"start":{"line":338,"column":8},"end":{"line":393,"column":9}},"180":{"start":{"line":339,"column":42},"end":{"line":339,"column":73}},"181":{"start":{"line":342,"column":12},"end":{"line":390,"column":13}},"182":{"start":{"line":343,"column":60},"end":{"line":343,"column":62}},"183":{"start":{"line":345,"column":55},"end":{"line":345,"column":132}},"184":{"start":{"line":348,"column":16},"end":{"line":387,"column":17}},"185":{"start":{"line":349,"column":40},"end":{"line":349,"column":100}},"186":{"start":{"line":350,"column":20},"end":{"line":358,"column":21}},"187":{"start":{"line":351,"column":24},"end":{"line":355,"column":27}},"188":{"start":{"line":356,"column":24},"end":{"line":356,"column":77}},"189":{"start":{"line":357,"column":24},"end":{"line":357,"column":33}},"190":{"start":{"line":359,"column":38},"end":{"line":359,"column":42}},"191":{"start":{"line":362,"column":20},"end":{"line":364,"column":21}},"192":{"start":{"line":363,"column":24},"end":{"line":363,"column":132}},"193":{"start":{"line":367,"column":20},"end":{"line":369,"column":21}},"194":{"start":{"line":368,"column":24},"end":{"line":368,"column":119}},"195":{"start":{"line":372,"column":20},"end":{"line":378,"column":21}},"196":{"start":{"line":373,"column":47},"end":{"line":376,"column":26}},"197":{"start":{"line":374,"column":28},"end":{"line":375,"column":81}},"198":{"start":{"line":377,"column":24},"end":{"line":377,"column":107}},"199":{"start":{"line":380,"column":20},"end":{"line":384,"column":23}},"200":{"start":{"line":386,"column":20},"end":{"line":386,"column":73}},"201":{"start":{"line":389,"column":16},"end":{"line":389,"column":73}},"202":{"start":{"line":392,"column":12},"end":{"line":392,"column":37}},"203":{"start":{"line":395,"column":8},"end":{"line":395,"column":24}},"204":{"start":{"line":399,"column":64},"end":{"line":402,"column":9}},"205":{"start":{"line":403,"column":47},"end":{"line":403,"column":49}},"206":{"start":{"line":404,"column":8},"end":{"line":407,"column":9}},"207":{"start":{"line":405,"column":12},"end":{"line":405,"column":39}},"208":{"start":{"line":406,"column":12},"end":{"line":406,"column":62}},"209":{"start":{"line":409,"column":8},"end":{"line":413,"column":9}},"210":{"start":{"line":410,"column":12},"end":{"line":410,"column":22}},"211":{"start":{"line":411,"column":15},"end":{"line":413,"column":9}},"212":{"start":{"line":412,"column":12},"end":{"line":412,"column":37}},"213":{"start":{"line":415,"column":8},"end":{"line":430,"column":9}},"214":{"start":{"line":416,"column":12},"end":{"line":429,"column":15}},"215":{"start":{"line":417,"column":16},"end":{"line":427,"column":17}},"216":{"start":{"line":418,"column":20},"end":{"line":426,"column":30}},"217":{"start":{"line":419,"column":24},"end":{"line":421,"column":25}},"218":{"start":{"line":420,"column":28},"end":{"line":420,"column":41}},"219":{"start":{"line":423,"column":24},"end":{"line":425,"column":34}},"220":{"start":{"line":424,"column":28},"end":{"line":424,"column":79}},"221":{"start":{"line":428,"column":16},"end":{"line":428,"column":30}},"222":{"start":{"line":432,"column":8},"end":{"line":432,"column":33}},"223":{"start":{"line":12,"column":0},"end":{"line":434,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":0},"end":{"line":null,"column":-1}},"loc":{"start":{"line":12,"column":0},"end":{"line":434,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":12},"end":{"line":24,"column":48}},"loc":{"start":{"line":24,"column":80},"end":{"line":31,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":14},"end":{"line":33,"column":48}},"loc":{"start":{"line":33,"column":102},"end":{"line":53,"column":5}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":55,"column":14},"end":{"line":55,"column":39}},"loc":{"start":{"line":55,"column":59},"end":{"line":92,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":95,"column":14},"end":{"line":95,"column":34}},"loc":{"start":{"line":95,"column":62},"end":{"line":205,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":183,"column":47},"end":{"line":183,"column":48}},"loc":{"start":{"line":183,"column":67},"end":{"line":185,"column":13}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":207,"column":11},"end":{"line":207,"column":22}},"loc":{"start":{"line":207,"column":67},"end":{"line":214,"column":5}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":216,"column":11},"end":{"line":216,"column":27}},"loc":{"start":{"line":216,"column":72},"end":{"line":223,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":225,"column":11},"end":{"line":225,"column":21}},"loc":{"start":{"line":225,"column":66},"end":{"line":232,"column":5}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":234,"column":11},"end":{"line":234,"column":26}},"loc":{"start":{"line":234,"column":71},"end":{"line":245,"column":5}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":31}},"loc":{"start":{"line":247,"column":76},"end":{"line":258,"column":5}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":260,"column":11},"end":{"line":260,"column":25}},"loc":{"start":{"line":260,"column":70},"end":{"line":271,"column":5}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":273,"column":11},"end":{"line":273,"column":29}},"loc":{"start":{"line":273,"column":106},"end":{"line":283,"column":5}}},"13":{"name":"(anonymous_13)","decl":{"start":{"line":285,"column":11},"end":{"line":285,"column":33}},"loc":{"start":{"line":285,"column":118},"end":{"line":295,"column":5}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":27}},"loc":{"start":{"line":297,"column":47},"end":{"line":329,"column":5}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":304,"column":16},"end":{"line":304,"column":17}},"loc":{"start":{"line":304,"column":29},"end":{"line":304,"column":68}}},"16":{"name":"(anonymous_16)","decl":{"start":{"line":331,"column":11},"end":{"line":331,"column":25}},"loc":{"start":{"line":331,"column":48},"end":{"line":396,"column":5}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":373,"column":85},"end":{"line":373,"column":86}},"loc":{"start":{"line":373,"column":92},"end":{"line":376,"column":25}}},"18":{"name":"(anonymous_18)","decl":{"start":{"line":398,"column":11},"end":{"line":398,"column":25}},"loc":{"start":{"line":398,"column":45},"end":{"line":433,"column":5}}},"19":{"name":"(anonymous_19)","decl":{"start":{"line":416,"column":64},"end":{"line":416,"column":65}},"loc":{"start":{"line":416,"column":102},"end":{"line":429,"column":13}}},"20":{"name":"(anonymous_20)","decl":{"start":{"line":418,"column":87},"end":{"line":418,"column":88}},"loc":{"start":{"line":418,"column":97},"end":{"line":426,"column":21}}},"21":{"name":"(anonymous_21)","decl":{"start":{"line":423,"column":54},"end":{"line":423,"column":55}},"loc":{"start":{"line":423,"column":77},"end":{"line":425,"column":25}}}},"branchMap":{"0":{"loc":{"start":{"line":40,"column":8},"end":{"line":42,"column":9}},"type":"if","locations":[{"start":{"line":40,"column":8},"end":{"line":42,"column":9}},{"start":{"line":40,"column":8},"end":{"line":42,"column":9}}]},"1":{"loc":{"start":{"line":44,"column":8},"end":{"line":50,"column":9}},"type":"if","locations":[{"start":{"line":44,"column":8},"end":{"line":50,"column":9}},{"start":{"line":44,"column":8},"end":{"line":50,"column":9}}]},"2":{"loc":{"start":{"line":46,"column":15},"end":{"line":50,"column":9}},"type":"if","locations":[{"start":{"line":46,"column":15},"end":{"line":50,"column":9}},{"start":{"line":46,"column":15},"end":{"line":50,"column":9}}]},"3":{"loc":{"start":{"line":48,"column":15},"end":{"line":50,"column":9}},"type":"if","locations":[{"start":{"line":48,"column":15},"end":{"line":50,"column":9}},{"start":{"line":48,"column":15},"end":{"line":50,"column":9}}]},"4":{"loc":{"start":{"line":59,"column":23},"end":{"line":59,"column":41}},"type":"binary-expr","locations":[{"start":{"line":59,"column":23},"end":{"line":59,"column":41}},{"start":{"line":59,"column":45},"end":{"line":59,"column":49}}]},"5":{"loc":{"start":{"line":62,"column":8},"end":{"line":68,"column":9}},"type":"if","locations":[{"start":{"line":62,"column":8},"end":{"line":68,"column":9}},{"start":{"line":62,"column":8},"end":{"line":68,"column":9}}]},"6":{"loc":{"start":{"line":64,"column":15},"end":{"line":68,"column":9}},"type":"if","locations":[{"start":{"line":64,"column":15},"end":{"line":68,"column":9}},{"start":{"line":64,"column":15},"end":{"line":68,"column":9}}]},"7":{"loc":{"start":{"line":66,"column":15},"end":{"line":68,"column":9}},"type":"if","locations":[{"start":{"line":66,"column":15},"end":{"line":68,"column":9}},{"start":{"line":66,"column":15},"end":{"line":68,"column":9}}]},"8":{"loc":{"start":{"line":70,"column":8},"end":{"line":89,"column":9}},"type":"if","locations":[{"start":{"line":70,"column":8},"end":{"line":89,"column":9}},{"start":{"line":70,"column":8},"end":{"line":89,"column":9}}]},"9":{"loc":{"start":{"line":76,"column":31},"end":{"line":76,"column":55}},"type":"binary-expr","locations":[{"start":{"line":76,"column":31},"end":{"line":76,"column":55}},{"start":{"line":76,"column":59},"end":{"line":76,"column":63}}]},"10":{"loc":{"start":{"line":79,"column":16},"end":{"line":85,"column":17}},"type":"if","locations":[{"start":{"line":79,"column":16},"end":{"line":85,"column":17}},{"start":{"line":79,"column":16},"end":{"line":85,"column":17}}]},"11":{"loc":{"start":{"line":81,"column":23},"end":{"line":85,"column":17}},"type":"if","locations":[{"start":{"line":81,"column":23},"end":{"line":85,"column":17}},{"start":{"line":81,"column":23},"end":{"line":85,"column":17}}]},"12":{"loc":{"start":{"line":83,"column":23},"end":{"line":85,"column":17}},"type":"if","locations":[{"start":{"line":83,"column":23},"end":{"line":85,"column":17}},{"start":{"line":83,"column":23},"end":{"line":85,"column":17}}]},"13":{"loc":{"start":{"line":98,"column":8},"end":{"line":102,"column":9}},"type":"if","locations":[{"start":{"line":98,"column":8},"end":{"line":102,"column":9}},{"start":{"line":98,"column":8},"end":{"line":102,"column":9}}]},"14":{"loc":{"start":{"line":100,"column":15},"end":{"line":102,"column":9}},"type":"if","locations":[{"start":{"line":100,"column":15},"end":{"line":102,"column":9}},{"start":{"line":100,"column":15},"end":{"line":102,"column":9}}]},"15":{"loc":{"start":{"line":107,"column":8},"end":{"line":113,"column":9}},"type":"if","locations":[{"start":{"line":107,"column":8},"end":{"line":113,"column":9}},{"start":{"line":107,"column":8},"end":{"line":113,"column":9}}]},"16":{"loc":{"start":{"line":109,"column":15},"end":{"line":113,"column":9}},"type":"if","locations":[{"start":{"line":109,"column":15},"end":{"line":113,"column":9}},{"start":{"line":109,"column":15},"end":{"line":113,"column":9}}]},"17":{"loc":{"start":{"line":111,"column":15},"end":{"line":113,"column":9}},"type":"if","locations":[{"start":{"line":111,"column":15},"end":{"line":113,"column":9}},{"start":{"line":111,"column":15},"end":{"line":113,"column":9}}]},"18":{"loc":{"start":{"line":115,"column":8},"end":{"line":117,"column":9}},"type":"if","locations":[{"start":{"line":115,"column":8},"end":{"line":117,"column":9}},{"start":{"line":115,"column":8},"end":{"line":117,"column":9}}]},"19":{"loc":{"start":{"line":120,"column":12},"end":{"line":127,"column":13}},"type":"if","locations":[{"start":{"line":120,"column":12},"end":{"line":127,"column":13}},{"start":{"line":120,"column":12},"end":{"line":127,"column":13}}]},"20":{"loc":{"start":{"line":130,"column":8},"end":{"line":137,"column":9}},"type":"if","locations":[{"start":{"line":130,"column":8},"end":{"line":137,"column":9}},{"start":{"line":130,"column":8},"end":{"line":137,"column":9}}]},"21":{"loc":{"start":{"line":139,"column":8},"end":{"line":161,"column":9}},"type":"if","locations":[{"start":{"line":139,"column":8},"end":{"line":161,"column":9}},{"start":{"line":139,"column":8},"end":{"line":161,"column":9}}]},"22":{"loc":{"start":{"line":144,"column":16},"end":{"line":158,"column":17}},"type":"if","locations":[{"start":{"line":144,"column":16},"end":{"line":158,"column":17}},{"start":{"line":144,"column":16},"end":{"line":158,"column":17}}]},"23":{"loc":{"start":{"line":151,"column":20},"end":{"line":157,"column":21}},"type":"if","locations":[{"start":{"line":151,"column":20},"end":{"line":157,"column":21}},{"start":{"line":151,"column":20},"end":{"line":157,"column":21}}]},"24":{"loc":{"start":{"line":153,"column":27},"end":{"line":157,"column":21}},"type":"if","locations":[{"start":{"line":153,"column":27},"end":{"line":157,"column":21}},{"start":{"line":153,"column":27},"end":{"line":157,"column":21}}]},"25":{"loc":{"start":{"line":155,"column":27},"end":{"line":157,"column":21}},"type":"if","locations":[{"start":{"line":155,"column":27},"end":{"line":157,"column":21}},{"start":{"line":155,"column":27},"end":{"line":157,"column":21}}]},"26":{"loc":{"start":{"line":163,"column":8},"end":{"line":180,"column":9}},"type":"if","locations":[{"start":{"line":163,"column":8},"end":{"line":180,"column":9}},{"start":{"line":163,"column":8},"end":{"line":180,"column":9}}]},"27":{"loc":{"start":{"line":166,"column":16},"end":{"line":168,"column":17}},"type":"if","locations":[{"start":{"line":166,"column":16},"end":{"line":168,"column":17}},{"start":{"line":166,"column":16},"end":{"line":168,"column":17}}]},"28":{"loc":{"start":{"line":169,"column":16},"end":{"line":171,"column":17}},"type":"if","locations":[{"start":{"line":169,"column":16},"end":{"line":171,"column":17}},{"start":{"line":169,"column":16},"end":{"line":171,"column":17}}]},"29":{"loc":{"start":{"line":173,"column":16},"end":{"line":175,"column":17}},"type":"if","locations":[{"start":{"line":173,"column":16},"end":{"line":175,"column":17}},{"start":{"line":173,"column":16},"end":{"line":175,"column":17}}]},"30":{"loc":{"start":{"line":182,"column":8},"end":{"line":186,"column":9}},"type":"if","locations":[{"start":{"line":182,"column":8},"end":{"line":186,"column":9}},{"start":{"line":182,"column":8},"end":{"line":186,"column":9}}]},"31":{"loc":{"start":{"line":188,"column":8},"end":{"line":190,"column":9}},"type":"if","locations":[{"start":{"line":188,"column":8},"end":{"line":190,"column":9}},{"start":{"line":188,"column":8},"end":{"line":190,"column":9}}]},"32":{"loc":{"start":{"line":192,"column":8},"end":{"line":194,"column":9}},"type":"if","locations":[{"start":{"line":192,"column":8},"end":{"line":194,"column":9}},{"start":{"line":192,"column":8},"end":{"line":194,"column":9}}]},"33":{"loc":{"start":{"line":196,"column":8},"end":{"line":198,"column":9}},"type":"if","locations":[{"start":{"line":196,"column":8},"end":{"line":198,"column":9}},{"start":{"line":196,"column":8},"end":{"line":198,"column":9}}]},"34":{"loc":{"start":{"line":200,"column":8},"end":{"line":202,"column":9}},"type":"if","locations":[{"start":{"line":200,"column":8},"end":{"line":202,"column":9}},{"start":{"line":200,"column":8},"end":{"line":202,"column":9}}]},"35":{"loc":{"start":{"line":208,"column":8},"end":{"line":212,"column":9}},"type":"if","locations":[{"start":{"line":208,"column":8},"end":{"line":212,"column":9}},{"start":{"line":208,"column":8},"end":{"line":212,"column":9}}]},"36":{"loc":{"start":{"line":210,"column":15},"end":{"line":212,"column":9}},"type":"if","locations":[{"start":{"line":210,"column":15},"end":{"line":212,"column":9}},{"start":{"line":210,"column":15},"end":{"line":212,"column":9}}]},"37":{"loc":{"start":{"line":217,"column":8},"end":{"line":221,"column":9}},"type":"if","locations":[{"start":{"line":217,"column":8},"end":{"line":221,"column":9}},{"start":{"line":217,"column":8},"end":{"line":221,"column":9}}]},"38":{"loc":{"start":{"line":219,"column":15},"end":{"line":221,"column":9}},"type":"if","locations":[{"start":{"line":219,"column":15},"end":{"line":221,"column":9}},{"start":{"line":219,"column":15},"end":{"line":221,"column":9}}]},"39":{"loc":{"start":{"line":226,"column":8},"end":{"line":230,"column":9}},"type":"if","locations":[{"start":{"line":226,"column":8},"end":{"line":230,"column":9}},{"start":{"line":226,"column":8},"end":{"line":230,"column":9}}]},"40":{"loc":{"start":{"line":228,"column":15},"end":{"line":230,"column":9}},"type":"if","locations":[{"start":{"line":228,"column":15},"end":{"line":230,"column":9}},{"start":{"line":228,"column":15},"end":{"line":230,"column":9}}]},"41":{"loc":{"start":{"line":235,"column":8},"end":{"line":243,"column":9}},"type":"if","locations":[{"start":{"line":235,"column":8},"end":{"line":243,"column":9}},{"start":{"line":235,"column":8},"end":{"line":243,"column":9}}]},"42":{"loc":{"start":{"line":237,"column":15},"end":{"line":243,"column":9}},"type":"if","locations":[{"start":{"line":237,"column":15},"end":{"line":243,"column":9}},{"start":{"line":237,"column":15},"end":{"line":243,"column":9}}]},"43":{"loc":{"start":{"line":238,"column":12},"end":{"line":242,"column":13}},"type":"if","locations":[{"start":{"line":238,"column":12},"end":{"line":242,"column":13}},{"start":{"line":238,"column":12},"end":{"line":242,"column":13}}]},"44":{"loc":{"start":{"line":240,"column":19},"end":{"line":242,"column":13}},"type":"if","locations":[{"start":{"line":240,"column":19},"end":{"line":242,"column":13}},{"start":{"line":240,"column":19},"end":{"line":242,"column":13}}]},"45":{"loc":{"start":{"line":248,"column":8},"end":{"line":256,"column":9}},"type":"if","locations":[{"start":{"line":248,"column":8},"end":{"line":256,"column":9}},{"start":{"line":248,"column":8},"end":{"line":256,"column":9}}]},"46":{"loc":{"start":{"line":250,"column":15},"end":{"line":256,"column":9}},"type":"if","locations":[{"start":{"line":250,"column":15},"end":{"line":256,"column":9}},{"start":{"line":250,"column":15},"end":{"line":256,"column":9}}]},"47":{"loc":{"start":{"line":251,"column":12},"end":{"line":255,"column":13}},"type":"if","locations":[{"start":{"line":251,"column":12},"end":{"line":255,"column":13}},{"start":{"line":251,"column":12},"end":{"line":255,"column":13}}]},"48":{"loc":{"start":{"line":253,"column":19},"end":{"line":255,"column":13}},"type":"if","locations":[{"start":{"line":253,"column":19},"end":{"line":255,"column":13}},{"start":{"line":253,"column":19},"end":{"line":255,"column":13}}]},"49":{"loc":{"start":{"line":261,"column":8},"end":{"line":269,"column":9}},"type":"if","locations":[{"start":{"line":261,"column":8},"end":{"line":269,"column":9}},{"start":{"line":261,"column":8},"end":{"line":269,"column":9}}]},"50":{"loc":{"start":{"line":263,"column":15},"end":{"line":269,"column":9}},"type":"if","locations":[{"start":{"line":263,"column":15},"end":{"line":269,"column":9}},{"start":{"line":263,"column":15},"end":{"line":269,"column":9}}]},"51":{"loc":{"start":{"line":264,"column":12},"end":{"line":268,"column":13}},"type":"if","locations":[{"start":{"line":264,"column":12},"end":{"line":268,"column":13}},{"start":{"line":264,"column":12},"end":{"line":268,"column":13}}]},"52":{"loc":{"start":{"line":266,"column":19},"end":{"line":268,"column":13}},"type":"if","locations":[{"start":{"line":266,"column":19},"end":{"line":268,"column":13}},{"start":{"line":266,"column":19},"end":{"line":268,"column":13}}]},"53":{"loc":{"start":{"line":275,"column":12},"end":{"line":279,"column":13}},"type":"if","locations":[{"start":{"line":275,"column":12},"end":{"line":279,"column":13}},{"start":{"line":275,"column":12},"end":{"line":279,"column":13}}]},"54":{"loc":{"start":{"line":275,"column":16},"end":{"line":275,"column":69}},"type":"binary-expr","locations":[{"start":{"line":275,"column":16},"end":{"line":275,"column":69}},{"start":{"line":275,"column":73},"end":{"line":275,"column":119}}]},"55":{"loc":{"start":{"line":277,"column":19},"end":{"line":279,"column":13}},"type":"if","locations":[{"start":{"line":277,"column":19},"end":{"line":279,"column":13}},{"start":{"line":277,"column":19},"end":{"line":279,"column":13}}]},"56":{"loc":{"start":{"line":277,"column":23},"end":{"line":277,"column":69}},"type":"binary-expr","locations":[{"start":{"line":277,"column":23},"end":{"line":277,"column":69}},{"start":{"line":277,"column":73},"end":{"line":277,"column":118}}]},"57":{"loc":{"start":{"line":287,"column":12},"end":{"line":291,"column":13}},"type":"if","locations":[{"start":{"line":287,"column":12},"end":{"line":291,"column":13}},{"start":{"line":287,"column":12},"end":{"line":291,"column":13}}]},"58":{"loc":{"start":{"line":287,"column":16},"end":{"line":287,"column":77}},"type":"binary-expr","locations":[{"start":{"line":287,"column":16},"end":{"line":287,"column":77}},{"start":{"line":287,"column":81},"end":{"line":287,"column":135}}]},"59":{"loc":{"start":{"line":289,"column":19},"end":{"line":291,"column":13}},"type":"if","locations":[{"start":{"line":289,"column":19},"end":{"line":291,"column":13}},{"start":{"line":289,"column":19},"end":{"line":291,"column":13}}]},"60":{"loc":{"start":{"line":289,"column":23},"end":{"line":289,"column":77}},"type":"binary-expr","locations":[{"start":{"line":289,"column":23},"end":{"line":289,"column":77}},{"start":{"line":289,"column":81},"end":{"line":289,"column":134}}]},"61":{"loc":{"start":{"line":302,"column":8},"end":{"line":312,"column":9}},"type":"if","locations":[{"start":{"line":302,"column":8},"end":{"line":312,"column":9}},{"start":{"line":302,"column":8},"end":{"line":312,"column":9}}]},"62":{"loc":{"start":{"line":306,"column":12},"end":{"line":311,"column":13}},"type":"if","locations":[{"start":{"line":306,"column":12},"end":{"line":311,"column":13}},{"start":{"line":306,"column":12},"end":{"line":311,"column":13}}]},"63":{"loc":{"start":{"line":314,"column":8},"end":{"line":326,"column":9}},"type":"if","locations":[{"start":{"line":314,"column":8},"end":{"line":326,"column":9}},{"start":{"line":314,"column":8},"end":{"line":326,"column":9}}]},"64":{"loc":{"start":{"line":315,"column":12},"end":{"line":318,"column":13}},"type":"if","locations":[{"start":{"line":315,"column":12},"end":{"line":318,"column":13}},{"start":{"line":315,"column":12},"end":{"line":318,"column":13}}]},"65":{"loc":{"start":{"line":316,"column":55},"end":{"line":316,"column":104}},"type":"binary-expr","locations":[{"start":{"line":316,"column":55},"end":{"line":316,"column":104}},{"start":{"line":316,"column":108},"end":{"line":316,"column":110}}]},"66":{"loc":{"start":{"line":320,"column":15},"end":{"line":326,"column":9}},"type":"if","locations":[{"start":{"line":320,"column":15},"end":{"line":326,"column":9}},{"start":{"line":320,"column":15},"end":{"line":326,"column":9}}]},"67":{"loc":{"start":{"line":320,"column":19},"end":{"line":320,"column":45}},"type":"binary-expr","locations":[{"start":{"line":320,"column":19},"end":{"line":320,"column":45}},{"start":{"line":320,"column":49},"end":{"line":320,"column":73}},{"start":{"line":320,"column":84},"end":{"line":320,"column":128}}]},"68":{"loc":{"start":{"line":321,"column":12},"end":{"line":324,"column":13}},"type":"if","locations":[{"start":{"line":321,"column":12},"end":{"line":324,"column":13}},{"start":{"line":321,"column":12},"end":{"line":324,"column":13}}]},"69":{"loc":{"start":{"line":322,"column":55},"end":{"line":322,"column":100}},"type":"binary-expr","locations":[{"start":{"line":322,"column":55},"end":{"line":322,"column":100}},{"start":{"line":322,"column":104},"end":{"line":322,"column":106}}]},"70":{"loc":{"start":{"line":342,"column":12},"end":{"line":390,"column":13}},"type":"if","locations":[{"start":{"line":342,"column":12},"end":{"line":390,"column":13}},{"start":{"line":342,"column":12},"end":{"line":390,"column":13}}]},"71":{"loc":{"start":{"line":350,"column":20},"end":{"line":358,"column":21}},"type":"if","locations":[{"start":{"line":350,"column":20},"end":{"line":358,"column":21}},{"start":{"line":350,"column":20},"end":{"line":358,"column":21}}]},"72":{"loc":{"start":{"line":362,"column":20},"end":{"line":364,"column":21}},"type":"if","locations":[{"start":{"line":362,"column":20},"end":{"line":364,"column":21}},{"start":{"line":362,"column":20},"end":{"line":364,"column":21}}]},"73":{"loc":{"start":{"line":367,"column":20},"end":{"line":369,"column":21}},"type":"if","locations":[{"start":{"line":367,"column":20},"end":{"line":369,"column":21}},{"start":{"line":367,"column":20},"end":{"line":369,"column":21}}]},"74":{"loc":{"start":{"line":367,"column":24},"end":{"line":367,"column":35}},"type":"binary-expr","locations":[{"start":{"line":367,"column":24},"end":{"line":367,"column":35}},{"start":{"line":367,"column":39},"end":{"line":367,"column":79}}]},"75":{"loc":{"start":{"line":372,"column":20},"end":{"line":378,"column":21}},"type":"if","locations":[{"start":{"line":372,"column":20},"end":{"line":378,"column":21}},{"start":{"line":372,"column":20},"end":{"line":378,"column":21}}]},"76":{"loc":{"start":{"line":372,"column":24},"end":{"line":372,"column":35}},"type":"binary-expr","locations":[{"start":{"line":372,"column":24},"end":{"line":372,"column":35}},{"start":{"line":372,"column":39},"end":{"line":372,"column":69}}]},"77":{"loc":{"start":{"line":374,"column":35},"end":{"line":374,"column":73}},"type":"binary-expr","locations":[{"start":{"line":374,"column":35},"end":{"line":374,"column":73}},{"start":{"line":375,"column":32},"end":{"line":375,"column":80}}]},"78":{"loc":{"start":{"line":409,"column":8},"end":{"line":413,"column":9}},"type":"if","locations":[{"start":{"line":409,"column":8},"end":{"line":413,"column":9}},{"start":{"line":409,"column":8},"end":{"line":413,"column":9}}]},"79":{"loc":{"start":{"line":411,"column":15},"end":{"line":413,"column":9}},"type":"if","locations":[{"start":{"line":411,"column":15},"end":{"line":413,"column":9}},{"start":{"line":411,"column":15},"end":{"line":413,"column":9}}]},"80":{"loc":{"start":{"line":417,"column":16},"end":{"line":427,"column":17}},"type":"if","locations":[{"start":{"line":417,"column":16},"end":{"line":427,"column":17}},{"start":{"line":417,"column":16},"end":{"line":427,"column":17}}]},"81":{"loc":{"start":{"line":419,"column":24},"end":{"line":421,"column":25}},"type":"if","locations":[{"start":{"line":419,"column":24},"end":{"line":421,"column":25}},{"start":{"line":419,"column":24},"end":{"line":421,"column":25}}]},"82":{"loc":{"start":{"line":424,"column":35},"end":{"line":424,"column":60}},"type":"binary-expr","locations":[{"start":{"line":424,"column":35},"end":{"line":424,"column":60}},{"start":{"line":424,"column":64},"end":{"line":424,"column":78}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"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":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0],"75":[0,0],"76":[0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0]}}}
@@ -0,0 +1 @@
1
+ {"/home/travis/build/SSENSE/node-sscheduler/src/index.ts":{"path":"/home/travis/build/SSENSE/node-sscheduler/src/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":37}},"1":{"start":{"line":1,"column":8},"end":{"line":1,"column":17}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1},"f":{},"b":{}},"/home/travis/build/SSENSE/node-sscheduler/src/Scheduler.ts":{"path":"/home/travis/build/SSENSE/node-sscheduler/src/Scheduler.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":32}},"1":{"start":{"line":9,"column":0},"end":{"line":9,"column":38}},"2":{"start":{"line":14,"column":14},"end":{"line":22,"column":6}},"3":{"start":{"line":25,"column":35},"end":{"line":25,"column":57}},"4":{"start":{"line":26,"column":29},"end":{"line":26,"column":123}},"5":{"start":{"line":27,"column":27},"end":{"line":27,"column":119}},"6":{"start":{"line":28,"column":8},"end":{"line":28,"column":65}},"7":{"start":{"line":29,"column":8},"end":{"line":29,"column":61}},"8":{"start":{"line":30,"column":8},"end":{"line":30,"column":24}},"9":{"start":{"line":34,"column":40},"end":{"line":38,"column":9}},"10":{"start":{"line":40,"column":8},"end":{"line":42,"column":9}},"11":{"start":{"line":41,"column":12},"end":{"line":41,"column":94}},"12":{"start":{"line":44,"column":8},"end":{"line":50,"column":9}},"13":{"start":{"line":45,"column":12},"end":{"line":45,"column":89}},"14":{"start":{"line":46,"column":15},"end":{"line":50,"column":9}},"15":{"start":{"line":47,"column":12},"end":{"line":47,"column":87}},"16":{"start":{"line":48,"column":15},"end":{"line":50,"column":9}},"17":{"start":{"line":49,"column":12},"end":{"line":49,"column":80}},"18":{"start":{"line":52,"column":8},"end":{"line":52,"column":17}},"19":{"start":{"line":56,"column":28},"end":{"line":60,"column":9}},"20":{"start":{"line":62,"column":8},"end":{"line":68,"column":9}},"21":{"start":{"line":63,"column":12},"end":{"line":63,"column":73}},"22":{"start":{"line":64,"column":15},"end":{"line":68,"column":9}},"23":{"start":{"line":65,"column":12},"end":{"line":65,"column":71}},"24":{"start":{"line":66,"column":15},"end":{"line":68,"column":9}},"25":{"start":{"line":67,"column":12},"end":{"line":67,"column":64}},"26":{"start":{"line":70,"column":8},"end":{"line":89,"column":9}},"27":{"start":{"line":71,"column":12},"end":{"line":71,"column":34}},"28":{"start":{"line":72,"column":12},"end":{"line":88,"column":13}},"29":{"start":{"line":73,"column":36},"end":{"line":77,"column":17}},"30":{"start":{"line":79,"column":16},"end":{"line":85,"column":17}},"31":{"start":{"line":80,"column":20},"end":{"line":80,"column":96}},"32":{"start":{"line":81,"column":23},"end":{"line":85,"column":17}},"33":{"start":{"line":82,"column":20},"end":{"line":82,"column":94}},"34":{"start":{"line":83,"column":23},"end":{"line":85,"column":17}},"35":{"start":{"line":84,"column":20},"end":{"line":84,"column":87}},"36":{"start":{"line":87,"column":16},"end":{"line":87,"column":51}},"37":{"start":{"line":91,"column":8},"end":{"line":91,"column":17}},"38":{"start":{"line":96,"column":18},"end":{"line":96,"column":35}},"39":{"start":{"line":98,"column":8},"end":{"line":102,"column":9}},"40":{"start":{"line":99,"column":12},"end":{"line":99,"column":48}},"41":{"start":{"line":100,"column":15},"end":{"line":102,"column":9}},"42":{"start":{"line":101,"column":12},"end":{"line":101,"column":46}},"43":{"start":{"line":104,"column":8},"end":{"line":104,"column":51}},"44":{"start":{"line":105,"column":8},"end":{"line":105,"column":47}},"45":{"start":{"line":107,"column":8},"end":{"line":113,"column":9}},"46":{"start":{"line":108,"column":12},"end":{"line":108,"column":78}},"47":{"start":{"line":109,"column":15},"end":{"line":113,"column":9}},"48":{"start":{"line":110,"column":12},"end":{"line":110,"column":76}},"49":{"start":{"line":111,"column":15},"end":{"line":113,"column":9}},"50":{"start":{"line":112,"column":12},"end":{"line":112,"column":64}},"51":{"start":{"line":115,"column":8},"end":{"line":117,"column":9}},"52":{"start":{"line":116,"column":12},"end":{"line":116,"column":52}},"53":{"start":{"line":119,"column":8},"end":{"line":128,"column":9}},"54":{"start":{"line":120,"column":12},"end":{"line":127,"column":13}},"55":{"start":{"line":121,"column":16},"end":{"line":126,"column":17}},"56":{"start":{"line":122,"column":27},"end":{"line":122,"column":111}},"57":{"start":{"line":124,"column":20},"end":{"line":124,"column":63}},"58":{"start":{"line":125,"column":20},"end":{"line":125,"column":30}},"59":{"start":{"line":130,"column":8},"end":{"line":137,"column":9}},"60":{"start":{"line":131,"column":12},"end":{"line":136,"column":13}},"61":{"start":{"line":132,"column":16},"end":{"line":132,"column":91}},"62":{"start":{"line":134,"column":16},"end":{"line":134,"column":57}},"63":{"start":{"line":135,"column":16},"end":{"line":135,"column":26}},"64":{"start":{"line":139,"column":8},"end":{"line":161,"column":9}},"65":{"start":{"line":141,"column":12},"end":{"line":160,"column":13}},"66":{"start":{"line":142,"column":39},"end":{"line":142,"column":67}},"67":{"start":{"line":143,"column":41},"end":{"line":143,"column":63}},"68":{"start":{"line":144,"column":16},"end":{"line":158,"column":17}},"69":{"start":{"line":145,"column":30},"end":{"line":145,"column":127}},"70":{"start":{"line":146,"column":20},"end":{"line":146,"column":77}},"71":{"start":{"line":148,"column":20},"end":{"line":148,"column":84}},"72":{"start":{"line":149,"column":20},"end":{"line":149,"column":80}},"73":{"start":{"line":151,"column":20},"end":{"line":157,"column":21}},"74":{"start":{"line":152,"column":24},"end":{"line":152,"column":111}},"75":{"start":{"line":153,"column":27},"end":{"line":157,"column":21}},"76":{"start":{"line":154,"column":24},"end":{"line":154,"column":109}},"77":{"start":{"line":155,"column":27},"end":{"line":157,"column":21}},"78":{"start":{"line":156,"column":24},"end":{"line":156,"column":91}},"79":{"start":{"line":159,"column":16},"end":{"line":159,"column":56}},"80":{"start":{"line":163,"column":8},"end":{"line":180,"column":9}},"81":{"start":{"line":164,"column":12},"end":{"line":179,"column":13}},"82":{"start":{"line":165,"column":16},"end":{"line":165,"column":76}},"83":{"start":{"line":166,"column":16},"end":{"line":168,"column":17}},"84":{"start":{"line":167,"column":20},"end":{"line":167,"column":102}},"85":{"start":{"line":169,"column":16},"end":{"line":171,"column":17}},"86":{"start":{"line":170,"column":20},"end":{"line":170,"column":87}},"87":{"start":{"line":172,"column":16},"end":{"line":172,"column":68}},"88":{"start":{"line":173,"column":16},"end":{"line":175,"column":17}},"89":{"start":{"line":174,"column":20},"end":{"line":174,"column":87}},"90":{"start":{"line":177,"column":41},"end":{"line":177,"column":96}},"91":{"start":{"line":178,"column":16},"end":{"line":178,"column":89}},"92":{"start":{"line":182,"column":8},"end":{"line":186,"column":9}},"93":{"start":{"line":183,"column":12},"end":{"line":185,"column":15}},"94":{"start":{"line":184,"column":16},"end":{"line":184,"column":126}},"95":{"start":{"line":188,"column":8},"end":{"line":190,"column":9}},"96":{"start":{"line":189,"column":12},"end":{"line":189,"column":69}},"97":{"start":{"line":191,"column":8},"end":{"line":191,"column":44}},"98":{"start":{"line":192,"column":8},"end":{"line":194,"column":9}},"99":{"start":{"line":193,"column":12},"end":{"line":193,"column":69}},"100":{"start":{"line":196,"column":8},"end":{"line":198,"column":9}},"101":{"start":{"line":197,"column":12},"end":{"line":197,"column":69}},"102":{"start":{"line":199,"column":8},"end":{"line":199,"column":44}},"103":{"start":{"line":200,"column":8},"end":{"line":202,"column":9}},"104":{"start":{"line":201,"column":12},"end":{"line":201,"column":69}},"105":{"start":{"line":204,"column":8},"end":{"line":204,"column":24}},"106":{"start":{"line":208,"column":8},"end":{"line":212,"column":9}},"107":{"start":{"line":209,"column":12},"end":{"line":209,"column":24}},"108":{"start":{"line":210,"column":15},"end":{"line":212,"column":9}},"109":{"start":{"line":211,"column":12},"end":{"line":211,"column":52}},"110":{"start":{"line":213,"column":8},"end":{"line":213,"column":21}},"111":{"start":{"line":217,"column":8},"end":{"line":221,"column":9}},"112":{"start":{"line":218,"column":12},"end":{"line":218,"column":24}},"113":{"start":{"line":219,"column":15},"end":{"line":221,"column":9}},"114":{"start":{"line":220,"column":12},"end":{"line":220,"column":53}},"115":{"start":{"line":222,"column":8},"end":{"line":222,"column":21}},"116":{"start":{"line":226,"column":8},"end":{"line":230,"column":9}},"117":{"start":{"line":227,"column":12},"end":{"line":227,"column":24}},"118":{"start":{"line":228,"column":15},"end":{"line":230,"column":9}},"119":{"start":{"line":229,"column":12},"end":{"line":229,"column":52}},"120":{"start":{"line":231,"column":8},"end":{"line":231,"column":21}},"121":{"start":{"line":235,"column":8},"end":{"line":243,"column":9}},"122":{"start":{"line":236,"column":12},"end":{"line":236,"column":24}},"123":{"start":{"line":237,"column":15},"end":{"line":243,"column":9}},"124":{"start":{"line":238,"column":12},"end":{"line":242,"column":13}},"125":{"start":{"line":239,"column":16},"end":{"line":239,"column":28}},"126":{"start":{"line":240,"column":19},"end":{"line":242,"column":13}},"127":{"start":{"line":241,"column":16},"end":{"line":241,"column":56}},"128":{"start":{"line":244,"column":8},"end":{"line":244,"column":21}},"129":{"start":{"line":248,"column":8},"end":{"line":256,"column":9}},"130":{"start":{"line":249,"column":12},"end":{"line":249,"column":24}},"131":{"start":{"line":250,"column":15},"end":{"line":256,"column":9}},"132":{"start":{"line":251,"column":12},"end":{"line":255,"column":13}},"133":{"start":{"line":252,"column":16},"end":{"line":252,"column":28}},"134":{"start":{"line":253,"column":19},"end":{"line":255,"column":13}},"135":{"start":{"line":254,"column":16},"end":{"line":254,"column":61}},"136":{"start":{"line":257,"column":8},"end":{"line":257,"column":21}},"137":{"start":{"line":261,"column":8},"end":{"line":269,"column":9}},"138":{"start":{"line":262,"column":12},"end":{"line":262,"column":24}},"139":{"start":{"line":263,"column":15},"end":{"line":269,"column":9}},"140":{"start":{"line":264,"column":12},"end":{"line":268,"column":13}},"141":{"start":{"line":265,"column":16},"end":{"line":265,"column":28}},"142":{"start":{"line":266,"column":19},"end":{"line":268,"column":13}},"143":{"start":{"line":267,"column":16},"end":{"line":267,"column":55}},"144":{"start":{"line":270,"column":8},"end":{"line":270,"column":21}},"145":{"start":{"line":274,"column":8},"end":{"line":280,"column":9}},"146":{"start":{"line":275,"column":12},"end":{"line":279,"column":13}},"147":{"start":{"line":276,"column":16},"end":{"line":276,"column":29}},"148":{"start":{"line":277,"column":19},"end":{"line":279,"column":13}},"149":{"start":{"line":278,"column":16},"end":{"line":278,"column":29}},"150":{"start":{"line":282,"column":8},"end":{"line":282,"column":20}},"151":{"start":{"line":286,"column":8},"end":{"line":292,"column":9}},"152":{"start":{"line":287,"column":12},"end":{"line":291,"column":13}},"153":{"start":{"line":288,"column":16},"end":{"line":288,"column":29}},"154":{"start":{"line":289,"column":19},"end":{"line":291,"column":13}},"155":{"start":{"line":290,"column":16},"end":{"line":290,"column":29}},"156":{"start":{"line":294,"column":8},"end":{"line":294,"column":20}},"157":{"start":{"line":298,"column":36},"end":{"line":298,"column":62}},"158":{"start":{"line":299,"column":23},"end":{"line":299,"column":47}},"159":{"start":{"line":300,"column":39},"end":{"line":300,"column":48}},"160":{"start":{"line":302,"column":8},"end":{"line":312,"column":9}},"161":{"start":{"line":303,"column":45},"end":{"line":305,"column":13}},"162":{"start":{"line":304,"column":29},"end":{"line":304,"column":68}},"163":{"start":{"line":306,"column":12},"end":{"line":311,"column":13}},"164":{"start":{"line":307,"column":16},"end":{"line":310,"column":18}},"165":{"start":{"line":314,"column":8},"end":{"line":326,"column":9}},"166":{"start":{"line":315,"column":12},"end":{"line":318,"column":13}},"167":{"start":{"line":316,"column":16},"end":{"line":316,"column":111}},"168":{"start":{"line":317,"column":16},"end":{"line":317,"column":38}},"169":{"start":{"line":319,"column":12},"end":{"line":319,"column":61}},"170":{"start":{"line":320,"column":15},"end":{"line":326,"column":9}},"171":{"start":{"line":321,"column":12},"end":{"line":324,"column":13}},"172":{"start":{"line":322,"column":16},"end":{"line":322,"column":107}},"173":{"start":{"line":323,"column":16},"end":{"line":323,"column":38}},"174":{"start":{"line":325,"column":12},"end":{"line":325,"column":57}},"175":{"start":{"line":328,"column":8},"end":{"line":328,"column":25}},"176":{"start":{"line":332,"column":8},"end":{"line":332,"column":38}},"177":{"start":{"line":334,"column":39},"end":{"line":334,"column":41}},"178":{"start":{"line":335,"column":41},"end":{"line":335,"column":66}},"179":{"start":{"line":338,"column":8},"end":{"line":393,"column":9}},"180":{"start":{"line":339,"column":42},"end":{"line":339,"column":73}},"181":{"start":{"line":342,"column":12},"end":{"line":390,"column":13}},"182":{"start":{"line":343,"column":60},"end":{"line":343,"column":62}},"183":{"start":{"line":345,"column":55},"end":{"line":345,"column":132}},"184":{"start":{"line":348,"column":16},"end":{"line":387,"column":17}},"185":{"start":{"line":349,"column":40},"end":{"line":349,"column":100}},"186":{"start":{"line":350,"column":20},"end":{"line":358,"column":21}},"187":{"start":{"line":351,"column":24},"end":{"line":355,"column":27}},"188":{"start":{"line":356,"column":24},"end":{"line":356,"column":77}},"189":{"start":{"line":357,"column":24},"end":{"line":357,"column":33}},"190":{"start":{"line":359,"column":38},"end":{"line":359,"column":42}},"191":{"start":{"line":362,"column":20},"end":{"line":364,"column":21}},"192":{"start":{"line":363,"column":24},"end":{"line":363,"column":132}},"193":{"start":{"line":367,"column":20},"end":{"line":369,"column":21}},"194":{"start":{"line":368,"column":24},"end":{"line":368,"column":119}},"195":{"start":{"line":372,"column":20},"end":{"line":378,"column":21}},"196":{"start":{"line":373,"column":47},"end":{"line":376,"column":26}},"197":{"start":{"line":374,"column":28},"end":{"line":375,"column":81}},"198":{"start":{"line":377,"column":24},"end":{"line":377,"column":107}},"199":{"start":{"line":380,"column":20},"end":{"line":384,"column":23}},"200":{"start":{"line":386,"column":20},"end":{"line":386,"column":73}},"201":{"start":{"line":389,"column":16},"end":{"line":389,"column":73}},"202":{"start":{"line":392,"column":12},"end":{"line":392,"column":37}},"203":{"start":{"line":395,"column":8},"end":{"line":395,"column":24}},"204":{"start":{"line":399,"column":64},"end":{"line":402,"column":9}},"205":{"start":{"line":403,"column":47},"end":{"line":403,"column":49}},"206":{"start":{"line":404,"column":8},"end":{"line":407,"column":9}},"207":{"start":{"line":405,"column":12},"end":{"line":405,"column":39}},"208":{"start":{"line":406,"column":12},"end":{"line":406,"column":62}},"209":{"start":{"line":409,"column":8},"end":{"line":413,"column":9}},"210":{"start":{"line":410,"column":12},"end":{"line":410,"column":22}},"211":{"start":{"line":411,"column":15},"end":{"line":413,"column":9}},"212":{"start":{"line":412,"column":12},"end":{"line":412,"column":37}},"213":{"start":{"line":415,"column":8},"end":{"line":430,"column":9}},"214":{"start":{"line":416,"column":12},"end":{"line":429,"column":15}},"215":{"start":{"line":417,"column":16},"end":{"line":427,"column":17}},"216":{"start":{"line":418,"column":20},"end":{"line":426,"column":30}},"217":{"start":{"line":419,"column":24},"end":{"line":421,"column":25}},"218":{"start":{"line":420,"column":28},"end":{"line":420,"column":41}},"219":{"start":{"line":423,"column":24},"end":{"line":425,"column":34}},"220":{"start":{"line":424,"column":28},"end":{"line":424,"column":79}},"221":{"start":{"line":428,"column":16},"end":{"line":428,"column":30}},"222":{"start":{"line":432,"column":8},"end":{"line":432,"column":33}},"223":{"start":{"line":12,"column":0},"end":{"line":434,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":0},"end":{"line":null,"column":-1}},"loc":{"start":{"line":12,"column":0},"end":{"line":434,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":12},"end":{"line":24,"column":48}},"loc":{"start":{"line":24,"column":80},"end":{"line":31,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":14},"end":{"line":33,"column":48}},"loc":{"start":{"line":33,"column":102},"end":{"line":53,"column":5}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":55,"column":14},"end":{"line":55,"column":39}},"loc":{"start":{"line":55,"column":59},"end":{"line":92,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":95,"column":14},"end":{"line":95,"column":34}},"loc":{"start":{"line":95,"column":62},"end":{"line":205,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":183,"column":47},"end":{"line":183,"column":48}},"loc":{"start":{"line":183,"column":67},"end":{"line":185,"column":13}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":207,"column":11},"end":{"line":207,"column":22}},"loc":{"start":{"line":207,"column":67},"end":{"line":214,"column":5}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":216,"column":11},"end":{"line":216,"column":27}},"loc":{"start":{"line":216,"column":72},"end":{"line":223,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":225,"column":11},"end":{"line":225,"column":21}},"loc":{"start":{"line":225,"column":66},"end":{"line":232,"column":5}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":234,"column":11},"end":{"line":234,"column":26}},"loc":{"start":{"line":234,"column":71},"end":{"line":245,"column":5}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":31}},"loc":{"start":{"line":247,"column":76},"end":{"line":258,"column":5}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":260,"column":11},"end":{"line":260,"column":25}},"loc":{"start":{"line":260,"column":70},"end":{"line":271,"column":5}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":273,"column":11},"end":{"line":273,"column":29}},"loc":{"start":{"line":273,"column":106},"end":{"line":283,"column":5}}},"13":{"name":"(anonymous_13)","decl":{"start":{"line":285,"column":11},"end":{"line":285,"column":33}},"loc":{"start":{"line":285,"column":118},"end":{"line":295,"column":5}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":27}},"loc":{"start":{"line":297,"column":47},"end":{"line":329,"column":5}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":304,"column":16},"end":{"line":304,"column":17}},"loc":{"start":{"line":304,"column":29},"end":{"line":304,"column":68}}},"16":{"name":"(anonymous_16)","decl":{"start":{"line":331,"column":11},"end":{"line":331,"column":25}},"loc":{"start":{"line":331,"column":48},"end":{"line":396,"column":5}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":373,"column":85},"end":{"line":373,"column":86}},"loc":{"start":{"line":373,"column":92},"end":{"line":376,"column":25}}},"18":{"name":"(anonymous_18)","decl":{"start":{"line":398,"column":11},"end":{"line":398,"column":25}},"loc":{"start":{"line":398,"column":45},"end":{"line":433,"column":5}}},"19":{"name":"(anonymous_19)","decl":{"start":{"line":416,"column":64},"end":{"line":416,"column":65}},"loc":{"start":{"line":416,"column":102},"end":{"line":429,"column":13}}},"20":{"name":"(anonymous_20)","decl":{"start":{"line":418,"column":87},"end":{"line":418,"column":88}},"loc":{"start":{"line":418,"column":97},"end":{"line":426,"column":21}}},"21":{"name":"(anonymous_21)","decl":{"start":{"line":423,"column":54},"end":{"line":423,"column":55}},"loc":{"start":{"line":423,"column":77},"end":{"line":425,"column":25}}}},"branchMap":{"0":{"loc":{"start":{"line":40,"column":8},"end":{"line":42,"column":9}},"type":"if","locations":[{"start":{"line":40,"column":8},"end":{"line":42,"column":9}},{"start":{"line":40,"column":8},"end":{"line":42,"column":9}}]},"1":{"loc":{"start":{"line":44,"column":8},"end":{"line":50,"column":9}},"type":"if","locations":[{"start":{"line":44,"column":8},"end":{"line":50,"column":9}},{"start":{"line":44,"column":8},"end":{"line":50,"column":9}}]},"2":{"loc":{"start":{"line":46,"column":15},"end":{"line":50,"column":9}},"type":"if","locations":[{"start":{"line":46,"column":15},"end":{"line":50,"column":9}},{"start":{"line":46,"column":15},"end":{"line":50,"column":9}}]},"3":{"loc":{"start":{"line":48,"column":15},"end":{"line":50,"column":9}},"type":"if","locations":[{"start":{"line":48,"column":15},"end":{"line":50,"column":9}},{"start":{"line":48,"column":15},"end":{"line":50,"column":9}}]},"4":{"loc":{"start":{"line":59,"column":23},"end":{"line":59,"column":41}},"type":"binary-expr","locations":[{"start":{"line":59,"column":23},"end":{"line":59,"column":41}},{"start":{"line":59,"column":45},"end":{"line":59,"column":49}}]},"5":{"loc":{"start":{"line":62,"column":8},"end":{"line":68,"column":9}},"type":"if","locations":[{"start":{"line":62,"column":8},"end":{"line":68,"column":9}},{"start":{"line":62,"column":8},"end":{"line":68,"column":9}}]},"6":{"loc":{"start":{"line":64,"column":15},"end":{"line":68,"column":9}},"type":"if","locations":[{"start":{"line":64,"column":15},"end":{"line":68,"column":9}},{"start":{"line":64,"column":15},"end":{"line":68,"column":9}}]},"7":{"loc":{"start":{"line":66,"column":15},"end":{"line":68,"column":9}},"type":"if","locations":[{"start":{"line":66,"column":15},"end":{"line":68,"column":9}},{"start":{"line":66,"column":15},"end":{"line":68,"column":9}}]},"8":{"loc":{"start":{"line":70,"column":8},"end":{"line":89,"column":9}},"type":"if","locations":[{"start":{"line":70,"column":8},"end":{"line":89,"column":9}},{"start":{"line":70,"column":8},"end":{"line":89,"column":9}}]},"9":{"loc":{"start":{"line":76,"column":31},"end":{"line":76,"column":55}},"type":"binary-expr","locations":[{"start":{"line":76,"column":31},"end":{"line":76,"column":55}},{"start":{"line":76,"column":59},"end":{"line":76,"column":63}}]},"10":{"loc":{"start":{"line":79,"column":16},"end":{"line":85,"column":17}},"type":"if","locations":[{"start":{"line":79,"column":16},"end":{"line":85,"column":17}},{"start":{"line":79,"column":16},"end":{"line":85,"column":17}}]},"11":{"loc":{"start":{"line":81,"column":23},"end":{"line":85,"column":17}},"type":"if","locations":[{"start":{"line":81,"column":23},"end":{"line":85,"column":17}},{"start":{"line":81,"column":23},"end":{"line":85,"column":17}}]},"12":{"loc":{"start":{"line":83,"column":23},"end":{"line":85,"column":17}},"type":"if","locations":[{"start":{"line":83,"column":23},"end":{"line":85,"column":17}},{"start":{"line":83,"column":23},"end":{"line":85,"column":17}}]},"13":{"loc":{"start":{"line":98,"column":8},"end":{"line":102,"column":9}},"type":"if","locations":[{"start":{"line":98,"column":8},"end":{"line":102,"column":9}},{"start":{"line":98,"column":8},"end":{"line":102,"column":9}}]},"14":{"loc":{"start":{"line":100,"column":15},"end":{"line":102,"column":9}},"type":"if","locations":[{"start":{"line":100,"column":15},"end":{"line":102,"column":9}},{"start":{"line":100,"column":15},"end":{"line":102,"column":9}}]},"15":{"loc":{"start":{"line":107,"column":8},"end":{"line":113,"column":9}},"type":"if","locations":[{"start":{"line":107,"column":8},"end":{"line":113,"column":9}},{"start":{"line":107,"column":8},"end":{"line":113,"column":9}}]},"16":{"loc":{"start":{"line":109,"column":15},"end":{"line":113,"column":9}},"type":"if","locations":[{"start":{"line":109,"column":15},"end":{"line":113,"column":9}},{"start":{"line":109,"column":15},"end":{"line":113,"column":9}}]},"17":{"loc":{"start":{"line":111,"column":15},"end":{"line":113,"column":9}},"type":"if","locations":[{"start":{"line":111,"column":15},"end":{"line":113,"column":9}},{"start":{"line":111,"column":15},"end":{"line":113,"column":9}}]},"18":{"loc":{"start":{"line":115,"column":8},"end":{"line":117,"column":9}},"type":"if","locations":[{"start":{"line":115,"column":8},"end":{"line":117,"column":9}},{"start":{"line":115,"column":8},"end":{"line":117,"column":9}}]},"19":{"loc":{"start":{"line":120,"column":12},"end":{"line":127,"column":13}},"type":"if","locations":[{"start":{"line":120,"column":12},"end":{"line":127,"column":13}},{"start":{"line":120,"column":12},"end":{"line":127,"column":13}}]},"20":{"loc":{"start":{"line":130,"column":8},"end":{"line":137,"column":9}},"type":"if","locations":[{"start":{"line":130,"column":8},"end":{"line":137,"column":9}},{"start":{"line":130,"column":8},"end":{"line":137,"column":9}}]},"21":{"loc":{"start":{"line":139,"column":8},"end":{"line":161,"column":9}},"type":"if","locations":[{"start":{"line":139,"column":8},"end":{"line":161,"column":9}},{"start":{"line":139,"column":8},"end":{"line":161,"column":9}}]},"22":{"loc":{"start":{"line":144,"column":16},"end":{"line":158,"column":17}},"type":"if","locations":[{"start":{"line":144,"column":16},"end":{"line":158,"column":17}},{"start":{"line":144,"column":16},"end":{"line":158,"column":17}}]},"23":{"loc":{"start":{"line":151,"column":20},"end":{"line":157,"column":21}},"type":"if","locations":[{"start":{"line":151,"column":20},"end":{"line":157,"column":21}},{"start":{"line":151,"column":20},"end":{"line":157,"column":21}}]},"24":{"loc":{"start":{"line":153,"column":27},"end":{"line":157,"column":21}},"type":"if","locations":[{"start":{"line":153,"column":27},"end":{"line":157,"column":21}},{"start":{"line":153,"column":27},"end":{"line":157,"column":21}}]},"25":{"loc":{"start":{"line":155,"column":27},"end":{"line":157,"column":21}},"type":"if","locations":[{"start":{"line":155,"column":27},"end":{"line":157,"column":21}},{"start":{"line":155,"column":27},"end":{"line":157,"column":21}}]},"26":{"loc":{"start":{"line":163,"column":8},"end":{"line":180,"column":9}},"type":"if","locations":[{"start":{"line":163,"column":8},"end":{"line":180,"column":9}},{"start":{"line":163,"column":8},"end":{"line":180,"column":9}}]},"27":{"loc":{"start":{"line":166,"column":16},"end":{"line":168,"column":17}},"type":"if","locations":[{"start":{"line":166,"column":16},"end":{"line":168,"column":17}},{"start":{"line":166,"column":16},"end":{"line":168,"column":17}}]},"28":{"loc":{"start":{"line":169,"column":16},"end":{"line":171,"column":17}},"type":"if","locations":[{"start":{"line":169,"column":16},"end":{"line":171,"column":17}},{"start":{"line":169,"column":16},"end":{"line":171,"column":17}}]},"29":{"loc":{"start":{"line":173,"column":16},"end":{"line":175,"column":17}},"type":"if","locations":[{"start":{"line":173,"column":16},"end":{"line":175,"column":17}},{"start":{"line":173,"column":16},"end":{"line":175,"column":17}}]},"30":{"loc":{"start":{"line":182,"column":8},"end":{"line":186,"column":9}},"type":"if","locations":[{"start":{"line":182,"column":8},"end":{"line":186,"column":9}},{"start":{"line":182,"column":8},"end":{"line":186,"column":9}}]},"31":{"loc":{"start":{"line":188,"column":8},"end":{"line":190,"column":9}},"type":"if","locations":[{"start":{"line":188,"column":8},"end":{"line":190,"column":9}},{"start":{"line":188,"column":8},"end":{"line":190,"column":9}}]},"32":{"loc":{"start":{"line":192,"column":8},"end":{"line":194,"column":9}},"type":"if","locations":[{"start":{"line":192,"column":8},"end":{"line":194,"column":9}},{"start":{"line":192,"column":8},"end":{"line":194,"column":9}}]},"33":{"loc":{"start":{"line":196,"column":8},"end":{"line":198,"column":9}},"type":"if","locations":[{"start":{"line":196,"column":8},"end":{"line":198,"column":9}},{"start":{"line":196,"column":8},"end":{"line":198,"column":9}}]},"34":{"loc":{"start":{"line":200,"column":8},"end":{"line":202,"column":9}},"type":"if","locations":[{"start":{"line":200,"column":8},"end":{"line":202,"column":9}},{"start":{"line":200,"column":8},"end":{"line":202,"column":9}}]},"35":{"loc":{"start":{"line":208,"column":8},"end":{"line":212,"column":9}},"type":"if","locations":[{"start":{"line":208,"column":8},"end":{"line":212,"column":9}},{"start":{"line":208,"column":8},"end":{"line":212,"column":9}}]},"36":{"loc":{"start":{"line":210,"column":15},"end":{"line":212,"column":9}},"type":"if","locations":[{"start":{"line":210,"column":15},"end":{"line":212,"column":9}},{"start":{"line":210,"column":15},"end":{"line":212,"column":9}}]},"37":{"loc":{"start":{"line":217,"column":8},"end":{"line":221,"column":9}},"type":"if","locations":[{"start":{"line":217,"column":8},"end":{"line":221,"column":9}},{"start":{"line":217,"column":8},"end":{"line":221,"column":9}}]},"38":{"loc":{"start":{"line":219,"column":15},"end":{"line":221,"column":9}},"type":"if","locations":[{"start":{"line":219,"column":15},"end":{"line":221,"column":9}},{"start":{"line":219,"column":15},"end":{"line":221,"column":9}}]},"39":{"loc":{"start":{"line":226,"column":8},"end":{"line":230,"column":9}},"type":"if","locations":[{"start":{"line":226,"column":8},"end":{"line":230,"column":9}},{"start":{"line":226,"column":8},"end":{"line":230,"column":9}}]},"40":{"loc":{"start":{"line":228,"column":15},"end":{"line":230,"column":9}},"type":"if","locations":[{"start":{"line":228,"column":15},"end":{"line":230,"column":9}},{"start":{"line":228,"column":15},"end":{"line":230,"column":9}}]},"41":{"loc":{"start":{"line":235,"column":8},"end":{"line":243,"column":9}},"type":"if","locations":[{"start":{"line":235,"column":8},"end":{"line":243,"column":9}},{"start":{"line":235,"column":8},"end":{"line":243,"column":9}}]},"42":{"loc":{"start":{"line":237,"column":15},"end":{"line":243,"column":9}},"type":"if","locations":[{"start":{"line":237,"column":15},"end":{"line":243,"column":9}},{"start":{"line":237,"column":15},"end":{"line":243,"column":9}}]},"43":{"loc":{"start":{"line":238,"column":12},"end":{"line":242,"column":13}},"type":"if","locations":[{"start":{"line":238,"column":12},"end":{"line":242,"column":13}},{"start":{"line":238,"column":12},"end":{"line":242,"column":13}}]},"44":{"loc":{"start":{"line":240,"column":19},"end":{"line":242,"column":13}},"type":"if","locations":[{"start":{"line":240,"column":19},"end":{"line":242,"column":13}},{"start":{"line":240,"column":19},"end":{"line":242,"column":13}}]},"45":{"loc":{"start":{"line":248,"column":8},"end":{"line":256,"column":9}},"type":"if","locations":[{"start":{"line":248,"column":8},"end":{"line":256,"column":9}},{"start":{"line":248,"column":8},"end":{"line":256,"column":9}}]},"46":{"loc":{"start":{"line":250,"column":15},"end":{"line":256,"column":9}},"type":"if","locations":[{"start":{"line":250,"column":15},"end":{"line":256,"column":9}},{"start":{"line":250,"column":15},"end":{"line":256,"column":9}}]},"47":{"loc":{"start":{"line":251,"column":12},"end":{"line":255,"column":13}},"type":"if","locations":[{"start":{"line":251,"column":12},"end":{"line":255,"column":13}},{"start":{"line":251,"column":12},"end":{"line":255,"column":13}}]},"48":{"loc":{"start":{"line":253,"column":19},"end":{"line":255,"column":13}},"type":"if","locations":[{"start":{"line":253,"column":19},"end":{"line":255,"column":13}},{"start":{"line":253,"column":19},"end":{"line":255,"column":13}}]},"49":{"loc":{"start":{"line":261,"column":8},"end":{"line":269,"column":9}},"type":"if","locations":[{"start":{"line":261,"column":8},"end":{"line":269,"column":9}},{"start":{"line":261,"column":8},"end":{"line":269,"column":9}}]},"50":{"loc":{"start":{"line":263,"column":15},"end":{"line":269,"column":9}},"type":"if","locations":[{"start":{"line":263,"column":15},"end":{"line":269,"column":9}},{"start":{"line":263,"column":15},"end":{"line":269,"column":9}}]},"51":{"loc":{"start":{"line":264,"column":12},"end":{"line":268,"column":13}},"type":"if","locations":[{"start":{"line":264,"column":12},"end":{"line":268,"column":13}},{"start":{"line":264,"column":12},"end":{"line":268,"column":13}}]},"52":{"loc":{"start":{"line":266,"column":19},"end":{"line":268,"column":13}},"type":"if","locations":[{"start":{"line":266,"column":19},"end":{"line":268,"column":13}},{"start":{"line":266,"column":19},"end":{"line":268,"column":13}}]},"53":{"loc":{"start":{"line":275,"column":12},"end":{"line":279,"column":13}},"type":"if","locations":[{"start":{"line":275,"column":12},"end":{"line":279,"column":13}},{"start":{"line":275,"column":12},"end":{"line":279,"column":13}}]},"54":{"loc":{"start":{"line":275,"column":16},"end":{"line":275,"column":69}},"type":"binary-expr","locations":[{"start":{"line":275,"column":16},"end":{"line":275,"column":69}},{"start":{"line":275,"column":73},"end":{"line":275,"column":119}}]},"55":{"loc":{"start":{"line":277,"column":19},"end":{"line":279,"column":13}},"type":"if","locations":[{"start":{"line":277,"column":19},"end":{"line":279,"column":13}},{"start":{"line":277,"column":19},"end":{"line":279,"column":13}}]},"56":{"loc":{"start":{"line":277,"column":23},"end":{"line":277,"column":69}},"type":"binary-expr","locations":[{"start":{"line":277,"column":23},"end":{"line":277,"column":69}},{"start":{"line":277,"column":73},"end":{"line":277,"column":118}}]},"57":{"loc":{"start":{"line":287,"column":12},"end":{"line":291,"column":13}},"type":"if","locations":[{"start":{"line":287,"column":12},"end":{"line":291,"column":13}},{"start":{"line":287,"column":12},"end":{"line":291,"column":13}}]},"58":{"loc":{"start":{"line":287,"column":16},"end":{"line":287,"column":77}},"type":"binary-expr","locations":[{"start":{"line":287,"column":16},"end":{"line":287,"column":77}},{"start":{"line":287,"column":81},"end":{"line":287,"column":135}}]},"59":{"loc":{"start":{"line":289,"column":19},"end":{"line":291,"column":13}},"type":"if","locations":[{"start":{"line":289,"column":19},"end":{"line":291,"column":13}},{"start":{"line":289,"column":19},"end":{"line":291,"column":13}}]},"60":{"loc":{"start":{"line":289,"column":23},"end":{"line":289,"column":77}},"type":"binary-expr","locations":[{"start":{"line":289,"column":23},"end":{"line":289,"column":77}},{"start":{"line":289,"column":81},"end":{"line":289,"column":134}}]},"61":{"loc":{"start":{"line":302,"column":8},"end":{"line":312,"column":9}},"type":"if","locations":[{"start":{"line":302,"column":8},"end":{"line":312,"column":9}},{"start":{"line":302,"column":8},"end":{"line":312,"column":9}}]},"62":{"loc":{"start":{"line":306,"column":12},"end":{"line":311,"column":13}},"type":"if","locations":[{"start":{"line":306,"column":12},"end":{"line":311,"column":13}},{"start":{"line":306,"column":12},"end":{"line":311,"column":13}}]},"63":{"loc":{"start":{"line":314,"column":8},"end":{"line":326,"column":9}},"type":"if","locations":[{"start":{"line":314,"column":8},"end":{"line":326,"column":9}},{"start":{"line":314,"column":8},"end":{"line":326,"column":9}}]},"64":{"loc":{"start":{"line":315,"column":12},"end":{"line":318,"column":13}},"type":"if","locations":[{"start":{"line":315,"column":12},"end":{"line":318,"column":13}},{"start":{"line":315,"column":12},"end":{"line":318,"column":13}}]},"65":{"loc":{"start":{"line":316,"column":55},"end":{"line":316,"column":104}},"type":"binary-expr","locations":[{"start":{"line":316,"column":55},"end":{"line":316,"column":104}},{"start":{"line":316,"column":108},"end":{"line":316,"column":110}}]},"66":{"loc":{"start":{"line":320,"column":15},"end":{"line":326,"column":9}},"type":"if","locations":[{"start":{"line":320,"column":15},"end":{"line":326,"column":9}},{"start":{"line":320,"column":15},"end":{"line":326,"column":9}}]},"67":{"loc":{"start":{"line":320,"column":19},"end":{"line":320,"column":45}},"type":"binary-expr","locations":[{"start":{"line":320,"column":19},"end":{"line":320,"column":45}},{"start":{"line":320,"column":49},"end":{"line":320,"column":73}},{"start":{"line":320,"column":84},"end":{"line":320,"column":128}}]},"68":{"loc":{"start":{"line":321,"column":12},"end":{"line":324,"column":13}},"type":"if","locations":[{"start":{"line":321,"column":12},"end":{"line":324,"column":13}},{"start":{"line":321,"column":12},"end":{"line":324,"column":13}}]},"69":{"loc":{"start":{"line":322,"column":55},"end":{"line":322,"column":100}},"type":"binary-expr","locations":[{"start":{"line":322,"column":55},"end":{"line":322,"column":100}},{"start":{"line":322,"column":104},"end":{"line":322,"column":106}}]},"70":{"loc":{"start":{"line":342,"column":12},"end":{"line":390,"column":13}},"type":"if","locations":[{"start":{"line":342,"column":12},"end":{"line":390,"column":13}},{"start":{"line":342,"column":12},"end":{"line":390,"column":13}}]},"71":{"loc":{"start":{"line":350,"column":20},"end":{"line":358,"column":21}},"type":"if","locations":[{"start":{"line":350,"column":20},"end":{"line":358,"column":21}},{"start":{"line":350,"column":20},"end":{"line":358,"column":21}}]},"72":{"loc":{"start":{"line":362,"column":20},"end":{"line":364,"column":21}},"type":"if","locations":[{"start":{"line":362,"column":20},"end":{"line":364,"column":21}},{"start":{"line":362,"column":20},"end":{"line":364,"column":21}}]},"73":{"loc":{"start":{"line":367,"column":20},"end":{"line":369,"column":21}},"type":"if","locations":[{"start":{"line":367,"column":20},"end":{"line":369,"column":21}},{"start":{"line":367,"column":20},"end":{"line":369,"column":21}}]},"74":{"loc":{"start":{"line":367,"column":24},"end":{"line":367,"column":35}},"type":"binary-expr","locations":[{"start":{"line":367,"column":24},"end":{"line":367,"column":35}},{"start":{"line":367,"column":39},"end":{"line":367,"column":79}}]},"75":{"loc":{"start":{"line":372,"column":20},"end":{"line":378,"column":21}},"type":"if","locations":[{"start":{"line":372,"column":20},"end":{"line":378,"column":21}},{"start":{"line":372,"column":20},"end":{"line":378,"column":21}}]},"76":{"loc":{"start":{"line":372,"column":24},"end":{"line":372,"column":35}},"type":"binary-expr","locations":[{"start":{"line":372,"column":24},"end":{"line":372,"column":35}},{"start":{"line":372,"column":39},"end":{"line":372,"column":69}}]},"77":{"loc":{"start":{"line":374,"column":35},"end":{"line":374,"column":73}},"type":"binary-expr","locations":[{"start":{"line":374,"column":35},"end":{"line":374,"column":73}},{"start":{"line":375,"column":32},"end":{"line":375,"column":80}}]},"78":{"loc":{"start":{"line":409,"column":8},"end":{"line":413,"column":9}},"type":"if","locations":[{"start":{"line":409,"column":8},"end":{"line":413,"column":9}},{"start":{"line":409,"column":8},"end":{"line":413,"column":9}}]},"79":{"loc":{"start":{"line":411,"column":15},"end":{"line":413,"column":9}},"type":"if","locations":[{"start":{"line":411,"column":15},"end":{"line":413,"column":9}},{"start":{"line":411,"column":15},"end":{"line":413,"column":9}}]},"80":{"loc":{"start":{"line":417,"column":16},"end":{"line":427,"column":17}},"type":"if","locations":[{"start":{"line":417,"column":16},"end":{"line":427,"column":17}},{"start":{"line":417,"column":16},"end":{"line":427,"column":17}}]},"81":{"loc":{"start":{"line":419,"column":24},"end":{"line":421,"column":25}},"type":"if","locations":[{"start":{"line":419,"column":24},"end":{"line":421,"column":25}},{"start":{"line":419,"column":24},"end":{"line":421,"column":25}}]},"82":{"loc":{"start":{"line":424,"column":35},"end":{"line":424,"column":60}},"type":"binary-expr","locations":[{"start":{"line":424,"column":35},"end":{"line":424,"column":60}},{"start":{"line":424,"column":64},"end":{"line":424,"column":78}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":5,"10":5,"11":1,"12":4,"13":1,"14":3,"15":1,"16":2,"17":0,"18":2,"19":47,"20":47,"21":1,"22":46,"23":1,"24":45,"25":1,"26":44,"27":30,"28":30,"29":41,"30":41,"31":2,"32":39,"33":2,"34":37,"35":2,"36":35,"37":38,"38":42,"39":42,"40":0,"41":42,"42":0,"43":42,"44":42,"45":42,"46":1,"47":41,"48":1,"49":40,"50":1,"51":39,"52":0,"53":39,"54":228,"55":42,"56":42,"57":9,"58":9,"59":30,"60":5,"61":5,"62":0,"63":0,"64":30,"65":12,"66":14,"67":14,"68":14,"69":4,"70":1,"71":10,"72":10,"73":10,"74":1,"75":9,"76":1,"77":8,"78":1,"79":8,"80":24,"81":5,"82":10,"83":10,"84":1,"85":9,"86":0,"87":9,"88":9,"89":1,"90":8,"91":8,"92":22,"93":1,"94":1,"95":22,"96":1,"97":21,"98":21,"99":1,"100":20,"101":1,"102":19,"103":19,"104":1,"105":18,"106":1956,"107":1297,"108":659,"109":294,"110":365,"111":724,"112":375,"113":349,"114":164,"115":185,"116":1250,"117":27,"118":1223,"119":229,"120":994,"121":953,"122":0,"123":953,"124":953,"125":426,"126":527,"127":110,"128":417,"129":740,"130":0,"131":740,"132":740,"133":367,"134":373,"135":106,"136":267,"137":216,"138":0,"139":216,"140":216,"141":1,"142":215,"143":65,"144":150,"145":579,"146":612,"147":129,"148":483,"149":30,"150":420,"151":625,"152":740,"153":248,"154":492,"155":3,"156":374,"157":99,"158":99,"159":99,"160":99,"161":5,"162":5,"163":5,"164":1,"165":99,"166":27,"167":1,"168":1,"169":26,"170":72,"171":52,"172":0,"173":0,"174":52,"175":20,"176":42,"177":18,"178":18,"179":18,"180":99,"181":99,"182":79,"183":79,"184":79,"185":860,"186":860,"187":29,"188":29,"189":29,"190":831,"191":831,"192":620,"193":831,"194":393,"195":831,"196":180,"197":410,"198":180,"199":831,"200":831,"201":79,"202":99,"203":18,"204":2,"205":2,"206":2,"207":4,"208":4,"209":2,"210":0,"211":2,"212":0,"213":2,"214":22,"215":252,"216":154,"217":308,"218":6,"219":302,"220":2936,"221":252,"222":2,"223":1},"f":{"0":1,"1":1,"2":5,"3":47,"4":42,"5":1,"6":1956,"7":724,"8":1250,"9":953,"10":740,"11":216,"12":579,"13":625,"14":99,"15":5,"16":42,"17":410,"18":2,"19":252,"20":308,"21":2936},"b":{"0":[1,4],"1":[1,3],"2":[1,2],"3":[0,2],"4":[47,46],"5":[1,46],"6":[1,45],"7":[1,44],"8":[30,14],"9":[41,41],"10":[2,39],"11":[2,37],"12":[2,35],"13":[0,42],"14":[0,42],"15":[1,41],"16":[1,40],"17":[1,39],"18":[0,39],"19":[42,186],"20":[5,25],"21":[12,18],"22":[4,10],"23":[1,9],"24":[1,8],"25":[1,7],"26":[5,19],"27":[1,9],"28":[0,9],"29":[1,8],"30":[1,21],"31":[1,21],"32":[1,20],"33":[1,19],"34":[1,18],"35":[1297,659],"36":[294,365],"37":[375,349],"38":[164,185],"39":[27,1223],"40":[229,994],"41":[0,953],"42":[953,0],"43":[426,527],"44":[110,417],"45":[0,740],"46":[740,0],"47":[367,373],"48":[106,267],"49":[0,216],"50":[216,0],"51":[1,215],"52":[65,150],"53":[129,483],"54":[612,419],"55":[30,453],"56":[483,320],"57":[248,492],"58":[740,455],"59":[3,489],"60":[492,210],"61":[5,94],"62":[1,4],"63":[27,72],"64":[1,26],"65":[1,0],"66":[52,20],"67":[72,64,56],"68":[0,52],"69":[0,0],"70":[79,20],"71":[29,831],"72":[620,211],"73":[393,438],"74":[831,583],"75":[180,651],"76":[831,450],"77":[410,410],"78":[0,2],"79":[0,2],"80":[154,98],"81":[6,302],"82":[2936,252]}}}
package/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2017 - SSENSE
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,174 @@
1
+ # sscheduler
2
+
3
+ [![Build Status](https://travis-ci.org/SSENSE/node-sscheduler.svg?branch=master)](https://travis-ci.org/SSENSE/node-sscheduler)
4
+ [![Coverage Status](https://coveralls.io/repos/github/SSENSE/node-sscheduler/badge.svg?branch=master)](https://coveralls.io/github/SSENSE/node-sscheduler?branch=master)
5
+ [![Latest Stable Version](https://img.shields.io/npm/v/@ssense/sscheduler.svg)](https://www.npmjs.com/package/@ssense/sscheduler)
6
+ [![Known Vulnerabilities](https://snyk.io/test/npm/@ssense/sscheduler/badge.svg)](https://snyk.io/test/npm/@ssense/sscheduler)
7
+
8
+ Flexible scheduler to find free time slots in the schedule of a resource (which could be a person, a meeting room, a car, etc...)
9
+
10
+ **sscheduler** can also intersect the availability of multiple resources in order to find the time slots at which all the resources are available.
11
+
12
+ ## Installation
13
+
14
+ ```bash
15
+ npm install @ssense/sscheduler
16
+ ```
17
+
18
+ ## Basic usage
19
+
20
+ As an example, let's say that we want to book a 1 hour appointment with a doctor in the month of february considering that:
21
+
22
+ * We can only book on weekdays from *9AM* to *5PM*
23
+
24
+ * We can't book between noon and *1PM* (lunch time !)
25
+
26
+ * The doctor is on vacation the week of the *20th*
27
+
28
+ * There are already two one-hour appointments booked on *February 1st* at *1PM* and *2PM*
29
+
30
+ ```javascript
31
+ import {Scheduler} from '@ssense/sscheduler';
32
+
33
+ const scheduler = new Scheduler();
34
+ const availability = scheduler.getAvailability({
35
+ from: '2017-02-01',
36
+ to: '2017-03-01',
37
+ duration: 60,
38
+ interval: 60,
39
+ schedule: {
40
+ weekdays: {
41
+ from: '09:00', to: '17:00',
42
+ unavailability: [
43
+ { from: '12:00', to: '13:00' }
44
+ ]
45
+ },
46
+ unavailability: [
47
+ // two different types of unavailability structure
48
+ { from: '2017-02-20 00:00', to: '2017-02-27 00:00' },
49
+ { date: '2017-02-15', from: '12:00', to: '13:00' }
50
+ ],
51
+ allocated: [
52
+ { from: '2017-02-01 13:00' , duration: 60 },
53
+ { from: '2017-02-01 14:00' , duration: 60 }
54
+ ]
55
+ }
56
+ });
57
+ ```
58
+
59
+ The returned value is a structure that looks like the following:
60
+
61
+ ```js
62
+ {
63
+ '2017-02-01': [
64
+ { time: '09:00', available: true },
65
+ { time: '10:00', available: true }
66
+ // ...
67
+ ]
68
+ // ...
69
+ }
70
+ ```
71
+
72
+ # Options
73
+
74
+ The possible options for the **getAvailability** function are:
75
+
76
+ <details>
77
+ <summary>from (required)</summary>
78
+ The start date for which we want to get availability times
79
+ </details>
80
+
81
+ <details>
82
+ <summary>to (required)</summary>
83
+ The end date for which we want to get availability times (exclusive)
84
+ </details>
85
+
86
+ <details>
87
+ <summary>interval (required)</summary>
88
+ The interval (in minutes) of the returned availability times.
89
+ For example, a value of 15 would returns availability times such as *10:00*, *10:15*, *10:30*, *10:45*, etc..
90
+ </details>
91
+
92
+ <details>
93
+ <summary>duration (required)</summary>
94
+ The duration (in minutes) for which we need the resource.
95
+ </details>
96
+
97
+ <details>
98
+ <summary>schedule (required)</summary>
99
+ The schedule of the resource for each day of the week.
100
+
101
+ Example:
102
+ ```js
103
+ {
104
+ monday: {
105
+ from: '09:00',
106
+ to: '17:00',
107
+ unavailability: [
108
+ { from: '12:00', to: '13:00' }
109
+ ]
110
+ },
111
+ custom_schedule: [
112
+ { "date": "2017-01-23", "from": "12:00", "to": "17:00" },
113
+ ]
114
+ }
115
+ ```
116
+ </details>
117
+
118
+ ## Schedule intersection
119
+
120
+ Using the same example as before, let's say that we also need to book a room for our appointment.
121
+
122
+ So, we need to intersect the doctor's availability times with the room's availability times, considering that:
123
+
124
+ * We can only book the room on weekdays from *8AM* to *8PM*
125
+
126
+ * The room is out of service from *February 6th* to *February 16th*
127
+
128
+ ```javascript
129
+ import {Scheduler} from '@ssense/sscheduler';
130
+
131
+ const scheduler = new Scheduler();
132
+ const availability = scheduler.getIntersection({
133
+ from: '2017-02-01',
134
+ to: '2017-03-01',
135
+ duration: 60,
136
+ interval: 60,
137
+ schedules: [
138
+ // The doctor's schedule
139
+ {
140
+ weekdays: {
141
+ from: '09:00', to: '17:00',
142
+ unavailability: [
143
+ { from: '12:00', to: '13:00' }
144
+ ]
145
+ },
146
+ unavailability: [
147
+ { from: '2017-02-20 00:00', to: '2017-02-27 00:00' }
148
+ ],
149
+ allocated: [
150
+ { from: '2017-02-01 13:00' , duration: 60 },
151
+ { from: '2017-02-01 14:00' , duration: 60 }
152
+ ]
153
+ },
154
+
155
+ // The room's schedule
156
+ {
157
+ weekdays: {
158
+ from: '08:00', to: '20:00',
159
+ },
160
+ unavailability: [
161
+ { from: '2017-02-06 00:00', to: '2017-02-16 00:00' }
162
+ ]
163
+ }
164
+ ]
165
+ });
166
+ ```
167
+
168
+ ## Authors
169
+
170
+ * **Mickael Burguet** - *Senior Developer* - [rundef](http://rundef.com)
171
+
172
+ ## License
173
+
174
+ This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.
@@ -0,0 +1,391 @@
1
+ "use strict";
2
+ const moment = require("moment");
3
+ const lodash_1 = require("lodash");
4
+ class Scheduler {
5
+ constructor() {
6
+ this.daysOfWeek = [
7
+ 'sunday',
8
+ 'monday',
9
+ 'tuesday',
10
+ 'wednesday',
11
+ 'thursday',
12
+ 'friday',
13
+ 'saturday'
14
+ ];
15
+ }
16
+ convertScheduleSpecificDateToInterval(schedule) {
17
+ const interval = { from: null, to: null };
18
+ const fromDateTime = `${schedule.date.format('YYYY-MM-DD')} ${schedule.from.format('HH:mm')}`;
19
+ const toDateTime = `${schedule.date.format('YYYY-MM-DD')} ${schedule.to.format('HH:mm')}`;
20
+ interval.from = moment(fromDateTime, 'YYYY-MM-DD HH:mm');
21
+ interval.to = moment(toDateTime, 'YYYY-MM-DD HH:mm');
22
+ return interval;
23
+ }
24
+ validateAndCastScheduleSpecificDate(schedule, propertyName) {
25
+ const s = {
26
+ date: moment(schedule.date, 'YYYY-MM-DD'),
27
+ from: moment(schedule.from, 'HH:mm'),
28
+ to: moment(schedule.to, 'HH:mm')
29
+ };
30
+ if (!s.date.isValid()) {
31
+ throw new Error(`${propertyName} "date" must be a date in the format YYYY-MM-DD`);
32
+ }
33
+ if (!s.from.isValid()) {
34
+ throw new Error(`${propertyName} "from" must be a time in the format HH:mm`);
35
+ }
36
+ else if (!s.to.isValid()) {
37
+ throw new Error(`${propertyName} "to" must be a time in the format HH:mm`);
38
+ }
39
+ else if (!s.to.isAfter(s.from)) {
40
+ throw new Error(`${propertyName} "to" must be greater than "from"`);
41
+ }
42
+ return s;
43
+ }
44
+ validateAndCastDaySchedule(schedule) {
45
+ const s = {
46
+ from: moment(schedule.from, 'HH:mm'),
47
+ to: moment(schedule.to, 'HH:mm'),
48
+ reference: schedule.reference || null
49
+ };
50
+ if (!s.from.isValid()) {
51
+ throw new Error('"from" must be a time in the format HH:mm');
52
+ }
53
+ else if (!s.to.isValid()) {
54
+ throw new Error('"to" must be a time in the format HH:mm');
55
+ }
56
+ else if (!s.to.isAfter(s.from)) {
57
+ throw new Error('"to" must be greater than "from"');
58
+ }
59
+ if (schedule.unavailability) {
60
+ s.unavailability = [];
61
+ for (const unavailability of schedule.unavailability) {
62
+ const breakPeriod = {
63
+ from: moment(unavailability.from, 'HH:mm'),
64
+ to: moment(unavailability.to, 'HH:mm'),
65
+ reference: unavailability.reference || null
66
+ };
67
+ if (!breakPeriod.from.isValid()) {
68
+ throw new Error('unavailability "from" must be a time in the format HH:mm');
69
+ }
70
+ else if (!breakPeriod.to.isValid()) {
71
+ throw new Error('unavailability "to" must be a time in the format HH:mm');
72
+ }
73
+ else if (!breakPeriod.to.isAfter(breakPeriod.from)) {
74
+ throw new Error('unavailability "to" must be greater than "from"');
75
+ }
76
+ s.unavailability.push(breakPeriod);
77
+ }
78
+ }
79
+ return s;
80
+ }
81
+ // tslint:disable-next-line:max-func-body-length
82
+ validateAndCastParams(params) {
83
+ const p = lodash_1.cloneDeep(params);
84
+ if (!p.from) {
85
+ throw new Error('from is required');
86
+ }
87
+ else if (!p.to) {
88
+ throw new Error('to is required');
89
+ }
90
+ p.from = moment(params.from, 'YYYY-MM-DD');
91
+ p.to = moment(params.to, 'YYYY-MM-DD');
92
+ if (!p.from.isValid()) {
93
+ throw new Error('"from" must be a date in the format YYYY-MM-DD');
94
+ }
95
+ else if (!p.to.isValid()) {
96
+ throw new Error('"to" must be a date in the format YYYY-MM-DD');
97
+ }
98
+ else if (!p.to.isAfter(p.from)) {
99
+ throw new Error('"to" must be greater than "from"');
100
+ }
101
+ if (!p.schedule) {
102
+ throw new Error('schedule is required');
103
+ }
104
+ for (const dayName of this.daysOfWeek) {
105
+ if (p.schedule[dayName] !== undefined) {
106
+ try {
107
+ p.schedule[dayName] = this.validateAndCastDaySchedule(p.schedule[dayName]);
108
+ }
109
+ catch (err) {
110
+ err.message = `${dayName}: ${err.message}`;
111
+ throw err;
112
+ }
113
+ }
114
+ }
115
+ if (p.schedule.weekdays) {
116
+ try {
117
+ p.schedule.weekdays = this.validateAndCastDaySchedule(p.schedule.weekdays);
118
+ }
119
+ catch (err) {
120
+ err.message = `weekdays: ${err.message}`;
121
+ throw err;
122
+ }
123
+ }
124
+ if (p.schedule.unavailability) {
125
+ for (let i = 0; i < p.schedule.unavailability.length; i += 1) {
126
+ const unavailability = p.schedule.unavailability[i];
127
+ let interval = { from: null, to: null };
128
+ if (unavailability.date !== undefined) {
129
+ const s = this.validateAndCastScheduleSpecificDate(unavailability, 'unavailability');
130
+ interval = this.convertScheduleSpecificDateToInterval(s);
131
+ }
132
+ else {
133
+ interval.from = moment(unavailability.from, 'YYYY-MM-DD HH:mm');
134
+ interval.to = moment(unavailability.to, 'YYYY-MM-DD HH:mm');
135
+ if (!interval.from.isValid()) {
136
+ throw new Error('unavailability "from" must be a date in the format YYYY-MM-DD HH:mm');
137
+ }
138
+ else if (!interval.to.isValid()) {
139
+ throw new Error('unavailability "to" must be a date in the format YYYY-MM-DD HH:mm');
140
+ }
141
+ else if (!interval.to.isAfter(interval.from)) {
142
+ throw new Error('unavailability "to" must be greater than "from"');
143
+ }
144
+ }
145
+ p.schedule.unavailability[i] = interval;
146
+ }
147
+ }
148
+ if (p.schedule.allocated) {
149
+ for (const allocated of p.schedule.allocated) {
150
+ allocated.from = moment(allocated.from, 'YYYY-MM-DD HH:mm');
151
+ if (!allocated.from.isValid()) {
152
+ throw new Error('"allocated.from" must be a date in the format YYYY-MM-DD HH:mm');
153
+ }
154
+ if (isNaN(allocated.duration)) {
155
+ throw new Error('"allocated.duration" must be a positive integer');
156
+ }
157
+ allocated.duration = Math.floor(allocated.duration);
158
+ if (allocated.duration <= 0) {
159
+ throw new Error('"allocated.duration" must be a positive integer');
160
+ }
161
+ const allocatedMinutes = p.interval * Math.ceil(allocated.duration / p.interval);
162
+ allocated.to = allocated.from.clone().add({ minutes: allocatedMinutes });
163
+ }
164
+ }
165
+ if (p.schedule.custom_schedule) {
166
+ p.schedule.custom_schedule.forEach((customSchedule, key) => {
167
+ p.schedule.custom_schedule[key] = this.validateAndCastScheduleSpecificDate(customSchedule, 'custom_schedule');
168
+ });
169
+ }
170
+ if (isNaN(p.interval)) {
171
+ throw new Error('"interval" must be a positive integer');
172
+ }
173
+ p.interval = Math.floor(p.interval);
174
+ if (p.interval <= 0) {
175
+ throw new Error('"interval" must be a positive integer');
176
+ }
177
+ if (isNaN(p.duration)) {
178
+ throw new Error('"duration" must be a positive integer');
179
+ }
180
+ p.duration = Math.floor(p.duration);
181
+ if (p.duration <= 0) {
182
+ throw new Error('"duration" must be a positive integer');
183
+ }
184
+ this.params = p;
185
+ }
186
+ isTimeBefore(first, second) {
187
+ if (first.hour() < second.hour()) {
188
+ return true;
189
+ }
190
+ else if (first.hour() === second.hour()) {
191
+ return first.minute() < second.minute();
192
+ }
193
+ return false;
194
+ }
195
+ isTimeSameOrAfter(first, second) {
196
+ if (first.hour() > second.hour()) {
197
+ return true;
198
+ }
199
+ else if (first.hour() === second.hour()) {
200
+ return first.minute() >= second.minute();
201
+ }
202
+ return false;
203
+ }
204
+ isTimeAfter(first, second) {
205
+ if (first.hour() > second.hour()) {
206
+ return true;
207
+ }
208
+ else if (first.hour() === second.hour()) {
209
+ return first.minute() > second.minute();
210
+ }
211
+ return false;
212
+ }
213
+ isDateTimeBefore(first, second) {
214
+ if (first.year() < second.year()) {
215
+ return true;
216
+ }
217
+ else if (first.year() === second.year()) {
218
+ if (first.dayOfYear() < second.dayOfYear()) {
219
+ return true;
220
+ }
221
+ else if (first.dayOfYear() === second.dayOfYear()) {
222
+ return this.isTimeBefore(first, second);
223
+ }
224
+ }
225
+ return false;
226
+ }
227
+ isDateTimeSameOrAfter(first, second) {
228
+ if (first.year() > second.year()) {
229
+ return true;
230
+ }
231
+ else if (first.year() === second.year()) {
232
+ if (first.dayOfYear() > second.dayOfYear()) {
233
+ return true;
234
+ }
235
+ else if (first.dayOfYear() === second.dayOfYear()) {
236
+ return this.isTimeSameOrAfter(first, second);
237
+ }
238
+ }
239
+ return false;
240
+ }
241
+ isDateTimeAfter(first, second) {
242
+ if (first.year() > second.year()) {
243
+ return true;
244
+ }
245
+ else if (first.year() === second.year()) {
246
+ if (first.dayOfYear() > second.dayOfYear()) {
247
+ return true;
248
+ }
249
+ else if (first.dayOfYear() === second.dayOfYear()) {
250
+ return this.isTimeAfter(first, second);
251
+ }
252
+ }
253
+ return false;
254
+ }
255
+ isTimeslotAvailable(timeSlotStart, timeSlotEnd, allocateds) {
256
+ for (const allocated of allocateds) {
257
+ if (this.isTimeSameOrAfter(timeSlotStart, allocated.from) && this.isTimeBefore(timeSlotStart, allocated.to)) {
258
+ return false;
259
+ }
260
+ else if (this.isTimeBefore(allocated.from, timeSlotEnd) && this.isTimeAfter(allocated.to, timeSlotStart)) {
261
+ return false;
262
+ }
263
+ }
264
+ return true;
265
+ }
266
+ isDateTimeslotAvailable(dateTimeSlotStart, dateTimeSlotEnd, allocateds) {
267
+ for (const allocated of allocateds) {
268
+ if (this.isDateTimeSameOrAfter(dateTimeSlotStart, allocated.from) && this.isDateTimeBefore(dateTimeSlotStart, allocated.to)) {
269
+ return false;
270
+ }
271
+ else if (this.isDateTimeBefore(allocated.from, dateTimeSlotEnd) && this.isDateTimeAfter(allocated.to, dateTimeSlotStart)) {
272
+ return false;
273
+ }
274
+ }
275
+ return true;
276
+ }
277
+ getScheduleForDay(day) {
278
+ const weekdayName = this.daysOfWeek[day.day()];
279
+ const curYMD = day.format('YYYY-MM-DD');
280
+ let customSchedule = undefined;
281
+ if (this.params.schedule.custom_schedule !== undefined) {
282
+ const customScheduleForThisDay = this.params.schedule.custom_schedule.filter((cs) => cs.date.format('YYYY-MM-DD') === curYMD);
283
+ if (customScheduleForThisDay.length) {
284
+ customSchedule = {
285
+ from: customScheduleForThisDay[0].from,
286
+ to: customScheduleForThisDay[0].to
287
+ };
288
+ }
289
+ }
290
+ if (this.params.schedule[weekdayName] !== undefined) {
291
+ if (customSchedule !== undefined) {
292
+ customSchedule.unavailability = this.params.schedule[weekdayName].unavailability || [];
293
+ return customSchedule;
294
+ }
295
+ return this.params.schedule[weekdayName];
296
+ }
297
+ else if (weekdayName !== 'saturday' && weekdayName !== 'sunday' && this.params.schedule.weekdays !== undefined) {
298
+ if (customSchedule !== undefined) {
299
+ customSchedule.unavailability = this.params.schedule.weekdays.unavailability || [];
300
+ return customSchedule;
301
+ }
302
+ return this.params.schedule.weekdays;
303
+ }
304
+ return undefined;
305
+ }
306
+ getAvailability(p) {
307
+ this.validateAndCastParams(p);
308
+ const response = {};
309
+ const curDate = this.params.from.clone();
310
+ // Loop on each day from <curDate> to <toDate>
311
+ while (curDate.isBefore(this.params.to)) {
312
+ const daySchedule = this.getScheduleForDay(curDate);
313
+ // We have a schedule for this day
314
+ if (daySchedule !== undefined) {
315
+ const dayAvailability = [];
316
+ const timeSlotStart = daySchedule.from.clone().year(curDate.year()).dayOfYear(curDate.dayOfYear());
317
+ // Loop from <curTime> to <endTime> in <interval> increments
318
+ while (this.isTimeBefore(timeSlotStart, daySchedule.to)) {
319
+ const timeSlotEnd = timeSlotStart.clone().add({ minutes: this.params.duration });
320
+ if (this.isTimeAfter(timeSlotEnd, daySchedule.to)) {
321
+ dayAvailability.push({
322
+ time: timeSlotStart.format('HH:mm'),
323
+ available: false,
324
+ reference: daySchedule.reference
325
+ });
326
+ timeSlotStart.add({ minutes: this.params.interval });
327
+ continue;
328
+ }
329
+ let isAvailable = true;
330
+ // Verify that the resource is not unavailable for the <curTime>
331
+ if (this.params.schedule.unavailability !== undefined) {
332
+ isAvailable = this.isDateTimeslotAvailable(timeSlotStart, timeSlotEnd, this.params.schedule.unavailability);
333
+ }
334
+ // Verify that the resource is not on a daily break
335
+ if (isAvailable && daySchedule.unavailability !== undefined) {
336
+ isAvailable = this.isTimeslotAvailable(timeSlotStart, timeSlotEnd, daySchedule.unavailability);
337
+ }
338
+ // Verify that the resource is not allocated for the <curTime>
339
+ if (isAvailable && this.params.schedule.allocated) {
340
+ const allocatedToday = this.params.schedule.allocated.filter((a) => {
341
+ return a.from.year() === timeSlotStart.year() &&
342
+ a.from.dayOfYear() === timeSlotStart.dayOfYear();
343
+ });
344
+ isAvailable = this.isTimeslotAvailable(timeSlotStart, timeSlotEnd, allocatedToday);
345
+ }
346
+ dayAvailability.push({
347
+ time: timeSlotStart.format('HH:mm'),
348
+ available: isAvailable,
349
+ reference: daySchedule.reference
350
+ });
351
+ timeSlotStart.add({ minutes: this.params.interval });
352
+ }
353
+ response[curDate.format('YYYY-MM-DD')] = dayAvailability;
354
+ }
355
+ curDate.add({ days: 1 });
356
+ }
357
+ return response;
358
+ }
359
+ getIntersection(p) {
360
+ const params = Object.assign({ schedule: null }, lodash_1.cloneDeep(lodash_1.omit(p, ['schedules'])));
361
+ const availabilities = [];
362
+ for (const schedule of p.schedules) {
363
+ params.schedule = schedule;
364
+ availabilities.push(this.getAvailability(params));
365
+ }
366
+ if (availabilities.length === 0) {
367
+ return {};
368
+ }
369
+ else if (availabilities.length === 1) {
370
+ return availabilities[0];
371
+ }
372
+ for (const day of Object.keys(availabilities[0])) {
373
+ availabilities[0][day] = availabilities[0][day].map((timeAv, idx) => {
374
+ if (timeAv.available) {
375
+ timeAv.available = availabilities.length === availabilities.filter((days) => {
376
+ if (days[day] === undefined) {
377
+ return false;
378
+ }
379
+ return 1 === days[day].filter((time) => {
380
+ return timeAv.time === time.time && time.available;
381
+ }).length;
382
+ }).length;
383
+ }
384
+ return timeAv;
385
+ });
386
+ }
387
+ return availabilities[0];
388
+ }
389
+ }
390
+ exports.Scheduler = Scheduler;
391
+ //# sourceMappingURL=Scheduler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Scheduler.js","sourceRoot":"","sources":["../src/Scheduler.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ var Scheduler_1 = require("./Scheduler");
3
+ exports.Scheduler = Scheduler_1.Scheduler;
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,yCAAsC;AAA9B,gCAAA,SAAS,CAAA"}
package/index.d.ts ADDED
@@ -0,0 +1,77 @@
1
+ import * as moment from 'moment';
2
+
3
+ interface WeeklySchedule {
4
+ sunday?: Schedule;
5
+ monday?: Schedule;
6
+ tuesday?: Schedule;
7
+ wednesday?: Schedule;
8
+ thursday?: Schedule;
9
+ friday?: Schedule;
10
+ saturday?: Schedule;
11
+ weekdays?: Schedule;
12
+ unavailability?: Interval[]|ScheduleSpecificDate[];
13
+ allocated?: Allocated[];
14
+ custom_schedule?: ScheduleSpecificDate[];
15
+ }
16
+
17
+ interface Interval {
18
+ from: string|moment.Moment;
19
+ to: string|moment.Moment;
20
+ reference?: any;
21
+ }
22
+
23
+ export interface ScheduleSpecificDate extends Interval {
24
+ date: string|moment.Moment;
25
+ }
26
+
27
+ interface Allocated {
28
+ from: string|moment.Moment;
29
+ duration: number;
30
+ to?: moment.Moment;
31
+ }
32
+
33
+ interface Schedule extends Interval {
34
+ unavailability?: Interval[];
35
+ }
36
+
37
+ export interface TimeAvailability {
38
+ time: string;
39
+ available: boolean;
40
+ reference?: any;
41
+ }
42
+
43
+ export interface Availability {
44
+ [date: string]: TimeAvailability[];
45
+ }
46
+
47
+ interface Params {
48
+ from: string|moment.Moment;
49
+ to: string|moment.Moment;
50
+ interval: number;
51
+ duration: number;
52
+ }
53
+
54
+ export interface AvailabilityParams extends Params{
55
+ schedule: WeeklySchedule;
56
+ }
57
+
58
+ export interface IntersectParams extends Params {
59
+ schedules: WeeklySchedule[];
60
+ }
61
+
62
+ export class Scheduler {
63
+ constructor();
64
+
65
+ isTimeBefore(first: moment.Moment, second: moment.Moment): boolean;
66
+ isTimeSameOrAfter(first: moment.Moment, second: moment.Moment): boolean;
67
+ isTimeAfter(first: moment.Moment, second: moment.Moment): boolean;
68
+ isTimeslotAvailable(timeSlotStart: moment.Moment, timeSlotEnd: moment.Moment, allocateds: any[]): boolean;
69
+
70
+ isDateTimeBefore(first: moment.Moment, second: moment.Moment): boolean;
71
+ isDateTimeSameOrAfter(first: moment.Moment, second: moment.Moment): boolean;
72
+ isDateTimeAfter(first: moment.Moment, second: moment.Moment): boolean;
73
+ isDateTimeslotAvailable(dateSlotStart: moment.Moment, dateSlotEnd: moment.Moment, allocateds: any[]): boolean;
74
+
75
+ getAvailability(params: AvailabilityParams): Availability;
76
+ getIntersection(params: IntersectParams): Availability;
77
+ }
package/package.json ADDED
@@ -0,0 +1,75 @@
1
+ {
2
+ "name": "node-sscheduler-mirror",
3
+ "version": "1.3.2",
4
+ "description": "Flexible scheduler to find free time slots in the schedule of a resource",
5
+ "main": "./dist/index.js",
6
+ "scripts": {
7
+ "compile": "rm -rf dist/* && tsc",
8
+ "lint": "tslint ./src/{,**/}*.ts ./tests/{,**/}*.ts --format verbose",
9
+ "test": "npm run test:unit",
10
+ "test:unit": "NODE_ENV=test mocha tests/unit --recursive --compilers ts:ts-node/register --bail",
11
+ "cover": "npm run cover:unit",
12
+ "cover:unit": "NODE_ENV=test ./node_modules/.bin/nyc --report-dir tests/coverage/unit npm run test:unit"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/ims-learning-engineering/node-sscheduler.git"
17
+ },
18
+ "keywords": [
19
+ "scheduler",
20
+ "schedule",
21
+ "availability",
22
+ "appointment",
23
+ "booking",
24
+ "reservation",
25
+ "time-slot"
26
+ ],
27
+ "author": "Mickael Burguet <www.rundef.com>",
28
+ "publishConfig": {
29
+ "access": "public"
30
+ },
31
+ "license": "MIT",
32
+ "engines": {
33
+ "node": ">= 6.2.0",
34
+ "npm": ">= 3"
35
+ },
36
+ "dependencies": {
37
+ "lodash": "4.13.1",
38
+ "moment": "^2.17.1"
39
+ },
40
+ "devDependencies": {
41
+ "@ssense/tslint-config": "^4.0.0",
42
+ "@types/chai": "^3.4.34",
43
+ "@types/lodash": "4.14.50",
44
+ "@types/mocha": "^2.2.37",
45
+ "@types/node": "^7.0.0",
46
+ "chai": "^3.5.0",
47
+ "coveralls": "^2.11.15",
48
+ "mocha": "^2.5.3",
49
+ "nyc": "^8.4.0",
50
+ "ts-node": "^1.6.1",
51
+ "tslint": "^4.3.1",
52
+ "typescript": "2.1.5"
53
+ },
54
+ "nyc": {
55
+ "include": [
56
+ "src/*.ts"
57
+ ],
58
+ "exclude": [
59
+ "node_modules",
60
+ "index.d.ts"
61
+ ],
62
+ "extension": [
63
+ ".ts"
64
+ ],
65
+ "require": [
66
+ "ts-node/register"
67
+ ],
68
+ "reporter": [
69
+ "json",
70
+ "html",
71
+ "lcov"
72
+ ],
73
+ "all": true
74
+ }
75
+ }