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.
- package/.nyc_output/24981f4720bd52a60dc9326a1df384cd.json +1 -0
- package/.nyc_output/494f1382d4c27809c851ed3e7cd9d0e8.json +1 -0
- package/.nyc_output/6d605a3cb235feb24a951c3ed578529b.json +1 -0
- package/.nyc_output/e7e6110e0dc920de304d03244eb32174.json +1 -0
- package/LICENSE.md +21 -0
- package/README.md +174 -0
- package/dist/Scheduler.js +391 -0
- package/dist/Scheduler.js.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/index.d.ts +77 -0
- package/package.json +75 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -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]}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
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
|
+
[](https://travis-ci.org/SSENSE/node-sscheduler)
|
|
4
|
+
[](https://coveralls.io/github/SSENSE/node-sscheduler?branch=master)
|
|
5
|
+
[](https://www.npmjs.com/package/@ssense/sscheduler)
|
|
6
|
+
[](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 @@
|
|
|
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
|
+
}
|